-
-
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
Qt5 + XCB insufficient faking? #267
Comments
With the Qt5 OpenGL examples, I can reproduce the black screen when Are you doing anything "special" with TurboVNC, such as disabling its GLX extension? Can you provide an example that demonstrates the issue, or is it reproducible with any of the stock Qt5 examples? Also, based on my testing, I understand the modifications you made above to Also, fakerut actually tests for exactly this issue, so I'm not sure why Qt5 behaves differently. I think that, ideally, VirtualGL's XCB interposer shouldn't rely on the 2D X server at all, but it would still be nice to reproduce exactly what you're seeing so that I can understand the scope of the issue. |
Blerg. Scratch that. |
I had issues with several Qt5 apps. One specific program I encountered trouble with was CloudCompare. Without the patch it gives an error dialog that OpenGL is not available and it cannot start. With the patch it works fine. (It also reproduces the black screen issue). By the stock Qt5 examples do you mean these here? I will see if they work properly on my system but I would guess not. I turned on the Qt logging with the environment variable Good to know about the GLX version, I was just guessing at that point. I don't think I'm using a 2D X server directly (I guess TurboVNC functions as one) and will check if something funky is going on there. |
Yes, those are the ones. On Rocky Linux 8, which is what I'm using for testing, there is a prebuilt package with them.
Yes, TurboVNC is the 2D X server. That terminology is from the VirtualGL User's Guide. |
I built CloudCompare from source, and it works fine for me with Qt's XCB/GLX back end and VirtualGL's EGL back end. (I even tried it with TWM.) The only other major differences I see are that I'm running EL 8.10 instead of 8.8 and nVidia 550.xx instead of 545.xx, but I don't know why that would matter. |
The blank window with |
Any further information on this? |
I am running into an issue where Qt5 apps won't start due to the xcb functions claiming GL is not available. I've managed to fix it with a patch (detailed below) but I'm hoping for a hint on why the issue occurs and if VirtualGL needs a fix or my system is broken.
The software setup is rather byzantine, but here is some relevant info:
The Qt GLX backend causes apps to think GL is not available as the XCB functions reply that it isn't, and the Qt EGL backend causes them to render with a black screen. If I patch the XCB functions as below (and enable tracing), then the Qt XCB backend works great:
Any idea why this might be necessary? Is it possible to load the wrong version of the xcb libraries or something?
The text was updated successfully, but these errors were encountered: