5 ms·
The new library which replaces wlc, wlroots, does not have that special code necessary to support the stupid Nvidia special-snowflake API. In simple terms, swa
by Sir_Cmpwn 8y ago
The 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>This 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. Crashing on a page designed to exhaustively test GL features is one thing. How about crashes which actually affect end-users? I expect that the volume of users who will be negatively impacted by blacklisting is far higher than the volume of users impacted by serious nouveau bugs like this. The difference is that the former user hasn't been annoying Chromium devs in their bug tracker yet. >Did they fix it in less than 2 years? No. The bug turns 2 next month and shows no signs of being fixed. >Did it crash the end-user's computer? No, but like I said I don't think many nouveau users are actually affected by bugs of this scale. The bug which prompted the blacklisting and being discussed today is not such a bug. >Did people navigating to your website report the bug to you? Yes. >Did you perhaps work around the bug? Yes >For example by using a polyfill that would provide degraded performance but still allow the end user to access your content No. If the workaround caused severe performance degredation and encouraged users to switch to proprietary software, I would have patched Chromium.
- 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.