7 ms·
Regarding EGLStreams Support in KWin
- gmueckl 8y agoI am not sure if open source developers rage against nVidia for justifiable reasons or not. They were the first to provide actually usable GPU drivers on Linux. But then the kernel guys became upset because they couldn't see the insides of the drivers. IIRC they started the holy crusade when they introduced the tainted flag in the kernel and made it policy to ignore all bug reports from kernels with that flag set. That was designed specifically to make nVidia look like a bad actor. There have been a number of similar sleights against them from various developers and the company took the beating and has so far worked stoically around all of these hurdles that were erected. I am not saying that they are saints, but singling out the vendor of the objectively best GPU hardware and software package in the market like that does not feel right, either. There are tons of users out there that have practically no alternative to that hardware and they are being screwed over. And they are one of the few markets in which Linux actually has a dominant share in. Long story short: I believe that kind of ideology first thinking might do the Linux software stack in in the long run.
- atq2119 8y agoThen again, it lead to very high quality drivers from first Intel and then AMD being included by default in every Linux distribution. The user experience with that hardware is so much better as a result, it isn't even funny.
- Iolaum 8y ago> But then the kernel guys became upset because they couldn't see the insides of the drivers. I think you are misunderstanding how drivers and linux work. Being able to inspect how the code works is a technical requirement. Linux internal API is not stable and drivers get refactored over time. Drew makes that point in his post and gives an example of Wifi drivers in it.
- kfwhp 8y agoDefine "technical requirement". It's not really technical, it's political. As an end user, I couldn't care less about being able to inspect how the code works. What I would like is for Linux to have a stable API for drivers, so out-of-tree drivers could work on every release without DKMS or crap like that. Windows could do it, so it's definitely not a "technical requirement". If they are afraid of getting bug reports from guys running out-of-tree drivers, they can still keep using the "tainted" mechanism. It is not incompatible with having a stable API.
- dooglius 8y agoWindows developers have access to the source code under NDA. This is much less feasible for Linux developers, obviously.
- kfwhp 8y agoThat's got nothing to do with having a stable API. There are thousands of device drivers that were written over 10 years ago which work perfectly well on current versions of Windows and which will keep working for years to come. Linux made the political decision not to allow this, at the expense of end users.
- wtracy 8y ago> thousands of device drivers that were written over 10 years ago which work perfectly well on current versions of Windows Is that really true? A couple months ago I bought a USB to serial adapter that advertised Windows Vista support on the packaging. It did not work with Windows 10 at all, and I ended up returning it. I have plenty of hazy memories of printers that worked fine under Windows 9x not playing nice with Windows XP.
- gmueckl 8y agoWell, 9x and XP were two completely different operating systems that just implemented similar user space APIs. That was a one time transition. Drivers written for NT or 2k might have worked.
- antnisp 8y agoUsing a laptop with a nVidia graphics card, where they have a monopoly, would also make you rage at them. For a year installing their drivers would prevent some laptops from even using text-mode because of improper PCI-E initialization, something that was only worked around on the latest kernel release. They only care for Linux CUDA farms and it shows.
- josteink 8y ago> They were the first to provide actually usable GPU drivers on Linux. Indeed. They raised the bar for Linux graphics. Maybe 10-20 years ago? And then later ATI/AMD came along. And now their driver, the only driver, is open-source. That is, they publish not only a driver, but more importantly the driver source. As is now true for pretty much all drivers for all HW Linux supports. The bar has clearly been raised again. And now Nvidia is the only one lagging. I don’t see anything unreasonable about asking them to contribute at the same level as everyone else. Imagine how Linux would look today if all vendors got a free pass with doing things “their way” like Nvidia does. I doubt it would be functional at all. I’m not going to cut Nvidia any slack today over what they did back in the days where everyone agreed M$ was evil and Google could do no wrong. It was a loooong time ago.
- clhodapp 8y agoUnless you have a really old OS version, you actually don't get your driver from AMD, you get it as a part of your Linux kernel: most Linux drivers aren't managed as standalone open source software projects, they are simply merged into the kernel itself.
- pritambaral 8y ago> you actually don't get your driver from AMD, you get it as a part of your Linux kernel Thankfully. However, the open source driver that is now part of the Linux kernel did indeed come from AMD, and could not have come from anywhere else. Your parent said AMD publishes the sources to its (only) driver. That they happen to publish it with the Linux kernel wrapped around it, through kernel.org, is also true, but not incompatible with the claim that they publish it.
- lmm 8y ago> And then later ATI/AMD came along. And now their driver, the only driver, is open-source. Open-source is great but is their driver remotely competitive in terms of actual usability/quality? As a desktop user I find ATI/AMD is still nowhere near the bar set by NVidia. I believe open-source generally results in better-quality software, but that hasn't actually come to fruition in the ATI/AMD drivers IME.
- AnIdiotOnTheNet 8y agoOn the one hand, I agree about the ideology thing and think it is silly not to have stable driver ABIs, but on the other it is difficult to argue with the kernel devs' point when Linux currently has the best hardware support of any open source operating system, and some proprietary ones, by a ridiculously large margin.
- Fnoord 8y ago> They were the first to provide actually usable GPU drivers on Linux. You mean for 3d? Cause for 2d, we had Matrox Millenium/Parhelia in the previous century already. Which worked on Linux. EDIT: As per [1] at least 3dfx of the famous Voodoo GPUs were there before Nvidia. In other comments throughout that thread people mention S3. I remember each of these brands being in the Linux kernel config. [1] https://news.ycombinator.com/item?id=19182624 https://news.ycombinator.com/item?id=19182624
- robert_foss 8y agoEither the technical or the political appeal is enough to reject the EGLStreams series. There are APIs that offer the same features and are used by every other Open Source driver. Just implement those. Nvidia truly is the last vendor in the GPU space that is actively hostile to Open Source. Don't get me wrong, the developers at NVidia that are out there contributing to projects are nice&intelligent people with the best intentions. But their corporate parent is actively hostile.
- PlutoIsAPlanet 8y agoThere are actually technical reasons GBM can't be used by nVidia. first is that it's tied to Mesa and secondly it has performance issues with non-display outputs (e.g. VR).
- robert_foss 8y agoGBM doesn't necessarily have to be the answer here. Just providing an implementation of EGLStreams support for mesa could be another.
- vetinari 8y agoOr the allocator library, they were talking about and didn't get anywhere.
- emersion 8y agoFor completeness, here is the reply from one of the KDE developers: https://lists.sr.ht/~sircmpwn/public-inbox/%3CCAGeFrHA7FyqR24VkOgYO7tfsVEkfhCcvg6DX_jiJSm-y40hdhQ%40mail.gmail.com%3E https://lists.sr.ht/~sircmpwn/public-inbox/%3CCAGeFrHA7FyqR2... (It doesn't appear in the thread because it's been forwarded) EDIT: and here is a blog post about EGLStreams from another KDE developer (2016): https://blog.martin-graesslin.com/blog/2016/09/to-eglstream-or-not/ https://blog.martin-graesslin.com/blog/2016/09/to-eglstream-... Here is a follow-up blog post from the same author (2017): https://blog.martin-graesslin.com/blog/2017/10/plasmawayland-and-nvidia-2017-edition/ https://blog.martin-graesslin.com/blog/2017/10/plasmawayland... Here are some (technical) discussions on wayland-devel about EGLStreams (2016): https://lists.freedesktop.org/archives/wayland-devel/2016-March/thread.html#27547 https://lists.freedesktop.org/archives/wayland-devel/2016-Ma... Here are some recent IRC logs from #wayland, also discussing EGLStreams: https://dri.freedesktop.org/~cbrill/dri-log/?channel=wayland&highlight_names=&date=2019-02-21#t-1155 https://dri.freedesktop.org/~cbrill/dri-log/?channel=wayland...