On Sep 20, 2020, at 9:03 AM, zoidby <b4kuret5...@gmail.com> wrote:
Hi
--
You received this message because you are subscribed to the Google Groups "VirtualGL User Discussion/Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to virtualgl-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/virtualgl-users/3acaec31-c5a3-4f40-849f-37041cbc36aan%40googlegroups.com.
On Sep 21, 2020, at 12:32 PM, zoidby <b4kuret5...@gmail.com> wrote:
To view this discussion on the web visit https://groups.google.com/d/msgid/virtualgl-users/fac16ad5-f699-48c8-9ade-654e736f8bc5n%40googlegroups.com.
I did some further research, and I believe that the underlying problem is the same as the one experienced by AMDGPU users (but I can't yet confirm that, because I haven't been able to make Nouveau work with my Quadro 600.) According to the GLX API, any value specified for GLX_[RED|GREEN|BLUE|ALPHA]_SIZE in glXChooseVisual() or glXChooseFBConfig() is treated as a minimum value, and visuals or FB configs with larger red/green/blue/alpha component sizes are preferred. AMDGPU and Nouveau both place 10-bpc FB configs at the head of the list, so when an application specifies GLX_RED_SIZE=GLX_GREEN_SIZE=GLX_BLUE_SIZE=8 and VirtualGL passes those values to the "real" glXChooseFBConfig() function, 10-bpc FB configs are returned first. Those FB configs do not support window rendering and do not have visuals attached, so 3D applications (including GLXspheres) that specify GLX_VISUAL_TYPE=... or GLX_DRAWABLE_TYPE=GLX_WINDOW_BIT|... (the default value of GLX_DRAWABLE_TYPE is GLX_WINDOW_BIT) with glXChooseFBConfig() will exclude the 10-bpc FB configs. However, VirtualGL specifies GLX_DRAWABLE_TYPE=GLX_PBUFFER_BIT|GLX_PIXMAP_BIT because VirtualGL never actually renders into a window. Technically speaking, the underlying GLX implementation should never set GLX_PIXMAP_BIT for a FB config without also setting GLX_WINDOW_BIT (glXCreatePixmap() should throw BadMatch if the FB config passed to it doesn't have GLX_WINDOW_BIT set), and GLX_PIXMAP_BIT should never be set for an FB config without an attached visual. However, unfortunately AMDGPU (and presumably Nouveau) do this for the aforementioned 10-bpc FB configs. The issue is with 3D applications (including GLXgears) that use glXChooseVisual(), because VirtualGL's implementation of glXChooseVisual() chose the first FB config returned by the "real" glXChooseConfig() function. Modifying our implementation of glXChooseVisual() so that it chooses the first FB config **with a visual attached** returned by the "real" glXChooseFBConfig() function works around the problem, at least with the AMDGPU drivers. If you or someone else could confirm, using the latest 2.6.x stable pre-release build (I just pushed, so give it a few minutes to spin), that the problem is also worked around for Nouveau, I would appreciate it.
DRC
To view this discussion on the web visit https://groups.google.com/d/msgid/virtualgl-users/fac16ad5-f699-48c8-9ade-654e736f8bc5n%40googlegroups.com.
Can you confirm whether the latest stable pre-release build
fixes the issue with nouveau?
To view this discussion on the web visit https://groups.google.com/d/msgid/virtualgl-users/fac16ad5-f699-48c8-9ade-654e736f8bc5n%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/virtualgl-users/d78958fb-c922-489c-b1fc-58575fdc539dn%40googlegroups.com.