VirtualGL / virtualgl

Main VirtualGL repository
https://VirtualGL.org
Other
701 stars 106 forks source link

X error when running specific application through VirtualGL #260

Open JavaScythe opened 2 months ago

JavaScythe commented 2 months ago

Whenever I run this application through wine and set DISPLAY env to anything but physical, it fails with this error.

[VGL] NOTICE: Added /usr/lib/virtualgl to LD_LIBRARY_PATH
[VGL] NOTICE: Replacing dlopen("libX11.so.6") with dlopen("libvglfaker.so")
[VGL] Shared memory segment ID for vglconfig: 131116
[VGL] VirtualGL v3.1.1 64-bit (Build 20240309)
[VGL] Opening connection to 3D X server :0
X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  0 ()
  Serial number of failed request:  11
  Current serial number in output stream:  11
0254:err:system:NtUserChangeDisplaySettings Changing L"\\\\.\\DISPLAY1" display settings returned -2.
0254:err:explorer:initialize_display_settings Failed to initialize registry display settings for L"\\\\.\\DISPLAY1".

I'm running "vglrun +v sh kkss.sh" (in thinlinc/turbovnc), see the contents of kkss.sh below:

#!/bin/sh
export WINEPREFIX=/home/system/.local/share/bottles/bottles/g2ng
# export DISPLAY=:10
# export LIBGL_ALWAYS_INDIRECT=0
# export MESA_GL_VERSION_OVERRIDE=4.5
# export MESA_GLSL_VERSION_OVERRIDE=450
# export LIBGL_ALWAYS_SOFTWARE=1
# export LD_PRELOAD=libvglfaker.so
# echo $WINEPREFIX
/home/system/.local/share/bottles/runners/soda-9.0-1/bin/wine64 exampleapp.exe

I've tested both thinlinc and turbovnc.

vglrun glxgears and vglrun glxspheres64 run exactly as expected Nothing in dmesg or journalctl indicates a problem. The application works without vgl (albeit over llvmpipe and thus slowly) The application works on the physical (:0) display Obviously this is a wine program. nvidia-smi gives:

Mon Sep  2 17:53:17 2024
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.157                Driver Version: 390.157                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 570     Off  | 00000000:02:00.0 N/A |                  N/A |
| 40%   43C   P12    N/A /  N/A |     20MiB /  1218MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+

pacman -Qs nvid

local/egl-wayland 4:1.1.16-1
    EGLStream-based Wayland external platform
local/libvdpau 1.5-3
    Nvidia VDPAU library
local/libxnvctrl-390xx 390.157-1
    NVIDIA NV-CONTROL X extension, 390xx legacy branch
local/nvidia-390xx-dkms 390.157-12
    NVIDIA drivers - module sources
local/nvidia-390xx-settings 390.157-1
    Tool for configuring the NVIDIA graphics driver, 390xx legacy branch
local/nvidia-390xx-settings-debug 390.157-1
    Detached debugging symbols for nvidia-390xx-settings
local/nvidia-390xx-utils 390.157-12
    NVIDIA drivers utilities
local/nvtop 3.1.0-1
    GPUs process monitoring for AMD, Intel and NVIDIA
local/opencl-nvidia-390xx 390.157-12
    OpenCL implemention for NVIDIA
local/xf86-video-nouveau 1.0.17-3 (xorg-drivers)
    Open Source 3D acceleration driver for nVidia cards

No idea what the issue is here. I'm not sure what the X error means despite substantial googling. I can post the strace if someone wants. Happy to gather additional logs, any help is appreciated.

dcommander commented 2 months ago

Try setting VGL_PROBEGLX=0 in the environment.

JavaScythe commented 2 months ago

No change, exact same error.

JavaScythe commented 2 months ago

Additionally, I tried using the wm (i3) started with vgl +wm in thinlinc, works perfectly, apps started normally are accelerated, however the app in question still fails in the same way.

dcommander commented 2 months ago

No idea, but I'm immediately suspicious of the fact that you are using a very old nVidia driver. If you can share the application and version of WINE you're using, then I can try to reproduce the issue. (I have an old GPU that can run 390.xx.)

JavaScythe commented 2 months ago

I'm using "Algodoo_2_1_0-Win32.exe" from http://www.algodoo.com/download/ Wine is bottles managed prefix running soda-9.0-1

Yeah GTX570 is certainly a terrible combination for linux. nvidia-smi only prints temperature and fan speed, no utilization nor process list