11 ms·
From: Drew DeVault <sir@cmpwn.com> To: graphics-dev@chromium.org Subject: nouveau blacklisted in Chromium I'm writing to complain regarding the dec
by Sir_Cmpwn 8y ago
From: Drew DeVault <sir@cmpwn.com>
To: graphics-dev@chromium.org
Subject: nouveau blacklisted in Chromium
I'm writing to complain regarding the decision to blacklist nouveau in
Chromium. You're creating a hostile relationship with one of the most
important projects on Linux. If you do anything about this problem, you
should be using your influence to pressure Nvidia into being a better
citizen on Linux. Hell, you could even sponsor the nouveau developers
for a fraction of a fraction of a fraction of a percent of Google's
budget. Instead of doing any of the right things, you chose to become a
bad actor on Linux.
Closing bug reports from nouveau users and directing them to the
freedesktop bug tracker? Fine, you don't need to fix someone else's
bugs. Blacklisting the driver? Not even remotely okay.
I strongly condemn your decision and I expect it to be rolled back as
soon as possible.
--
Drew DeVault
- geofft 8y ago> It's not the browser's place to have any code whatsoever which even so much as glances at the graphics vendor to make meaningful decisions. I'm curious why you hold this position. I think it makes sense for the browser to attempt to deliver the best experience it can to users, and they may believe they get better performance and behavior from unaccelerated rendering. It's no different from websites looking at user-agent strings to work around known bugs, right? It's okay for a user to override their user-agent string, and fine for browsers to mention other browsers for compatibility, but uncool for a browser to not identify itself at all and steal another browser's user-agent string. The OpenGL API includes vendor strings for a reason. Chrome isn't doing `strings` on the library or anything.
- Sir_Cmpwn 8y agoNote: I edited my comment to simply be a copy of the email I sent to the devs. You quoted the original text. >I think it makes sense for the browser to attempt to deliver the best experience it can to users, and they may believe they get better performance and behavior from unaccelerated rendering. So should they also blacklist Windows because it's spying on its users? No, of course not. They should do their best to deliver a good experience in the domains for which they are responsible. >It's no different from websites looking at user-agent strings to work around known bugs This is also a very dumb anti-practice.
- XMPPwocky 8y ago> So should they also blacklist Windows because it's spying on its users? No, of course not. They should do their best to deliver a good experience in the domains for which they are responsible. If a Windows graphics acceleration component spied on its users, Chromium should absolutely blacklist that component, and use software rendering instead.
- nl 8y agoPersonally I believe a non-crashing browser is a good user experience.
- geofft 8y agoThey don't blacklist Windows because it spies on users, but they absolutely blacklist anything from AV to malware because it causes instability. https://blog.chromium.org/2017/11/reducing-chrome-crashes-caused-by-third.html https://blog.chromium.org/2017/11/reducing-chrome-crashes-ca... This seems like exactly the same thing. They're responsible for delivering a browser that renders webpages successfully. They're doing what needs to be done to make this happen.
- tomnipotent 8y ago> So should they also blacklist Windows because it's spying on its users? That's such silly rhetoric, no wonder you're in the situation you're in. > This is also a very dumb anti-practice. So is crashing users machines and then blaming Chrome for doing what's best for its users.
- emilsedgh 8y ago> It's no different from websites looking at user-agent strings to work around known bugs, right? No. Its more like blocking the access to your website to some browsers. At best they should give a warning that youre using an unsupported browser/driver so beware if unexpected issues.
- geofft 8y agoIt's nothing like blocking access to the website. It just falls back to unaccelerated rendering. It makes it more likely to work.
- drb91 8y ago> I think it makes sense for the browser to attempt to deliver the best experience it can to users Are you talking about chrome, the least user friendly of all browsers? This is just corporate talk for “we don’t care about making our software work with nouveau”.
- deleted 8y ago[deleted]
- geofft 8y agoI think Chrome is empirically quite user friendly - it's not installed by default anywhere and people choose to use it. It is true that Chrome isn't particularly power-user friendly for certain use cases, but that's different. Also, if you look at the bug report, it's quite clear they spent a lot of time trying to make nouveau work.
- jlarocco 8y agoThere's more to being user friendly than having a dumbed down UI and being technically correct. Helping corporations spy on users is definitely not user friendly, and Chrome is by far the worst offender there. Saying, "nobody cares," because they're ignorant that it's going on is no excuse, either.
- PhasmaFelis 8y agoUser-friendliness is usually understood as being about usability and interface design. Spyware-riddled software may be shitty, and that should be called out, but it's orthogonal to user-friendliness. Edit: You seem to disagree. Google "user-friendly" and realize that I'm not defending Chrome.
- drb91 8y agoJust because corporate language doesn’t include any way of expressing representing consumer and user interests outside of what can be represented in a transaction doesn’t mean it isn’t worth expressing.
- zamalek 8y agoI get the predicament that caused Chromium to blacklist Nouveau. Nothing against the incredible work done in Nouveau, it's just reality: given a thousand eyes, apparently not all bugs are shallow (see also: Heartbleed and Shellshock). That being said: >I'm curious why you hold this position. Agreed. There are countless AAA titles (games) that do vendor checks on the GPU. Game developers are a bunch of people who have been working with GPUs for more than a decade, possibly approaching two decades. For some reason, GPUs are the one thing that the OS HAL isn't able to sort out. Windows (and Mac?) drivers are always proprietary, so different hardware vendors are all Windows developers have to worry about. I can't imagine the headache of dealing with differing hardware vendors (and families), on top of differing driver vendors. Reality fucking sucks and I guess this is just Chromium acknowledging it. I doubt there's a grand conspiracy here.
- ahmedalsudani 8y ago[Clarification: at the time I was writing this comment, parent referred to the team that closed the bug as sons of bitches] The language you use is unnecessary. (Don't mean this in the blanket sense -- calling a SOB a SOB is fine -- but in this particular case.) The Chrome team was receiving bug reports due to driver issues, and now this driver is the default. They can either compromise the experience for some Ubuntu users (with crashes, not slowdowns) or blacklist the driver or fix the driver. If you don't mind the possibility of your driver crashing, you are free to instruct chrome to ignore the blacklist, something I personally did for some time.
- Sir_Cmpwn 8y agoHere's why I used that language (and though I edited the comment, it was not because I rethought the use of the phrase): it is not the Chromium team's place to make this decision, and this decision actively harms the health of the Linux ecosystem. The decision of which driver to use is up to the user and up to the distro, and Chromium has absolutely no right to interfere with that. Nvidia is one of the worst actors on the Linux scene, and overstepping their bounds to prop them up is despicable. Imagine if Google had blocked Tor users in China in favor of Project Dragonfly instead. The attitude of Chromium in this matter is directly supporting bad actors who actively do harm to their users and to the rest of the world around them. That's why they're sons of bitches.
- codeflo 8y agoWhat you're suggesting is actively harming users to put pressure on NVIDIA to become a better citizen in the Linux ecosystem. I don't find this very ethical, but I don't think this would work anyway. When Chrome crashes, users blame Chrome. But when Chrome runs slower on NVIDIA, users blame NVIDIA.
- cwyers 8y agoThey aren't "interfering." They are falling back to software rendering when the GPU driver is incapable of supporting valid calls without crashing. If Windows or macOS started shipping buggy/crashing OpenGL drivers and not fixing them, Chromium would be entirely justified to fall back to software rendering there, and it would not be "interfering" with Windows or macOS development to do so.
- ryanobjc 8y agoWhy do you expect it to be rolled back? What evidence leads you to believe that? Also, with this email it seems it is you who is turning a routine technical decision into a hostile relationship. As they say, them fighting words.
- Sir_Cmpwn 8y agoYes, like North Korea's rocket launches are routine technical missions, too. Chromium is slinging mud at nouveau and I can't stand for that.
- ryanobjc 8y agoSo, chromium is like "I want a better experience for my users out of the box" and this leads to you comparing them to North Korean nuclear launches? You need an internet timeout. Go get drunk, stoned whatever you do and try again Monday.
- dang 8y agoPersonal attacks will get you banned here. Please don't post like this to HN. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- zozbot123 8y ago> Chromium is slinging mud at nouveau Not sure what you mean by this. If there are versions of nouveau 'in the wild' (widely used by non-technical users) that result in brokenness under some circumstances-- and bugfixes in the driver are not promptly available, it makes sense to prevent use of the hardware driver i.e. "blacklist" it. So, are you saying that using nouveau does not result in broken behavior, and that any such brokenness is quickly fixed?
- staktrace 8y agoIf you can't stand for that, then do something about it. Fix bugs, or pay people to fix bugs. On what grounds are you entitled to demand anything of the Chromium team?
- freedomben 8y agoWhile I mostly agree with what your email says, if I received a message that said, "I expect it to be rolled back as soon as possible" and accused me of being "a bad actor on Linux" I would probably be quite put off. You make some good points, but rather than coat them in honey, you soaked them in vinegar. Might get a better result by improving your tone, and maybe giving them credit for at least open sourcing their work and supporting graphics acceleration on at least some cards (firefox doesn't). I also appreciate that they support linux so well, even if not perfectly.
- Sir_Cmpwn 8y agoFirefox supports GPU accelleration on nouveau and all Mesa drivers from Mesa 8.0 forward.
- staktrace 8y agoNot by default. GPU acceleration is off by default in Firefox on Linux. Distros may change that in their bundles, but the official builds have it turned off.
- Sir_Cmpwn 8y agoDo you have a source for this? This page disagrees: https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drivers#On_X11 https://wiki.mozilla.org/Blocklisting/Blocked_Graphics_Drive... My unmodified Firefox stable channel on Linux has WebGL enabled OOTB and my distro does not have any specific flags specified for WebGL (or GL in general) in the package.
- staktrace 8y agoThe page you linked to says: > GL layers acceleration is not yet enabled by default (see bug 594876). You can enable it by setting layers.acceleration.force-enabled=true in about:config. That means off by default. Also maybe relevant is that I'm on the Firefox Graphics team so I have some knowledge of this. If you want to verify, download a stock Firefox build from Mozilla, run it on a new profile, and check what it says for Compositing in the Graphics section. OpenGL means acceleration, Basic means software.
- zokier 8y ago> If you do anything about this problem, you should be using your influence to pressure Nvidia into being a better citizen on Linux. By making Chrome significantly slower on nvidia systems they effectively are pressurizing nvida to act better. Trying to work around the problems would be more like supporting the status quo instead of driving change.
- Sir_Cmpwn 8y agoThat would be true only if they weren't rewarding the proprietary driver. If their goal was to pressure Nvidia into being a better player in FOSS they'd disable GPU accelleration on the proprietary driver.
- jenscow 8y agoThey're "rewarding" the driver that works.
- Dylan16807 8y agoThe reason it's the only one that works is bad behavior, so it also rewards that bad behavior.
- techntoke 8y agoIt works fine on Arch. I'm pretty sure the issue is more to do with Ubuntu's packaging. For them to disable it everywhere due to an issue with Ubuntu makes no sense. Besides, Ubuntu packages old software several releases behind stable.
- Klathmon 8y agoIf you are willing you could maybe mention that with some more info about your setup in the bug at [1]. Chrome has the capability of adding all kinds of qualifiers to the blacklist, including explicit exceptions to the rules for a ton of things as well. If enough people can show that some subset of Nouveau users are stable it can be safely enabled for them. [1] https://bugs.chromium.org/p/chromium/issues/detail?id=876523 https://bugs.chromium.org/p/chromium/issues/detail?id=876523
- deleted 8y ago[deleted]
- SquareWheel 8y agoWow, what a conceited message. If you want to support nouveau, then you can put the work in. You have no right to demand that others do work for you. Especially when they already have a functioning alternative solution in software rendering.
- Sir_Cmpwn 8y agoI am not demanding that they do work. I'm demanding that they do not deliberately sabotoge the nouveau driver. If they find the nouveau driver lacking, they should improve it, not sabatoge it. If they don't want to put the work in, then they should just leave well enough alone.
- SquareWheel 8y ago>I am not demanding that they do work. Sure you are: >If they find the nouveau driver lacking, they should improve it, not sabatoge it. Not supporting a buggy driver is hardly "sabotaging it". It's not their job to make it work. >If they don't want to put the work in, then they should just leave well enough alone. And in doing so, their least-technical Linux users will suffer from sudden crashes that they don't understand. Now how does that help Linux?
- Sir_Cmpwn 8y agoDid you deliberately omit the end of that quote to make your point look better? I gave them an out: a demand with an out is not a demand. >If they don't want to put the work in, then they should just leave well enough alone. nouveau doesn't crash, but some cards may experience occasional glitches. That's something you need to take up with Ubuntu, not Chromium.
- Operyl 8y agoI'm demanding you not do the same in your own software, by this logic. You've done the same crap in the past, man: https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html https://drewdevault.com/2017/10/26/Fuck-you-nvidia.html
- Operyl 8y agoI 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.
- amyjess 8y ago> I expect it to be rolled back as soon as possible. Unless you are paying my salary, any emails sent to me with "I expect..." go straight into the trash.