3 ms·
> I don't think there's any such thing as "Windows hardware". The majority of laptops you can pick up at BestBuy are "Windows hardware" - they're indeed specif
by AsyncAwait 6y ago
> I don't think there's any such thing as "Windows hardware".
The majority of laptops you can pick up at BestBuy are "Windows hardware" - they're indeed specifically manufactured to run Windows and hardly anything else. If you want to test this, try installing Windows on your ISP's router or on a TALOS II workstation and see how well Windows "abstracts that away".
> the usual reason that Linux receives little love in the market so drivers lag Windows drivers
Which is directly related to most PCs coming with Windows preinstalled, so most people being either unaware of Linux or seeing little reason to switch to Linux since Windows already runs their Chrome anyway.
What you're confusing is the fact that the majority of PCs are made with Windows in mind, if the majority of PCs came with Linux or BeOS or OS/2, Windows would be in a similar position, maybe even worse since companies would not get the benefit of open code, therefore even less reason to contribute to a minority OS.
If Linux was the standard, many people would be so familiar with it and happy enough to see little reason to switch to Windows, that is if they ever happen to have learned an alternative exists in the first place.
- diamondo25 6y agoThe main reason stuff is mostly windows compatible is due to the fact that driver management is a mess (different distros with different drivers and/or linux kernel versions). The ABI/API issues that are complained about are not helping this. Even if there are drivers, most of the time they are developed by external people that only wanted to get it working _to a certain level_. Manufacturers dont care about Linux, most of the times, because its hard to develop an installer that is compatible with _Linux_. I have a story about a friend of mine that tried to make a led driver for the Beaglebone Black. He looked for the documentation, and there was some stuff about an old, deprecated way of toggling GPIOs (pass pin ID) and a new interface (gpiod, using pinctrl and identifier). The documentation was also talking about ACPI, which was totally unrelated[1]. He tried to use "the right way" (using the latest and gratest API), but it was not clear on how to implement this api, as he was experienced with switching registers manually, the embedded way, and had little experience with the Device Tree. Eventually he wanted to use iomap to just do the gpio toggle _manually_ because it was better documented (read chip documentation and done). He got this idea from when he went to this Korean school as an exchange student, and it was _common practice_ to do this by teachers! Small example about the gpio madness, google for "linux gpio kernel": 1. A generated page of the API, but also some implementation documentation. [2] 2. Readme file from the kernel, telling you that this is not the documentation you are looking for (old api). [3] 3. An actual article that explains the old and new interface, but still all userspace [4] 4. LWN docu from 2013 using the old api [5] [1] https://www.kernel.org/doc/html/v4.17/driver-api/gpio/board.html https://www.kernel.org/doc/html/v4.17/driver-api/gpio/board.... [2] https://www.kernel.org/doc/html/v4.17/driver-api/gpio/index.html https://www.kernel.org/doc/html/v4.17/driver-api/gpio/index.... [3] https://www.kernel.org/doc/Documentation/gpio/sysfs.txt https://www.kernel.org/doc/Documentation/gpio/sysfs.txt [4] https://embeddedbits.org/new-linux-kernel-gpio-user-space-interface/ https://embeddedbits.org/new-linux-kernel-gpio-user-space-in... [5] https://lwn.net/Articles/532714/ https://lwn.net/Articles/532714/
- AsyncAwait 6y agoThe main reason is, as I stated, because Windows is where the market is. You're categorically wrong about hardware vendors not supporting Linux, in fact many of Linux developers are employed by these companies, be it Intel, AMD, Linaro, Qualcomm etc. The problem usually is that one needs the right combination of components for things to work well "out of the box" and so for example avoiding certain GPUs or WiFi chipsets, (others work fine). This is not up to the individual component manufacturers who are already contributing upstream, but up to the OEMs assembling the complete machines to avoid the ones who don't and many do not simply consider Linux when doing so, because customers are accustomed to Windows and they get a good deal on it from Microsoft anyway, so why bother. In recent years, DELL has stepped up on this front, Lenovo is coming around and you even have dedicated vendors like System76 selling good hardware with Linux pre-installed. Your "story" is a problem with a specific vendor (Beaglebone) and then ARM in general, which is a bit of a wild west compared to x86, but that's the nature of ARM that Linux tries to accommodate for, not a Linux problem specifically. I do wonder why your friend did not install Windows on the Beaglebone and did not interact with the hardware that way? It seems like the experience there is so much better. What is that? The Beaglebone does not support Windows at all? Well, I guess Windows hardware support is rather poor then.
- diamondo25 6y agoIts the other way around for Beaglebone support. TI has apparently used their own interrupt logic, and Windows IoT Core doesn't seem to support that. ( https://blogs.msmvps.com/dvescovi/2018/01/20/beaglebone-and-windows-iot-core/ https://blogs.msmvps.com/dvescovi/2018/01/20/beaglebone-and-... ). I was mainly talking about how development on Linux Kernel can be tedious, the adoption of the drivers is usually limited and thus the gains are too low. How come that Realtek is one huge manufacturer of network chips, but their drivers on linux are still crap? Everybody knows that, and if they dont yet know, they usually get bitten by it one day, use google, and _accept their faith_. Users are easy to accept how things are and dont bother to improve because its too hard/complicated/not rewarding. People that are in control of these issues are the developers. The only thing I hear about Intel/Nvidia from Linux people is complaints about how shitty they are, and why they dont open up their stuff. One key thing might be that debugging of kernel things is not easy on Linux, as listed on the Original Post url? Crash a windows box, hook a debugger on it and off you go. If you dont know enough, im sure windows will help you get it running when you pay them. Oh? Linux doesnt work that way? Bummer. Maybe the abstractions of Linux's core is at the same time its main weak point. Theres nobody governing a stable api and theres not enough telemetry to detect regressions. Yes, i said it. 99% of the people don't care if theres telemetry reported if it can improve the product. As a developer myself, I would _love_ to have _real world issues_ reported to me, automatically. anyhow. Nothing is perfect. Linux could be better if there was a team behind it that want to get it "production ready". Like, maybe tell the user why something doesnt work, instead of shouting on the internet that they should buy "linux compatible hardware", which is telling the regular user to buy blinker fluid.
- JoeAltmaier 6y agoSo? This is the world we live in. Linux gets no love. Its less performant and less desirable on the desktop/laptop for this reason.
- AsyncAwait 6y agoPerformance is entirely dependent on use-case, there are many where Linux outperforms Windows, especially if you're a developer, but as to why it is less "desirable" has mainly to do with what comes per-installed on 99% of Walmart PCs. Pre-installed is king, if there's extra step involved for the competition, it's not a game one can easily win.