VirtualGL / virtualgl

Main VirtualGL repository

Home Page:https://VirtualGL.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

480: Could not read Pixels with Nvidia RTX A6000

AbhiSaurot opened this issue · comments

Hi,

I am using virtualgl version 2.5.2 however it does not work with nvidia RTX A6000. I have tested it without virtual gl and it works fine
this works fine with GPU RTX 4000
I have installed the drivers from Nvidia and opengl used here is also 4.6 which is compatible with the card.

[root@mylab ]# vglrun +v glxgears
[VGL] NOTICE: Automatically setting VGL_CLIENT environment variable to
[VGL] 10.175.249.113, the IP address of your SSH client.
[VGL] NOTICE: Added /opt/virtualgl-2.5.2-t47iulsrddppu2hjodoj53iay56jgszn/lib64 to LD_LIBRARY_PATH
[VGL] NOTICE: Replacing dlopen("/lib64/libdl.so.2") with dlopen("libdlfaker.so")
[VGL] Shared memory segment ID for vglconfig: 327695
[VGL] VirtualGL v2.5.2 64-bit (Build 20231023)
[VGL] Opening connection to 3D X server :0
[VGL] Using Pbuffers for rendering
[VGL] Using 1 / 64 CPU's for compression
[VGL] Using pixel buffer objects for readback (BGR --> BGR)
[VGL] Client version: 2.1
26411 frames in 5.0 seconds = 5282.017 FPS
24627 frames in 5.0 seconds = 4925.321 FPS
26232 frames in 5.0 seconds = 5246.279 FPS
26067 frames in 5.0 seconds = 5213.249 FPS
26019 frames in 5.0 seconds = 5203.657 FPS
26275 frames in 5.0 seconds = 5254.967 FPS
26231 frames in 5.0 seconds = 5246.160 FPS
26264 frames in 5.0 seconds = 5252.791 FPS
26219 frames in 5.0 seconds = 5243.630 FPS
26214 frames in 5.0 seconds = 5242.678 FPS
26348 frames in 5.0 seconds = 5269.538 FPS
26628 frames in 5.0 seconds = 5325.422 FPS
26839 frames in 5.0 seconds = 5367.765 FPS
26922 frames in 5.0 seconds = 5384.199 FPS
26790 frames in 5.0 seconds = 5357.811 FPS
26510 frames in 5.0 seconds = 5301.825 FPS
26770 frames in 5.0 seconds = 5353.935 FPS
26882 frames in 5.0 seconds = 5376.241 FPS
26840 frames in 5.0 seconds = 5367.803 FPS
26868 frames in 5.0 seconds = 5373.414 FPS
26954 frames in 5.0 seconds = 5390.729 FPS
26761 frames in 5.0 seconds = 5352.155 FPS
26925 frames in 5.0 seconds = 5384.919 FPS
26910 frames in 5.0 seconds = 5381.951 FPS
26769 frames in 5.0 seconds = 5353.768 FPS
26922 frames in 5.0 seconds = 5384.356 FPS
26953 frames in 5.0 seconds = 5390.512 FPS
26683 frames in 5.0 seconds = 5336.513 FPS
27055 frames in 5.0 seconds = 5410.803 FPS
26920 frames in 5.0 seconds = 5383.852 FPS
26613 frames in 5.0 seconds = 5322.488 FPS
27144 frames in 5.0 seconds = 5428.735 FPS
26833 frames in 5.0 seconds = 5366.393 FPS
26689 frames in 5.0 seconds = 5337.673 FPS
27002 frames in 5.0 seconds = 5400.393 FPS
26887 frames in 5.0 seconds = 5377.215 FPS
[VGL] ERROR: OpenGL error 0x0502
[VGL] ERROR: in readPixels--
[VGL] 480: Could not Read Pixels

Thu Dec 21 09:22:45 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.146.02 Driver Version: 535.146.02 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA RTX A6000 Off | 00000000:CA:00.0 Off | Off |
| 30% 32C P8 6W / 300W | 12MiB / 49140MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 52727 G /usr/bin/X 8MiB |
+---------------------------------------------------------------------------------------+

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA RTX A6000/PCIe/SSE2
OpenGL core profile version string: 4.3.0 NVIDIA 535.146.02
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 535.146.02
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:

Can some help me with what is going wrong here ?

Regards,
Abhisaurot

Tried read test with --alpha option as well both of which failed

/opt/VirtualGL/bin/glreadtest

GLreadtest v3.1 (Build 20230315)

/opt/VirtualGL/bin/glreadtest -h for advanced usage.
FB Config = 0x67
Rendering to Pbuffer (size = 701 x 701 pixels)
Using 1-byte row alignment

PIXEL FORMAT: RGB <<<<<<<<<<
glDrawPixels(): 462.3 Mpixels/sec
glReadPixels(): 2100 Mpixels/sec (min = 711.2, max = 2174, sdev = 42.73)
glReadPixels() accounted for 99.98% of total readback time

PIXEL FORMAT: RGBA <<<<<<<<<<
glDrawPixels(): 805.6 Mpixels/sec
glReadPixels(): 1977 Mpixels/sec (min = 1120, max = 2031, sdev = 38.45)
glReadPixels() accounted for 99.97% of total readback time

PIXEL FORMAT: BGR <<<<<<<<<<
glDrawPixels(): 739.9 Mpixels/sec
glReadPixels(): 2101 Mpixels/sec (min = 1321, max = 2165, sdev = 35.27)
glReadPixels() accounted for 99.98% of total readback time

PIXEL FORMAT: BGRA <<<<<<<<<<
glDrawPixels(): 805.3 Mpixels/sec
glReadPixels(): 1953 Mpixels/sec (min = 1254, max = 1999, sdev = 33.59)
glReadPixels() accounted for 99.97% of total readback time

PIXEL FORMAT: ABGR <<<<<<<<<<
glDrawPixels(): 805.8 Mpixels/sec
glReadPixels(): 1947 Mpixels/sec (min = 1234, max = 2005, sdev = 33.98)
glReadPixels() accounted for 99.97% of total readback time

PIXEL FORMAT: ARGB <<<<<<<<<<
glDrawPixels(): 805.7 Mpixels/sec
glReadPixels(): 1937 Mpixels/sec (min = 910.0, max = 1999, sdev = 40.09)
glReadPixels() accounted for 99.97% of total readback time

PIXEL FORMAT: RED <<<<<<<<<<
glDrawPixels(): 770.8 Mpixels/sec
glReadPixels(): 4991 Mpixels/sec (min = 324.3, max = 5353, sdev = 225.0)
glReadPixels() accounted for 99.95% of total readback time

X11 Error: BadDrawable
X11 Error: BadDrawable
X11 Error: BadGC
X11 Error: BadGC
X11 Error: BadDrawable
X11 Error: BadDrawable

/opt/VirtualGL/bin/glreadtest -alpha

GLreadtest v3.1 (Build 20230315)
FB Config = 0x77
Rendering to Pbuffer (size = 701 x 701 pixels)
Using 1-byte row alignment

PIXEL FORMAT: RGB <<<<<<<<<<
glDrawPixels(): 464.2 Mpixels/sec
glReadPixels(): 2101 Mpixels/sec (min = 748.1, max = 2174, sdev = 42.58)
glReadPixels() accounted for 99.98% of total readback time

PIXEL FORMAT: RGBA <<<<<<<<<<
glDrawPixels(): 806.2 Mpixels/sec
glReadPixels(): 2287 Mpixels/sec (min = 1017, max = 2397, sdev = 64.56)
glReadPixels() accounted for 99.97% of total readback time

PIXEL FORMAT: BGR <<<<<<<<<<
glDrawPixels(): 739.8 Mpixels/sec
glReadPixels(): 2082 Mpixels/sec (min = 1287, max = 2156, sdev = 35.58)
glReadPixels() accounted for 99.98% of total readback time

PIXEL FORMAT: BGRA <<<<<<<<<<
glDrawPixels(): 805.1 Mpixels/sec
glReadPixels(): 2256 Mpixels/sec (min = 1339, max = 2329, sdev = 41.13)
glReadPixels() accounted for 99.97% of total readback time

PIXEL FORMAT: ABGR <<<<<<<<<<
glDrawPixels(): 808.1 Mpixels/sec
glReadPixels(): 2262 Mpixels/sec (min = 1343, max = 2339, sdev = 43.52)
glReadPixels() accounted for 99.97% of total readback time

PIXEL FORMAT: ARGB <<<<<<<<<<
glDrawPixels(): 805.3 Mpixels/sec
glReadPixels(): 2254 Mpixels/sec (min = 1159, max = 2318, sdev = 47.16)
glReadPixels() accounted for 99.96% of total readback time

PIXEL FORMAT: RED <<<<<<<<<<
glDrawPixels(): 771.0 Mpixels/sec
glReadPixels(): 4969 Mpixels/sec (min = 337.2, max = 5285, sdev = 225.8)
glReadPixels() accounted for 99.95% of total readback time

X11 Error: BadDrawable
X11 Error: BadDrawable
X11 Error: BadGC
X11 Error: BadGC
X11 Error: BadDrawable
X11 Error: BadDrawable

commented

The issue you are experiencing with VirtualGL seems like it might be either a driver issue or a hardware issue. On the off chance that the issue is specific to PBOs, try setting VGL_READBACK=sync in the environment prior to invoking vglrun.

The issue with the readback test seems like an X11 issue. Make sure you are directing the benchmark to Display :0. Note also that the benchmark's default behavior is the equivalent of VGL_READBACK=sync. You can pass -pbo to the benchmark to use PBOs for readback, thus simulating VirtualGL's default behavior.

commented

Closing due to lack of response.

I should also point out that VirtualGL 2.5.2 is quite old and no longer supported. 3.1.x is Active, 3.0.x is under Maintenance support, and 2.6.x is under Extended support (https://virtualgl.org/DeveloperInfo/Versioning).