4 ms·
> 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
by larkeith 8y ago
> 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 8y agoThe 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.
- bootloop 8y agoThe user can decide on his own if he wants the application to run on an unsupported driver or not. The application decided by default not to offer support for it. Who should absolutely not decide for the user is the unsupported driver itself so I think the hierarchy is just fine as it is.
- kps 8y agoThey could add “--ignore-gpu-blacklist” to their .desktop entry for Chrome.
- zanny 8y agoUbuntu 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.
- belorn 8y agoWhat we have is two side accusing the other of overstepping their bounds. Chromium making decision about drivers which normally is the domain of the operative system, and the driver making decision of what kind of systems the browser will support. The more rational behavior is for chromium to let the operative system decide what software and drivers they want to use, and do what they want with bugs from operative systems that they don't want to support. Whitelists won't work since all that will happen then is that project will do what Internet explorer did, ie call it self "compatible" and use the GL_VENDOR string of that compatible driver.
- cwyers 8y ago> Chromium making decision about drivers which normally is the domain of the operative system Chromium isn't loading their own graphics drivers. They are deciding to fall back to software rendering if they determine that the card/driver/OS combination does not properly support the API that enables them to use the hardware-acceleration features of the card to render. They're still rendering using the noveau driver on the OS, they're just not using the APIs that they have determined to be not functioning properly. Detecting what the underlying graphics hardware and driver supports and falling back to what is functional is an incredibly common part of software using GPUs.
- robocat 8y agoTotally agree. If you want to use hardware acceleration then go to about://flags and search for blacklist "Override software rendering list: Overrides the built-in software rendering list and enables GPU-acceleration on unsupported system configurations. – Mac, Windows, Linux, Chrome OS, Android" Simple and if you have telemetry logging on then you are possibly advertising that nouveau works for you.
- Wowfunhappy 8y ago> trying to trick the software with falsified data is overstepping your bounds. Fwiw, I agree with this statement only because Chrome lets users override the default behavior. In the hypothetical event that Chrome was closed-source and forcibly disabling acceleration under a driver, I'd consider fakery on the part of the driver to be perfectly warranted.