16
submitted 10 hours ago by fetchies@lemmy.blahaj.zone to c/linux@lemmy.ml

What's the future of screen capture on Linux? What's holding it back? What's pushing it forward?

A version of this question that might be more accurate/holistic: Do you think there'll be a standard, high-performance desktop API in our lifetimes?

It feels like there isn't the same market pressure like there is for Valve and Proton that'll make a good capture protocol appear. I'd love to eat my words, but I'd also easily bet one trillion dollars^fn1 that I'll be dead before anything dethrones GPU vendor extensions.


tangential additions / context for the terminally bored:

For example, Nvfbc+Nvenc is a must-have for game streaming with Moonlight and ALVR (not sure if AMD has anything like that), but it's my poor understanding that this type of GPU-only framebuffer capture isn't possible on Wayland for security or other reasons, which is sadly keeping me on X11.

Windows probably has awesome screencapture APIs given that the NVIDIA Capture SDK documentation cites it as why they removed Nvfbc from their Window's drivers but not their Linux drivers.

The proof that Windows reaped the rewards of unifying all their stuff can be seen in the Lossless Scaling-likes that are on the market (Magpie, Integer Scaling, etc.) while all Linux has is like Gamescope and vkbasalt [^fn2], so apples and oranges.

[^fn2]: super-tangential: I tried to ducttape a Lossless Scaling-like out of nvfbc, using a shader to do closest neighbor scaling. But once I had to truly delve into Xorg, I gave up, as playing Maple Legends was not worth all that effort.

you are viewing a single comment's thread
view the rest of the comments
[-] edinbruh@feddit.it 8 points 8 hours ago

AMD has an nvdec/nvenc equivalent called AMF, on Linux it's going to be deprecated in months in favour of va-api.

To my knowledge, it does not have an nvfbc equivalent. Which anyway, Nvidia has deprecated on windows in favour of a windows-native screen capture with a name I don't remember.

For what is worth, va-api encoding + kmsgrab works pretty well for me, it does have some latency, but nothing too unacceptable. Probably less than the one caused by the Bluetooth controller. And none of this is vendor specific, you can get it working on Intel, AMD and Nvidia (Nvidia needs a compatibility layer, but it works). Also, it works on Wayland, but sunshine needs some privileges to work.

Sunshine supposedly supports nvfbc with patched Nvidia drivers, even on Linux, I haven't tried it, so I don't know if it works on Wayland. I don't see why it shouldn't, as long as you give sunshine privileged permissions (like you need for kmsgrab). Even without nvfbc you can use nvenc, so you don't need the va-api compatibility layer.

Supposedly, since this Nvidia driver release nvfbc is used as backend for pipewire screen capture, so it should just work for apps like OBS, I don't know if sunshine has intention to move to it.

In general, screen capture on Linux pretty much works, even on Wayland. The general sentiment that it's broken is actually old news.

There's a caveat though. Proprietary apps tend to use outdated stuff (e.g. electron builds from 5 years ago) and thus don't support screen sharing on Wayland.

this post was submitted on 18 Jun 2025
16 points (76.7% liked)

Linux

55371 readers
795 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS