Getting OBS Studio to Work on Void Linux With Mango WM and Pipewire
These are the steps I used to get OBS Studio to work on Void Linux With Mango Window Manager and Pipewire.
I recently decided to do a Void Linux installation on an old-ish Dell Inspiron 5515 with a Ryzen 7 5500u and 16GB DDR4 ram. I say “old-ish” because the Ryzen 7 5700u is built using the ZEN 2 architecture. The reality is, the laptop was released in 2021 and for the most part is quite capable for day to day tasks.
Is the Dell Inspiron 5515 Still Worth It In Late 2026 / Early 2027?
On an aside, there are two major dowsides that I have personally experienced with this laptop: The screens are awful to look at. Washed out is an understatement. This isn’t a complete deal breaker. Obviously we can do small things like use an external monitor. There are also aftermarket screens available for this laptop. Many of these models come with touch screens. The problem there is they are not two-in-one laptops so the feature implementation falls pretty flat. It would have been nicer if they would have completely omitted the touch aspect and invested in a slightly nicer screen.
The second issue and the one that is more impactful to me is the build quality. When the laptop was new, it was an acceptable consumer build quality with a top metal chassis and a plastic bottom.The thing that I have noticed now that this model is over 5 years old is that they suffer from a ssimilar manufacturing issue. There is a threaded mount that afixes the back corner screws into the motherboard. The issue is the mount is made of plastic and eventually breaks consistently on these models. I have purchased 2 used chassis for this laptop and they all have the same issue where one of the back corner bottom screws does not screw in.
I don’t think it is a huge deal breaker, but something to be aware of if you want to buy this laptop on the used market. I haven’t noticed any issues specifically with the hinges yet but I personally like my bottom case to be well secured in the event a liquid accident happens or the laptop was to enter a dusty environment.
That being said, I think if you can find this model used for sub $149 USD, it is still a worthwhile laptop to be had. The AMD 5700u processor still has plenty of power despite the ZEN2 architecure and whether you turn it into a Linux machine like I did or continue to use Windows 11 on it I can’t find any fault with it. Bonus is that it has expandable RAM so you can install 32GB DDR4 ram if you want. It even allows to two full size m.2 SSD’s if you want!
Installing Mango Window Manager On Void Linux
I won’t spend too much time on this. I simply followed the Void Linux Full Disk Encryption User Guide to install the base system. This is really well documented. That being said, it isn’t designed for newcomers. My personal recommendation is that you have experience doing a chroot install then you should have no issues. I did have to bounce around the Void Linux documentation and also reference the Arch Wiki.
Once I had the base system installed, installing Mango Window Manager was trivial since it is already in the xbps repository. Previously, many had created custom install scripts but thankfully that is a thing of the past. In fact, at the time of writing, garbage-town Gemini still cites a list manual processes to install it but the reality is that Mango Window Manager is now officially in void-packages.
The basic steps is as simple as:
xbps-install mangowcusermod -aG wheel,audio,video,input,rest... yourusernamepasswd yourusernameEDITOR=vim visudo- uncomment the wheel sectionxbps-instasll -Sy dbusln -s /etc/sv/dbus/ /var/service/xbps install pipewire wireplumbersu - yourusernamedbus-run-session mango
Breaking Down The Basic Steps Of Getting Mango Windo Manager Running On Void Linux
Right now we don’t have a session or a seat manager. If you were to restart the computer after a fresh install and login you would have to manually launch Mango yourself. The command for that is dbus-run-session mango. As you can see, there are other intermediary steps as well. We first installed the mango package. We don’t want to do stuff often as the root user in Linux Userspace Land. Instead, we want to create a lower privileged user to do our work with. Since we don’t have a session or seat manager, I added my username to some groups so I could interact with them. Specifically, we want to make sure we are in wheel, audio, and video for pipewire. By default Void does not allow the wheel group to perform actions as root. This is handled by utilizing the visudo utility and uncommenting the line so we can execute privileged commands. Finally, we need to make sure dbus is installed and active. Since Void Linux uses runit we start the service by symlinking it to /var/service directory. finally we switch to our newly created user and start mango in a dbus session.
Configure OBS Studio to work with Wayland and Pipewire on Void Linux running Mango Window Manager
If all has gone well, you should have a very minimal install of Mango Window Manager. I think the first thing to do is to run through some commands then explain them:
sudo xbps-install -Sy pipewire wireplumber obs xdg-desktop-portal xdg-desktop-portal-wlrsudo mkdir -p /etc/pipewire/pipewire.conf.dsudo ln -s /usr/share/examples/pipewire/20-pipewire-pulse.conf /etc/pipewire/pipewire.conf.d/mkdir -p ~/.config/mangocp /etc/mango/config.conf ~/.config/mango/config.confvim ~/.config/mango/config.conf- Add These Lines
mkdir -p ~/.config/xdg-desktop-portaltouch ~/.config/xdg-desktop-portal/mango-portals.conf- Add These Portal Declarations
- Reboot your system.
- If you configured a session manager great, oterhwise login to the tty and run
dbus-run-session mango - Try adding a capture source, you should have pipewire now.
Mango Config For Pipewire and XDG Desktop Portal
env=XDG_CURRENT_DESKTOP,mango
env=QT_QPA_PLATFORM,wayland
env=XDG_SESSION_DESKTOP,mango
env=XDG_CURRENT_SESSION_TYPE,wayland
env=GDK_BACKEND,wayland
env=MOZ_ENABLE_WAYLAND,1
exec-once = pipewire
exec-once = wireplumber
exec-once = pipewire-pulse
exec-once = /usr/libexec/xdg-desktop-portal -r
exec-once = /usr/libexec/xdg-desktop-portal-wlr
Configure XDG Desktop Portals
[preferred]
default=gtk # if you have it installed
org.freedesktop.impl.portal.ScreenCast=wlr
org.freedesktop.impl.portal.Screenshot=wlr
In the xorg days, OBS was quite trivial to setup. This is because xorg comes from a different time. I want to be clear: I am not knocking xorg. I still think it is fantastic and what I can say simply is that any time I want a lightweight install xorg is a fantastic choice. Although I have mostly moved on to Wayland for compositing these days, the truth is that Wayland offers an architecture that can cause bloated installs if we are not careful. Quickshell anyone? The point that is clear here is that xorg allowed us to easily spy on our screen and share our frame buffer to OBS Studio. Wayland has added security features to make this experience less “batteries included”.
At the time of writing, there are two primary ways that most use to unlock screen sharing in a Wayland environment. One is installing the popular WLROBS. This does have some drawbacks, though. The Primary one is that it does not allow us to share individual applications with OBS. This may not matter for you. The mercurial repo provides details on how to install it. The one thing I will note is that the package names are not one for one when it comes to Void Linux.
Installing Wlrobs on Void Linux
sudo xbps-install -Sy base-devel mercurial wayland-devel libobs-devel meson ninjahg clone https://hg.sr.ht/~scoopta/wlrobscd wlrobsmeson setup buildninja -C buildmkdir -p ~/.config/obs-studio/plugins/wlrobs/bin/64bitcp build/libwlrobs.so ~/.config/obs-studio/plugins/wlrobs/bin/64bit
Note: I did run into some minor system dependencies while doing this. I won’t comment too much on them, but you should be able to use your favorite search engine or LLM of choice to resolve any dependencies. I am leaving these instructions here for those who might struggle with the Pipewire implementation.
Continuing on, Wayland works a little different. To share our screen, we need three things to happen. We need to give permission, we need Pipewire to act as the delivery router, and we need OBS Studio to consume the stream.
How OBS, Pipewire, and Wayland Work Together via XDG Desktop Portal
| Component | Primary Role | Key Responsibility under Wayland | Connection / Interaction |
|---|---|---|---|
| XDG Desktop Portal xdg-desktop-portal-wlr | The Gatekeeper (Security & Permissions) | • Requests permission from the user to share a screen or window. • Negotiates capturing interfaces with the compositor. | Interacts directly with the system compositor (Sway/dwl), creates a secure video stream, and hands it over to PipeWire. |
| PipeWire pipewire | The Courier (Multimedia Router) | • Manages the low-latency audio/video multimedia streams. • Transports data safely from the system level to apps. | Takes the authorized screen stream from the Portal and multiplexes/routes it securely to OBS Studio. |
| OBS Studio obs-studio | The Consumer (Recorder & Streamer) | • Provides the user interface to pick sources via “Screen Capture (PipeWire)”. • Encodes, saves, or streams the captured video feed. | Requests a stream from PipeWire, receives the raw video frames, and pipes them into its rendering/recording engine. |
Note: This was generated with the use of LLM but reviewed by me for accuracy.
The first part of this we did by installing the necessary xdg-desktop-portal for mango. It is important to note here that sometimes you need more than one xdg-desktop-portal. Your window manager documentation will usually let you know what ones you need. There is also this really goodArch Wiki which goes over Common XDG Desktop Portal Capabilites.
For the purposes of Mango Window Manager I went to the Mango Window Manager XDG Portal Documentation.
Because I read the documentation. I added the necessary xdg-desktop-portal lines to my mango-portals.con at ~/.config/xdg-desktop-portal. This ultimately takes precedence over the default stored at /usr/share/xdg-desktop-portal/mango-portals.conf. I mention this because it is a good reference and I believe now this ship the necessary config provided you install xdg-desktop-portal-wlr and start it in your mango config.
Conclusion
That was enough for me to get my OBS Studio using Pipewire to capture screen recordings. That being said, things may change and your system may be different. I will do my best to update this if anything breaks.
From a high level view we covered:
- Installing
pipewireandwireplumber - Starting Pipewire via the mango config
- Installing
xdg-desktop-portalandxdg-desktop-portal-wlr - Starting
xdg-desktop-portalandxdg-desktop-portal-wlrvia the mango config - Updating the mango config file
- Updating the
mango-portals.conffile - Starting Mango Window Manger via
dbus-run-session mango - We covered installing
wlrobsan alternative method for sharing wayland screen for screen capture - Installing OBS Studio on Void Linux.
Feel free to send me a message if you still need help, and remember, Linux can be done YOUR way!