fzwoch / obs-gstreamer

GStreamer OBS Studio plugin
GNU General Public License v2.0
358 stars 34 forks source link

RX 6000 not working with GStreamer H265 Flatpak #89

Closed aleksasiriski closed 1 year ago

aleksasiriski commented 1 year ago

I'm using Fedora Silverblue 37 and installed OBS via flatpak and relevant plugins with this command:

flatpak install \
    org.freedesktop.Platform.GStreamer.gstreamer-vaapi \
    com.obsproject.Studio \
    com.obsproject.Studio.Plugin.Gstreamer

With all that installed, I was able to finally record with my RX 580 both with H264 and H265 Gstreamer options in OBS, amazing!

But now I switched to RX 6600 (non XT) and H264 started working with the default OBS vaapi option, GStreamer H264 also works as expected but GStreamer H265 now doesn't work on this stronger and newer GPU, it just gives a lot of glitching and green artifacts all over the recorded video.

aleksasiriski commented 1 year ago

Here's the output from GStreamer H265 using RX 6600 (on RX 580 default obs vaapi is a slideshow, but GStreamer H264 and H265 worked flawlessly, on RX 6600 default obs vaapi works, GStreamer H264 also works but H265 is a mess):

https://www.veed.io/view/7e4f198b-120e-453e-94ae-905ec6338f6a?sharingWidget=true&panel=share

fzwoch commented 1 year ago

This may be caused by the driver/mesa version being used. Or maybe some extra options you have set for the encoder.

aleksasiriski commented 1 year ago

My settings for encoder My settings for encoder

aleksasiriski commented 1 year ago

OBS flatpak currently uses Mesa 21.3.9, even though 22.1.7 is available as stable.

aleksasiriski commented 1 year ago

Installing mesa-git from flathub-beta and running OBS with FLATPAK_GL_DRIVERS=mesa-git flatpak run com.obsproject.Studio results in an error message "Your graphics card is not supported, check if you have drivers installed", same thing happens if I leave 22.1.7 installed but remove 21.3.9.

Atemu commented 1 year ago

@aleksasiriski make sure whatever mesa you're running has patent-encoumbered codecs (such as H.265) enabled. AFAIK, Fedora does not enable these by default anymore.

aleksasiriski commented 1 year ago

I believe I need mesa 22.2+ for it to work on RX 6000 gpus, which isn't the currently stable version for flatpak. I haven't had any luck with mesa-git from flatpak, OBS says:

Starting the output failed. Please check the log for details.

Note: If you are using the NVENC or AMD encoders, make sure your video drivers are up to date.

https://github.com/fzwoch/obs-gstreamer/pull/75#issuecomment-1332346863

aleksasiriski commented 1 year ago

This will be fixed when flatpak updates the Mesa version to 22.2 (currently it's 22.1.7) and when OBS 29 comes out (since 28 is still using Platform 21.08, which has Mesa 21 and not 22)

Atemu commented 1 year ago

This isn't an issue of obs-gstreamer then. Track the issue in the distro's issue trackers instead.