-
-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
(Docs) New chromium v108 needs --use-gl=egl #222
Comments
Are you using the 3.1 beta release of VirtualGL? If so, then this is a bug. Since VGL 3.1 emulates EGL/X11, Chromium should now work by default. I will investigate when I get a chance (probably not until after the new year.) |
I am running from git 3979e91 using the virtualgl-git AUR package. Its version is fully reported as |
Arch has historically biffed the packaging of VirtualGL, so more times than not, bugs reported against their VGL package can't be reproduced with our official builds. I will try to reproduce the issue on an officially supported platform and get back to you. |
Post as a separate issue, please. |
Sorry for the immense delay. I've been putting out libjpeg-turbo and TurboVNC fires for the past two months. On my machine (CentOS 7) running VirtualGL 3.1 post-beta and Chromium v110.0.5481.77, I can confirm that
The EGL/X11 feature was specifically developed for Chrome, so apparently Google changed something that broke it. :( I will investigate. |
The issue seems to be that Chromium is choosing a specific X visual for its window, then it is searching through the list of EGLConfigs to find one that matches that visual ID: Blerg. That is really poor design, and I wish applications would stop doing it. More specifically, it seems to be searching for a visual that matches specific GLX attributes: https://github.com/chromium/chromium/blob/51d4c63284a91d5519408306821d8fe2b4ff9e07/ui/base/x/visual_picker_glx.cc#L195-L210 With the TurboVNC Viewer, that causes it to choose Visual 0x392, the first double-buffered depth-32 RGBA8 visual with no stencil or depth buffer. However, since VirtualGL doesn't care about GLX attributes when choosing an X visual to match an EGLConfig, it would never choose Visual 0x392 to match any EGLConfig. Ultimately, anything I did to work around this would be a lot messier than just passing |
This seems to be true for v85 and later. When I developed the EGL/X11 front end to support Firefox and Chrome, --use-gl=egl was definitely not necessary with v85 and later, so I'm not sure what changed to make it necessary. Refer to #222
Oddly, v85 and later also needs |
@m1k1o Relevant to selkies-project/docker-nvidia-egl-desktop#20 |
Thanks for notifying! I'll try. |
I need to use
--use-gl=egl
to get chromium to render through virtualgl.VGL_LOGO=1 vglrun -d /dev/dri/card0 chromium --use-gl=egl
I see the VGL logo in the bottom-right of all webpages with this config. If I don't use that flag, I get some perplexing output from Chromium on launch:
(repeated ad nauseam with some other errors interspersed.) This causes chromium's compositor to fall back to software rendering and causes it to refuse to render WebGL despite saying "WebGL: Hardware accelerated but at reduced performance".
For some reason
--disable-seccomp-filter-sandbox
was not necessary for me.Arch Linux, Chromium 108.0.5359.124,
OpenGL renderer string: AMD Radeon RX 6700 XT (navi22, LLVM 14.0.6, DRM 3.48, 6.0.7-pf4-1.1)
, running inXvnc
.The text was updated successfully, but these errors were encountered: