[Nouveau] Chromium - Application-level nouveau blacklist
imirkin at alum.mit.edu
Sun Jan 6 04:05:09 UTC 2019
On Sat, Jan 5, 2019 at 10:36 PM K. York <kanepyork at gmail.com> wrote:
> > Opinions welcome.
> I have a few ideas on the best way to approach this.
> - First of all, obviously, fix the WebGL CTS problems. (with
> --ignore-gpu-blacklist )
> - Fix all other crashing issues and request re-inclusion. (This is
> comment #37.) Chrome versions are only 6 weeks, so not too bad of a
> lead time.
> - Set up fuzz testing to discover new crashing and stability issues
> before they impact userspace. This will also help with discovering the
> crash issues that need to get fixed. Chromium will probably loan
> ClusterFuzz resources to help with this.
> - Set up monkey testing with Chrome on Nouveau to discover the causes
> of the black-rectangle bugs.
> - Set up as-rendered diff testing between major Nouveau versions vs
> HEAD and require review of differences before a release can be made.
> (see https://fifoci.dolphin-emu.org/about/ for prior art)
> - Set up diff testing with the propietary NVIDIA drivers. (This may
> cost a significant amount of money to do.)
> All of this requires developer time and effort to do. You might need
> to organize a call for volunteers from a wider audience than just the
> nouveau mailing list.
Thanks for your feedback. Following such steps would surely lead to a
much higher quality driver than what we have today. As you're aware,
what you're suggesting requires an IMMENSE investment of effort, and
holds the nouveau driver to a considerably higher standard than any of
the other drivers, including the NVIDIA proprietary driver. For the
driver that's backed by the fewest resources of almost any of the
other driver efforts, I don't think that's reasonable.
Here's the thing -- the only thing that outright dies for me right now
is the max-texture-size thing + what feel like browser bugs. The WebGL
CTS is relatively new, and not well battle-tested, so achieving a 100%
pass rate will involve fixing a lot of their tests (in fact I've
already fixed some of them). And even if I come back with clean
results, that will still be 1 test result from a matrix of (GPU SKU,
Mesa version, Kernel version, Other Factors) combinations which
probably numbers in the millions.
I've glanced at the HN discussion about this situation
(https://news.ycombinator.com/item?id=18834715), 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.
More information about the Nouveau