11 ms·
This would be a good time to mention that sway doesn't support the nvidia proprietary driver [0]. The author recommends nouveau but this leaves out users that 1
by Svenstaro 7y ago
This would be a good time to mention that sway doesn't support the nvidia proprietary driver [0]. The author recommends nouveau but this leaves out users that 1) have very modern GPUs 2) need vulkan 3) need CUDA 4) do heavy gaming. The author is also quite spiteful about it and I'm not sure I like that. There is even a flag "--my-next-gpu-wont-be-nvidia" [1]. Whether or not this is nvidia's fault I can't judge but there are usually two stories to every disagreement and so far at least I haven't heard nvidia's.
For me at least, this is a dealbreaker as I don't always get to choose the systems I get to use and I'd like to use the same config/wm everywhere if I can help it and if I sometimes have to alternate between i3 and sway then that won't do for me.
[0] https://github.com/swaywm/sway/wiki#nvidia-users https://github.com/swaywm/sway/wiki#nvidia-users
[1] https://github.com/swaywm/sway/blob/3334d11adc926c0f6d86afc4897117d5559036f5/sway/main.c#L101 https://github.com/swaywm/sway/blob/3334d11adc926c0f6d86afc4...
- sosodev 7y agoIt’s pretty clearly nvidias fault. Their proprietary driver doesn’t play well with wayland and they haven’t seemed to care.
- Svenstaro 7y agoWell, they've developed their EGLStream approach and that probably cost some resources on their end so the question is why they decided to go that way at all. It seems like a waste to me to develop something nobody is going to use and I don't see the business reason for this particular development.
- thayne 7y agoafaict the only people who really care about EGLStream are nvidia. And while GNOME and KDE might have the resources to support both API's (much as they don't want to), smaller projects like sway simply don't have the resources to worry about that. I think one of the biggest failings of wayland is that it requires so much duplication of effort between different compositors. Ideally, the compositor shouldn't have to care very much about which drivers the user is using for their graphics card.
- pzone 7y agoEven KDE was only able to gain support for EGLStreams after an NVidia developer Erik Kurzinger contributed the necessary changes to Kwin.
- josefx 7y agoAs far as I know that was mostly because they refused to even try and not because it was too hard or even complicated.
- kelnos 7y agoIf one of the kwin developers had nvidia hardware, likely they would have cared enough to try. And if they didn't, how would they test and maintain the nvidia-specific code? Adding an entirely new code path for rendering would be a large support and testing burden that they may not have had the resources to take on.
- josefx 7y ago> If one of the kwin developers had nvidia hardware, So what your are saying is that NVIDIA could have just sent them a crate full of low end $50 dollar hardware and been done with it? I find that rather unlikely, or rather as an end user I prefer to think that there wouldn't be that much drama over what amounts to nothing.
- kelnos 7y agoMaybe? I don't know. But, either way, having two completely separate graphics code paths means a much larger maintenance burden than one. Even with hardware to test on, I'd consider it perfectly reasonable to decide to only support one, especially if the odd company out is one with a history of not playing ball with the community.
- imtringued 7y ago>Ideally, the compositor shouldn't have to care very much about which drivers the user is using for their graphics card. That would require a single standard for communication with GPUs and the problem is that Nvidia is refusing to implement that standard.
- jcelerier 7y agoEGLStreams is heavily used in industrial embedded, eg in nvidia's car platforms.
- arghwhat 7y agoYou got that the wrong way around: Nvidia's platforms are a large part of industrial embedded, on which the users have no option but to use EGLStream.
- raverbashing 7y agoSo, I find this a bit weird The nvidia driver doesn't play well with some basic apps, but it plays extremely well with games and other professional apps running on Linux (the whole reason for nvidia to put up a driver)?
- SXX 7y agoIt's chicken and egg problem. Nvidia was major backer of OpenGL, but their drivers were never conformant implementations that allowed a lot of incorrect shaders to compile and run. Yet Nvidia had best developer support so most of commercial apps were developed and tested against their drivers. As result those apps use non-standard codepath that simply dont work on conformant drivers. On top of that OpenGL compatibility contexts are not well documented or tested, but it's not strictly Nvidia fault. In case of Wayland it was was opposite. It was developer by everyone, but Nvidia. Open source graphics stack developers found a way that work best for their hardware and supported it for decade. Recently Nvidia tried to join the parry while extending it with own incompatible addition that no one else needs. Obviously many open source proponents dont give a damn about their closed drivers so they only going to support primary APIs.
- fluffything 7y agoThe reason is simple: those using profesional apps are typically >100k/year engineers using apps that cost >10k/year. The developers of these Apps either put in a lot of money into supporting nvidia proprietary APIs, or, they contract nvidia to implement support for them. If you are big enough, nvidia does this for free. It doesn't matter if AMD sells the exact same GPU as nvidia, because when you then switch BLAS for cuBLAS, the nvidia GPU becomes 100x better than AMD. And that's just libraries, there is also tooling, engineering support, and well, software in general. Nvidia invests a lot of money on making sure that their GPUs come with a great proprietary AMD-incompatible software stack, and in integrating this stack with anyone developing products using GPUs. I've worked on a couple of national supercomputers using AMD hardware, and AMD pays for ~1 AMD engineer full-time that works on improving the applications that run there. Nvidia pays for a couple of engineers that manage and tune the cluster for you, and a bunch more that work on peoples applications. Easily, 10x more engineers than AMD. Even if AMD were to build better hardware, no sane industry person would pick them up over nvidia due to all other services nvidia offers.
- michaelmrose 7y agoIt leaves out users who do any meaningful gaming beyond tetris or Farmville in the same session. You could always log in 2 graphical sessions and have one be running x and one sway I presume.
- Svenstaro 7y agoI don't think so. A driver needs to control a device completely so you can't drive sway with nouveau and game on nvidia.
- atq2119 7y agoYou could just use an AMD GPU on Linux. They've had (more than) competitive open source drivers for a few years now, and they play well with all the modern Linux desktop protocols.
- michaelmrose 7y agoI won't be buying new hardware just to use a currently worse functioning alternative whose increased security is wholly hypothetical.
- majewsky 7y agoIt is something to keep in mind when you purchase your next card. I'll always choose a smooth experience with mainline drivers over 10% more raw power. (And it's incredible how much AMD GPU driver support has progressed over the last few years, going from the total clusterfuck that is Catalyst to everything just working out-of-the-box.)
- benhurmarcel 7y agoClusterfuck? I just installed nvidia-driver and it sets itself up.
- franga2000 7y ago
- d0ugal 7y agoAfter trying Sway recently I read a bunch of github issues when debugging. I was disappointed to find many the comments toxic. I’ll stick with i3 and probably look for something different in the future. The examples that were easy to find again; https://github.com/swaywm/sway/issues/1207#issuecomment-298426284 https://github.com/swaywm/sway/issues/1207#issuecomment-2984... https://github.com/swaywm/sway/issues/829#issuecomment-326837490 https://github.com/swaywm/sway/issues/829#issuecomment-32683...
- dijit 7y agoidk, those examples seem justified. The second one was someone ressurecting an old issue with a request for config information that was _in the issue_. RTFM is sometimes a valid response, and if you're having an issue finding the documentation then that's a bug.
- mortdeus 7y agoRTFM is always a valid response when you are dealing with a lazy, spoiled society that would rather just call tech support and bother somebody who is sitting on the other side shifting through a stack of manuals in from of them that comes with the product... What surprises me are people who have the patience to wait for somebody else to tell them why their app broke, when it's much quicker dealing with problem just by going straight to the source. (pun intended)
- bananamerica 7y agoRTFM is just a rude way to say "Please search the documentation before asking". If the amount of typed characters is the issue, I assume developers are more than capable of using system-wide text-expansion. In any case, even silence is better than "RTFM". If you're not in the mood to give a civil answer, take some time off. No one will notice.
- Fnoord 7y agoGenerally, I agree. However, we're discussing a highly customizable WM. Not GNOME or KDE. You may assume the user is technically adept, and able to read a man page. Telling them to do exactly that is fair (but I agree it can be said friendlier). Silence might be better, but it might also be worse if the reader is awaiting help.
- qplex 7y agoIt's not just the Wayland/EGL stuff with Nvidia. They've been called 'the worst company to work with' by the Linux kernel devs and are locking their GPUs down with signed firmware. Nouveau driver development is no longer possible for GM20x and newer GPUs because of this.
- cies 7y agoHence... > --my-next-gpu-wont-be-nvidia
- jl6 7y agoI recently built a new PC and my GPU was a Radeon RX 5700 for exactly this reason.
- pjmlp 7y agoI though I was doing a good deed buying a netbook with AMD CPU, because of their FOSS love and such, then they decided that Brazos APUs aren't worth supporting beyond basic features. Since then I just decided that no matter what, GNU/Linux is not the platform for anyone that actually cares about desktop graphics programming.
- vertex-four 7y agoBrazos is 2011-era, right? amdgpu has become a thing since then - AMD now officially supports their GPUs on Linux, including those in most APUs.
- pjmlp 7y agoExcept that it doesn't provide the same OpenGL features and hardware video decoding as fxglr. So much for "supports".
- eleitl 7y agoWay ahead of you here. And regardless of how https://github.com/RadeonOpenCompute/ROCm https://github.com/RadeonOpenCompute/ROCm pans out, at least you're not sinking skills into a proprietary jail.
- mortdeus 7y agoMaybe it's about time for Linus to break the fourth wall and flip them off again in the middle of of a university classroom? I mean it worked wonders the first time, considering that's how we got the Nvidia proprietary driver to begin with.
- throwaway8941 7y ago>that's how we got the Nvidia proprietary driver to begin with Could you elaborate a bit? I don't buy nvidia hardware and don't follow them at all these days, but I very well remember using the proprietary driver back in 2008 or so. At the time, it seemed to me to be the only well supported high-performance graphics driver.
- gpderetta 7y agoI remember using their proprietary driver on linux at the turn of the millennium.
- Teknoman117 7y agoWell, this exact problem is why I won’t be buying an nvidia GPU the next time around. I’ll hang on to my 1080 Ti until AMD has something faster.
- krageon 7y ago> The author is also quite spiteful about it Sadly this is more or less the norm and in my eyes the source of the large disconnect between people who believe in things like "linux desktop is for everyone" and actual average users. Nobody wants to read a long principled rant when they're looking to actually use their computer.
- benhurmarcel 7y agoI agree this gives a bad image, but the average user isn't going to use Sway. It doesn't affect most Linux users by far.
- krageon 7y agoIt's a symptom of the culture, not the big driver of that culture.
- canofbars 7y agoNo developer wants to deal with bug reports due to a buggy proprietary driver they have no ability to change.
- deleted 7y ago[deleted]
- krageon 7y agoIf you don't want to deal with stupid bug reports then you'll have a big problem developing any software that a large group of people interact with.
- kelnos 7y agoYes, but the dynamic changes considerably when you're a one-person team doing it for free in your spare time. Companies that build software can afford to hire dedicated people to deal with particular hardware configurations, and usually make revenue-based decisions on what to support. One-person shops only have what they have. Why does nvidia get the pass here? They've decided not to support the standardized graphics driver interface that Wayland needs to work. They certainly have the money and developers to do so if they wanted to. Presumably they've made a decision not to based on (lack of) expected revenue. Why would you begrudge an unpaid volunteer to make a similar decision about what to support in their own software?
- kabes 7y agoAs someone who has spend a lot of time working on graphics on linux, I can safely say this is nvidia's fault.
- Leace 7y ago> This would be a good time to mention that sway doesn't support the nvidia proprietary driver It's rather nvidia proprietary driver that doesn't support standard Wayland protocols and thus doesn't work with Sway not the other way around. See this for details: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html
- codedokode 7y agoI have read this and I don't understand why Wayland developers don't want to write an adapter for NVidia's proprietary API. How is it worse than other APIs? Also, porting proprietary drivers for Linux must be a pain because there is no driver API and you cannot just release a closed-source driver and forget about it, you have to open source it and maintain it forever. No wonder manufacturers don't want to bother with this.
- Leace 7y ago> I have read this and I don't understand why Wayland developers don't want to write an adapter for NVidia's proprietary API. If you're NVidia user you're justified to feel bad about this entire fiasco but remember protocols exist so that everyone implements their own part and users can mix-and-match and it works together. If AMD and Intel can dedicate resources to maintain their Wayland implementations with no complains why NVidia can't? > why Wayland developers don't want to write an adapter for NVidia's proprietary API Because they could use the time spent on maintaining NVidia proprietary API adapter writing open-source software that will benefit all parties.
- izacus 7y ago> If AMD and Intel can dedicate resources to maintain their Wayland implementations with no complains why NVidia can't? nVidia shares the driver with Windows, AMD/Intel don't. So AMD/Intel always give you a driver that's significantly trailing the Windows versions on features and stability (you can read a lot about this on Dolphin blog for example) while adding more maintenance costs. > Because they could use the time spent on maintaining NVidia proprietary API adapter writing open-source software that will benefit all parties. What do you mean "all parties"? They're excluding at least one party - nVidia users.
- izacus 7y agoThe thing is - nVidia uses shared source for all of their drivers. This is why you always have the newest GPU feature support and performance on their Linux driver - it's the same codebase as it is for Windows and was for macOS. Linux community on other hand wants nVidia to restructure their driver just to fit Linux model and essentially lose the source parity or publish the source completely. It's not an invalid request, because nVidias APIs don't really fit into Linux kernel design and userspace APIs. It's also not very likely to happen, especially due to poisonous behaviour of kernel maintainers towards nVidia, unwilligness to compromise and nVidias refusal to add more resources to refactor the driver.
- BiteCode_dev 7y agoDo you think Windows or MacOS make compromise on the way they code their kernel to accomodate nVidia ? No, it's just a matter of economics.
- fwxwi 7y agoYes, Windows has a stable driver API you can build upon. Linux does not, because they want all drivers to be inlined (included in the kernel) and open source. nVidia does not want to release their trade secrets, so they don't want to open source their drivers. (No idea about macOS)
- vertex-four 7y agoOf course, AMD managed, so there’s no technical reason that nVidia cannot.
- AnIdiotOnTheNet 7y agoDrew's stance on supporting EGLStreams is not unreasonable. It's a "standard" that only nVidia cares about and causes a lot of headache for pretty much everyone. However, yes, the naming of that flag is a red flag. It tells me "this developer thinks that because you use their software they are entitled to tell you how to use your computer", which is an attitude I cannot abide.
- ddevault 7y agoMaintainer of sway and wlroots here. The Nvidia proprietary driver does not support sway, not the other way around. Their standard, EGLStreams, is only implemented by their proprietary drivers, so in order to test that codepath we'd have to use a famously broken and undebuggable driver, which we're not interested in - and make no mistake, we get our hands dirty in the drivers all the time. Their standard also has serious technical problems - lots of really important features simply are not possible to implement based on the proprietary driver. We can't export buffers to clients, overlay planes don't work, buffer presentation timings are impossible... Supporting this driver would be a massive overhaul and would probably make the good drivers worse. Sway is a volunteer project, we are under no obligation to put in free work to support a GPU vendor which has no interest in playing nice. It's total bullshit that anyone would think to blame the small group of volunteers who have offered up thousands of hours of our free time to the community, for free, when the real blame lays in the hands of the multi-billion dollar company which refuses to pony up docs and cryptographically signs their firmwares. Everyone else plays ball and works with upstream on open source drivers.
- cosmiccatnap 7y agoI appreciate what you do truly, but It's also perfectly understandable that we consider it a major reason not to use your software and a perfectly fair criticism of the choices you have made. Your rebutal has not changed the main point of the original poster at all, If you want to ignore 70% or more of Linux users that is perfectly your right to do so, but it's also my obligation as a long time Linux user to recommend that people avoid your solution in favor of i3 on X11 or a superior solution such as gnome or kde which understands the basic problems the overwhelming majority of it's user base faces and is willing to work with them regardless of the hurdle.
- ddevault 7y agoNouveau works great with Sway. Users make a choice to use proprietary drivers, they aren't forced into it. They can buy more freedom-respecting hardware, too. It's a choice to reward Nvidia's behavior, and consequently that choice alienates them from our userbase.
- alimbada 7y agoAll spite towards NVidia is completely deserved for many many reasons.