OBS Studio runs in Windows 10 but not in Manjaro XFCE

I’m using a HP Elitebook 8470p. I am able to run OBS Studio on Windows 10, so I don’t think it is a hardware issue. Every time I run obs it shows a window saying “Failed to initialize video. Your GPU may not be supported, or your graphics drivers may need to be updated.” I read a lot of forum posts with the same error but I still can’t find the solution for mine. Most of 'em are about switching from their integrated graphics to nvidia it isn’t the case for me. I tried reinstalling obs with flatpak and snap, replaced mesa with mesa amber, still nothing. Also, tried switched to 6.1 LTS kernel, still nothing.
Currently using obs from official repo and mesa, terminal output when I run obs:

(obs:2493): Gtk-WARNING **: 01:17:11.405: Theme parsing error: gtk.css:7359:18: 'none' is not a valid color name

(obs:2493): Gtk-WARNING **: 01:17:11.405: Theme parsing error: gtk.css:7405:0: Expected a valid selector

(obs:2493): Gtk-WARNING **: 01:17:11.412: Theme parsing error: gtk.css:11003:11: 'boder-color' is not a valid property name

(obs:2493): Gtk-WARNING **: 01:17:11.412: Theme parsing error: gtk.css:11004:15: not a number

(obs:2493): Gtk-WARNING **: 01:17:11.413: Theme parsing error: gtk.css:11046:16: Junk at end of value for color

(obs:2493): Gtk-WARNING **: 01:17:11.413: Theme parsing error: gtk.css:11081:0: unknown syntax for transform

(obs:2493): Gtk-WARNING **: 01:17:11.413: Theme parsing error: gtk.css:11087:0: unknown syntax for transform

(obs:2493): Gtk-WARNING **: 01:17:11.413: Theme parsing error: gtk.css:11093:0: unknown syntax for transform

(obs:2493): Gtk-WARNING **: 01:17:11.413: Theme parsing error: gtk.css:11101:0: unknown syntax for transform

(obs:2493): Gtk-WARNING **: 01:17:11.413: Theme parsing error: gtk.css:11107:0: unknown syntax for transform

(obs:2493): Gtk-WARNING **: 01:17:11.413: Theme parsing error: gtk.css:11109:22: Expected a string.
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/locale.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale.ini
debug: Attempted path: share/obs/obs-studio/themes/Yami.qss
debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss
info: Using EGL/X11
info: CPU Name: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
info: CPU Speed: 2715.619MHz
info: Physical Cores: 2, Logical Cores: 4
info: Physical Memory: 3791MB Total, 518MB Free
info: Kernel Version: Linux 5.10.167-1-MANJARO
info: Distribution: "Manjaro Linux" Unknown
info: Session Type: x11
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
info: Qt Version: 6.4.2 (runtime), 6.4.2 (compiled)
info: Portable mode: false
qt.core.qmetaobject.connectslotsbyname: QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int)
info: OBS 29.0.2-1 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
	samples per sec: 48000
	speakers:        2
	max buffering:   960 milliseconds
	buffering type:  dynamically increasing
info: ---------------------------------
info: Initializing OpenGL...
error: Unable to create EGL context: EGL_BAD_MATCH
error: Failed to create context!
error: device_create (GL) failed
error: Failed to initialize video.  Your GPU may not be supported, or your graphics drivers may need to be updated.
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 1736.2 ms
info:  ┣OBSApp::AppInit: 5.838 ms
info:  ┃ ┗OBSApp::InitLocale: 1.214 ms
info:  ┗OBSApp::OBSInit: 128.235 ms
info:    ┣obs_startup: 16.602 ms
info:    ┗OBSBasic::OBSInit: 53.087 ms
info:      ┣OBSBasic::InitBasicConfig: 0.084 ms
info:      ┣OBSBasic::ResetAudio: 0.232 ms
info:      ┗OBSBasic::ResetVideo: 52.732 ms
info: obs_hotkey_thread(25 ms): min=0.173 ms, median=0.564 ms, max=8.234 ms, 99th percentile=8.234 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.013 ms, median=0.037 ms, max=0.075 ms, 99th percentile=0.075 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.256 ms, median=25.676 ms, max=30.742 ms, 35.0877% within ±2% of 25 ms (0% lower, 64.9123% higher)
info: =================================================
info: Number of memory leaks: 190

I’ve tried LIBGL_ALWAYS_SOFTWARE=1 obs but it still gives the same error window.

inxi -F output:

System:
  Host: unknown-usrpc1 Kernel: 5.10.167-1-MANJARO arch: x86_64 bits: 64
    Desktop: Xfce v: 4.18.1 Distro: Manjaro Linux
Machine:
  Type: Laptop System: Hewlett-Packard product: HP EliteBook 8470p
    v: A1029CD10000 serial: <superuser required>
  Mobo: Hewlett-Packard model: 179B v: KBC Version 42.37
    serial: <superuser required> BIOS: Hewlett-Packard v: 68ICF Ver. F.46
    date: 01/17/2014
Battery:
  ID-1: BAT0 charge: 27.1 Wh (96.8%) condition: 28.0/28.0 Wh (100.0%)
CPU:
  Info: dual core model: Intel Core i5-3320M bits: 64 type: MT MCP cache:
    L2: 512 KiB
  Speed (MHz): avg: 1287 min/max: 1200/3300 cores: 1: 1375 2: 1197 3: 1382
    4: 1197
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics driver: i915 v: kernel
  Device-2: Primax HP HD Webcam [Fixed] type: USB driver: uvcvideo
  Display: x11 server: X.Org v: 21.1.7 with: Xwayland v: 22.1.8 driver: X:
    loaded: modesetting dri: crocus gpu: i915 resolution: 1: N/A
    2: 1366x768~60Hz
  API: OpenGL v: 3.2 Mesa 22.3.5 renderer: Mesa Intel HD Graphics 4000 (IVB
    GT2)
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio
    driver: snd_hda_intel
  Sound API: ALSA v: k5.10.167-1-MANJARO running: yes
  Sound Server-1: PulseAudio v: 16.1 running: yes
  Sound Server-2: PipeWire v: 0.3.65 running: yes
Network:
  Device-1: Intel 82579LM Gigabit Network driver: e1000e
  IF: enp0s25 state: down mac: a0:d3:c1:9c:82:c0
  Device-2: Intel Centrino Advanced-N 6205 [Taylor Peak] driver: iwlwifi
  IF: wlo1 state: up mac: 60:67:20:84:ab:20
Bluetooth:
  Device-1: Broadcom HP Portable SoftSailing type: USB driver: btusb
  Report: bt-adapter note: tool can't run ID: hci0 rfk-id: 1 state: down
    bt-service: disabled rfk-block: hardware: no software: yes address: N/A
Drives:
  Local Storage: total: 931.51 GiB used: 409.65 GiB (44.0%)
  ID-1: /dev/sda vendor: Western Digital model: WD10SPZX-00Z10T0
    size: 931.51 GiB
Partition:
  ID-1: / size: 931.01 GiB used: 409.65 GiB (44.0%) fs: btrfs dev: /dev/sda2
  ID-2: /home size: 931.01 GiB used: 409.65 GiB (44.0%) fs: btrfs
    dev: /dev/sda2
Swap:
  Alert: No swap data was found.
Sensors:
  System Temperatures: cpu: 55.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 239 Uptime: 8m Memory: 3.7 GiB used: 1.77 GiB (47.7%) Shell: Zsh
  inxi: 3.3.25

“glxinfo | grep OpenGL” output:

OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 4000 (IVB GT2)
OpenGL core profile version string: 3.2 (Core Profile) Mesa 22.3.5
OpenGL core profile shading language version string: 4.20
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.2 (Compatibility Profile) Mesa 22.3.5
OpenGL shading language version string: 4.20
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 22.3.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

I “pacman -Syu”'d manjaro still nothing

pls send help

1 Like

OBS on Linux needs at least OpenGL 3.3, but your GPU is only capable of version 3.2. Pretty close xD Wiki - Install Instructions | OBS

Why does it work on Windows? Because it uses Directx9 which your GPU is capable of.

Well you can overwrite the version, but don’t expect that everything will work. Sh!t can happen, you are warned.

Test it:

glxinfo | grep 'OpenGL version string'
MESA_GL_VERSION_OVERRIDE=3.3 glxinfo | grep 'OpenGL version string'

Run it with obs-studio:

MESA_GL_VERSION_OVERRIDE=3.3 obs
1 Like

Thank you very much! I am now able to launch obs without the errors, I had fun setting opengl version to 99.9. Though I still have some questions. Can obs use directx instead of opengl in linux, or directx is a windows only thing. By “sh!t can happen”, do enlighten me what type of sh!t can happen.

Thanks once again.

DirectX is exclusively available for Windows.

Crashes, Kernel Panics, GPU would be broken etc. Use it with care. OBS calls some functions which your GPU is whether capable of neither aware of, that’s why it is restricted by v3.3 and above.

Thanks I’ll keep that in mind.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.