4 ms·
I get you have an axe[0] to grind with NVIDIA, but is attacking people trying to mitigate around a broken driver really the right direction? By your message, we
by Operyl 8y ago
I get you have an axe[0] to grind with NVIDIA, but is attacking people trying to mitigate around a broken driver really the right direction? By your message, we should also be "pissed off" at you for disabling a driver that "works" in your project too.
[0]: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html
- Sir_Cmpwn 8y agoThe Nvidia driver does not "work" in my project. I have added no code which explicitly blacklists it, and the day Nvidia releases a driver which implements the required APIs it will work with no changes in my code.
- deleted 8y ago[deleted]
- Sir_Cmpwn 8y agoThe new library which replaces wlc, wlroots, does not have that special code necessary to support the stupid Nvidia special-snowflake API. In simple terms, sway+wlroots DOES NOT have this line of code: if (nvidia proprietary driver) { suck(); } Rather, it looks like this: do_important_gpu_stuff(); // Nvidia does not implement this The Nvidia proprietary driver doesn't support the APIs necessary to run Sway. This is the correct relationship: the driver is responsible for implementing APIs and the software is responsible for consuming them. Nvidia didn't hold up their end of that bargain and thus does not work. In Chromium, the following line of code DOES exist: if (nouveau driver) { suck(); } Nouveau implements the necessary APIs, but Chromium explicitly blacklists it. Nouveau holds up their end of the bargain here and Chromium does not.
- Operyl 8y agoApologies. My original reply (now the deleted comment in thread) was on a misread comment (or edited not sure). Thanks for the expanded context, I still disagree with this grinding though.
- joshuamorton 8y ago>Nouveau implements the necessary APIs This is not correct. They may have methods that match the required signatures, but the APIs do not do what they are supposed to do. "Crashing my computer" is not a documented feature of any webgl API I'm aware of. From an API perspective, Nouveau lies (perhaps not intentionally, but in reality) to its consumers. Nouveau isn't holding up any part of the bargain. Having correct method signatures doesn't mean you implement an API if you return wrong results. Crashing is a wrong result.
- Sir_Cmpwn 8y agoWhere is this idea that nouveau is crashing coming from? And don't be ridiculous. All software has bugs, including Chromium. Should I detect Chromium and blacklist it on my sites in preparation for future bugs? Just a few weeks ago I found a Chromium bug when I was working on a website. I did not blacklist the browser, naturally.
- joshuamorton 8y agoThis subthread[0] implies that there have been nouveau-caused crashes for webgl since 2015. The linked bug[1] seems pretty cut and dry. Nouveau completely locks the system, Nvidia doesn't. >All software has bugs If those bugs crash the system and the software is made the default, and the change is a performance degradation, yes. Degraded WebGL performance is superior to the system locking up for nontechnical users. >Just a few weeks ago I found a Chromium bug when I was working on a website. I did not blacklist the browser, naturally. Did they fix it in less than 2 years? Did it crash the end-user's computer? Did people navigating to your website report the bug to you? Did you perhaps work around the bug? For example by using a polyfill that would provide degraded performance but still allow the end user to access your content? Because that's almost exactly analogous to this situation, and exactly what everyone does. [0]: https://news.ycombinator.com/item?id=18835359 https://news.ycombinator.com/item?id=18835359 [1]: https://bugs.freedesktop.org/show_bug.cgi?id=92136 https://bugs.freedesktop.org/show_bug.cgi?id=92136
- Sir_Cmpwn 8y ago
- berkut 8y agoExistence or lack of the correct APIs is not the reason Nouveau has been blacklisted - it's the functionality behind them that appears to be buggy and causing issues.
- dazilcher 8y ago> the day Nvidia releases a driver which implements the required APIs it will work with no changes in my code. How about the day when Nvidia releases a buggy (system-crashing?) implementation of the required APIs? How well will your code work without changes, and which course of action will you take?
- Sir_Cmpwn 8y agoI'll not change my code for their sake. I already get enough annoyed Nvidia users who think it's my fault their driver doesn't support GBM, so annoyed Nvidia users who think it's my fault their driver is buggy won't be much different. I'll do what I already tell them: it's Nvidia's problem, report it to them. Of course, if some characteristic of Nvidia's implementation demonstrates previously-unknown bugs in sway (bugs in sway, not in the driver), sway will change to accomodate that.
- dazilcher 8y agoYour project, your rules - but that attitude doesn't scale well. Chromium chooses to prioritize users' experience over scoring ideological points. That means attempting to work around known external bugs instead of letting things blow up and sending users to pound sand on some unresponsive third-party mailing list. I'm not sure how you can fault them for that, especially since pretty much all successful large-scale projects take the same approach -- including the Linux kernel.