H.264 videos do not play out of the box in Bluefin?

Flatpak from the software store inside Bluefin.

Can you check and see if the ffmpeg-full flatpak is installed? It’d also be useful to see what error spits out when you run it from the command line.

That’s what I tried first, folowing the documentation. I even installed three versions after the first one didn’t work. So that’s why there are three:

❯ flatpak list --runtime | grep ffmpeg-full
ffmpeg-full	org.freedesktop.Platform.ffmpeg-full		20.08	system
ffmpeg-full	org.freedesktop.Platform.ffmpeg-full		22.08	system
ffmpeg-full	org.freedesktop.Platform.ffmpeg-full		23.08	system
FFmpeg extension with extra codecs	org.freedesktop.Platform.ffmpeg-full		24.08	system

Run what from command line? VLC?

You could also try using a Arch linux container, I’m pretty sure Vlc is built with codecs included.

1 Like

I just tried Celluloid video player from the store, which just works fine with x.264 videos :open_mouth:

That’s the error from the command line for VLC:

❯ flatpak run org.videolan.VLC video.mkv
VLC media player 3.0.21 Vetinari (revision 3.0.21-0-gdd8bfdbabe8)
[000055683aa006d0] main libvlc: VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie 'cvlc', um VLC ohne Interface zu verwenden.
Gtk-Message: 22:59:07.253: Failed to load module "canberra-gtk-module"
Gtk-Message: 22:59:07.254: Failed to load module "canberra-gtk-module"
qt.qpa.qgnomeplatform: Could not find color scheme  ""
Qt: Session management error: Could not open network socket
libva info: VA-API version 1.19.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/intel-vaapi-driver/radeonsi_drv_video.so
libva info: Trying to open /usr/lib/x86_64-linux-gnu/GL/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_19
libva info: va_openDriver() returns 0
[00007f9dacccf080] avcodec decoder: Using Mesa Gallium driver 24.2.3 for AMD Radeon R9 200 Series (radeonsi, pitcairn, LLVM 17.0.6, DRM 3.57, 6.10.12-200.fc40.x86_64) for hardware decoding
amdgpu: The CS has been rejected, see dmesg for more information (-22).

And this is the error for Clapper from the command line:

❯ flatpak run com.github.rafostar.Clapper video.mkv
amdgpu: The CS has been rejected, see dmesg for more information (-22).

What does dmesg say? Especially if you see anything with an E: or amdgpu

The output from dmesg:

[Okt15 21:30] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff00d94000-ff00d96000 out of 256MB segment!
[ +10,777302] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff00d34000-ff00d36000 out of 256MB segment!
[  +8,058011] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff00dce000-ff00dd0000 out of 256MB segment!
[Okt15 21:31] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff00da4000-ff00da6000 out of 256MB segment!
[  +0,119485] firefox-bi:cs0[6426]: segfault at 0 ip 000055aee62fe93a sp 00007f068edff9c0 error 6 in firefox-bin[9f93a,55aee627>
[  +0,000010] Code: 41 56 53 50 48 89 fb 4c 8b 35 d2 d0 03 00 49 8b 36 e8 7a ab 03 00 49 8b 36 bf 0a 00 00 00 e8 5d ac 03 00 48>
[Okt15 22:21] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff00f10000-ff00f12000 out of 256MB segment!
[ +30,916797] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff00f94000-ff00f96000 out of 256MB segment!
[Okt15 22:27] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff01028000-ff0102a000 out of 256MB segment!
[  +6,560946] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff0106c000-ff0106e000 out of 256MB segment!
[Okt15 22:28] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff01034000-ff01036000 out of 256MB segment!
[ +21,856609] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff010b4000-ff010b6000 out of 256MB segment!
[Okt15 22:29] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff01042000-ff01044000 out of 256MB segment!
[ +36,582026] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff01024000-ff01026000 out of 256MB segment!
[Okt15 22:30] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff0106c000-ff0106e000 out of 256MB segment!
[Okt15 22:43] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff0101c000-ff0101e000 out of 256MB segment!
[Okt15 22:47] ata9: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[  +0,004747] ata9.00: configured for UDMA/133
[Okt15 22:52] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff01144000-ff01146000 out of 256MB segment!
[Okt15 22:59] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff01238000-ff0123a000 out of 256MB segment!
[Okt15 23:05] [drm:amdgpu_uvd_cs_pass2 [amdgpu]] *ERROR* msg/fb buffer ff01104000-ff01106000 out of 256MB segment!
(END)

So what do you make of the output from dmesg? Anything I can do to make Clapper and VLC work?

This is the issue, but from searching on it it appears to be an issue with the kernels’ amdgpu driver, not sure how to proceed other than that’s probably the reason none of the video players work.

1 Like

As I mentioned above, Celluloid can play the videos just fine to which Clapper and VLC throw this error. Very strange. But if it is about the kernel then there is probably nothing you or the Bluefin team can help with? So then I will probably uninstall Clapper and VLC and just use Celluloid. Thanks anyway for having a look at it :+1:

Edit: Maybe I try a containerized version of VLC as well, as @Plyply mentioned.

This might be related to something being broken with 6.10 kernel and I’m hitting the same issue with my Radeon. [R9 390X] Broken hardware acceleration in 6.10 kernel (#3599) · Issues · drm / amd · GitLab

I changed kernels for now and am running my video playback with different acceleration settings. I don’t know what kind of acceleration VLC defaults to since I don’t use it, but Clapper uses vah264dec or VA-API which breaks with amdgpu on 6.10 (at least for me too). If you run mpv, you can try the command line to find a configuration that works. flatpak run io.mpv.Mpv --hwdec=[insert decoder here] to run it and --hwdec=help to get a list of supported options. Try running with auto-safe or no to turn it off. If it helps, you’re hitting the 6.10 kernel breaking amdgpu VA-API like I do. If for some reason you get an issue with the video rendering, you might want to try to the different options. If this is indeed a VRAM bug, trying software rendering helps. -vo= selects the output with mpv, and I’m pretty sure VLC should have an option for it.

Alternatively find out how to turn off hardware decoding in VLC and it should work fine.

1 Like

Wow, thank you for your response. I think I saw your thread while googeling the error code earlier. Unfortunately, I don’t have the technical knowledge to try what you suggested (yet), but will read up on it. But I probably will try disabeling hardware decoding in VLC as a first option.

So if it is related to the kernel, the error might disappear with an future update/ a new kernel?

That’s the working theory. You can keep an eye on the thread I linked to get a better idea of when it’s fixed.

In the meantime: VLC HowTo/Hardware acceleration - VideoLAN Wiki

1 Like

So, I tried my standard VLC flatpak installation with changing the options for hardware acceleration under “tools → preferences → input/codecs → hardware-accelerated decoding”. From the listed options only “va-api decoding” did not work and crashes VLC when trying to play h.264 encoded videos. That corresponds with what you wrote. All other options like “vdpau decoding” or disabeling hardware acceleration let me play h.264 videos without problems. So this seems the easiest way to get around that problem and use VLC for h.264 encoded videos. Thanks for the hint!

I tried your suggestion and installed VLC in a Fedora39 container and this worked as well and I could play h.264 encoded videos without changing any options. Thanks for the hint.

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.