Live data from Hacker News

Chromium blacklists Nouveau

lists.freedesktop.org

221–230 of 411 posts

Re: Chromium blacklists Nouveau

#221
post #70

#year-of-the-linux-desktop On a more serious note what is the motivation for Nouveau? The drivers provided by Nvidia are not good enough or we just need an opensource alternative?

We have Thinkpad Linux laptops running with NVidia at work. The proprietary driver has quality issues, the biggest of which for us is power management and poor battery life. Nouveau performs much better in this regard, even though they had to reverse engineer the hardware (!) I will be advising my IT department not to continue to buy NVidia.

Not sure if this is relevant to you, but I thought I'd share an experience with my T440p that uses a quad-core Kaby Lake CPU and optimus graphics. I run Fedora on it. I am using the HD 4600 gpu which is wired to the LCD, and I occasionally use the nvidia gpu w/ proprietary drivers via optirun.

I'd always seen terrible power efficiency on battery with Fedora. It was much worse than any previous Thinkpad. I mostly treat it like a luggable, always plugged into the wall. I wasn't sure if it was the CPU or chipset, but it never got into deeper package-level idle states like other machines.

However, I recently discovered that if I suspend and resume the laptop right after I switch from AC to battery power, the laptop runs in a much more efficient mode. It gets into those deeper idle states and can get almost 6 hours of life out of its aging batteries for basic office/communication tasks with wifi. If I don't suspend it once, it will only get close to 2.5 hours even if almost completely idle the whole time.

Re: Chromium blacklists Nouveau

#222
post #105

Nouveau are doing their best to reverse-engineer cards. NVIDIA doesn't help at all, not providing any docs and not interacting with the rest of the community. On the other hand, Intel and AMD have high-quality drivers and are part of the open-source community.

What’s the rationale for NVIDIA for this? As the whole point is to expose hardware features through an API, what do they gain by keeping it closed? Are there features implemented purely in software?

The most commonly used APIs for graphics (X11 with all the "accelerated" rendering, OpenGL) match the actual current GPU hardware so poorly that most of the driver bloat is about dealing with that mismatch in the most efficient and transparent way possible. The drivers also must contain a collection of compilers and assemblers and other stuff (because the OpenGL spec says so). So there is a lot of secret sauce type stuff in there that these companies don't want you to know about. Whether this is justified is a completely different question.

Re: Chromium blacklists Nouveau

#223

Earlier quoted context omitted.

This isn’t correct. WiFi router ships with GPL Linux and proprietary router software. The company / foundation creating the distribution just needs to have a license for the proprietary bits.

No, that's not entirely true either. Depending on where the proprietary bits are, it's the other side that is the problem. It is a violation of the GPL. So the usual workaround is to shift the responsibility to the user so that incompliant stuff is done by the user by the way of a script that runs on the user's behalf.

It's not incompliant when the user does it, as long as the user doesn't copy and distribute the results.

Re: Chromium blacklists Nouveau

#224
post #153

Earlier quoted context omitted.

It's free in the sense you don't pay for it with money, but considering how much Google pays apple to use Google as the default search engine, I would say the Google Browser is a big money maker.

No, Chromium is free in the GNU sense, which is what I meant. You don't whine at open source providers to support features you want, it's bad form. Go fix it yourself, or use hardware that doesn't require this kind of hacky reverse engineering.

> You don't whine at open source providers to support features you want, it's bad form. Go fix it yourself

This just about sums up the problem with open source. The response is always "if you don't like it, fix it yourself". Because everybody is a developer with copious free time to learn how to fix the problem in their favorite product. It's not like cloning and building Chromium takes hours. Or like you would lose anything by using Chromium instead of Chrome.

Re: Chromium blacklists Nouveau

#225

Earlier quoted context omitted.

>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 me…

Where 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.

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.

>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

[1]: https://bugs.freedesktop.org/show_bug.cgi?id=92136

Re: Chromium blacklists Nouveau

#226
post #215
post #109

Earlier quoted context omitted.

The problem is that the Nouveau (and Ubuntu) devs have no way to overturn Googles decision in Chrome . Ubuntu can compile Chromium with a modified blacklist but Google distributes Chrome in a deb. You would need some special logic to catch the Chrome .desktop on install and add in the unblacklist flag.

They could add “--ignore-gpu-blacklist” to their .desktop entry for Chrome.

Ubuntu doesn't have a .desktop entry for Chrome. It comes with the deb. Desktop files are installed by the programs that use them, hence why I said you need to catch the Chrome install and modify the desktop file.

Re: Chromium blacklists Nouveau

#227
post #104

Earlier quoted context omitted.

Its still probably hundreds of thousands of users. I hate arguments about "but Linux is only a fraction of the market!" because the total OS / browser usage market is in the billions of people. Even small fractions of that pie could found their own countries and be of reasonable size for a nation.

If the market share were compelling enough, couldn’t some other maintainer step up and do this work? OSS doesn’t necessarily mean support for everything under the sun at all costs; Chromium may be open source but that doesn’t mean they have carte blanche from Google to test every possible combination of distro and GPU.

This kind of problem specifically doesn't map to "user finds problem, puts money where mouth is on bug bounty to fix it" because actually figuring out your Blink based browser isn't hardware accelerated is at least a nontrivial task most won't even realize until they go "oh wow whys it so much faster on Windows?" and then not even know where to start looking to find out why.

Re: Chromium blacklists Nouveau

#229
post #200
post #88

Earlier quoted context omitted.

> First, nvidia for not providing OSS drivers and second, the user who runs an OS on hardware that can't be properly supported on this OS at the moment. nVidia does provide perfectly working closed source drivers on Linux though - how is it their fault that some 3rd party implementation of the drivers doesn't work in a stable manner?

Define "perfectly working". If I download the Linux sources, compile the kernel and install it, there is no official Nvidia driver to be seen. I didn't say that Nvidia is at fault for the state of the nouveau driver. I said they are at fault for not providing OSS drivers. Nvidia doesn't want to play by the rules of Linux development but they still want to be on Linux. That's legally possible but why should the user o…

If you download the current Windows ISO image and install that offline, you won't get a proper driver for your nVidia card either. Yet, this is accepted as normal.

Some Linux distributions that do not hamper themselves artificially on philosophical grounds offer nvidia binary drivers in their package repositories like they do with every other driver they contain. Your focus on the kernel sources is too narrow.

There absolutely was a time when you had to download all these drivers you mention separately - for Windows. And people put up with it. I think even today the Windows installer is forced to offer an option to install 3rd party RAID controller drivers into the installation environment...

Re: Chromium blacklists Nouveau

#230
post #9

For anyone interested, the link really should be the full bug report: 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 no…

>> 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.

No, they don't want to waste time trying to make a broken driver work.

It's an Ubuntu/Nvidia problem, not a Google problem. AMD and Intel open source drivers work just fine.

Post reply on HN