flathub / com.obsproject.Studio

This repository is no longer used to build OBS. Issues should be reported at https://github.com/obsproject/obs-studio
https://github.com/obsproject/obs-studio
29 stars 21 forks source link

Include OBS Studio source plugin using NVIDIA's FBC API #145

Closed Eonfge closed 2 years ago

Eonfge commented 2 years ago

Hey, I was wondering if the FBC API plugin can be included in the OBS Flatpak. It's a special plugin that allows capturing footage on Quadro cards (and those with a certain workaround) So it would be a nice addition to the system by default. At the time of writing, no other package provides this plugin by default, so this would be a good opportunity for the Flatpak to shine.

Likely dependent on #135

Main Project

https://gitlab.com/fzwoch/obs-nvfbc

As featured in

https://www.youtube.com/watch?v=_Ua-d9OeUOg

vchernin commented 2 years ago

Is this still useful now that Nvidia’s 470 driver is supposed to support dma-buf? That should allow for much more efficient hardware usage when using PipeWire to stream on Wayland. Does anyone know/have tested Nvidia 470 + Wayland + OBS + PipeWire? Edit: for clarity I am referring to this work.

I’m not saying we shouldn’t do this, but that maybe there’s a better solution here.

Edit: this is also something that could maybe help? https://github.com/nowrep/obs-vkcapture

guihkx commented 2 years ago

For this to work properly, wouldn't it require also patching Flatpak NVIDIA drivers? 🤔

hasrack commented 2 years ago

For this to work properly, wouldn't it require also patching Flatpak NVIDIA drivers? 🤔

Supported on Quadro cards. You need to patch for GTX/RTX(gaming cards). I would love to see that in flatpak version.

guihkx commented 2 years ago

I've managed to get the OBS-NvFBC plugin working with flatpak'd OBS Studio. I have a GTX 660, so it was also necessary to patch the flatpak'd NVIDIA drivers.

If anyone's interested, I've set up a git repository with more details and a step-by-step guide here:

https://github.com/guihkx/com.obsproject.Studio.Plugin.NVFBC

The next step I guess is to figure out if the plugin should be included directly with OBS or as a separate extension on Flathub...?

vchernin commented 2 years ago

Nice work! This probably makes sense as an extension, especially since most Nvidia GPUs can't use FBC without a driver patch.

I recommend reading https://github.com/flathub/com.obsproject.Studio/issues/135, https://github.com/flathub/com.obsproject.Studio/wiki/Plugins and the README for more info about OBS extensions on Flathub (if you haven't already).

guihkx commented 2 years ago

I thought of sending this to Flathub, but I'm already stuck on this guideline:

Stable releases, reproducible builds

Flathub only hosts stable application releases, and not development snapshots. Manifests should therefore refer to tarballs or git tags and not the tip of a branch.

Unfortunately, the NVFBC plugin doesn't have tags nor fixed releases, so right now I'm building off of the latest commit... :S

It actually does have tagged commits, I'm just dumb. :)

EDIT: I've asked the creator of the plugin to help me with this.

guihkx commented 2 years ago

PR sent! https://github.com/flathub/flathub/pull/2538

guihkx commented 2 years ago

Plugin got accepted on Flathub! :)

It's been working just fine for me (patched drivers), so if anyone else wants to give it a try:

flatpak install com.obsproject.Studio.Plugin.NVFBC

GeorgesStavracas commented 2 years ago

Plugin was added to Flathub let's close this one. Thanks everyone!