You are not logged in.

#1 2023-05-16 09:10:41

Prototik
Member
Registered: 2016-09-17
Posts: 3

No iGPU acceleration for xwayland applications, falls back to llvmpipe

I have dual-gpu laptop, with AMD Ryzen 7 3750H APU and Nvidia RTX 2060 dGPU. Recently 3D apps under Xwayland stops working properly as it's falling back to llvmpipe for rendering.
Under pure X11 sessions everything is fine - Vega 10 iGPU used by default.
Switching to Nvidia dGPU with __GLX_VENDOR_LIBRARY_NAME=nvidia works fine both under X11 and xwayland.

DE: Gnome 44

Output of MESA_DEBUG=1 LIBGL_DEBUG=verbose eglinfo -B:

libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
/usr/share/libdrm/amdgpu.ids version: 1.0.0
GBM platform:
eglinfo: eglInitialize failed

Wayland platform:
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
/usr/share/libdrm/amdgpu.ids version: 1.0.0
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: AMD
OpenGL core profile renderer: AMD Radeon Vega 10 Graphics (raven, LLVM 15.0.7, DRM 3.52, 6.3.0-zen1-2-zen)
OpenGL core profile version: 4.6 (Core Profile) Mesa 23.1.0
OpenGL core profile shading language version: 4.60
OpenGL compatibility profile vendor: AMD
OpenGL compatibility profile renderer: AMD Radeon Vega 10 Graphics (raven, LLVM 15.0.7, DRM 3.52, 6.3.0-zen1-2-zen)
OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 23.1.0
OpenGL compatibility profile shading language version: 4.60
OpenGL ES profile vendor: AMD
OpenGL ES profile renderer: AMD Radeon Vega 10 Graphics (raven, LLVM 15.0.7, DRM 3.52, 6.3.0-zen1-2-zen)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 23.1.0
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

X11 platform:
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL core profile version: 4.5 (Core Profile) Mesa 23.1.0
OpenGL core profile shading language version: 4.50
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL compatibility profile version: 4.5 (Compatibility Profile) Mesa 23.1.0
OpenGL compatibility profile shading language version: 4.50
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 23.1.0
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Surfaceless platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 530.41.03
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 530.41.03
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 530.41.03
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Device platform:
Device #0:

Platform Device platform:
EGL API version: 1.5
EGL vendor string: NVIDIA
EGL version string: 1.5
EGL client APIs: OpenGL_ES OpenGL
OpenGL core profile vendor: NVIDIA Corporation
OpenGL core profile renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2
OpenGL core profile version: 4.6.0 NVIDIA 530.41.03
OpenGL core profile shading language version: 4.60 NVIDIA
OpenGL compatibility profile vendor: NVIDIA Corporation
OpenGL compatibility profile renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2
OpenGL compatibility profile version: 4.6.0 NVIDIA 530.41.03
OpenGL compatibility profile shading language version: 4.60 NVIDIA
OpenGL ES profile vendor: NVIDIA Corporation
OpenGL ES profile renderer: NVIDIA GeForce RTX 2060/PCIe/SSE2
OpenGL ES profile version: OpenGL ES 3.2 NVIDIA 530.41.03
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Device #1:

Platform Device platform:
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
/usr/share/libdrm/amdgpu.ids version: 1.0.0
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: AMD
OpenGL core profile renderer: AMD Radeon Vega 10 Graphics (raven, LLVM 15.0.7, DRM 3.52, 6.3.0-zen1-2-zen)
OpenGL core profile version: 4.6 (Core Profile) Mesa 23.1.0
OpenGL core profile shading language version: 4.60
OpenGL compatibility profile vendor: AMD
OpenGL compatibility profile renderer: AMD Radeon Vega 10 Graphics (raven, LLVM 15.0.7, DRM 3.52, 6.3.0-zen1-2-zen)
OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 23.1.0
OpenGL compatibility profile shading language version: 4.60
OpenGL ES profile vendor: AMD
OpenGL ES profile renderer: AMD Radeon Vega 10 Graphics (raven, LLVM 15.0.7, DRM 3.52, 6.3.0-zen1-2-zen)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 23.1.0
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Device #2:

Platform Device platform:
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libEGL warning: egl: failed to create dri2 screen
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libEGL warning: egl: failed to create dri2 screen
eglinfo: eglInitialize failed

Device #3:

Platform Device platform:
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: Mesa
OpenGL core profile renderer: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL core profile version: 4.5 (Core Profile) Mesa 23.1.0
OpenGL core profile shading language version: 4.50
OpenGL compatibility profile vendor: Mesa
OpenGL compatibility profile renderer: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL compatibility profile version: 4.5 (Compatibility Profile) Mesa 23.1.0
OpenGL compatibility profile shading language version: 4.50
OpenGL ES profile vendor: Mesa
OpenGL ES profile renderer: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 23.1.0
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

Output of MESA_DEBUG=1 LIBGL_DEBUG=verbose glxinfo -B:

name of display: :0
libGL: MESA-LOADER: dlopen(/usr/lib/dri/swrast_dri.so)
libGL: did not find extension DRI_Kopper version 1
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/prok/.drirc: No such file or directory.
libGL: did not find extension DRI2_Flush version 1
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0xffffffff)
    Device: llvmpipe (LLVM 15.0.7, 256 bits) (0xffffffff)
    Version: 23.1.0
    Accelerated: no
    Video memory: 30011MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 4.5
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 31 MB, largest block: 31 MB
    VBO free aux. memory - total: 26848 MB, largest block: 26848 MB
    Texture free memory - total: 31 MB, largest block: 31 MB
    Texture free aux. memory - total: 26848 MB, largest block: 26848 MB
    Renderbuffer free memory - total: 31 MB, largest block: 31 MB
    Renderbuffer free aux. memory - total: 26848 MB, largest block: 26848 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4294235055 MB
    Total available memory: 4294265066 MB
    Currently available dedicated video memory: 31 MB
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 15.0.7, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 23.1.0
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5 (Compatibility Profile) Mesa 23.1.0
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.1.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Any clues?

Offline

#2 2023-05-16 09:30:37

Prototik
Member
Registered: 2016-09-17
Posts: 3

Re: No iGPU acceleration for xwayland applications, falls back to llvmpipe

I figured it out, somehow XWAYLAND_NO_GLAMOR=1 was in /etc/environment, that's blocking DRI2 to work properly.

Offline

#3 2023-05-16 09:34:25

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: No iGPU acceleration for xwayland applications, falls back to llvmpipe


The drirc errors messages are harmless.

libGL: did not find extension DRI_Kopper version 1

libGL: did not find extension DRI2_Flush version 1

shouldn't be there.

Similar messages are in https://gitlab.freedesktop.org/mesa/mesa/-/issues/8295 .

Combined it looks like xwayland is not looking in the right place for drivers.

Please post the output of

LIBGL_DRIVERS_PATH=/usr/lib/dri MESA_DEBUG=1 LIBGL_DEBUG=verbose glxinfo -B

Can you also try with another wayland compositor to verify whether this is gnome-specfiic ?

OP found the cause.

Last edited by Lone_Wolf (2023-05-16 09:38:03)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB