4 ms·
Each point he made is really weak too. It puts all the burden on the user compared to other main stream operating systems > There's no concept of drivers in Li
by spicybright 5y ago
Each point he made is really weak too. It puts all the burden on the user compared to other main stream operating systems
> There's no concept of drivers in Linux ...
I'm not well versed in drivers, but this explanation makes it sound like hardware needs to target a specific linux driver to work as intended.
So instead of someone building their own driver against some api and including it with the product, they have to either design their hardware around linux (and maintain compatibility with windows/mac), or make a pull request for support and go through the normal development channels?
Is that really how that works? No wonder graphics + wifi cards have had so much trouble through the years...
> Your hardware generally either works or doesn't work. ... Linux-compatible hardware to purchase ...
I've never bought a device that didn't work with windows. Ever.
I understand what causes that, but for better for for worse, windows wins for usability here. And I'm not entirely convinced no one can come up with a system to smooth this out better.
> ... The distros keep your software working with newer versions of Gtk or Qt, and deal with licensing. It's not something that end users need to worry about.
Until something breaks and I do have to worry about it. Then it's explicitly my problem to solve, with only google on my side to help.
> Also the obsession with "screen tearing" ...
It doesn't bother me either, but "it doesn't bother me so it's a non-problem" is so unsympathetic to the typical user.
Is no one besides techie programmers supposed to being using linux? That's what it seems like most of the time.
- TLLtchvL8KZ 5y ago>It puts all the burden on the user compared to other main stream operating systems When I asked for help for my sound (in linux its only 50% volume and sounds like its a cheap speaker inside of a tin can) I was blamed for: - Using a laptop - The brand of laptop - The audio hardware of my laptop (its their fault, not the kernels "generic" driver) Then was told to either carry around an external DAC + Speakers or buy a desktop with a "proper" audio card. It was the first time in 6 years I'd installed Linux and it lasted less than a week. This happens all the time.
- spicybright 5y agoAnd even if a user has had the opposite experience: "Oh, I had an issue and the community was so helpful, I got my issue resolved in a few days from going back and forth with nice people." Some may disagree but I shouldn't have to enter communities of people to just get my computer to run. I want to put the flash drive in, wait an hour, and get onto what I actually wanted to do with a computer. And it's sad, because I believe I share the same vision of people developing this software. I want a world where every computer can have an OS that's free, completely open source, user friendly for every day computing, and empowers you to truly OWN the hunk of plastic in your hands. It really seems linux is for no one but kernel hackers, software engineers, or to run on server hardware.
- oblio 5y agoIt's a bit like in sports. If you play ping pong, for example, there is a certain group of players that blame the paddle, the balls, the table, the shoes, the floor, etc. There is only one thing they don't blame.
- spicybright 5y ago"Not fair, my controller was broken!"
- sho_hn 5y ago> Is that really how that works? No wonder graphics + wifi cards have had so much trouble through the years... No, it's not at all! Linux of course has the concept of drivers. In most cases the drivers are integrated into the Linux kernel codebase itself, and nowadays are in by far most cases contributed by the companies making the hardware (or contractors they pay to do so). In (much) rarer cases drivers are developed by the community. Overall this makes it quite a lot like for example Windows, where hardware vendors develop drivers and hand them off to Microsoft to distribute through Windows Update. Linux is roughly the same, with the drivers coming down through kernel (i.e. system) updates. A few drivers are maintained and distributed entirely separately by their vendors, but this is usually less convenient for the users in the end. Within the kernel codebase, there are various frameworks catering toward device drivers of specific categories, so that a driver developer doesn't have to start from zero when implementing the driver for their device. Let's say a lot of storage drivers have to solve roughly the same problems, so of course it makes sense to share some code rather than reinvent wheels. This sort of code sharing is encouraged by the developer community, but not enforced. For some categories of devices there are generic drivers, but those tend to reflect the existence of industry standards enabling their creation. For example USB Mass Storage and USB HID devices are standardized and don't need device-specific drivers (roughly speaking). The bulk of the Linux kernel source code is drivers, and the bulk of those is contributed or paid for by hw companies. In some cases kernel drivers also communicate with device-specific userspace components. For example when it comes to graphics drivers, in some cases only part of the driver resides in the kernel and some of the upper layers (e.g. the OpenGL API implementation) is organized through projects like Mesa, again with significant vendor participation. > Is no one besides techie programmers supposed to being using linux? That's what it seems like most of the time. There's plenty of Linux desktop devs that would take screen tearing to be a very serious problem :).
- spicybright 5y agoThank you so much for the well explained reply, I appreciate the effort :) My assumptions are based on my own experience. Under windows, if a device driver isn't tracked by microsoft, it's typically provided as an installer program from the company that made the product. But I very rarely see that for linux, besides some passing recollections of nvidia or wifi card binary blobs. Is there a reason for that? If I made some weird hardware that needed custom drivers, do I target the appropriate kernel APIs then get it submitted for the next kernel version? And, to save you the breath, could you recommend any blog posts or articles that dig more into these things? I want to learn more.