You are not logged in.
Hello! As of the last week or so, Steam has begun crashing on my Nvidia/Intel hybrid-GPU system, with the following error trace:
src/vgui2/src/surface_linux.cpp (1954) : glXChooseVisual failed
src/vgui2/src/surface_linux.cpp (1954) : glXChooseVisual failed
src/vgui2/src/surface_linux.cpp (1954) : Fatal assert; application exiting
src/vgui2/src/surface_linux.cpp (1954) : Fatal assert; application exiting
I've found a good deal of other posts with the same issue, though none of them seem to address the problem for me. Key things I've done are to verify all packages with `pacman -Qkk` (ensuring the ones with modifications are ones I'd expect, or at least not graphics-related), and reinstalling all 32-bit packages via `pacman -Qqs lib32 | pacman -S --asdeps -`. No dice.
As mentioned in the post title, I've tested a variety of other OpenGL applications, including `eglgears_wayland`, `glxgears`, and `glxinfo`, none of which do anything immediately suspicious.
Interestingly, I've also found that
__GLX_VENDOR_LIBRARY_NAME=nvidia steam
(or launching via `prime-run`, which sets the same env var) allows Steam to start normally. Conversely, using this to force the `mesa` vendor library causes the same error, so presumably that's the default.
Is this behavior in any way expected? If not, is there any OpenGL information I can provide that might help diagnose it?
Last edited by LRitzdorf (2024-11-28 21:33:51)
Offline
What's the actual intel GPU? On an educated guess, get rid of xf86-video-intel and all configurations referencing it should that be installed for some reason.
Maybe throw in a xorg log and
glxinfo -B #mesa-utils
Last edited by V1del (2024-11-29 02:07:59)
Offline
I'm running Wayland (Hyprland specifically), so no Xorg logs here — can I look somewhere else, maybe for Xwayland logs?
My Intel GPU, per `lspci`, is a `VGA compatible controller: Intel Corporation CometLake-H GT2 [UHD Graphics] (rev 05)`.
❯ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel (0x8086)
Device: Mesa Intel(R) UHD Graphics (CML GT2) (0x9bc4)
Version: 24.2.7
Accelerated: yes
Video memory: 7929MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics (CML GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 24.2.7-arch1.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.2.7-arch1.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 24.2.7-arch1.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
I don't actually have `xf86-video-intel` installed, so that's probably not the issue
Last edited by LRitzdorf (2024-11-29 02:52:04)
Offline
I'm running Wayland (Hyprland specifically), so no Xorg logs here — can I look somewhere else, maybe for Xwayland logs?
No, but please try the behavior on xorg (steam runs on xwayland anyway, you'd likely also get a relevant xorg log from that) - openbox or icewm will do, no need to install plasma or so
Also
glxinfo
glxinfo -b
__GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo
__GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo -b
resp. if you're concerning a 32bit game, use glxinfo32 instead.
Online
I come from an i3 background, so I opted for that rather than Openbox/IceWM. First observation: under Xorg, if only `__GLX_VENDOR_LIBRARY_NAME=nvidia` is set, Steam and `glxinfo` crash with the following error:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 156 (NV-GLX)
Minor opcode of failed request: 6 ()
Value in failed request: 0x0
Serial number of failed request: 96
Current serial number in output stream: 96
However, they succeed under `prime-run`, so that's what I'll be using from here on.
Interestingly, the Xorg logs generated while launching Steam are the same with or without `prime-run`:
(II) modeset(0): EDID vendor "AUO", prod id 53741
(II) modeset(0): Using hsync ranges from config file
(II) modeset(0): Using vrefresh ranges from config file
(II) modeset(0): Printing DDC gathered Modelines:
(II) modeset(0): Modeline "1920x1080"x0.0 285.00 1920 2028 2076 2076 1080 1090 1100 1142 -hsync -vsync (137.3 kHz eP)
(II) modeset(0): EDID vendor "AUO", prod id 53741
(II) modeset(0): Using hsync ranges from config file
(II) modeset(0): Using vrefresh ranges from config file
(II) modeset(0): Printing DDC gathered Modelines:
(II) modeset(0): Modeline "1920x1080"x0.0 285.00 1920 2028 2076 2076 1080 1090 1100 1142 -hsync -vsync (137.3 kHz eP)
(--) NVIDIA(GPU-0): DFP-0: disconnected
(--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
(--) NVIDIA(GPU-0): DFP-0: 2660.0 MHz maximum pixel clock
(--) NVIDIA(GPU-0):
(--) NVIDIA(GPU-0): DFP-1: disconnected
(--) NVIDIA(GPU-0): DFP-1: Internal TMDS
(--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
(--) NVIDIA(GPU-0):
(--) NVIDIA(GPU-0): DFP-2: disconnected
(--) NVIDIA(GPU-0): DFP-2: Internal TMDS
(--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
(--) NVIDIA(GPU-0):
(II) modeset(0): EDID vendor "AUO", prod id 53741
(II) modeset(0): Using hsync ranges from config file
(II) modeset(0): Using vrefresh ranges from config file
(II) modeset(0): Printing DDC gathered Modelines:
(II) modeset(0): Modeline "1920x1080"x0.0 285.00 1920 2028 2076 2076 1080 1090 1100 1142 -hsync -vsync (137.3 kHz eP)
(II) modeset(0): EDID vendor "AUO", prod id 53741
(II) modeset(0): Using hsync ranges from config file
(II) modeset(0): Using vrefresh ranges from config file
(II) modeset(0): Printing DDC gathered Modelines:
(II) modeset(0): Modeline "1920x1080"x0.0 285.00 1920 2028 2076 2076 1080 1090 1100 1142 -hsync -vsync (137.3 kHz eP)
(--) NVIDIA(GPU-0): DFP-0: disconnected
(--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
(--) NVIDIA(GPU-0): DFP-0: 2660.0 MHz maximum pixel clock
(--) NVIDIA(GPU-0):
(--) NVIDIA(GPU-0): DFP-1: disconnected
(--) NVIDIA(GPU-0): DFP-1: Internal TMDS
(--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
(--) NVIDIA(GPU-0):
(--) NVIDIA(GPU-0): DFP-2: disconnected
(--) NVIDIA(GPU-0): DFP-2: Internal TMDS
(--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
(--) NVIDIA(GPU-0):
And as for `glxinfo`:
❯ glxinfo -b
33
❯ prime-run glxinfo -b
1367
Offline
I come from an i3 background, so I opted for that rather than Openbox/IceWM
i3 sometimes does quirky things with graphics, please test with openbox or icewm that don't change graphics setup .
Please post the outputs of
$ pacman -Qs mesa
$ pacman -Qs llvm
$ vulkaninfo --summary #comes_with_vulkan-tools
$ glxinfo -B
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Throw in a
printenv
in addition to the above.
Offline
Ftr:
Nvidia:
0x557 24 tc 0 32 0 r y . 8 8 8 8 . s 4 24 8 16 16 16 16 0 0 . None
Intel:
0x021 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 . None
Online
Sure! Results from IceWM (still using `prime-run` rather than just the one GLX env var):
❯ vulkaninfo --summary
==========
VULKANINFO
==========
Vulkan Instance Version: 1.3.295
Instance Extensions: count = 24
-------------------------------
VK_EXT_acquire_drm_display : extension revision 1
VK_EXT_acquire_xlib_display : extension revision 1
VK_EXT_debug_report : extension revision 10
VK_EXT_debug_utils : extension revision 2
VK_EXT_direct_mode_display : extension revision 1
VK_EXT_display_surface_counter : extension revision 1
VK_EXT_headless_surface : extension revision 1
VK_EXT_surface_maintenance1 : extension revision 1
VK_EXT_swapchain_colorspace : extension revision 4
VK_KHR_device_group_creation : extension revision 1
VK_KHR_display : extension revision 23
VK_KHR_external_fence_capabilities : extension revision 1
VK_KHR_external_memory_capabilities : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2 : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2 : extension revision 1
VK_KHR_portability_enumeration : extension revision 1
VK_KHR_surface : extension revision 25
VK_KHR_surface_protected_capabilities : extension revision 1
VK_KHR_wayland_surface : extension revision 6
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6
VK_LUNARG_direct_driver_loading : extension revision 1
Instance Layers: count = 8
--------------------------
VK_LAYER_INTEL_nullhw INTEL NULL HW 1.1.73 version 1
VK_LAYER_MESA_device_select Linux device selection layer 1.3.211 version 1
VK_LAYER_MESA_overlay Mesa Overlay layer 1.3.211 version 1
VK_LAYER_NV_optimus NVIDIA Optimus layer 1.3.289 version 1
VK_LAYER_VALVE_steam_fossilize_32 Steam Pipeline Caching Layer 1.3.207 version 1
VK_LAYER_VALVE_steam_fossilize_64 Steam Pipeline Caching Layer 1.3.207 version 1
VK_LAYER_VALVE_steam_overlay_32 Steam Overlay Layer 1.3.207 version 1
VK_LAYER_VALVE_steam_overlay_64 Steam Overlay Layer 1.3.207 version 1
Devices:
========
GPU0:
apiVersion = 1.3.289
driverVersion = 24.2.7
vendorID = 0x8086
deviceID = 0x9bc4
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = Intel(R) UHD Graphics (CML GT2)
driverID = DRIVER_ID_INTEL_OPEN_SOURCE_MESA
driverName = Intel open-source Mesa driver
driverInfo = Mesa 24.2.7-arch1.1
conformanceVersion = 1.3.6.0
deviceUUID = 8680c49b-0500-0000-0002-000000000000
driverUUID = b716669c-3ded-b21c-ba21-2a3c96484e97
GPU1:
apiVersion = 1.3.289
driverVersion = 565.57.1.0
vendorID = 0x10de
deviceID = 0x2191
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = NVIDIA GeForce GTX 1660 Ti
driverID = DRIVER_ID_NVIDIA_PROPRIETARY
driverName = NVIDIA
driverInfo = 565.57.01
conformanceVersion = 1.3.8.2
deviceUUID = fdd10c38-bdab-c672-527e-b8cd2cbe334d
driverUUID = a40eb34f-a796-5990-89ac-95d78eb83699
Normal glxinfo
Prime-run glxinfo
Shell environment:
SHELL=/usr/bin/zsh
CONSERVE_PATH=/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode
SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh
XDG_DATA_HOME=/home/lritzdorf/.local/share
CREDENTIALS_DIRECTORY=/run/credentials/getty@tty3.service
XDG_CONFIG_HOME=/home/lritzdorf/.config
MEMORY_PRESSURE_WRITE=c29tZSAyMDAwMDAgMjAwMDAwMAA=
GNUPGHOME=/home/lritzdorf/.gnupg
GPG_TTY=/dev/pts/0
GTK_MODULES=canberra-gtk-module
XDG_SEAT=seat0
PWD=/home/lritzdorf
LOGNAME=lritzdorf
QSYS_ROOTDIR=/opt/intelFPGA/23.1/quartus/sopc_builder/bin
XDG_SESSION_TYPE=tty
SYSTEMD_EXEC_PID=4900
XAUTHORITY=/home/lritzdorf/.Xauthority
WINDOWPATH=3
MOTD_SHOWN=pam
HOME=/home/lritzdorf
LANG=en_US.UTF-8
MEMORY_PRESSURE_WATCH=/sys/fs/cgroup/system.slice/system-getty.slice/getty@tty3.service/memory.pressure
STARSHIP_SHELL=zsh
INVOCATION_ID=2ddfa641b2034d8fb1576758bcea7a22
EZA_ICONS_AUTO=1
STARSHIP_SESSION_KEY=2725913661178316
XDG_CACHE_HOME=/home/lritzdorf/.cache
XDG_SESSION_CLASS=user
TERM=xterm-kitty
USER=lritzdorf
CUDA_PATH=/opt/cuda
DISPLAY=:0
SHLVL=3
XDG_VTNR=3
XDG_SESSION_ID=7
LM_LICENSE_FILE=/opt/intelFPGA/LR-191946_License.dat
XDG_STATE_HOME=/home/lritzdorf/.local/state
XDG_RUNTIME_DIR=/run/user/1000
NVCC_CCBIN=/usr/bin/g++-13
DEBUGINFOD_URLS=https://debuginfod.archlinux.org
LC_TIME=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/cuda/nsight_compute:/opt/cuda/nsight_systems/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/opt/intelFPGA/23.1/quartus/bin:/opt/intelFPGA/23.1/quartus/sopc_builder/bin:/opt/intelFPGA/23.1/questa_fse/bin:/home/lritzdorf/.local/share/JetBrains/Toolbox/scripts
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/spool/mail/lritzdorf
OLDPWD=/home/lritzdorf
KITTY_WINDOW_ID=1
WINDOWID=6291470
COLORTERM=truecolor
KITTY_PID=5199
KITTY_PUBLIC_KEY=1:)KfEj%r}emgvua9$BOD_4`oFqVMEU99tul63p79!
TERMINFO=/usr/lib/kitty/terminfo
KITTY_INSTALLATION_DIR=/usr/lib/kitty
_=/usr/bin/printenv
And, relevant installed packages:
❯ pacman -Qs mesa
local/glu 9.0.3-2
Mesa OpenGL utility library
local/lib32-mesa 1:24.2.7-1
Open-source OpenGL drivers - 32-bit
local/lib32-vulkan-mesa-layers 1:24.2.7-1
Mesa's Vulkan layers - 32-bit
local/mesa 1:24.2.7-1
Open-source OpenGL drivers
local/mesa-utils 9.0.0-5
Essential Mesa utilities
local/vulkan-mesa-layers 1:24.2.7-1
Mesa's Vulkan layers
❯ pacman -Qs llvm
local/clang 18.1.8-4
C language family frontend for LLVM
local/lib32-llvm-libs 18.1.8-1
LLVM runtime libraries (32-bit)
local/libc++ 18.1.8-4
LLVM C++ standard library
local/libc++abi 18.1.8-4
Low level support for the LLVM C++ standard library
local/llvm 18.1.8-4
Compiler infrastructure
local/llvm-libs 18.1.8-4
LLVM runtime libraries
Offline
Did you address whether steam actually works on X11/i3?
Online
I probably didn't make that clear in my replies, sorry — Steam crashes in the same way when run normally, and succeeds under `prime-run`. i.e. no difference from the situation under Xwayland.
Offline