VirtualGL + Wine, second GPU not work

Questions about Wine on Linux
Locked
vizshala
Newbie
Newbie
Posts: 1
Joined: Wed Mar 12, 2014 9:13 pm

VirtualGL + Wine, second GPU not work

Post by vizshala »

Hi,

I've setup an headless VirtualGL environment with 2 GPUs installed. When I use the first gpu, wine works well. But it went wrong when second GPU was designated.
I know it might due to VirtualGL not setting up correctly. So I use the same VirtualGL setting and run glxgears. It proved works well.

VirtualGL : 2.3.3
Wine: 1.7.13

Code: Select all

DISPLAY=:1 vglrun -d :0.1 +v +tr wine Lights.exe 
DISPLAY=:1 is a 2D X server
-d :0.1 use 2nd GPU
Lights.exe is an d3d example comes along with d3d sdk.

The message "bound framebuffer is not framebuffer complete." continues endlessly

Code: Select all

fixme:d3d:context_check_fbo_status FBO status GL_FRAMEBUFFER_UNSUPPORTED (0x8cdd)
fixme:d3d:context_check_fbo_status 	Location WINED3D_LOCATION_TEXTURE_RGB (0x20).
fixme:d3d:context_check_fbo_status 	Color attachment 0: (0x1b7b98) WINED3DFMT_B8G8R8X8_UNORM 292x273 0 samples.
fixme:d3d:context_check_fbo_status 	Depth attachment: (0x205c08) WINED3DFMT_D16_UNORM 292x273 0 samples.
err:d3d:wined3d_debug_callback 0x1b6368: "GL_INVALID_FRAMEBUFFER_OPERATION error generated. Operation is not valid because a bound framebuffer is not framebuffer complete.".
err:d3d:device_clear_render_targets >>>>>>>>>>>>>>>>> GL_INVALID_FRAMEBUFFER_OPERATION (0x506) from glClear @ ../../../wine-1.7.13/dlls/wined3d/device.c / 420
fixme:d3d:context_check_fbo_status FBO status GL_FRAMEBUFFER_UNSUPPORTED (0x8cdd)
fixme:d3d:context_check_fbo_status 	Location WINED3D_LOCATION_TEXTURE_RGB (0x20).
fixme:d3d:context_check_fbo_status 	Color attachment 0: (0x1b7b98) WINED3DFMT_B8G8R8X8_UNORM 292x273 0 samples.
fixme:d3d:context_check_fbo_status 	Depth attachment: (0x205c08) WINED3DFMT_D16_UNORM 292x273 0 samples.
err:d3d:wined3d_debug_callback 0x1b6368: "GL_INVALID_FRAMEBUFFER_OPERATION error generated. Operation is not valid because a bound framebuffer is not framebuffer complete.".
err:d3d_draw:drawStridedFast >>>>>>>>>>>>>>>>> GL_INVALID_FRAMEBUFFER_OPERATION (0x506) from glDrawArrays @ ../../../wine-1.7.13/dlls/wined3d/drawprim.c / 85
[VGL] glFlush()
fixme:d3d:context_check_fbo_status FBO status GL_FRAMEBUFFER_UNSUPPORTED (0x8cdd)
fixme:d3d:context_check_fbo_status 	Location WINED3D_LOCATION_TEXTURE_RGB (0x20).
fixme:d3d:context_check_fbo_status 	Color attachment 0: (0x1b7b98) WINED3DFMT_B8G8R8X8_UNORM 292x273 0 samples.
err:d3d:wined3d_debug_callback 0x1b6368: "GL_INVALID_FRAMEBUFFER_OPERATION error generated. Framebuffer bindings are not framebuffer complete.".
err:d3d:swapchain_blit >>>>>>>>>>>>>>>>> GL_INVALID_FRAMEBUFFER_OPERATION (0x506) from Swapchain present blit(EXT_framebuffer_blit)
 @ ../../../wine-1.7.13/dlls/wined3d/swapchain.c / 330
[VGL] glXSwapBuffers (dpy=0x7e187fd0(:1) drawable=0x01a00006 ^Cfixme:console:CONSOLE_DefaultHandler Terminating process 8 on event 0
The following shows when 1st GPU is used, there is no problem.

Code: Select all

DISPLAY=:1 vglrun -d :0.0 +v +tr wine Lights.exe 

Code: Select all

[VGL] glXSwapBuffers (dpy=0x7d267fd0(:1) drawable=0x01800006 pbw->getglxdrawable()=0x00600008 ) 0.000000 ms
[VGL] glFlush()
I also noticed when I change the xorg.conf so that "screen 1" is active display, the situation is different.

:0.0 works, :0.1 not works

Code: Select all

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    Screen      1  "Screen1" RightOf "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

:0.1 works, :0.0 not works

Code: Select all

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen1"
    Screen      1  "Screen2" RightOf "Screen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection
Is there any way I can let wine works on different GPUs ?
Thanks for help.
Locked