Linux 4.20 released
lkml.org
lkml.org
Why aren't these things a driver?
https://wiki.linuxfoundation.org/tab/linux-device-driver-mod...
Windows used to have a really bad reputation for stability. I'm sure a lot of this was windows's fault, but a lot of this was bad third-party drivers that crashed.
You might remember that nvidea does have a driver for Linux. The approach they took isn't really supported, which is one of the reasons why graphics drivers are always such a nightmare under Linux.
One of the reasons proprietary drivers are a nightmare. Intel works flawlessly (though obviously with different trade offs).
It really is propriety drivers that's the problem
These days I use AMD, and I just haven't had to think about it. Before this I had Nvidea, and even there the open drivers were fine until I wanted to play games.
Kernel DRI drivers, yeah sure. Xorg's xf86-video-intel is a buggy pile of shit that hasn't seen a stable release in 5 years.
Currently the best you get on linux with intel is modesetting driver with glamor for 2daccel. Or use wayland, I guess...
On the contrary, windows GPU(WDDM) drivers are restartable and can handle crashes even without restarting the user graphical apps. This've been so since at least windows 7.
edit: s/WDM/WDDM/
The kernel drm/gpu side is all about mode setting and managing resources.
I’ve had to install wifi drivers for a Windows machine before. Hunting for the right driver, downloading it and transferring it from my phone was quite a pain, as opposed to the wifi just working on Linux.
You could've just used DKMS and use the kernel module in 4.18 and such [1] (unless you run Fedora who have the driver baked in the kernel; then you gotta recompile your own kernel...).
Heck, you could've used the Apple Magic Trackpad 2 on previous kernels. It's just that the multitouch wouldn't work. Which is the great thing about the device.
FWIW, the device doesn't work out of the box with Windows either.
[1] https://github.com/robotrovsky/Linux-Magic-Trackpad-2-Driver
The fact that there is no stable ABI is a sort of downside but also benefit of this model. The ABI can always be improved, but it will often be at the cost of breaking so-called out of tree drivers (Nvidia proprietary, VMware's networking and VM monitor drivers, etc.)
Yes this is a stupid design. They do it because it means they don't have to worry about backwards compatibility or API stability at all, which is a nice thing to not have to worry about. But it comes at the cost of bad hardware support in Linux (and difficult-to-update Android phones).
True. I would just add a few notes for non Linux users.
- Drivers are bundled with the kernel but they're loaded dynamically when requested, ie supporting more devices doesn't make the kernel any bigger or slower. The Linux kernel from mostly static in the beginning became more and more modular and today save for developers or early adopters kernel rebuilds are very rare among users. Embedded cards aside, I don't recall having rebuilt a single kernel since 2.6 on normal PCs.
- Having drivers bundled in the kernel solves the problem of that piece of old hardware we lost the drivers disk and the manufacturer's site resolves to nowhere because they're no longer in business. Caring about older hardware seems of no importance in the desktop PC business, but not uncommon in the industrial world where one happily trades 100x speed loss in exchange of 10x reliability gain and there's still a lot of old perfectly functioning iron out there.
- Drivers are brand-free. Unless specified, they support the chipset, not the hardware brand and they definitely don't bundle other junk themselves, which is one of the plagues in the Windows ecosystem where 5 cards by 5 different manufacturers but using the same chipset all come with their set of drivers and associated ton of rubbish because the vendors fight to splatter their name on your desktop. Under Linux if you have 5 cards by 5 manufacturers you need one small driver and all software interfacing to standard device drivers can use all 5 cards. There's no such thing as "one card, one driver, one software". (Big exception for expensive niche proprietary hardware of course).
External modules (on the fs) wont, but we're talking about the bundled ones, right?
--smaller without crapware
--just empirically true:
tv@tv:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 28G 11G 17G 39% /
this is my bloated as fuck ubuntu media machine. could be much smaller if it mattered, but that's pretty small already, no?
anyone remember damn small linux? I used to have that on a 128MB (yes MB) flash drive found in a desk at work. but bytes are cheap...
Speaking of small distros, I gave a try at both DietPI and TinyCoreLinux on virtual machines and was amazed at how good they perform.
Linux, unlike the Windows kernel (which is also not a microkernel), does not have a stable kernel API for drivers. This means that drivers that live outside the tree have to play catch-up to every change that the kernel devs make.
When a driver is in-kernel, the person that made the changes fixes the driver as part of their change.
So Linux really encourages drivers to become open-source and submit for inclusion in the mainline kernel, just to avoid the maintenance hassle.
This ensures it will remain maintained, and allows the developers to evolve subsystems in an incompatible way and update drivers accordingly.
The syscall interface is always maintained however. As Linus would say, “never break userspace”.
That said, there are still a few bad actors who refuse to do this, notably Nvidia.
The only side who's losing here is the end customer.
Nobody expects that. Once drivers are in the mainline, the OEMs don't have to do any work to keep them from getting broken when Linux devs decide to do the kind of refactoring and systemic improvements that are impossible on Windows. All Android OEMs have to do is git pull, make, and send the new OS image off to the same QA processes any other update needs before deployment.
Very useful undersold feature.
> Why Apple is the only company
making these is beyond me.
Loosely defined patents and a litigious corporate nature, at a guess.I ask because like the parent poster I love the Trackpad 2 on macOS but I hate most other trackpads when using them with Windows/Linux. Meanwhile I also hate using most mice I've tried on macOS including the Apple ones but am fine with mice on Windows/Linux.
I imagine there are probably tracking speed and acceleration settings that would make the unpleasant combinations work better but I usually give up after making a few simple tweaks.
I wasted a lot of time tweaking low level Synaptics parameters in the config flies when trying to make the Magic Trackpad work well for me on Linux and I think I've exhausted my lifetime supply of patience for excessive pointer setting adjustments.
I don’t see why Dell, Lenovo, etc. can’t provide a laptop with a trackpad that works well under Linux.
Maybe it’s better on Windows I don’t know but the XPS 13 trackpad is, if I’m being genenerous, not great.
Well, a macbook is also the biggest device it will work well on. It doesn't scale well to large monitors nor multi-display setups, in my opinion.
I feel the old ball type was superior in this regard, you could rely on momentum and just give it a flick for large and quick movements.
Not as beginner friendly though.
> I feel the old ball type was superior in this regard, you could rely on momentum and just give it a flick for large and quick movements
That's exactly how the pointer works on macOS, both for traditional mouses and trackpads. That's what makes the Magic Trackpad work for a large screen for; I can do a little flick to move the pointer across the screen — and I can do it with just a finger, not my whole wrist/arm.
But back to the topic, it is rather interesting how hard trackpads are to replicate on other systems with the same level of quality as Apple's own trackpads under macOS. I suspect that's why one of the recent Windows 10 updates brought in consistent APIs for trackpads and multi-touch gestures.
If Microsoft are only just getting around to it now, I've my doubts there'd be any consistency on the matter over in Linux land. Not so much for lack of trying, but in a land of multiple desktop environments each with their own ways of doing things, the uncertainty of whether we keep improving X or focus everything on Wayland … well, I doubt the using the Magic Trackpad 2 under Linux would be all too pleasant.
That's just as subjective as the regular mice. Personally I find their touchpads miserable to use compared to the competition.
PC notebooks still ship with tiny, unresponsive things that make two-finger scrolling a mess and multi-touch gestures drop — apparently input, the one thing one does all the time with a computer, is the place to cheap out on.
On the external front, I've got a brand new wireless Logitech multi-touch trackpad right next to me whose responsiveness still doesn't hold a candle to what I was using on a PowerBook G4 back in 2004.
Then again, it's really hard to compare. Like I say, the hardware isn't what does the magic, it's the software. macOS has had multi-touch trackpad support done right since one of the later versions of 10.4, so we're talking something like 2006 or 2007. Microsoft doesn't seem to have taken the whole thing all that seriously until relatively recently with last year's Precision Trackpad hardware spec and APIs, and I suspect that's because as soon as Microsoft started doing their own Surface hardware, they realised (better late than never) that you can't rely on third parties to get this stuff right, so we'll see what comes of that.
Exactly those. I'd take them over Apple's sirupy mess any day.
defaults write .GlobalPreferences com.apple.mouse.scaling 1
You will need to logout and login after applying it though.
(Unfortunately, Firefox doesn't parse the kinetic scroll events yet: https://bugzilla.mozilla.org/show_bug.cgi?id=1213601 ← someone please fix)
I've heard good things about vertical mouses: they're supposed to keep the lower arm from being rotated unnaturally, and the hand position seems to be more relaxed. But I still have doubts about pressing the thing, as that seems to be the root of RSI.
In my experience, staying away from computers altogether works much better for the hands than any devices I've tried, which is not good news for a computer geek.
What kind of dragging operations are you talking about? Drag and drop operations and box selection are no more difficult on a Mac trackpad than with a mouse, and running out of trackpad area was pretty rare even on the pre-Touchbar generation before they almost doubled the size of their trackpads. Drawing might be harder, but neither device is at all good at that task; that's what Wacom is for.
[1] https://www.kensington.com/p/products/control/trackballs/exp...
https://www.kensington.com/p/products/control/trackballs/Sli...
It takes some getting used to, but if you set the ball up so that a 180° rotation corresponds to the cursor travelling the width of the screen it seems to work well.
Disable acceleration on a trackball – whatever your use.
We'll still have Theo.
Apparently it was this Tweet that started the controversy, which is actually related to the CoC itself as well: https://twitter.com/_sagesharp_/status/1042769399596437504?s...
Oh, and my use of "sharp" in my original comment was obv unintentional, how funny
>> I hope there is another benevolent dictator to take over once [Linux is] gone.
Glibc really does a lot of good work to hide the mess underneath.
The biggest problem with Linux is it doesn't have a coherent design philosophy. So some subsystems are nice and others are horrendous. Knowledge of one subsystem may lead to misleading assumptions about another part of the kernel.
An example is the kernel supposedly doesn't have threads, they are just processes that share address space. But of course other parts do in fact need to understand that there is one coherent bundle of threads that compose this abstract idea of a process. So some places differentiate between thread id and process ids and others mix them. Windows has its inconsistencies, but not with something so fundamental as a process.
To see what I mean, try using epoll to manage a set of network connections. They apparently didn’t consider the case where you have more than one CPU and also want to handle more than one network connection. Also, if you do get it to work without crashing on stale fd’s, you’ll find it bottlenecks on a spin lock.
If you want to save some time and jump to the current state of the art, use DPDK or some other user space network driver + IP stack to completely bypass the kernel. :-(
My laptop is always hot enough to burn my balls off. This is after disabling my dedicated GPU, disabling turbo boost and underclocking the cpu.
Consequently the battery life is abysmal as well.
Lastly, trackpads seem to worse on linux across the board.
Those things are major sticking points in almost all linux laptops.
I have been able to find near-perfect replacements for everything else. (apart from some MS office and enterprise software, but can't blame linux for that)
In particular, in Ubuntu 18.04 (and maybe all of gnome) they removed mouse / trackpad acceleration, so using pointing devices feels like drinking a pot of coffee and working with you hand immersed in thick mud. There’s a config file option / cli to fix that somewhere. Same with the non-existent palm rejection.
I want a system that JUST WORKS. I don't have enough time in my day, with all of my other responsibilities, to figure out why something is slightly broken.
Corporate VPN's are the other one.
That's why I really don't mind running MacOS at work - it works well, and the defaults are sane.
It reflects better on the community
Keeps standards about communicating well
Makes it harder to dismiss his arguments than if he were being an asshole from an emotional standpoint
Creates less resentment
Prevents getting distracted by the way Linus said something from what he's actually trying to say
If you build software, push forward.
Plus, as a user, I trust Linus more than any decentralised process I can think of.
Can you make a compelling argument for why that is? Is it that you believe Linus has your personal well being in mind or you are unfamiliar with decentralised "processes"?
edit: Questioning why someone trusts a person they never met over transparent processes that mitigate risks should not deserve downvotes. If we control what can be discussed, we also control what can be known...
Yes, the project is successful, as successful as an open source project can be. It seems to work fine since 1992.
Why would you bring up my personal well being ? Does a decentralised process (whatever that means actually, it's not defined at all yet) take my personal well being in to consideration???
There's a truism that states that past performance is not an indication of future behaviour and I tend to not trust unchecked power.
Linus may have the final say on a lot of things, particularly regarding policy surrounding contributions, but "unchecked" isn't so much an overstatement so much as a joke. Vast numbers of contributors, security auditors, and generally-interested hackers keep close eyes on the Linux kernel.
Decentralisation has three dimensions: Political, Logical and Architectural. In the case of Linux, I argue that the decentralised nature of open-source software development is what guarantees its safety and usefulness and not the individual merits of any one participant (person or company).
I think I'm not saying anything contentious when I say that Linus' employer has no special treatment in terms of linux development roadmap, and that most contributions are voluntary and no one needs to ask permission to download the code and fork the project and this is logical and political decentralisation.
Here's an article by Vitalik from Ethereum Foundation that I always recommend to those interested in understanding decentralisation: https://medium.com/@VitalikButerin/the-meaning-of-decentrali...
"Instead of a roadmap, there are technical guidelines. Instead of a central resource allocation, there are persons an companies who all have a stake in the further development of the Linux kernel, quite independently from one another: People like Linus Torvalds and I don’t plan the kernel evolution. We don’t sit there and think up the roadmap for the next two years, then assign resources to the various new features. That's because we don’t have any resources. The resources are all owned by the various corporations who use and contribute to Linux, as well as by the various independent contributors out there. It's those people who own the resources who decide." - Andrew Morton on the kernel process
I've made the argument elsewhere in this thread that it's the decentralised nature of open-source that makes it safe to use and build on and not the personality or behaviour of any one person. Do you agree?
Decentralisation is the process of ensuring there is no SPF and to minimise unbalances in power.
For instance, in my country, decentralisation would mean we would have independent state law (like the US) and that most of our decision making structures aren't physically and politically centred in the nation's capital. In technology, we can take the Linux kernel maintenance process as an example of how decentralisation makes it possible to have China, US and EU companies funding the development process and using the software without (too much) fear.
What more could you want ?
Actually, instead of hot like before, this Linus is cold. Instead of raging, he coldly expresses his disappointment. In some ways, this feels more brutal than his old style.
Criticizing the mistake as "complete garbage" is great. You don't even need to read anything more to sense Linus is annoyed like he always is when shit hits the fan like this.
Your other comments around that time seemed to be critical of his current behavior, but I see you are correcting that now.
Linus identified that there was an unacceptable action taken and Is being stern so that there can be no ambiguity in the future as to what the accepted action ought to be.
I believe that’s what I said, no? Maybe my phrasing wasn’t clear, but I said “I don’t see any of the latter here” with latter being “personal attacks”.
> Linus identified that there was an unacceptable action taken and is being stern so that there can be no ambiguity in the future as to what the accepted action ought to be.
Completely agree with this sentiment.
Anyway, it looks too polite, like he is filtering the email using a "polite" version of the "simple" English writer by xkcd https://xkcd.com/simplewriter/
Maybe a CoC and some time off for Linus wasn't all that bad after all...
I assume the downvotes are coming from those who disagree with the CoC.
He was both polite ~ yet criticizing. His expressed his annoyance in a great way.
"Complete garbage" is polite for Linus, compared to his old style. Still brutal, yet effective.
Linus is something of genius when it comes to criticism, whether he's swearing and venting, or coldly and bluntly saying the above to make a point.
He's just more choosy about his wording.
Nevertheless, he gets his point across very well:
> Yeah, this is complete garbage.
> Eric, your behavior is entirely out of line
> There are no excuses.
> I will not take any pull requests from you until you have made it clear that you comprehend this very fundamental issue.
Now, Linus may not be explicitly swearing ~ but it comes across in the very same annoyed manner.
Best burn here is him flatly telling Eric that he won't be pulling anything from him until he fixes his attitude.
It's not the contributors personal attitude that's in question here but his attitude towards breaking user space, so it's not even ad hominem or anything.
> Eric, I want to make this 1000% clear: there are no user space bugs.
> If it used to work, then user space was clearly doing the right thing.
> The fact that you tried to several times claim it was buggy user space is a serious breach of trust.
I find Linus' wording remarkably polite. Surely you're not suggesting that Linus should accept breakage of user space out of sheer politeness?
What I meant by attitude is exactly what you meant ~ the nonchalant attitude towards breaking userspace, and thinking that it's okay if no-one notices.
Which is when Linus gets the most pissed of all.
Linus was polite, yes, but he expressed his anger and disappointment in a great way. Feels more brutal than his old style, actually.
Yea, it's even stronger without the swearwords.
> Linus hasn't lost his touch,
I misread that comment of yours as "Linus is still being too rude".
Basically, Eric might be forced to go through others, who will examine his work for pulling quality.
If Eric can prove that he's changed for the better, Linus may well start pulling from him again.
Linus isn't some evil dictator ~ he's just trying to make a point that quality matters.