OBS Studio Now Ready with Wayland Capture Support
phoronix.comI think the original blog post from the developer is a better link: https://feaneron.com/2021/03/30/obs-studio-on-wayland/
Michael added zero extra information on top of that.
I appreciate the summary. Also there's a clear link in the summary to the developer's much longer post.
There's also countless links to ads. I feel like a three paragraph summary that offers you no real information over the title, does not warrant the visit to Phoronix.
It's not so bad. It takes less than 30% of the screen. Running a site like Phoronix takes time and the author deserves compensation for it.
This is very good. Not only because it illustrates the maturity of wayland, this is been done using pipewire. The last remaining pieces of the puzzle are finally being placed. A modern linux distro will give you on the desktop a good oomd, good video drivers, pipewire, wayland, GTK 4, GNOME 40, a modern kernel, compiler, dev-tools... and modern cross distro software through flatpak/snap/appimage. There are still things to improve and fix, but the desktop has never been so promising.
The sad thing: I've been hearing/saying basically this for decades.
Well, there is another reason for optimism: Wayland is supported in ChromeOS and WSL2, and it seems to be the base for any modern integration with other operational systems (macOS ARM maybe?).
> The sad thing: I've been hearing/saying basically this for decades.
I don't think Linux distros will ever be popular compared to the commercial OSes, since for one thing to be popular nowadays you need to invest money in many things like branding and marketing so something is mainstream.
But looking in another way, in the past I would say that desktop Linux was dying, and nowadays it is more live than ever, so this is something.
Actually I deeply envy windows users. They can enter a computer store and basically choose any hardware with the certainty that it will very likely work on their computer; then can sign any on-line service with the same certainty, they can use almost any recently released professional software with the same certainty...
Linux on the desktop is MUCH better now, it is improving but still no there yet. And I've been saying this very same phrase for decades now.
I don't care about a significant fraction of the desktop, but I'd love to enter a computer store and choose a hardware without severely limiting my choices.
> I've been hearing/saying basically this for decades.
After almost 13 years of development Wayland gains a (de-facto not even standardized) way to something as simple as taking screenshots / streaming. This is not "very good".
First of all, this is a standardized way (it is standardized in the XDG desktop portal APIs, which are implemented for example by Plasma and Gnome, and for wlroots-based compositors).
It was also never within the scope of Wayland to provide these kinds of APIs (previously when screen capture was available through the X11 interface, that was more of an accident than an intended feature, and it was an intentional design choice not to repeat this mistake in the design of Wayland).
Instead, compositors and applications (that use the Wayland protocol to communicate) were supposed to agree on a standard interface to do these kinds of things and then use that interface. And that's in fact what they did, by implementing the XDG desktop portal system (that's entirely separate from Wayland). I also see evidence of this interface existing as far back as 2016, although I didn't go digging for when it was initially invented.
Notice that this article doesn't say "is it now possible to screen capture when using Wayland", it only says that OBS Studio now uses this standard interface for screen capturing.
Considering the alternative is not having the feature... I'd say this is very good.
Of course, we have to consider that wayland is basically a re-thought for a substitute of a system that exists and evolves since early 80's... It is acceptable that it takes long. If such wait is needed to get something better than what we had and fix antique design limitations, I have no problem waiting for it.
What's up with the recent Flatpack/Snap fetish? Doesn't anybody just get their software into a distro anymore?
Edit: EFF's recommendation for certbot, their ACME/LetsEncrypt client, is to use snap on a freaking server. Why?
For me, Flatpaks are much more convenient. They contain all their dependencies, so I never get stuck apt-get'ing a bunch of random libraries. They're usually updated by the publisher, rather than waiting for a distro.
I had lots of problems with snaps - slow loading times, mismatched styles, breaking with no decent error messages.
There is a recent version of gimp on flathub. Available for arm, arm64, x86_64 and, sometime ago also, x86. I tried on my raspi2 (old raspbian version), my rock-pi4 (armbian, arm64), my raspi 3 (raspbian), an old 32 bits x86 and 3 x86_64 (different ubuntu versions each). A single command, 4 different archs, 7 different machines, 7 different distros, the same gimp version all working. This was simply not possible before.
Which distro can I use right now except maybe ArchLinux if I want the latest OBS ? Like, right now ?
If you go to the OBS Installation page [1], they list a number of repositories for various distros. They seem to maintain their own for Ubuntu, which appears to contain the latest version and the repository for openSUSE Tumbleweed does as well, although it does not appear to be maintained by the OBS Project.
If you refer to the features described here, they might not be in any release yet and you might need to build from source.
Installing a bunch a different repositories for every new version of a software you want is a risky recipe to get a system that will break something on upgrade or that you get barred from upgrade because of some packages or can't upgrade some packages... things like these.
On the other hand, even with ubuntu 16.04 (supported until recently) you can easily get the latest version through flatpak.
I don't personally take issue with Flatpak (though I don't really like Snap), in fact I would likely publish my own applications as Flatpak if I needed to, I just wanted to answer the question of the grand parent.
I can't really speak for the Ubuntu PPA, but the openSUSE repository is the big third party software repository that almost everyone uses anyway. I'm not sure if it's quite accurate to call it the equivalent of the AUR, but it should be similarly widespread.
How does flatpack solve these issues in a way a PPA doesn't?
Project you want needs libA>2, your system provides libA=2. For reasons unrelated to the system itself they can't be installed together as proper packages. PPA may be able to solve it with vendoring, but it's a pain and distro-specific. Flatpak does not have this issue by design.
PPA is still distro-specific and distro-version-specific.
Debian unstable is another one
Be advised that there is still an issue in the QTWayland front that makes OBS in Wayland rather unpleasant in practice; https://bugreports.qt.io/browse/QTBUG-81504 (via https://github.com/obsproject/obs-studio/issues/4295)
Are there people on here who regularly scrape HN posts for data?
Because I'd love a list of user handles of people who-- before this day-- have written variations of, "Wayland-based systems have been totally ready for use for years now." And maybe a browser extension that greys out comments from those handles.
Or the ‘Just rewrite it in Rust!’ clan
Nice idea, gonna use it too
When I made the jul over to full time Linux last February,this is something iran into and was confused about. Wayland was the default on Ubuntu, and it worked great! Except for a lot of applications that just wouldn't load... After some reading, I moved to X, but I can't wait for the day Wayland is ready to go.
Will there ever be a good way to run things like dmenu on Wayland? I'm still a novice, but will all X programs need to be converted?
> I'm still a novice, but will all X programs need to be converted?
No. Because Wayland is fundamentally different from X the following won't ever work:
* Window managers
* Programs that need to know their absolute window coordinates
* Windows that want to draw to the root window
* Programs that want to capture the screen via XGetImage()
> * Programs that need to know their absolute window coordinates
> * Windows that want to draw to the root window
Gnome certainly won't support it, but in principle a compositor could expose that functionality.
> * Programs that want to capture the screen via XGetImage()
Yeah, doing anything via XAnything() only works on X. So you replace XAnything() by somethingElse().
With XWayland there is no urgent need for conversion. And "a lot of applications that just wouldn't load" sounds pretty fishy to begin with.
Old drivers have issues with XWayland. There's nothing fishy about that statement whatsoever. Hell, NVidia only JUST got XWayland working, though that's probably more an issue of corporate stubbornness.
I think NVidia have every incentive to oppose Wayland. The graphics and post-production studio market mostly uses NVidia Quadro cards on linux workstations. They choose NVidia because only NVidia has a fast, stable, minimal-artifact implementation of X11. Being able to code drivers for X11's crazy architecture is actually a competitive advantage.
Is it still a competitive advantage if nobody wants X11 anymore, though?
> Will there ever be a good way to run things like dmenu on Wayland?
I use the wofi which is the rofi replacement. Page 'i3 Migration Guide' [1] from the Sway wiki lists some dmenu replacements (bemenu, fuzzel, gmenu, wldash)
Support for Wayland is getting up there. Just five days ago the bounty to support Wayland in Barrier was funded [1]
[1] https://github.com/debauchee/barrier/issues/109#issuecomment...
> Support for Wayland is getting up there.
After almost 13 years of development the progress is rather embarrassing.
It's a hard problem to solve. Wouldn't you agree?
Taking screenshots/streaming is not a hard problem. However Wayland artificially turns something as simple as taking a screenshot into a hard problem what was before a simple function call to XGetImage(). As exercise I recommend to implement a native screenshot application in both X11 and Wayland.
I think you're completely ignoring the security implications of "a simple function call to XGetImage()".
What are the security implications? Programs that call XGetImage() when sandboxed in a Xpra/Xephyr session will get back nothing.
Will get nothing... that means the screenshot won't be taken.
Maybe a bit off topic but what is the status of wayland capture support anyway? Normally I used ffmpeg with x11 and that worked great. However due to the security model of wayland this doesn't seem nearly as easy to implement. I think they went with some kernel level grabbing support that needed root?
Capturing has been working for a while. The compositor provides a stream over Pipewire.
all right thanks for the info
Nice. I suppose mounting the output as a virtual camera isn't supported yet?
What do you mean exactly? OBS can create a fake webcam, and I don't see why that would be related to wayland.
In windows yes, I've never had luck under linux myself.
I use the virtual camera on linux daily. No problem. But I had to install later packages that weren't on apt.
hm, I've used it using v4l2loopback and while finding the right parameters was a bit fiddly it then worked fine.
yep, can second the needing to fiddle a bit-- i've had some pretty annoying color issues as well, where i fix white balance, etc. in OBS, but the output in Hangouts/etc. looks terrible, like it's ignoring the filtering i'm doing, or there's a pixel format issue or something
It's built into 26.1 rather than requiring the plugin (which I could never get to work for me under linux), although if installed via snap you have to enable v4l2loopback manually
Should work fine, I've done it recently. Just make sure you have the latest version, and the v4l2loopback kernel module installed.
https://jonathanbossenger.com/obs-studio-linux-virtual-camer...
maybe that will help microsoft teams to implement that functionality under linux.
Chromium already has some Pipewire support so it will happen.
Totally unrelated but: The day I can wireless screencast my Linux Laptop to my home television I will lite a candle.
If your home television supports Miracast, you can do it today: https://flathub.org/apps/details/org.gnome.NetworkDisplays
Wow, that's pretty crazy. I didn't know Wi-Fi Direct was already supported on (non-Android) Linux.
It doesn't seem to establish a connection properly with my Intel 8265 card out of the box though. I'll have to play around with it a bit more.
You might be running into this: https://patchwork.ozlabs.org/project/hostap/patch/2020082506... if your distro doesn't ship this patch to wpa_supplicant (AFAIK Fedora does ship it).
Thanks, I'll double check the kernel sources in my distro (I'm using Fedora 33).
wow, thank's for the link! Should be installed by default, it's such a convenient thing and narrows the usability gap of a Linux desktop compared to Windows/MacOS
You can. I do it: hdmi wireless is a thing ! Just plug it. I have used one with dual input and repeater (outputs what is selected as input).
I do this daily and it's very easy. Just use chromecast
Can you actually cast your desktop? I was under the impression you could only cast browser tabs.
I can cast my desktop. Latency is abysmal though so no gaming.
I'm doing this with Steam Link, works perfectly
If your TV has YouTube installed you could potentially live stream your laptop.
If I'm reading this right they support gnome, kde, and wlroots compositors, by sharing the protocols meant for screen sharing. Also they don't support capturing xwayland clients.
Now all that is left is virtual audio output...