[Linux][NVIDIA] obs-browser Always disables HW acceleration when GL_VERSION contains "NVIDIA"

ozitrance

New Member
Trying to run headless OBS on:
Ubuntu 24.04, kernel 6.12.27 OBS 32.0.0 obs-browser 2.26.1 – CEF 127.0.6533.120 Xorg 1.21 NVIDIA L40S, driver 570.124.06 X11 + EGL

But can't get hardware acceleration to work with the obs-browser. I keep hitting the error:
info: [obs-browser]: Blacklisted driver detected, disabling browser source hardware acceleration.

Coming from code below that simply disables it if you use an NVIDIA card (from obs-browser/obs-browser-plugin.cpp):

static void check_hwaccel_support(void) { const char *glVersion = NULL; obs_enter_graphics(); glVersion = gs_get_driver_version(); obs_leave_graphics(); if (!glVersion) return; if (strstr(glVersion, "NVIDIA") != NULL) { hwaccel = false; blog(LOG_INFO, "[obs-browser]: Blacklisted driver detected, disabling browser source hardware acceleration."); } }
This appears to be intentional in `check_hwaccel_support()` which sets `hwaccel = false` if `GL_VERSION` contains "NVIDIA".

Is this blacklist still intentional? Is there an override? Am I missing something here...?

Here is a little more info about the system and some logs:
glxinfo -B direct rendering: Yes OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVIDIA L40S/PCIe/SSE2 OpenGL core profile version string: 4.6.0 NVIDIA 570.124.06 xdpyinfo | grep -i DRI DRI2 DRI3 Device nodes ls -l /dev/dri crw-rw---- 1 root root 226, 0 ... card0 crw-rw---- 1 root root 226, 1 ... card1 crw-rw---- 1 root root 226, 128 ... renderD128 [info] card0 -> /sys/devices/platform/vkms [info] card1 -> /sys/devices/pci0000:00/0000:00:06.0 [info] renderD128 -> /sys/devices/pci0000:00/0000:00:06.0 And some pieces from the log that look relevant: info: Using EGL/X11 info: OBS 32.0.0 (linux) info: Browser Hardware Acceleration: true warning: Unable to open DRM render node. info: OpenGL loaded successfully, version 3.3.0 NVIDIA 570.124.06, shading language 3.30 NVIDIA via Cg compiler info: [obs-browser]: Version 2.26.1 info: [obs-browser]: CEF Version 127.0.6533.120 info: [obs-browser]: Blacklisted driver detected, disabling browser source hardware acceleration. info: [obs-nvenc] NVENC version: 12.1 (compiled) / 13.0 (driver), CUDA driver version: 12.80, AV1 supported: true [vaapi_wrapper.cc(1545)] GetHandle(): Either VADisplayStateSingleton::PreSandboxInitialization() hasn't been called or that method failed to find a suitable render node

Thanks!
 

Tuna

Member
Linux support for hardware browser was added in 31.1. So you are using non-accelerated broswer as you would do with the latest.
 

ozitrance

New Member
Oh damn. Thank you for clarifying that. The browser is actually saying it is mostly enabled:

Code:
Graphics Feature Status:

• Canvas: Hardware accelerated
• Canvas out-of-process rasterization: Enabled
• Direct Rendering Display Compositor: Disabled
• Compositing: Hardware accelerated
• Multiple Raster Threads: Enabled
• OpenGL: Enabled • Rasterization: Hardware accelerated on all pages
• Raw Draw: Disabled • Skia Graphite: Disabled
• Video Decode: Hardware accelerated
• Video Encode: Software only. Hardware acceleration disabled
• Vulkan: Disabled
• WebGL: Hardware accelerated
• WebGL2: Hardware accelerated
• WebGPU: Disabled
• WebNN: Disabled

Is that “fake”? And does it mean my only option to (try to) make it work is to change that nvidia blacklisting part and rebuild everything from source?

Or is it a lost cause and just a waste of time and it will never really work..?
 
Top