
Chromium blacklists Nouveau - trulyrandom
https://lists.freedesktop.org/archives/nouveau/2019-January/031798.html
======
nolok
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.

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

~~~
ajross
Not for a free product, no. It's not our place to decide for Google what they
want to do. If we want our open source software to work we should make it
work. You can rebuild chromium to change the blacklist, or just use the
command line to tell it to ignore the blacklist. It's not like Google doesn't
provide options.

And in any case the reason nouveau sucks (and yes, folks, nouveau sucks) isn't
Google's fault to begin with.

You seriously want to complain about Google's lack of support for an open
source driver that barely exists because of NVIDIA's lack of support?

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

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

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

~~~
meditate
I don't see what the issue here is. If you don't have the time to do it then
get someone else to do it. If they won't do it for free then you pay them. The
unfortunate part is that if you regularly buy brand new Nvidia cards then the
cost of the proprietary driver is built into the price of the card, so it
sucks that you would have to pay twice for drivers. But this clearly is a
result of Nvidia's decision, they are thes one who are forcing you to take
personal responsibility for getting your own libre drivers working, not the
developers working on said libre (and gratis) drivers.

~~~
mehrdadn
Sorry for the confusion, I see mentioning Chromium by name made my comment a
bit misleading. I was responding to the parent comment (not to the original
post) and using Chromium as an example of how it's unrealistic to ask users to
fix things themselves when using OSS. I was not trying to comment on Google's
decision on this particular issue here (though I have mild thoughts on that
too).

------
Wowfunhappy
The author, Ilia, noticed that this is on HN and responded in the mailing list
thread. I don't know if I agree with the take, but I'll repost because I found
it interesting.

\---

 _I 've glanced at the HN discussion about this situation [...] and it does
seem like people are focusing on the wrong thing... the important bit isn't
that nouveau crashes and burns in some situations—everyone already knew that,
including the users of nouveau who continue to use it nonetheless. It's that
if every piece of software feels free to ignore a system integrator's or
user's wishes, then the user now has to know how to override that behaviour
separately in every application. The situation is that Distro X has decided
that nouveau is the right thing for its users. A user can disable that by
uninstalling or otherwise disabling nouveau if they wish. But now chrome comes
along with its own set of rules. What if every application starts doing that?

It should also be noted that outside of a few pathological cases, like
creating 2GB+ textures which never happens in practice, nouveau works just
fine for me. For other people, it dies at random intervals, irrespective of
whether they're using chrome or not. While this is a non-ideal scenario,
chrome shouldn't be in the business of worrying about things like that. It
just confuses the situation for everyone._

~~~
kanox
> every piece of software feels free to ignore a system integrator

Yes, they do and they have very good reasons for it. Working with distros to
ensure they ship the right libraries takes an infinite amount of effort so
companies that what to ship a product to their users will work around it.

This also happens in the server space with the massive popularity of
containers and language-specific package managers.

The traditional Linux Distro model is extremely flawed.

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

~~~
gnarbarian
Ya. It's too bad their hardware isn't more competitive. I am definitely
rooting for AMD to wow us next generation like they did in the CPU market.

Things are getting far better for OSS you drivers. If you wanted any 3d
acceleration in the past your only choice was the proprietary Nvidia driver or
a broken proprietary ATI driver. (The ATI windows drivers were pretty buggy
too during this period).

Back then the proprietary Nvidia driver kept much better Pace with their
windows offering. Last I checked their proprietary Linux driver was almost a
year behind (point release wise) the windows offering.

~~~
MrRadar
> I am definitely rooting for AMD to wow us next generation like they did in
> the CPU market.

Don't set your expectations too high. Their next generation of consumer
graphics cards, rumored to be announced at CES next week, are reportedly still
going to be based on a new revision of their current GCN architecture (which
originally debuted in 2011 and is very much showing its age these days).
Rumored performance for the "high-end" model will be somewhere around the GTX
1080 or RTX 2070 (though reportedly at a much lower price compared to either
of those cards).

If you're waiting for them to produce an all-new GPU architecture the rumors
are that they are working on one to be launched in the 2020-2021 timeframe.
That's also when Intel is rumored to be preparing to launch their own
dedicated GPUs so hopefully we will be going from 0 properly high-end GPUs
with open-source drivers to 2 by 2021.

~~~
hedora
I got an amd fury x a while back because the nvidia binary drivers regressed
severely with my old card, and I wanted 4K anyway.

It’s by far the best Linux GPU I’ve ever encountered, and that’s with open
source drivers don’t set the kernel taint bit.

Its performance in benchmarks was much better than the comparably priced
NVIDIA. It is also the quietest gamer GPU I’ve encountered (I bought one with
slightly nicer fans).

Maybe things have changed (but the 1080 was certainly out back then), but this
card wins on every metric other than CUDA support (nonexistent) and absolute
performance (close enough to fastest, and certainly overkill for my Linux
Steam collection at 4K).

~~~
MrRadar
I'm not saying that AMD's current cards are slouches (I'm planning to buy one
myself this year when I build my next computer) but they certainly do not meet
the performance bar set by Nvidia's current high-end models (the RTX 2080 Ti
and Titan RTX) which is what I mean by "properly high-end". Those are
admittedly niche products due to their high pricing but it is important for
AMD to have a competitive product in that segment since many people don't do a
lot of research and if all they know about GPUs is "Nvidia has the fastest
cards" (or an equally-uninformed salesperson tells them that) and buys a 1060
over a 580 based on that "knowledge" then AMD lost a sale.

~~~
craftyguy
> they certainly do not meet the performance bar set by Nvidia's current high-
> end models

Assuming you can't tell the difference between, say, 100fps and 150fps, isn't
the 'performance bar' a bit arbitrary after a certain point if the hardware
runs the vast majority of the software thrown at it?

~~~
MrRadar
Objectively you are correct. However, as the rest of my comment indicates
there are important marketing and brand-value perception reasons to have a
true high-end card: how many professional gamers (streamers, e-sports, extreme
overclockers, etc.) who _do_ buy this class of GPU are there playing with AMD
cards vs Nvidia cards? How many (tens/hundreds of) millions of views do they
collectively get playing games with Nvidia hardware? Nvidia has likely gotten
millions of dollars in effectively free marketing just for having these cards.

AMD's GPU market share has been shrinking with the general gaming audience
despite the fact that their mid-range cards have been very price-competitive
with Nvidia's offerings during the same time period they've lacked serious
competition at the high-end. While focusing on the mid-range where the highest
volume of GPUs are sold is the rational market strategy it may not be a
winning market strategy in the real world.

------
bhaak
Both projects seem to put the blame on the other project. IMO, there are at
least two other factions that can be blamed equally well.

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.

For years I have the rule that I prefer hardware that has proper Linux
support. Even going a bit further that I try not to buy hardware that doesn't
have OSS drivers unless there really is no other option (nowadays, that means
mostly smartphones).

~~~
nickysielicki
> nvidia for not providing OSS drivers

It's worse than this. Nvidia does not merely _not provide_ open source
drivers, they actively preclude work on Nouveau.

Phoronix link:
[https://www.phoronix.com/scan.php?page=news_item&px=Nouveau-...](https://www.phoronix.com/scan.php?page=news_item&px=Nouveau-
XDC2017)

~~~
bhaak
Ouch, that's mean. IMHO the only way to react to that is to close down shop.
Ideally including Linux throwing out support for Nvidia cards.

I have a strong opinion on this as I was involved a few years ago in the
Kindle homebrew community. After a while I decided that my time could be used
better than on a product by a company that tries to prevent us from making his
product better and more interesting to its users.

There is so much energy and time wasted when you have to fight against the
manufacturing company and in the case of a graphics card, the result is that
it just works as well as the other graphics card option that is fully
supported OOTB. And then that's just for a piece of hardware that you can
replace on average for a few hundred bucks.

Is that really worth the hassle?

~~~
zanny
I've personally actively avoided buying anything with Nvidia hardware in it
for 8 years now because of how awful their software business is. That has
meant I've even skipped over tablets and phones using their chips and will
never buy a Nintendo Switch because... well... firstly consoles are bullshit
crippling perfectly good computers with proprietary OSes but secondly because
it has an Nvidia chip in it.

I tell everyone I know not to buy Nvidia, I have built gaming computers both
professionally and for family that I've actively advised against buying Nvidia
parts for because of their business practices, and when I buy notebooks its a
real PITA to get one without some Nvidia GPU in it but I do that too.

But Linux cannot "throw out" support for Nvidia. Nvidias driver is wholly
independent of Linux, its why its such a PITA to work with. Its a DKMS blob
driver and way too much other useful stuff depends on that interface to break
it just to stop Nvidia. Fortunately nobody is going out of their way to
support Nvidia either, such as their stupid attempt to fragment Wayland
development with eglstreams nonsense.

The most valuable thing any of us can do is constantly decry Nvidia for being
the reprehensible company they are and use what influence we have over those
we know to distance them from buying their products the same way you should
distance friends and family from buying Nestle or Exxon products or should
avoid shopping at Walmart.

~~~
throwaway2021
What's bad about Nestle? I know their products are very expensive, but aside
from that? Care to elaborate?

~~~
purerandomness
Among the most recent ones, lobbying for water privatization:
[https://www.google.com/search?client=opera&q=nestle+water+pr...](https://www.google.com/search?client=opera&q=nestle+water+privatization)

And the usual reliance on Palm Tree Oil, as another example

------
shmerl
I'd say, if you care about using open source driver, you'd avoid Nvidia to
begin with, and use AMD or Intel instead.

Here is a very good post from one of the key Nouveau developers, about why you
should do exactly that:

[https://www.phoronix.com/forums/forum/linux-graphics-x-
org-d...](https://www.phoronix.com/forums/forum/linux-graphics-x-org-
drivers/open-source-nvidia-linux-nouveau/998310-nouveau-persevered-
in-2017-for-open-source-nvidia-but-2018-could-be-much-
better?p=998316#post998316)

~~~
alacombe
AMD cards for anything advanced are crap, they couldn't recogize one of my
monitor (>2 monitor setup), and they're not playing fair with their AMF
extension on Linux (works great on Windows though). Even on Windows, I cannot
get the card to properly get my minitor resolutions (it's sitting beyond a
multiplexer, though there no problem with nvidia).

~~~
shmerl
AMD cards work just fine. Not sure what kind of issues you are having with
your dual monitor. May be you are using an ancient kernel?

What's an AMF extension?

~~~
alacombe
Triple monitor on two physical screen, and no AMD cards do not work, in this
case using the display port output and DVI->HDMI adapter, and yes, it works
with a third _physical_ monitor (not acceptable in my setup). Nvidia/nouveau
are not showing these problems.

AMF == Advanced Media Framework.

~~~
shmerl
On Linux you have vaapi for hardware encoding.

AMF doesn't seem to have a Linux version to begin with, so not sure what you
were testing exactly: [https://github.com/GPUOpen-
LibrariesAndSDKs/AMF/issues/4](https://github.com/GPUOpen-
LibrariesAndSDKs/AMF/issues/4)

~~~
alacombe
HEVC hardware encoding is not supported by "amdgpu" VAAPI libs (tested about 6
month ago with an RX560, did _you_ get it working ?).

------
sevensor
NVidia comes out of this looking very bad. It's not as if a GPU can't have
good Linux support (see AMD, Intel), but theirs doesn't. Although I haven't
spent my hard-earned money on their hardware since 2005, I have several
machines at work that are burdened with it. Some lock up with Nouveau drivers,
others crash with NVidia drivers. I can only conclude that the hardware is
unstable.

~~~
xvilka
Then it is good. The worse NVIDIA public image is - the better.

~~~
sevensor
The problem from my perspective is that a major GPU vendor seems to think it's
appropriate to paper over hardware problems with proprietary drivers, and they
get away with it. While their reputation ought to suffer for that, I'd rather
see them mend their ways. I'd love to take NVidia off _my_ blacklist.

------
angry_octet
It's not the Chromium team's job to debug nouveau. Switching it to be the
default for everything was obviously premature.

~~~
yogthos
Yet I use Firefox with Nouveau just fine...

~~~
mkoryak
It works on my machine, ship it!

~~~
yogthos
Uh no, means that you can make it work and some people are willing to spend
the time to do it right. You'd think that if Mozilla can afford to do this so
could Google. The only way the problems in the drivers can get fixed is
through usage, if Chrome flat out refuses to work with the driver then the
issues can't be fixed.

This also illustrates why it's important to have alternatives to Chrome for
anybody who cares about open source.

~~~
angry_octet
I assess with high confidence that that was a satirical comment.

It could be working on FF only through a quirk in their rendering, rather than
a testing. Chrome certainly has a test suite -- did anyone run it with nouveau
and turn bugs into PRs? And arguably, that job belongs to the desktop owners,
as well as the nouveau and chromium teams. Browsers are insanely complicated,
and who is paying for this work?

If I could make my employer pay for a meaningful number of Ubuntu desktop
licences I would, but TBH I need it to work with the nVidia driver not
nouveau.

~~~
yogthos
Maybe it's working through a quirk, or maybe Firefox team writes better code
that handles a wider range of drivers. I choose to use Firefox because the
team behind it cares about my needs. If Google can't afford to make a browser
that works with open source drivers, I will simply choose not to use it and
encourage others to use Firefox instead. This is precisely why having
alternatives to Chrome is important.

------
richardwhiuk
Isn't this the key quote:

> I did run the WebGL CTS suite, but that resulted in some

> hangs from the the max-texture-size-equivalent test, and some

> browser-level weirdness after some tests where later tests all fail

> (due to what I have to assume is a browser bug).

Isn't it more likely that they are noveau bugs, and are part of the problem
here?

~~~
slacka
> hangs from the the max-texture-size-equivalent tes

I reported this bug back in 2015 and they have made no progress on it. It
seems Nouveau just doesn't have the resources or man power. I can't really
blame Google here. You don't want the browser to be able to hard lock
system(not even a Magic SysRq will reboot it)

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

~~~
lucb1e
> You don't want the browser to be able to hard lock system(not even a Magic
> SysRq will reboot it)

Wait, this isn't just rendering bugs a la "some WebGL things will show green
instead of red", it kills your system entirely?

I thought the only effect this blacklisting had was making WebGL unavailable
for everyone instead of buggy for a small minority. This just flipped my
opinion.

Related, this might also explain the strange bluescreen bug my girlfriend had
with Windows 8 + Firefox on her laptop. She switched to Google Chrome a few
years ago because every time she used Firefox, her laptop would bluescreen
within a few hours (either while Firefox was still running, or at some point
later). I didn't know bugs outside of the OS could still do that kind of thing
(I thought they started squashing such bugs with Windows 95 and finished
somewhere around Vista) and wrote the Firefox thing off as triggering some
extremely obscure Windows OS-level issue. Maybe I should check if there is a
driver blacklisted by Chrome, though it seems more likely Chrome just doesn't
happen to trigger it (like all other software running on it, it really is only
Firefox).

~~~
Wowfunhappy
Driver crashes can easily take down a system. That's why driver quality
matters so much. This is true on every OS. (Although, Windows 7+ has
mechanisms to help recover from GPU driver crashes specifically, which
_usually_ work.)

Also, Chrome can render WebGL on the CPU. It's slower but will still work.

------
abrowne
Doesn't hardware accelerated graphics on Firefox on Linux require modifying a
preference? AFAIK you need to go to about:config and enable
layers.acceleration.force-enabled. (This is speaking as someone who uses
Firefox on Linux as my main browser.)

The bug for enabling hardware rendering by default on some systems appears to
still be open:
[https://bugzilla.mozilla.org/show_bug.cgi?id=594876](https://bugzilla.mozilla.org/show_bug.cgi?id=594876)

~~~
shmerl
Yes, Firefox is stuck with blacklisting basically everything. I guess
developers didn't revisit drivers situation in the recent times.

Just set these in your $HOME/.profile

    
    
        export MOZ_WEBRENDER=1
        export MOZ_ACCELERATED=1

~~~
staktrace
Please don't encourage people to turn on WebRender without at least warning
them that it is experimental, still under development, can cause your computer
to blow up, etc. Also the environment variables you specified will force it on
even on non-Nightly builds which is _very_ undesirable since those builds are
not getting fixes uplifted.

(I work on WebRender for Firefox)

~~~
shmerl
I've been using WebRender on beta builds on Linux for several months already -
it works quite well (AMD / radeonsi).

WebRender is more raw indeed, but regular layers acceleration should surely be
re-evaluated instead sweeping blacklisting like it happens now.

~~~
staktrace
Always remember the YEINU principle:
[https://blog.mozilla.org/nnethercote/2014/01/02/yeinu-
your-e...](https://blog.mozilla.org/nnethercote/2014/01/02/yeinu-your-
experience-is-not-universal/)

~~~
shmerl
I'm not the only one who is using layers with acceleration just fine though.

------
larkeith
> One idea is to flip GL_VENDOR to some random string if chromium is running.

What? Don't do this - _never_ do this. Regardless of whether or not you agree
with Chromium's decision, it is _their decision to make_ as the project
maintainers; trying to trick the software with falsified data is overstepping
your bounds, and both corrodes trust in your driver and leads to whitelists.

I thought we had moved past the days of fake user-agents.

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

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

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

------
jchw
>We can also just take this, as yet-another nail in the nouveau coffin.

I don't understand the dramatics. Nouveau is great but being blacklisted on
Chromium is not the biggest issue for it right now imo. A lot of Linux users
(myself included) use Firefox anyways, and it's still a default in many
operating systems. And you can of course override this. I would place lack of
reclocking support much higher than this in terms of issues. And of course,
the bugs that caused Chromium to decide to blacklist Nouveau in the first
place are still going to affect other accelerated applications.

I'm a big fan of Nouveau, it is what I use on my laptop when in Linux. At the
very least, it performs more than adequate for running a compositing desktop
environment, and for many common configurations I've had few issues booting
things up, the few issues I have had generally solved by using a newer kernel.

If we really want Nouveau to succeed though, the support needs to start coming
from Nvidia. AMD and Intel both have in the past supported open source drivers
to an extent and it really shows. Nvidia's contributions have been pretty piss
poor, and unfortunately it seems they just don't care, which is sad.

I guess I do understand the frustration, but given the fact that this is in
response to Ubuntu shipping Nouveau as a default, I think Nouveau's death is a
bit overstated.

~~~
jammygit
Its weird to work on a project to support hardware when the manufacturer
actively tries to thwart you with signed firmware. We need more efforts going
into open hardware imho

------
atemerev
Nouveau is the joke.

It _still_ doesn’t work with Pascal cards, which are 3 years old now. Not to
mention newer Turing cards. It’s only good for some obsolete hardware more
than two generations ago. The first thing I have to do before installing fresh
Ubuntu or Fedora is looking up how to blacklist nouveau, as the system won’t
even boot otherwise.

It’s time to deprecate it for good everywhere.

~~~
xvilka
No, it is NVIDIA who is joke, Nouveau doesn't support these cards just because
of NVIDIA policy and management. And they are the only who deserve the blame
in this case, not Nouveau or Google.

~~~
atemerev
AMD has their own set of quirks, they are not open sourcing their main driver
either. Nouveau was always a stopgap measure, to boot the system and make it
somewhat usable until you install the official binary driver; so is amdgpu.
Even if you are open source enthusiast who wants nothing but FOSS on your
system (and this is a very minor use case), these drivers do no better than
your integrated Intel graphics, which is integrated into CPU directly since
time immemorial.

Nouveau and amdgpu were always barely working, just enough to get something on
the screen — no state of the art 3D acceleration, no CUDA/OpenCL. But there is
a big difference between “barely working” and “black screen on boot, always”.

~~~
imtringued
amdgpu is not a stopgap driver. It's mature and reliable enough driver to play
videogames including a lot of windows games via proton. I don't see a single
reason to use a proprietary OS or driver anymore.

~~~
alacombe
As long as you don't have a funky setup, sure, but I've never been able to get
AMD cards properly working for what I wanted to do (dual GPU setup, AMF on
Linux, and multi-virtual monitors, ie 2 simultanious display on 1 monitor, or
even getting the proper resolution from monitor behind an hdmi demux) , both
with the opensource `amdgpu` _AND_ the proprietary Linux drivers.

------
bubblethink
This sucks. Chromium doesn't do accelerated video decode for intel on linux
either. And now this. What's the AMD scene like ?

~~~
cheald
The amdgpu drivers in Linux are fantastic these days. Works out of the box
with most hardware. No proprietary binaries needed, other than the firmware
blobs. AMD is doing a really solid job of supporting their Linux user base.

~~~
moonbug
Nvidia also does an excellent job of supporting linux. It's just not open
source.

~~~
StavrosK
I don't know, I upgraded to 18.10 and my XPS's brightness control doesn't
work. The Prime switchy thing can't change cards without a reboot, and if the
screen goes to sleep between switching cards and rebooting, it never comes up
again. Actually, with 18.10, it never comes up again anyway. I have a whole
host of issues with nVidia cards, my next card is going to be AMD.

~~~
mikewhy
18.10 isn't even supported by Dell.

~~~
StavrosK
Awesome, a laptop with one-year OS support...

~~~
zamadatix
Dell doesn't support non LTS (long term support) releases. The next LTS
release of Ubuntu is 20.04.

~~~
StavrosK
What does this mean? What sort of support did I get from Dell for 18.04? I had
to download and install everything myself.

------
peterwwillis
(off-topic rant)

As a Linux user for over 15 years, this is one of the main reasons I am
replacing Linux on my next machine, probably with Windows (sigh). Maybe it's
just me getting old, but I'm done screwing around with computers to get them
to do what they are supposed to do. It's frustrating and embarrassing.

It's not just that some drivers or hardware have obvious problems. It's
virtually impossible to get a system where all of the components have vendor-
supported open-source drivers, or, when they exist, that a distro supports
them out of the box. Many components' drivers only officially support two
operating systems. If they don't support your operating system (Linux), then
when you have a problem, you're SOL. It's like buying a car that when the
transmission blows, you need to hire a mechanical engineer to reverse-engineer
it. Better start taking the bus to work, because this could take a while.

Some laptops (about 9 product lines from 3 vendors) make official Linux distro
releases available. So you're stuck with a small selection of machines and
basically only one distro. Even if that is ok with you, the drivers still
won't all be vendor-supported open-source. And on top of that, Linux may have
wacky, constantly changing ways of handling the hardware, like hybrid GPU
support, or low power mode for Intel wifi chips. Your machine will always be
an awkward stepchild.

A limited hardware selection isn't good. Laptops are hard to design. There are
_always_ design and procurement tradeoffs, and the less tradeoffs they make,
the more expensive it gets. So to get a good experience on a good machine, you
need to buy the most expensive one. At that point you might as well buy a Mac.

Finally, there's actual user experience. I've used several distros and
environments the past few years, and they all had pitiful user experiences on
my laptops. CPU scaling on battery/AC doesn't work out of the box, most of my
media keys don't work, hybrid GPU takes a computer science degree to get
working properly (with the right combination of drivers and software), echoing
the wrong value to a /sys/ entry that had no kernel documentation permanently
fixed the cpu fan at top speed, and the latest vanilla kernels with an old
kernel config simply won't boot.

I know this isn't everyone's experience, but the only reason I'd recommend a
Linux desktop is if they were looking for a complicated new hobby.

~~~
Wowfunhappy
> The only reason I'd recommend a Linux desktop is if they were looking for a
> complicated new hobby.

Not sure if this was just a typo and you meant "laptop", but I imagine most of
the problems you're describing could be avoided on a self-built desktop,
because you can choose all the hardware for compatibility.

I haven't used Linux seriously in years, but this is how I'm able to make
Hackintosh work without constant fiddling, which all logic dictates should be
more difficult than Linux.

~~~
peterwwillis
I meant desktop in the software sense. Mini-tower hardware is probably easier
to support, but I want to use one laptop for everything.

------
microcolonel
Buy an AMD or Intel GPU. They're cost-effective (or non-negotiably bundled,
sometimes), they're well supported, and the vendors make a considerable effort
to ensure that stable, compliant drivers are available on every major
operating system, and that the free ones are no less stable nor any less
compliant.

AMD's performance is competitive dollar-for-dollar, and the top of their
lineup is about 80% as good the absolute highest-tier competitor most of the
time.

------
Ayyar
As a Linux user, I am happy about this change because Nouveau is just not an
acceptable driver.

I hope that this puts pressure on both Nvidia and Ubuntu to have a better
default.

~~~
SmellyGeekBoy
Agreed. It's very easy to install the proprietary driver in Ubuntu and in my
experience it Just Works™. Why not default to that? The vast majority of
Ubuntu users aren't open source evangelists who'd choose to use an inferior
driver purely for ideological reasons.

------
pablo-massa
Slightly unrelated but can anyone speculate on the reasons why Nvidia doesn't
open source its drivers? I'm curious.

~~~
doublepg23
My understanding is _a lot_ of stuff in Nvidia drivers isn't _technically_
owned by them. As in they license out A company to make Y thing with Z
license. After 20+ years of legacy those weird licenses add up, and no-one
feels comfortable with releasing the code. Whether or not that's true? Hard to
say... For comparison AMD has been (since 2015) working hard to make nearly
all parts of their drivers upstream in some fashion (amdgpu). While that's not
a 1:1 comparison there (AMD has less capital than Nvidia) it shows it _is_
possible to free these drivers.

~~~
altfredd
The real answer is that releasing source code means uncovering (some of) their
cards. The company, that relies on selling identical hardware under vastly
different prices, won't ever do that. Using game-specific speed-hacks to "fix"
games, purposefully written to violate standards, is another issue.
Especially, when those games were made with help of Nvidia engineers. Why give
up such ability?

I also suspect, that they make use of multiple patented technologies, both in
hardware and software. When Java has been re-licensed to GPL, one of the most
prominent pain points, that caused endless whining on part of OpenJDK users,
happened to be it's font renderer. And we all know, that font smoothing is
tricky business, and all font-smoothing tech in existence is patended by
MS/Apple/Adobe. When you start replacing closed-source code with free
replacement, those patented pieces tend to quickly come up — especially when
open-source projects go to great length to work around patent issues instead
of shoving them under the carpet.

------
techntoke
This is another reason why we shouldn't let current web browsers decide the
future of the web... which to them will become a proprietary black box of slow
JavaScript spyware and horrid markup languages.

~~~
canttestthis
> which to them will become a proprietary black box of slow JavaScript spyware
> and horrid markup languages

Did you read the bug report?

~~~
techntoke
I didn't see anything about a black box, except that users had reported issues
and they didn't feel that they could investigate them because there were to
many variances in Linux distros.

~~~
canttestthis
There are screenshots of the issue in the report. They've also said that there
is a pattern of Nouveau instability that you don't see in proprietary drivers.
Its all in the bug report.

~~~
techntoke
The screenshot was from Ubuntu. I haven't experienced the issue on Arch at
all.

------
ezoe
If we are speaking about the fairness. We should blacklist everything. All
available GPUs and its drivers whether its official or not on every OSes,
cannot be trusted in its current state.

------
ncmncm
For my part, I am blacklisting Chromium and NVidia.

------
audio1001
What is nouveau

~~~
dclusin
Open source driver for nvidia graphics cards it looks like

[https://en.wikipedia.org/wiki/Nouveau_(software)](https://en.wikipedia.org/wiki/Nouveau_\(software\))

------
baby
What is nouveau?

~~~
drewg123
A reverse-engineered driver for Nvidia GPUs on Linux that is open source.
Since it is reverse engineered, it tends to be buggy. Most Linux distributions
use this driver by default, since it is open source.

There is an arguably superior driver supplied by Nvidia. It is faster, has
better hardware support, and is arguably more stable (1). However, it ships as
a closed source binary blob with a source-based shim layer to integrate it
into the kernel.

(1)My wife has 2 Linux desktops with Nvidia GPUS. She ran nouveau by default.
However, on both machines, it would cause a kernel oops, and lock the screen
up. My wife assumed it was her entire machine locking up, but I realized from
the stack traces that were recorded that it was the GPU driver. I then
switched the machines to the Nvidia driver, and they have been stable ever
since.

I personally always buy hardware from Nvidia, because they provide a binary
driver for FreeBSD. They are one of the few companies in the non-server space
to provide good packaged drivers for FreeBSD.

~~~
mxuribe
> ...it would cause a kernel oops, and lock the screen up. My wife assumed it
> was her entire machine locking up...

Thank you! I think you might have just solved an issue for me that happens
intermittently with my linux mint 18.3. At least we'll see once i dive into
output of stack traces, etc.

------
StreamBright
#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?

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

~~~
zlynx
I have a Dell XPS with an Nvidia 1050, running Fedora 29.

The Nouveau driver was so bad here that I blacklisted all the drivers and just
use the Intel GPU. It's the difference between 3 hours or 6 hours of battery.

It apparently ran the Nvidia power on even when no program wanted to use it.

~~~
bubblethink
>It apparently ran the Nvidia power on even when no program wanted to use it.

Are you sure you didn't install nvidia drivers? That is a common symptom with
nvidia binary drivers. Nouveau on the other hand is fine with powering the
device off when not used. For nvidia drivers, the bbswitch method is more
reliable, but is apparently deprecated by distros these days.

------
kakarot
Meh, I typically use Chrome through a virtual machine with Spice which has
broken OpenGL support, so I wasn't getting hardware acceleration anyway. I
still get screen tearing in Firefox, for Christ's sake.

~~~
alexdme
There is an easy fix for this: Set layers.acceleration.force-enabled: true in
about:config.

I believe this is because Firefox assumes it's the responsibility of the
compositor you are running to properly vsync, but if you're not running a
compositor you can turn on this option.

~~~
kakarot
Thank you for the tip. I still seem to get screen tearing with this option
enabled, however.

------
fhrow4484
Will this make Firefox the best browser on Linux by default then?

Also, as mentionned in the bug thread, if nouveau is actually stable on Newer
versions, similar to User Agents, the newer nouveau versions could change
their name to bypass the blacklisting. No need to pretend to be NVIDIA, just
something different that nouveau, like 'nuevo' or something.

~~~
geofft
Can't they also use GL_VENDOR / GL_RENDERER and parse version numbers out of
it?

~~~
marcinzm
Chromium said they'd do that if someone tested which Nouveau versions work
fine and provided a test suite to use. Ilia Mirkin (in the link) said he tried
to run their test suite but got errors on the latest Nouveau (possibly due to
a browser issue). So as it stands now Chromium doesn't know which if any
versions of Nouveau are stable.

------
superkuh
Browsers should not need to have GPU acceleration anyway if they are just
browsers. But instead, as is Chrome's/ium's style, it wants to be an OS
instead of a browser. All other browsers are trying to follow suite but that
still doesn't make it right. The more hardware functionality exposed the less
secure a browser is.

------
Sir_Cmpwn

        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
> _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
Note: 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.

~~~
geofft
They 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-
ca...](https://blog.chromium.org/2017/11/reducing-chrome-crashes-caused-by-
third.html) 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.

