OBS Studio on RPi5B

Has anyone been able to get OBS-Studio going on an RPi5B with 16GB RAM running on this hardware, please? My RPi5B software version info is shown below. When I start OBS Studio I get the message: Failed to initialize video. Your GPU may not be supported, or your graphics drivers may need to be updated. When I checked software I think I have the latest versions. OBS Studio version is also listed below.

Many thanks
Brian

root@RPi501:/etc/modprobe.d# cat /etc/os-release
PRETTY_NAME=“Debian GNU/Linux 12 (bookworm)”
NAME=“Debian GNU/Linux”
VERSION_ID=“12”
VERSION=“12 (bookworm)”
VERSION_CODENAME=bookworm
ID=debian
HOME_URL=“https://www.debian.org/
SUPPORT_URL=“Debian -- User Support
BUG_REPORT_URL=“https://bugs.debian.org/
root@RPi501:/etc/modprobe.d#

root@RPi501:/etc/modprobe.d# apt list obs-studio
Listing… Done
obs-studio/stable,now 29.0.2+dfsg-1+b1 arm64 [installed]
obs-studio/stable 29.0.2+dfsg-1+b1 armhf
root@RPi501:/etc/modprobe.d#
root@RPi501:/etc/modprobe.d# vulkaninfo | grep apiVersion
‘DISPLAY’ environment variable not set… skipping surface info
apiVersion = 1.2.289 (4202785)
apiVersion = 1.3.289 (4206881)
root@RPi501:/etc/modprobe.d#

1 Like

When I read this post I predicted that the issue would be that OBS needed Valkan to run.
So I googled “OBS studio valkan Debian.”

I was wrong!
It turns out the required 3d library is OpenGL with Mesa.

However, I when clicking round the links that came up I noticed a lot of people are saying it needs to be run on version 3.3 of MESA.
Maybe give that a go.

1 Like

Hi Jonny,

Thank you for the reply. The OBS forums posts were quite interesting. I tried their suggestion of starting my OBS as follows:

MESA_GL_VERSION_OVERRIDE=3.3 obs

and received a reply as follows:

Invalid desktop entry file: '/home/brian/.local/share/applications/com.obsproject.Studio.desktop

And the first bit of this text file before it heads off into a multitude of foreign language GenericName stuff reads:

[Desktop Entry]
Version=1.0
Name=OBS Studio
GenericName=Streaming/Recording Software
Comment=Free and Open Source Streaming/Recording Software
Exec=MESA_GL_VERSION_OVERRIDE=3.3 obs
Icon=com.obsproject.Studio
Terminal=false
Type=Application
Categories=AudioVideo;Recorder;
StartupNotify=true
StartupWMClass=obs

GenericName[an_ES]=Programa de retransmisión/gravación
Comment[an_ES]=Program de retransmisión/gravación libre y de codigo ubierto
GenericName[ar_SA]=برامج البث / التسجيل

A few years back I successfully used a dinosaurian version of OBS (25.0.8, LINUX) running on Ubuntu 16.04 on an Intel NUC and ended up with it using a VFL2 input from a USB video capture device and writing the output to a series of MKV Matroska files. OBS performed nicely. Apart from that I have had very little experience with the OBS package. I was hoping to be able to make it run on an RPi5.

Searching for OBS and invalid desktop entry file I found this:

If you encounter the “invalid desktop entry file” error with OBS, it may be related to the configuration settings or the environment in which OBS is running. It is recommended to check the output path settings and ensure they point to a valid directory. Additionally, verifying the compatibility of OBS with your current operating system and environment can help resolve such issues. If the problem persists, checking the OBS community forums or support channels for the latest updates and solutions could be beneficial.

I will pursue the output path settings further in the next couple of days. I tried re-running the vulkaninfo program under a GUI because I suspect I may have done it from an SSH session last time, and this is what I saw.

root@RPi501:/home/brian# vulkaninfo | grep apiVersion
MESA: error: Use of VkSurfacePresentModeCompatibilityEXT without a VkSurfacePresentModeEXT set. This is an application bug.
MESA: error: Use of VkSurfacePresentModeCompatibilityEXT without a VkSurfacePresentModeEXT set. This is an application bug.
apiVersion = 1.2.289 (4202785)
apiVersion = 1.3.289 (4206881)
root@RPi501:/home/brian#

It seems to be saying there is some sort of MESA error. Does it mean anything to you?

Thanks,
Brian

OBS seems to be saying that Mesa isn’t prepared for the environment it finds itself in. I’m sorry I’m not familiar with MESA.
My next step would be to search the issues on the OBS github.

If you can’t find anything, then that would be the place to paste the error message. It may be they send you down the rabbit holes to the mesa devs but I’m out of my wheel house now.

1 Like

Thanks. Will update if I make any progress.

1 Like

Surprise surprise. If I start OBS from a VNC client session on my Win10 PC, OBS starts OK in my client. Both my VNC server on the RPi5B and client are TightVNC.

Any ideas?

1 Like

That is a surprise!

Did you ended up submitting that github issue? Did they confirm that the issue was environment?

1 Like

Hey @Brian298034,

Thanks for the update, that’s an interesting twist.

The fact that OBS launches under TightVNC but fails when run directly on the Pi suggests the rendering environments are different. I believe VNC sessions usually use a virtual framebuffer and bypass direct GPU rendering, which can hide issues related to hardware acceleration or OpenGL compatibility.

You can try to investigate further by openning a terminal directly on the Pi (not via SSH or VNC) and running:

glxinfo | grep "OpenGL renderer"

If the output shows something like “llvmpipe” or “software rasterizer,” then GPU acceleration is likely disabled, which can cause OBS to fail. Ideally, it should report something like “V3D 4.2,” indicating the Pi’s GPU is being used.

Thanks.

glxinfo | grep “OpenGL renderer” shows: OpenGL renderer string: V3D 7.1.10.2

1 Like

Hey @Brian298034,

Okay looks like your Pi is using proper GPU acceleration, which rules out hardware rendering issues.

The problem could be related to user permissions, or possibly a session compatibility issue, if you’re running Wayland instead of X11, that might be affecting OBS behaviour. It sure is an interesting problem, but sadly I’m starting to reach the end of my knowledge on it. Hopefully a Pi guru in the community can assist further!

This was slow to load from a bash shell running as root but it did eventually start using software rendering.

      LIBGL_ALWAYS_SOFTWARE=1 obs

I tried the same thing as an ordinary user and it seemed to start up faster.

  brian@RPi501:~$ LIBGL_ALWAYS_SOFTWARE=1 obs

I have not tried to do anything with OBS on RPi5B yet so don't have any experience how fast (or slow) it may run.

This is what perplexity.ai had to say on the matter:

note this doesn’t always fix the problem if hardware support is lacking.

Check your system's OpenGL and EGL support using tools like glxinfo or eglinfo.

On some systems, switching between different graphics backends (e.g., from EGL to GLX or Vulkan) may help, if supported.

Make sure your GPU supports at least the minimum OpenGL version required by OBS.

On Raspberry Pi, make sure your firmware and Mesa drivers are fully up to date and consider using the Raspberry Pi OS versions optimized for GPU compatibility.

This was my question to perplexity.ai:

what does bad EGL_BAD_MATCH mean when starting up OBS

Can anyone decode the output from glxinfo or eglinfo?  Does it help?

Parting thought: you need to pipe stdout and stderr somewhere if you don't want the 169 lines of info overload on startup and shutdown.
 
Enjoy,
Brian