> 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. Best of luck, ~Kane
Ilia Mirkin
2019-Jan-06 04:05 UTC
[Nouveau] Chromium - Application-level nouveau blacklist
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. Cheers, -ilia
Apparently Analagous Threads
- Chromium - Application-level nouveau blacklist
- Chromium - Application-level nouveau blacklist
- [Mesa-dev] Chromium - Application-level nouveau blacklist
- Google's Chrome Team might Blacklist Nouveau on Chromium
- [Bug 46533] New: Firefox WebGL with Nouveau 3D; user claims it came installed by default on OpenSuse 12.1