12 ms·
For anyone interested, the link really should be the full bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=876523 https://bugs.chromium.org/p/c
by nolok 8y ago
For anyone interested, the link really should be the full bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=876523 https://bugs.chromium.org/p/chromium/issues/detail?id=876523
The current link says it as if Chrome was not being fair, but reading their reasoning it makes total sense. Key quote from said bug report:
> We thought about blacklisting nouveau driver long time ago, and decided to let more adventurous users to play around. Now that Ubuntu ships with nouveau on default, maybe it's time to blacklist it in Chrome.
> We received quite some bug reports on other rendering issues with Nouveau, and this bug is just one of them. So we will disable all GPU acceleration by default. If someone wants to bypass that, there are two options: 1) install proprietary NVidia drivers (see #24) 2) run Chrome with --ignore-gpu-blacklist, but be aware you are taking a risk here
> Unfortunately we don't have the resources to test every variation of every GPU/driver combination on linux, let alone investigate & fix bugs in drivers.
We want a stable & secure browser first, a GPU-accelerated one second, only if possible.
> The default driver on Ubuntu LTS has severe issues, asking non-technical users to update their driver is just not acceptable as a prerequisite to use Chrome.
> If someone is interested in well-scoping the brokenness (version range and/or devices affected), we're happy to take a patch to the blacklist.
So the driver fails in some (common enough) cases, they let it run anyway but now it's default on ubuntu so a lot of non tech users are/will be affected, so they block it but you can still bypass the block if you want. And if newer version fix it and someone can help them figure out which versions work for what, they are willing to limit the blocking.
- bubblethink 8y ago>Now that Ubuntu ships with nouveau on default, maybe it's time to blacklist it in Chrome. I don't get this. All linux distros under the sun ship with nouveau, and always have. It is a kernel driver afterall. What else are they going to ship ?
- amyjess 8y agoThe VESA driver?
- geofft 8y agoHow does llvmpipe do these days? I remember being excited about it ~5 years ago and I can only imagine both LLVM performance and CPU speeds have gone up.
- vetinari 8y agollvmpipe is the gpu part, not the display part of the graphic card. Otherwise, when using it in KVM VM, it can run the desktop compositor quite nicely.
- ajross 8y agoI didn't look at the bugs at issue, but I rather doubt mode switching is what Chromium cares about. It's sure to be video decode or GPU output.
- geofft 8y agoBut that's the part that's crashing. I'm suggesting Chrome use llvmpipe to do whatever they needed hardware acceleration for, generate a single boring texture on a single big rectangle, and pass that through to the graphics driver. That way Chrome itself isn't loading the Nouveau libGL and is much more insulated from incompatibilities between Chrome and Nouveau, whosever fault it might be.
- jmgao 8y agoThat's what swiftshader does.
- geofft 8y agoWhoa, I totally missed that! https://blog.chromium.org/2016/06/universal-rendering-with-swiftshader.html https://blog.chromium.org/2016/06/universal-rendering-with-s... So is it the case that you get decent (though perhaps not great) WebGL performance even if you have no GL-compatible graphics driver at all? Then are Nouveau users only losing performance and not functionality as a result of this Google decision?
- haneefmubarak 8y agoI think their point is that by default, even with the "use recommended drivers" option enabled, Ubuntu uses the nouveau driver by default instead of installing and using the NVIDIA driver.
- mempko 8y agothe nvidia driver is proprietary. If nvidia opens the source, maybe they would ship with that instead.
- haneefmubarak 8y agoWell, installing recommended drivers on Ubuntu installs the Intel or AMD microcode, which is definitely proprietary, so I don't think that's a particularly reasonable argument. The NVIDIA driver is the driver that yields the best performance and experience; AFAICT the only reason it's not shipped by default is because the kernel is then considered "impure" or something (because source isn't available to debug issues in the NVIDIA driver), hence bugs can't be filed upstream for any issues in the kernel if the NVIDIA driver is installed. However, none of this is really the concern of the Chrome team. Their responsibility is to give the user the best experience, which they have defined as security, stability, and performance in that order. Since the nouveau driver is causing stability bugs, it's perfectly reasonable for them to fallback to software rendering and take the performance hit in order to preserve stability.
- xzvnjp 8y ago> the kernel is then considered "impure" or something The term is "tainted".
- nolok 8y agoI think what they mean is "it's now enabled and used by default even for the clic clic clic through the menu (non technical) users", not that the driver is technically present.
- monocasa 8y ago> What else are they going to ship ? Including Nvidia's binary driver by default. Obvs Debian, gNewSense, and GUIX can't do that, but since when have corps cared about them? Like, don't get me wrong, I'm a FOSS or GTFO kind of guy, running Debian and Replicant, but shipping proprietary drivers by default is what chrome is hinting at obviously.
- bubblethink 8y agoBeyond the whole foss aspect, there are good technical reasons too. For instance, blob won't work with wayland (at least right now AFAIK), and ubuntu was (is) debating switching to wayland as default.
- jandrese 8y agoMy impression was that the 17.10 Weyland stuff was kind of a mess so the switch is probably premature at this point.
- vetinari 8y agoFedora is Wayland-by-default for several releases already.
- loeg 8y agoSort of. It falls back to X for drivers that don't support Wayland, which has included nvidia for a long time. (Maybe there is some progress there more recently.) And the proprietary nvidia driver is widely used.
- jolux 8y agoDoes it really? I had grotesque lag when installing Fedora on a System76 laptop with an Nvidia card and had to switch to X manually.
- jandrese 8y ago
- zozbot123 8y ago> What else are they going to ship ? That's not the point. The point is that it results in brokenness, and the easiest way to mitigate that for the bulk of non-technical users is to use software rendering instead (i.e. blacklist it). They're open to more refined solutions, but these will take some effort.
- stuaxo 8y agoChrome without acceleration == one very hot laptop in many cases (ie watching videos on YouTube).
- zozbot123 8y agoChrome without acceleration ~~ Firefox without acceleration. I don't think Firefox is enabling hardware video decoding in Linux, even on a fully-free driver?
- vetinari 8y agoAcceleration in browser is not only about video decoding. The composition is GPU accelerated too. Chrome has it enabled by default, Firefox doesn't. In the end, both browsers treat Linux as a second-class citizen. To make things even more weird, ChromeOS uses the same API (VA-API) and the same driver (for Intel GPUs) for video decoding acceleration that the stock Linux does, and the video decoding is supported on ChromeOS but not on Linux... And Firefox is just plain mess.
- lultimouomo 8y ago>> Unfortunately we don't have the resources to test every variation of every GPU/driver combination on linux So Google doesn't have the resources to test the default driver on the most widespread linux distribution for one of the two most widespread GPU producers in the market.
- zapzupnz 8y agoI mean, just because it's one of two GPU producers, that doesn't mean the nvidia product line is simple. There are desktop chips, there are notebook chips, there are multiple versions of the same card made by different manufacturers who add their own little touches, there are different chipsets, there are different configurations, there are different X11 setups, there are different desktop environments which may enforce different settings, etc. It's not as simple as "one of the two most widespread GPU producers in the market".
- TylerE 8y agoand it's not one of two, it's one of three. Intel has huge market share, also, especially in things like notebooks.
- shhehebehdh 8y agoObviously it’s not that Google doesn’t have the resources. They have enough resources to fund whole new OSes. Of course they could fund testing. Chrome team, on the other hand, does not have the resources. Which is to say that this is not the thing they believe is most important to work on at the margin, and given the amount of engineers Google will fund for the project.
- Dylan16807 8y agoIf the chrome team doesn't have the resources for testing the most common Linux configurations, it's not a good sign. Linux market share is low but it's a useful signifier.
- 8y ago
- dleslie 8y ago> Unfortunately we don't have the resources to test every variation of every GPU/driver combination on linux, let alone investigate & fix bugs in drivers. This is a lie. Google could easily undertake such an act, but is choosing not to. It's not that they _lack the resources to do so_, but that the value proposition of doing so did not weigh favourably towards undertaking the action. Google isn't incapable of this task, they are _unwilling_ to undertake this task.
- mav3rick 8y agoFeel free to use other browsers that do test this.
- dleslie 8y agoOther browser vendors don't have Google's resources. And still, Mozilla manages to do a better job in this regard.
- emmelaich 8y agoIt's not just gpu/driver, it's library versions, compile flags, compiler versions plus all the flags (static and dynamic). Let's say 50 options. If it costs $1 to test each combo it would cost 2^50, around $10^15 dollars. Google only made $10^9 dollars profit last year. Now of course I'm being facetious but do not underestimate the cost of testing.
- dleslie 8y agoThat cost assessment is bizarre. Consider how many variants are there in the entire Google software library; somehow I doubt they're spending trillions on testing.
- okl 8y agoBecause it shows that there are different opinions about what a user can reasonably expect, the key quote for me is the following: > Please remove the blacklist as all Nouveau users expect this corrupted behaviour. If at all possible it may be worthwhile to let users know it doesn’t have to be this bad if they flip to the binary driver. Perhaps a pop up letting them know?
- about3fitty 8y agoThe bugginess of the nouveau driver has been an accepted fact since time immemorial. Hence the reason for Torvalds' middle finger on the subject. Nvidia is slowly coming around but the arc of history isn't treating it well.
- apatters 8y agoThis is actually a reasonable position in my opinion, but there are two problems (neither of them is Google or Chromium's fault): 1) Nouveau is buggy and problematic (related more to performance and a lack of support for many features) 2) The Nvidia drivers are buggy and problematic (related more to setup and compatibility with the rest of the system) Both of these problems can be traced back to the same root cause, which is simply that Nvidia refuses to do a good job of supporting Linux in any way. They could give Nouveau some funding and information about their hardware, but they don't do that. They could develop proper Linux drivers, but they don't do that either. Every way you look at it Nvidia is at the root of the problem. The solution on the consumer side is to not buy Nvidia products, and to encourage other people to not buy Nvidia products. The solution on the producer side is to contribute to Nouveau (easier said than done unfortunately, your average web dev can't just jump in and reverse engineer graphics drivers on a weekend).
- BurningCycles 8y ago>which is simply that Nvidia refuses to do a good job of supporting Linux in any way. I really dislike the way Nvidia makes it difficult for projects like Nouveau to reverse engineer an open driver, however I don't understand what you mean by poor support for their Linux driver, it's probably the one thing I can't fault them for as it is performing very well and stable. I'm with you on not buying NVidia products though, that is the best way to send a message.
- apatters 8y agoYMMV I suppose. Some people seem to have good experiences with their driver but mine have been terrible. I've used Ubuntu as my daily driver for 7 years now and Nvidia's driver has been the #1 source of crashes and configuration problems (half of the time I can't even get 3d accel working with it turned on, spend hours trying different versions that are reported on some forum to have fixed some problem but they don't, can't figure out why things aren't working, upon upgrading from 16.04 to 18.04 it borked the whole system and I had to switch to Nouveau, this list of Nvidia driver pain goes on forever, this is across multiple installs of Ubuntu). All my experience has been on laptops and there are lots of reports of Optimus related problems on Linux so there's that. I gave up on the hope of having Optimus actually work years ago. I would like to just be able to enable the latest version of Nvidia's driver and see my laptop start using the discrete gpu. That would be a big step forward from the past 7 years. FWIW there's Linus' famous Nvidia F-bomb :) "Nvidia has been the single worst company we ever dealt with" https://www.youtube.com/watch?v=IVpOyKCNZYw https://www.youtube.com/watch?v=IVpOyKCNZYw
- thegeomaster 8y agoOne other problem with this is that now, if you want to run Chrome with --ignore-gpu-blacklist (or any other flag), you have to do that for every one of those bloated Electron apps that you have to run. There's no way to set a system-wide flag. I'm facing this problem and it's very annoying. I have to run Chrome with --disable-gpu-driver-bug-workarounds, which ironically makes it work perfectly---with the "driver bug workarounds", it's terribly broken. But now, any Electron app I run (e.g. VSCode, Postman, Discord, etc.) is also broken by default and needs the flag as well. Frustrating.
- MrStonedOne 8y agoThe main issue I have with the gpu blacklist is that chrome provides the user with no information or notice when it triggers.