OBS Studio is the industry standard for streaming software. This is an interview with Georges Basile Stavracas Neto who has been working on porting OBS Studio to use PipeWire and improve how this important software tool works on Fedora Linux. Georges will answer questions about the way forward and how to improve Fedora Linux as a platform for streamers overall. This interview also turned out somewhat extra timely due to the Linus Tech Tips Linux challenge where he specifically tried to set up his system for the purpose of streaming.
Christian Schaller: First of all, thank you for taking the time to talk with me. As usual with these interviews let’s start with introductions. Tell us a little about yourself and how you got involved with open source development.
Georges Stavracas: Hi, thanks for having me here! I’m a free software contributor, spending my time mostly on GNOME, and in recent years I started contributing to OBS Studio as well. I started using Linux waaaaay back in the early 2000s, and started contributing around 2013.
I like long walks, music, and tabletop RPGs. I pretend to be a musician in my free time.
I used to love tinkering with computers, but over time I settled and nowadays I just want things to work perfectly without any intervention. I get frustrated when things don’t work, which leads to me fixing stuff. I hope someday there’s nothing else to be fixed because everything just works, perfectly, out of the box.
Christian Schaller: Out of personal curiosity and a bit of a digression, you mention tabletop RPGS, are we talking AD&D or World of Darkness here, or more things like Doomhaven?
Georges Stavracas: I have some experience with d20-based systems, such as D&D and, more recently, Mutants & Masterminds. But in general, what I truly enjoy, is playing with friends, analogically, no matter the system. The pandemics forced us to move to online calls to continue our campaigns, but I’m very much looking forward to getting back to in-person sessions as soon as it’s safe again.
Christian Schaller: And how did you end up working on OBS Studio and PipeWire specifically? What was your initial motivation for taking on this task?
Georges Stavracas: During 2018, I was wondering about ways to show and encourage people to contribute to GNOME, and bring the community together. Live streaming my contributions was one of the ideas I was considering, and I eventually decided to give it a try. I then found, pretty quickly, that OBS Studio didn’t have Wayland support! This was disappointing to me. There were a couple of third-party plugins, but they didn’t work very well.
I’m a huge proponent of Wayland. Using X11 to stream annoyed me in ways that I can’t describe. This irritation motivated me to work on a new plugin for OBS Studio that would use portals and PipeWire to capture monitors and windows. You can still see this now old plugin, as an artifact of times immemorial, here. At that time, Mutter’s screencast implementation was very slow. That annoyed me as well, so I went ahead and introduced DMA-BUF sharing to speed things up.
Eventually I started to coordinate these changes with the OBS Studio community. Working upstream is always the most sustainable and rewarding option! The OBS Studio community welcomed these contributions, and helped shepherd them into the codebase. As of this year we have native Wayland support in OBS Studio. It was a relatively long road, but it was worth every bit.
Christian Schaller: Can you talk us through what you have done so far and also talk a little about what is on your todo list?
Georges Stavracas: So far I’ve contributed native Wayland support, a PipeWire-based screen capture, and Flatpak integration. Of course, these features required improving our platform as a whole, like the DMA-BUF sharing mechanism. Recently I’ve worked on a way to save and restore screencasts on Wayland, which fixes those annoying selection dialogs that pop up every time you open OBS Studio.
Generally, my personal goals converge around making everything about Wayland, PipeWire, and Flatpak work perfectly: better than any other platform could ever work. OBS Studio is an app that I use and contribute to, but this effort is multi-disciplinary and multi-layered. This will certainly require improving various portals that still aren’t quite there, add PipeWire-based camera and audio to OBS Studio, improve Qt’s integration with portals, profile and improve performance of the entire stack, and exterminate as many bugs as possible.
Christian Schaller: Beyond your todo list here, what do you feel are the main challenges that need to be overcome to make Fedora Linux a great platform for content creators?
Georges Stavracas: I hardly qualify as a content creator myself, so I don’t feel like I’m in position to talk on behalf of them. But personally, I think the three main areas we need to focus on are, convince more of the big companies to port and publish their apps for Linux, continue improving the graphics stack, and finally, make Linux easy to use and engaging.
With the risk of repeating myself too much, I believe that Flatpak plays a fundamental role in 2 of these 3 points. I go as far as to say that it is the future of app distribution on Linux. I work on Endless OS, a Linux distribution where the only way to install apps is through Flatpak, and I see every single day how this technology benefits people.
As for the graphics stack, I think open source drivers are doing great! Mesa is evolving, AMD and Intel have been great players in the kernel space as well, and it’s been a long time since I last had any serious problem with that. If it keeps maturing like it is, I’m sure we’ll have a bright future ahead! What I think is still subpar, in terms of experience, is the proprietary NVidia driver situation. It’s a hassle to have to install a separate driver. Even on distros that go out of their way to automate that, it’s still a poor experience for users and an annoyance for developers.
Christian Schaller: You mention Flatpak. I have heard there is also an effort to bring OBS Studio to Flathub in a more official manner. Can you tell us more about that?
Georges Stavracas: That’s right! The next release of OBS Studio will be published directly into Flathub. More importantly, we’re publishing a complete build of OBS Studio, with all the features and services integrations enabled. With this, thousands of users from a variety of distros will have access to it. I’m also trying to engage with plugin authors to publish their plugins on Flathub, so that users have a complete experience. There’s just too many plugins out there – help from the community would be highly appreciated.
Christian Schaller: There has been a lot of talk in the Linux community recently about the Linus Tech Tips Linux podcast, what is your take on the challenges they had?
Georges Stavracas: My take is that this trial exposed some of the fragility and limitations of the current ecosystem. See, I think Linux has a massive appeal to a very specific type of people: tinkerers. Our tools, interfaces, and culture was modeled heavily by and towards this particular demographic. I think, in many ways, this group shapes the present and the future of the Linux desktop.
However, I also think that the requirements to design for this demographic often conflicts with the requirements of non-technically inclined people. Take Debian’s package system for example; it is an extremely powerful tool, packagers can declare very complicated requirements and dependency trees with it, and it is a fantastic tool for administrators. It also took Linus from Linus Tech Tips less than an hour to be crushed by all this power. My reading of this situation is that these tools, these interfaces, these user experiences, are not appropriate for the people to whom the desktop is a means, not an end.
Looking at the bright side, many members of the Linux community have already identified this weakness in our ecosystem, and took action. We have a diverse set of contributors working on Flatpak, coming from different desktop environments and distributions. Our app store experience is miles ahead of what it was 3 years ago. It still has much to improve, but it’s certainly in a better state now.
I’ll go as far as to say that Flatpak will become the de facto platform for gamers and streamers on Linux soon. Valve recently mentioned Flatpak as the way to install apps on their Steam OS. They also officially released Steam Link on Flathub. OBS Studio will soon be officially available on Flathub as well. I’m reviewing and landing new OBS Studio plugins on Flathub every week. I think there’s enough evidence to believe this platform is gaining momentum and buy-in.
Christian Schaller: One thing we have started looking at in Fedora Workstation is the state of support in Fedora Linux for hardware that live streamers use. I am thinking about things like the Elgato products or the GoXLR. Is that something that, from your experience, the streamer community cares deeply about or are these products more for the especially interested niche?
Georges Stavracas: Although I never used this hardware due to them being very pricey here, I think improving support for them is the right move. I’m afraid I’m not too close to the streaming community to get a sense of the insider trends, so talking from a more general perspective, I think there’s huge benefits from hardware and peripherals companies ensuring their products work on Linux. I don’t think not having good support for these devices on Linux immediately makes it an unsuitable platform for streaming, but it would certainly help many streamers that already have to migrate.
Something I personally care about is the support of digital audio interfaces (DAI). People can put up with a blurry camera, or artifacts generated by the encoder, but bad audio immediately upsets everyone. I think we already have a decent experience for cameras, with support for the popular brands and models, and V4L2 works well enough for most cases, so getting audio devices like GoXLR to work on Linux is probably more important in my opinion.
Of course, the ideal scenario is if we can improve both audio AND camera support. I’m pretty sure that PipeWire will play a key role here; it improves camera support even further, but we need to port more applications to use it before it reaches critical mass.
Christian Schaller: Another item I see come up is the state of Linux hardware encoding and it being at best kludgy to get going or lacking. Having spent a lot of time over the last years working to get various codecs cleared from a patent perspective, I know that a big part of the challenge here is around dealing with potential IP issues. What are your thoughts on that issue? Do for instance Dave Airlie work on Vulkan video provide us with a possible path to a more straightforward end user story?
Georges Stavracas: It’s funny that you ask me about it now, since I’m helping a fellow Linux user get their encoder working with VAAPI. It’s been frustrating, and I’m afraid this is the current state of encoders for Linux. Or, at least, that’s how things are if you’re not using an Intel integrated GPU. I’m not closely following the work that Dave Airlie has been doing, but really, anything that makes videos actually play is already of great help. I’m sure you’d agree that it’s hard to be a content creator on Linux if exporting your videos is such a painful process.
Christian Schaller: yeah, no doubt about the video exporting causing pain. To conclude here, you mentioned early on that wanting to get into live streaming yourself was part of the motivation. So when can we expect a regular podcast from you?
Georges Stavracas: This may be a disappointing answer, but I have little interest in hosting a podcast myself! I stream primarily for the GNOME community. My most important goal is to bring the community together, interact, and strengthen our relationships. The people that watch my streams are wonderful, we always have a great time. I’m genuinely happy with how things are right now.
Christian Schaller: Thank you for taking the time to talk to me Georges, really appreciated, and I know there are a lot of people in the Fedora community who are really grateful to you for this work.
Georges Stavracas: My pleasure, thank you for having me!