COSMIC DE: Desktop environment created for Pop!_OS and other Linux distros
blog.system76.com
blog.system76.com
On OSX (and possibly Windows although its been a long time), its soooooo silky smooth. But on multiple Linux distros i've used, including Pop and Ubuntu, it just doesn't feel right even after adjusting all sorts of settings.
This is one thing thats kept me from full time Linux DE usage :(
Edit: i'm using an Apple trackpad.
More importantly, there is a solution for fixing this and I've done my part by open sourcing a multi-touch gesture solution (userland daemon) that's driver-agnostic and runs on top of the vendor-provided drivers w/ their correct acceleration curves [1].
(But TBH I don't know if this applies to Apple's trackpad because I don't know if there are any first-party drivers w/ proper acceleration curves for Linux or if they've all been – unfortunately poorly – reverse engineered.)
[0]: https://neosmart.net/blog/multi-touch-gestures-on-linux/
In MacOS, there are additional things you can do.
* Spread or bring closer 2-4 fingers.
* Swipe from the edge to do a different action than swiping in the bulk of the pad.
Are there any system limitations on linux that prevent the implementation of such gestures?
(Also, syngestures separately recognizes and supports both taps and swipes, and it supports both/either with anywhere from 1 to 5 fingers.)
With syngestures, we can
* Tap with 1-5 fingers. (5 actions)
* Swipe with one finger (just the mouse) (1 action)
* Swipe with two fingers either horizontally or vertically (usually scroll) (2 actions)
* Swipe with 3,4,5 fingers either up/down/left/right (3x4=12 actions)
Total is 20 actions. So actually there are more possibilities with syngestures.
It’s easy to separate that into pre- and post- hooks, but the most reliable method I found for counting fingers in a gesture is “the maximum number of fingers during the gesture at any point” as it allows for variations in timing, location, direction, etc of first, second, subsequent fingers for a multi-finger gesture (you can’t assume they’re all present from the very start or that one finger won’t accidentally be raised mid-gesture). I’d have to change that to “detect number of fingers within xx ms of start of gesture” but that is somewhat problematic because the cursor position actually changes in response to touch between when your fist finger touched the trackpad and the time when (in your example) the third finger was finally added to the gesture (even if that all takes place in “a split second”). So it can be done but you might need to be intentional about being more careful with your three-finger swipe-to-drag to ensure the cursor remains within the desired click area until your third finger has made contact with the trackpad and hover there a brief moment to allow the daemon to determine you’re not going to add a fourth finger to the mix (changing it to another gesture altogether).
It would be entirely possible to retroactively generate a mouse down event at the original gesture start (with the first finger) when the third finger is added and no fourth finger is added, but that might be jarring from a UX perspective (cursor moves out of the bounding rectangle then the drag starts some ms later).
Basically, it is an independent subscriber to RawInput messages that only keeps track of whether or not to send three-finger drag, and posts emulated mouse messages using SendInput. I have a few other scripts that each run as independent userland processes that only monitors their own trigger and nothing else.
Tangentially, my TPMouse[1] script implemented inertia in a framerate-independent way so that it uses very little resource while having perfect simulation stability.
A previous discussion where I explained the analytic derivation for this low-resource exact-solution damped inertia can be seen in [10]
[0] https://github.com/EsportToys/PrecisionThreeFingerDrag/blob/...
[1] https://github.com/EsportToys/TPMouse
[10] https://old.reddit.com/r/Trackballs/comments/ym9q2t/tpmouse_...
I also like that you can use two-fingers to zoom in on a webpage with Firefox, just as on Windows.
GNOME is the first DE I've tried where all of this touchpad support was implemented so well, although I haven't tried that many, to be fair.
Sorry if I sound like an advertisement; I just wanted to be specific about what I like about GNOME's trackpad support as opposed to just saying that it "works fine for me."
personal opinion: have you looked at the sheer number of options exposed for a modern trackpad in linux?
it's insane; I don't really have any problem understanding the difficulty in achieving a good set of defaults -- there were like 200 exposed parameters the last time I tried to get it 'just right'. (a modern synaptics' touchpad on a new dell XPS.)
if I was on some quest to make it feel like Windows or OSX i'd probably have to give up -- not that those two feel better to me, but the sheer granularity is intimidating.
NOTE: this isn't to say that I dislike how the trackpad feels in Linux; I usually always get to a nice set of parameters that feels good to me, they just aren't the same as Windows or OSX, although I have little doubt that the granularity is there for someone to get it right.
UX is a very subjective thing, and it depends a lot on your background: you're never going to feel instantly home when switching platform no matter how “polished” it is supposed to be.
I think that on macOS, the hardware is also miles ahead of what you can get on a pc. This isn't to downplay the software because I remember my MBP's touchpad being wonky under windows a few years back.
But things have improved. My HP EliteBook 845 G8 is fine under Linux/X11. Still somewhat worse than the 2013 MBP, but not nearly as horrible as the HP two generations back. I'd rate it as comparable to my 2012 unibody MBP.
Under windows, it's fine, too, but it has a weird lag if you pay attention.
Here in Europe, at least in 2013, the adapter had two ways of plugging into an outlet: a cable and a plug that could be clipped on. The plug only had two prongs, while the cable had a ground connector. I'd get the "buzz" if the adapter wasn't grounded.
This also happens with my HP laptop if I plug it into an ungrounded usb-c adapter, so I'd expect the same thing to happen to iPads.
We have many Windows laptops in the family, and everyone uses mice most of the time. I only use a mouse on my Macbook when it's hooked up to an external display. Even then, I sometimes wish I had a Magic Trackpad.
Yup, at work we have "high end" enterprise HP Elitebooks. We've had a general refresh 1.5-2 years ago. Basically, everyone lugs around a mouse. And they're not "nice" mice, either, so it's not like they're getting any extra fancy ergonomics or what not. Hell, generally they're the basic 3 button Logitech, without even a back button (don't know how people can go without this today).
Windows, like X11, uses a hardware mouse cursor. It sends a sprite to the GPU along with coordinates and it is drawn by the GPU outside your compositor's pipeline.
The touchpad, though, has a bit of lag that's noticeable when making sudden changes. For "regular" use it's not much of a problem and not really noticeable if you don't pay attention. But I only rarely use Windows, so whenever I do, I see it for a few minutes at first. It's a bit like moving to a Bluetooth mouse after using a wired one.
My main gripe with the touchpad under windows, though, is that I can't get the "tap and hold" behavior of macOS/Linux. Meaning that if a double tap and drag, say to select text, it will "hold the tap" for a short time if I lift my finger. Since the touchpad is of the hinged variety, it's impractical to actually press on it and move the finger while pressed. Bonus points for pressing near the top not exactly doing anything.
I think there is a setting to tap and hold, but that'll hold the tap indefinitely (or at least very long) until you tap again.
Trackpads are anything but standardized. For example those Apple's been using for quite a while now are built with the same touch controllers they use in iPhones (essentially making them iPhone screens sans screen panel), and on the extreme opposite end you've got cheap ones like is built into a Logitech media center combo board I bought several years ago which emulates a mouse instead of presenting itself to the connected device as a trackpad (and as you might expect, is terrible to use).
KDE gives you more granular trackpad settings than MacOS offers out-of-box, and the Wayland session has more gestures than you can shake a stick at. I think you owe yourself another visit :)
I use the same mouse on Mac, Linux, and windows. It feels exactly the same on each OS when configured to the same dpi/speed/accell and polling rate
You should give your Apple Trackpad a new try on the latest Gnome on Wayland.
That said, I have a style involving sometimes using both index fingers on my System76 trackpad and the experience is really good, but to be honest it always takes me a minute to get in a groove with it.
For what it's worth, I've been using an Apple Magic Trackpad 2 for five+ years via USB and Bluetooth and it works well. Pinch to zoom, two-finger swipe for forward/backward in the browser, and others.
Linux have it but the acceleration curve is quite different from Windows' offering.
> A mouse acceleration feature accelerates the motion of your pointer. It enables users to move their pointer faster and cover more on-screen distance with merely a faster mouse movement rather than the physical distance the mouse covers.
https://www.makeuseof.com/windows-10-disable-mouse-accelerat...
Maybe it is my mouse but I kinda doubt it.
Besides, there is nothing stopping you from using their DE on any other PC.
I do hope they take the time to fully iron out the bugs on cosmic before making it the default. I was an early wayland adopter but after facing issue after issue, I eventually realized that the jump from xorg to wayland was all about making the developers life easier, with little to any benefit to me as an end user.
Is it a matter of these particular bits not receive adequate attention or something else? I'm not opposed to trying to pitch in and help improve them but before that's feasible the root problem needs to be understood.
I think a lot of it is because distros tend to play hot potato with the packaging and try to reduce their load by building off Debian or Arch, which makes the experience way less consistent as you end up with fragmentation surfaced to the user. Add in a bit of corporate open-source "embrace the user" and you get app store jank that the developers never use because they just open a terminal instead.
I'd fix it myself but it's all in Vala and I don't have time to learn another language.
I would definitely not buy one if you're not in North America as there's a decent chance you'll need hardware support.
Hardware (darter pro 7, everything maxed):
Recently, the keyboard and trackpad of my two-year-old laptop suddenly became a convex surface. Had to open a support ticket to ask how to get a replacement battery.
Many days later, I got a reply that it would be $120 + shipping and do I want to go ahead and order one? No advice on how to mitigate a potentially hazardous situation caused by their product and full retail price on replacing the defective part.
Pop!_OS:
Before I had actually moved into the laptop or installed anything (other than emacs and firefox), the package manager crapped itself with some circular dependency. As I started to work through unfucking the situation, it occurred to me this wasn't my fault and why am I putting up with this?
Kudos to them for working with me and for the support staff generally being friendly (and also putting up with 3 RMAs). I ended up just getting a refund though and buying an M2 Macbook Pro.
I think the major issue atm is that they're stuck working with second-string ODMs who aren't necessarily the highest quality but who will at least give them access to hardware documentation.
[1]: https://blog.system76.com/post/november-at-system76-products...
The commenter is a System76 employee.
Six processes should not take milliseconds of anything, there's no reason displaying a few notifications should take this much CPU time.
The exclamation point rubs me wrong.
UNIX: not an acronym, but all-caps anyway
iOS: inverted titlecase helps us stand out
Microsoft® Windows™: these are our brand names! no trespassing!
I suspect they use Gnome Shell.. what a mistake if they do..
https://hyprland.org/ is where it's at
> https://hyprland.org/ is where it's at
also, thanks for sharing this.
All I know is that I don't like the trend to moving controls into the title bar, making everything like Microsoft Office where there's so much crud in there you have to play Minesweeper to find a few pixels you can click on if you want to actually drag the window and not do anything else.
I want something that looks more like FVWM or even IceWM, a perpetual late-1990s vibe.
And the wayland compositor hyprland does support floating windows like any other compositor. Though I agree that if your comfortable with no/simple tiling, using Gnome/KDE/other DE's is likely your best bet.
I don't understand this remark. They're building a DE from the ground up, why would you think they're using Gnome Shell?
For the similarly confused.
What are the frameworks for UI, audio, 3D, IPC, how they integrate with the remaining Linux distributions stack?
I bet they are yet something that isn't quite GNOME, KDE, XFCE,..., with its own little island of APIs, reducing its utility to yet another window manager in practice.
To make it easier to multitask between classical xterm and Electron apps.
Heck, if it stays true to the idea of being just a Desktop Environment and not an entire OS, there's no reason we couldn't start to see it become a standard Ubuntu flavor or a Fedora Spin.
A little off topic, sorry, but I bought my System76 laptop about 5 years ago, and it is still a workhorse. Good but old i7 and 1080 GPU and software is up to date.
This is about System76 which is also pretty cool but for people looking for Cosmic Skies of a Colorado July, please see the below links:
- https://csastro.org/events-calendar/event/
- https://www.denverpost.com/2022/01/03/2022-astronomy-meteor-...
- https://www.denverastro.org/das-events/event-calendar/
- https://www.9news.com/video/tech/science/starlink-satellites...
(I _also_ only clicked because I'm from Colorado...)