Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No vaapi hardware encoding on AMD #1803

Open
PVermeer opened this issue Oct 29, 2024 · 19 comments
Open

No vaapi hardware encoding on AMD #1803

PVermeer opened this issue Oct 29, 2024 · 19 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@PVermeer
Copy link
Contributor

Describe the bug

Bazzite does no longer hardware encoding.

What did you expect to happen?

Hardware encoding to be working out of the box

Output of rpm-ostree status

Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:stable
Digest: sha256:5ca34736bf048597c1595bd52bc763491b183cf5b7624866b6959604419ce53a
Version: 41.20241029 (2024-10-29T03:42:03Z)
LayeredPackages: code containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-compose-plugin gnome-boxes
gnome-monitor-config gnome-system-monitor goverlay grsync idevicerestore mullvad-vpn
nextcloud-client-nautilus Sunshine

ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:stable
Digest: sha256:cdc448e1818b0f44e0fd0882fe0bf590b408259395da457cf15bebd209224b2c
Version: 40.20241020 (2024-10-21T05:01:41Z)
LayeredPackages: code containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-compose-plugin gnome-boxes
gnome-monitor-config gnome-system-monitor goverlay grsync idevicerestore mullvad-vpn
nextcloud-client-nautilus Sunshine
Pinned: yes

Hardware

System Details Report


Report details

  • Date generated: 2024-10-29 17:45:43

Hardware Information:

  • Hardware Model: ASUS PRIME B550-PLUS
  • Memory: 32.0 GiB
  • Processor: AMD Ryzen™ 5 5600X × 12
  • Graphics: AMD Radeon™ RX 6650 XT
  • Disk Capacity: 3.1 TB

Software Information:

  • Firmware Version: 3205
  • OS Name: Bazzite 41 (FROM Fedora Silverblue)
  • OS Build: Stable (F41.20241029)
  • OS Type: 64-bit
  • GNOME Version: 47
  • Windowing System: Wayland
  • Kernel Version: Linux 6.11.5-307.bazzite.fc41.x86_64

Extra information or context

pimv ➜ ~ $ vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.2.4 for AMD Radeon RX 6650 XT (radeonsi, navi23, LLVM 19.1.0, DRM 3.59, 6.11.5-307.bazzite.fc41.x86_64)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileAV1Profile0            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

pimv ➜ ~ $ 
@bsherman
Copy link
Contributor

bsherman commented Nov 2, 2024

I've started testing to validate the general state of HW accelerated decoding in FIrefox/Chromium and raw driver support ublue-os/bluefin#1835 (comment)

I'll be testing on AMD hardware when I get access again in a day or two.

@longman391
Copy link

Seeing the exact same issue here since upgrading to F41.20241029. Similar hardware as well: 5700X 3D and an RX 7900 XT GPU.

This effectively breaks Sunshine streaming as well (can't switch to HDR, will crash after a few minutes of laggy CPU encoding).

@bsherman
Copy link
Contributor

bsherman commented Nov 7, 2024

Here's some testing on an AMD laptop. Not a discrete GPU (I hope to test on 6700XT sometime soon), but it should be same driver.

Oh, and I noticed, I'm still on F40. So... I'll upgrade to F41 and test again.

$ vainfo 
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.21.0)
vainfo: Driver version: Mesa Gallium driver 24.1.7 for AMD Radeon Graphics (radeonsi, rembrandt, LLVM 18.1.8, DRM 3.59, 6.11.3-200.fc40.x86_64)
vainfo: Supported profile and entrypoints
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileAV1Profile0            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
$ MOZ_GFX_DEBUG=1 /var/lib/flatpak/app/org.mozilla.firefox/current/active/files/lib/firefox/vaapitest -d /dev/dri/renderD128 
vaapitest start, device /dev/dri/renderD128
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vaInitialize finished
Profile: H264ConstrainedBaseline
Profile: H264Main
Profile: H264High
Profile: VP9Profile0
Profile: VP9Profile2
Profile: AV1Profile0
vaapitest finished
VAAPI_SUPPORTED
TRUE
VAAPI_HWCODECS
208
VAAPI_SUPPORTED
TRUE
VAAPI_HWCODECS
208

And finally, I can report that Firefox does use hw accelerated decoding if I set media.ffmpeg.vaapi.enabled to true in about:config.

Image

@bsherman
Copy link
Contributor

bsherman commented Nov 7, 2024

Ok, I rebased to F41 from F40 and i get the same results.

Only difference is kernel and fedora release:

$ vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.2.4 for AMD Radeon Graphics (radeonsi, rembrandt, LLVM 19.1.0, DRM 3.59, 6.11.5-300.fc41.x86_64)
vainfo: Supported profile and entrypoints
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileAV1Profile0            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

Oh, and i'm on Bluefin, not Bazzite, but at least this means it's not a problem with the mesa drivers from negativo17, nor firefox.

rpm-ostree status -b
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: inactive
BootedDeployment:
● ostree-image-signed:docker://ghcr.io/ublue-os/bluefin:latest
                   Digest: sha256:86663d293f87b2742edec55a513b4e23f6a204898b5e23679cbd0ce643459523
                  Version: 41.20241106.0 (2024-11-07T03:33:01Z)

@bsherman
Copy link
Contributor

bsherman commented Nov 7, 2024

Oh! I rebased to Bazzite for good measure... and I see at least one thing similar to the original report... no H264 or HEVC support!

Compare these results to my previous posts.

$ vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.2.4 for AMD Radeon Graphics (radeonsi, rembrandt, LLVM 19.1.0, DRM 3.59, 6.11.5-307.bazzite.fc41.x86_64)
vainfo: Supported profile and entrypoints
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileAV1Profile0            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
$ MOZ_GFX_DEBUG=1 /var/lib/flatpak/app/org.mozilla.firefox/current/active/files/lib/firefox/vaapitest -d /dev/dri/renderD128 
vaapitest start, device /dev/dri/renderD128
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vaInitialize finished
Profile: VP9Profile0
Profile: VP9Profile2
Profile: AV1Profile0
vaapitest finished
VAAPI_SUPPORTED
TRUE
VAAPI_HWCODECS
192
VAAPI_SUPPORTED
TRUE
VAAPI_HWCODECS
192

I still do get hardware accelerated decode of 8k video on youtube in Firefox, but that's because it's VP9.

Looks like a bug that's bazzite related though.

@bsherman bsherman added the help wanted Extra attention is needed label Nov 7, 2024
@Plyply99
Copy link

Plyply99 commented Nov 7, 2024

Same thing here.

vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.2.4 for AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 19.1.0, DRM 3.59, 6.11.5-310.bazzite.fc41.x86_64)
vainfo: Supported profile and entrypoints
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointVLD
VAProfileAV1Profile0 : VAEntrypointEncSlice
VAProfileNone : VAEntrypointVideoProc

rpm-ostree status
State: idle
Deployments:
ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:unstable
Digest: sha256:ea5e8de1fb983708976515f96a1bcf836ced676fdeb8aadb3c726727964713b3
Version: unstable-41.20241106 (2024-11-06T18:57:48Z)

@Malix-Labs
Copy link
Contributor

Malix-Labs commented Nov 7, 2024

No idea if my report has value, quite honestly, I'm on Bluefin stable but have an AMD cpu with graphics + discrete nvidia GPU

fastfetch

malix@malix-pc ~> fastfetch
             ▗▖                           malix@malix-pc
      ▗ ┏▏▗▎▄▗▘   ▂                 
   ▖▗▏▝▘▊▁▂▘▃╱▘▚▄▆▘                     󱋩  bluefin-dx-nvidia:stable 🔐
  ▊▍▃▗▅▝╱▅▝┎▅▅▅▃▄▖ ▁                    󰣛  Bluefin-dx 40 (FROM Fedora Silverblue)
  ▘▅▄▌▍▘▅▅╴▚▚▘▝▄▃▅▂▘                      Linux 6.11.3-200.fc40.x86_64
 ▘▆▆▗╷▊▚▎▏▋▊▗▘▝▆╺▅▃▅╸                   󰅐  7 hours, 30 mins
▋╴▘▁▅▃▎▝▃▗╽▉▍▗▍▄▝╱▏▁                    󰔠  Forged on May 19 2024
▝▄╏╱▅▊▁┕▁▂▃▚▎▅▂╱╸▃▄▆                
  ▆    ▝▖━━▂┲▚▌▋▗─▌▂                    󰾰  82JU (LEGION 5 15ACH6H)
        ▋▇▄▄▅▂▅▘┏▘▆▏▄▂▁                 󰻠  AMD Ryzen 7 5800H (16) @ 4.46 GHz
        ▌▖▌▌▍▊━▅▄┖▄▗▝▘▖╺▄▂              󰍛  NVIDIA GeForce RTX 3060 Mobile / Max-Q
        ▝▘▋▝▖▖▝▖▅▄▝▅▎▝▊┕▎▋▄             󰍛  AMD Radeon Vega Series / Radeon Vega Mobile Series [Integrated]
         ▝▖▋▖▝▖▝▅▃▎▘▝▘▃╷▍▉▃▝▖           󰧑  6.15 GiB / 13.49 GiB (46%)
         ▎▘▄▌▌▌▂╱▉▍▁▗▁┑▊▝┻▖▋▝▖            69.91 GiB / 952.60 GiB (7%) - btrfs [Read-only]
         ╲▉▅▁▁▂╻┄▇▆▍▇╹┷┙▎▅▘▝▃▖▆▄▂▂▂▃    󰍹  2560x1440 @ 144 Hz (as 2048x1152) in 27" [External] *
      ▁▄▆▘╲▖▃▝▃▌ ▌▖▄▄▄▝┏▍▃┭▆┈╻▖▎▄▖▌▗    󰍹  1920x1080 @ 165 Hz (as 1536x864) in 15" [Built-in]
     ▗━▊▋▝╺▋▖╷▄▘▂╱━▄▂╶╼▍▅▖▇▆▄│▋▍▖▘┛▅      100% [AC Connected]
     ▋╃╴▗▅▄▅▌╳╎▇▂▋╵▌▝▝▃▃▄▃▅▄▗┛▍▄▌▄▃▄
     ▝▃▂▘    ▖▁╻╺▝▄▄▄▅▄▅▄▅▄▅▄▋▌▅▋▄▄▄    󰕮  GNOME 46.5
             ▉▄▅▂┡▇▄▆▆▄▇▅▁▃▘▌▌▌▗▋▂╌▃      Mutter (Wayland)
              ▄┕▄▄▄▂▂▂▁▂▂▉▝▄▃▃▂▎▆▇        fish 3.7.0
               ▝▃▅┓▅▄▄▄▅▆▆ ╴▘▄▘           Ptyxis 46.7
               ▊▁▄▏▘       ▋▘▌▎         󰏖  2300 (rpm), 62 (flatpak), 58 (brew)
               ▃▃▄▘        ▃▂┗▃     
                                                                  
                                                                  

vainfo

malix@malix-pc ~> vainfo 
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.21.0)
vainfo: Driver version: Mesa Gallium driver 24.1.7 for AMD Radeon Graphics (radeonsi, renoir, LLVM 18.1.8, DRM 3.59, 6.11.3-200.fc40.x86_64)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

rpm-ostree status

malix@malix-pc ~> rpm-ostree status
State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: last run 6h ago
Deployments:
  ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx-nvidia:stable
                   Digest: sha256:3649ba4bc24a5304641c71b9e4e055bf749cedaec5a49ed2beaa39820c85cfc2
                  Version: 40.20241102.0 (2024-11-03T17:56:54Z)
                     Diff: 1 upgraded
          LayeredPackages: google-chrome-beta

● ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx-nvidia:stable
                   Digest: sha256:3649ba4bc24a5304641c71b9e4e055bf749cedaec5a49ed2beaa39820c85cfc2
                  Version: 40.20241102.0 (2024-11-03T17:56:54Z)
          LayeredPackages: google-chrome-beta

  ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx-nvidia:stable
                   Digest: sha256:40306dc6dd3b4a7031bf3558f055196bff20f68e06e58ebee82a26b7558ca3ec
                  Version: 40.20241102.0 (2024-11-03T05:46:49Z)
          LayeredPackages: google-chrome-beta

@mmartinortiz
Copy link

Contributing with my report in case it is of any help

vainfo

Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.21.0)
vainfo: Driver version: Mesa Gallium driver 24.1.7 for AMD Radeon 760M (radeonsi, gfx1103_r1, LLVM 18.1.8, DRM 3.59, 6.11.3-200.fc40.x86_64)
vainfo: Supported profile and entrypoints
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileAV1Profile0            : VAEntrypointVLD
      VAProfileAV1Profile0            : VAEntrypointEncSlice
      VAProfileNone                   : VAEntrypointVideoProc

rpm-ostree status

State: idle
AutomaticUpdates: stage; rpm-ostreed-automatic.timer: last run 1 day 3h ago
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx:gts
                   Digest: sha256:ce229276547c39075cda5854d3c09e0c9c83c891a2f177d4600b4704af667ff2
                  Version: 40.20241102.0 (2024-11-03T17:58:29Z)

  ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx:gts
                   Digest: sha256:f0e090b6c8b02bc47bea123a94ca96795ad2b5d0ee345346a755c6235b11b32f
                  Version: 40.20241029.0 (2024-10-29T18:29:37Z)

@karhima
Copy link

karhima commented Nov 7, 2024

Adding my report, hope it helps. If there's anything missing or wrong, please let me know and I'll try to fix it.

vainfo

Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: VA-API NVDEC driver [direct backend]
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointVLD

rpm-ostree status

State: idle
AutomaticUpdates: check; rpm-ostreed-automatic.timer: inactive
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:stable
                   Digest: sha256:6a5b452a29a4a99f34cc061f94f387fb97bd731d9252f79da4d8940fad63139a
                  Version: 41.20241104 (2024-11-04T05:02:05Z)

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:stable
                   Digest: sha256:09f0eb290e0ee9b2a3c24dc5249048958a27f826bde07f69c0f418984575e5b0
                  Version: 41.20241030 (2024-10-31T01:24:47Z)

@bsherman
Copy link
Contributor

bsherman commented Nov 7, 2024

Here's some additional reporting from me after I got access to a machine with AMD GPU and Intel iGPU.

bsherman@anduril:~$ rpm-ostree status -b
State: idle
BootedDeployment:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:stable
                   Digest: sha256:7d1de5a7a0fa9cd05fdd43609d7fe8af5de6cf60e53c698189c3eaf0fc2c7bf2
                  Version: 41.20241104 (2024-11-04T04:57:36Z)
                   Pinned: yes
bsherman@anduril:~$ MOZ_GFX_DEBUG=1 /var/lib/flatpak/app/org.mozilla.firefox/current/active/files/lib/firefox/vaapitest -d /dev/dri/renderD129
vaapitest start, device /dev/dri/renderD129
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vaInitialize finished
Profile: VP9Profile0
Profile: VP9Profile2
Profile: AV1Profile0
vaapitest finished
VAAPI_SUPPORTED
TRUE
VAAPI_HWCODECS
192
VAAPI_SUPPORTED
TRUE
VAAPI_HWCODECS
192
bsherman@anduril:~$ MOZ_GFX_DEBUG=1 /var/lib/flatpak/app/org.mozilla.firefox/current/active/files/lib/firefox/vaapitest -d /dev/dri/renderD128
vaapitest start, device /dev/dri/renderD128
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vaInitialize finished
Profile: H264Main
Profile: H264High
Profile: H264ConstrainedBaseline
Profile: VP9Profile0
Profile: VP9Profile2
Profile: AV1Profile0
vaapitest finished
VAAPI_SUPPORTED
TRUE
VAAPI_HWCODECS
208
VAAPI_SUPPORTED
TRUE
VAAPI_HWCODECS
208

It's interesting that both lack HEVC profiles, but AMD also lacks h264.
HEVC is missing because Firefox doesn't support it at all... but the lack of h264 matches what we've already seen.

Intel still has HEVC and h264 support, but not AMD.

Anyway, pretty clearly an issue with bazzite, not bluefin. Next I'll start looking at the bazzite specific packages and builds.

@PVermeer
Copy link
Contributor Author

PVermeer commented Nov 8, 2024

The change between Bazzite 40 and 41 is de /usr/lib64/dri/radeonsi_drv_video.so lib. This used to be the rpmfusion freeworld driver from mesa-va-drivers but was removed in 69665fb. Since 41 it has changed to this symlink:

$ readlink /usr/lib64/dri/radeonsi_drv_video.so 
../libgallium-24.2.4.so

I think Bazzite assumes this is now handled upstream but somehow we get the foss version from Fedora. Maybe a dependency install / replace? I don't know anything about the Negativo mesa build but perhaps installing mesa-va-driver from the Negativo repo would fix it. I think @KyleGospo knows whats going on and can quickly fix it :).

I also tested on 41 with vainfo and LIBVA_DRIVERS_PATH pointing to the downloaded driver from rpmfusion and this works fine.
Sunshine still does not work because it ignores it.

@Critical-Impact
Copy link

Adding my info in case it helps

vainfo output

Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.2.4 for AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 19.1.0, DRM 3.59, 6.11.5-307.bazzite.fc41.x86_64)
vainfo: Supported profile and entrypoints
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileAV1Profile0            :	VAEntrypointVLD
      VAProfileAV1Profile0            :	VAEntrypointEncSlice
      VAProfileNone                   :	VAEntrypointVideoProc

rpm-ostree status

State: idle
Deployments:
● ostree-unverified-registry:ghcr.io/ublue-os/bazzite:stable
                   Digest: sha256:5bb32b035ce0678ada4b86f4899c7e237887c02038e077934b214f27866de14a
                  Version: 41.20241030 (2024-10-31T01:20:26Z)
          LayeredPackages: cdemu-client ckb-next coolercontrol dotnet-sdk-8.0 liquidctl

  ostree-unverified-registry:ghcr.io/ublue-os/bazzite:stable
                   Digest: sha256:5bb32b035ce0678ada4b86f4899c7e237887c02038e077934b214f27866de14a
                  Version: 41.20241030 (2024-10-31T01:20:26Z)
          LayeredPackages: cdemu-client coolercontrol dotnet-sdk-8.0 liquidctl

@Readonly12
Copy link

Fastfetch

Bazzite 41 (FROM Fedora Kinoite)
Linux 6.11.5-307.bazzite.fc41.x86_64
2 hours, 46 mins
Spawned on Apr 30 2024
XPS 15 7590
Intel(R) Core(TM) i5-9300H (8) @ 4.10 GHz
NVIDIA GeForce GTX 1650 Mobile / Max-Q
Intel UHD Graphics 630 @ 1.05 GHz [Integrated]
6.86 GiB / 15.25 GiB (45%)
134.15 GiB / 475.34 GiB (28%) - btrfs [Read-only]
1920x1080 @ 60 Hz (as 1536x864) in 16" [Built-in]
100% [AC Connected]
ST LIS3LV02DL Accelerometer
KDE Plasma 6.2.2
KWin (Wayland)
bash 5.2.32
Ptyxis 47.3
2661 (rpm), 61 (flatpak-system), 29 (flatpak-user), 3 (brew)

vainfo

Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.3.4 (Full Feature Build)
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointFEI
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD

rpm-ostree status

State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:stable
                   Digest: sha256:6a5b452a29a4a99f34cc061f94f387fb97bd731d9252f79da4d8940fad63139a
                  Version: 41.20241104 (2024-11-04T05:02:05Z)

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:stable
                   Digest: sha256:09f0eb290e0ee9b2a3c24dc5249048958a27f826bde07f69c0f418984575e5b0
                  Version: 41.20241030 (2024-10-31T01:24:47Z)

@bsherman
Copy link
Contributor

bsherman commented Nov 8, 2024

The change between Bazzite 40 and 41 is de /usr/lib64/dri/radeonsi_drv_video.so lib. This used to be the rpmfusion freeworld driver from mesa-va-drivers but was removed in 69665fb. Since 41 it has changed to this symlink:

$ readlink /usr/lib64/dri/radeonsi_drv_video.so 
../libgallium-24.2.4.so

@PVermeer Oh my! Thank you! I had run ldd /usr/lib64/dri/radeonsi_drv_video.so and noticed differences in that file, but I hadn't checked to see if it was a symlink.

And sure enough, the symlink is what the mesa-va-drivers RPM contains:

❯ rpm -qilf /usr/lib64/dri/radeonsi_drv_video.so
Name        : mesa-va-drivers
Epoch       : 1
Version     : 24.2.4
Release     : 1.fc41
Architecture: x86_64
Install Date: Wed 06 Nov 2024 10:14:58 PM CST
Group       : Unspecified
Size        : 92
License     : MIT AND BSD-3-Clause AND SGI-B-2.0
Signature   : RSA/SHA256, Tue 22 Oct 2024 08:47:14 AM CDT, Key ID 97f3008993e8909b
Source RPM  : mesa-24.2.4-1.fc41.src.rpm
Build Date  : Tue 22 Oct 2024 04:58:46 AM CDT
Build Host  : wks2.lab.negativo17.org
URL         : http://www.mesa3d.org
Summary     : Mesa-based VA-API video acceleration drivers
Description :
Mesa-based VA-API video acceleration drivers.
/usr/lib64/dri/nouveau_drv_video.so
/usr/lib64/dri/r600_drv_video.so
/usr/lib64/dri/radeonsi_drv_video.so
/usr/lib64/dri/virtio_gpu_drv_video.so

❯ curl -LO https://negativo17.org/repos/multimedia/fedora-41/x86_64/mesa-va-drivers-24.2.4-1.fc41.x86_64.rpm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7416  100  7416    0     0  19991      0 --:--:-- --:--:-- --:--:-- 20043

❯ rpm2cpio mesa-va-drivers-24.2.4-1.fc41.x86_64.rpm | cpio -idv
./usr/lib64/dri/nouveau_drv_video.so
./usr/lib64/dri/r600_drv_video.so
./usr/lib64/dri/radeonsi_drv_video.so
./usr/lib64/dri/virtio_gpu_drv_video.so
2 blocks

❯ ls -al ./usr/lib64/dri/
total 0
drwxr-xr-x. 2 bsherman bsherman 120 Nov  8 10:15 .
drwxr-xr-x. 3 bsherman bsherman  60 Nov  8 10:15 ..
lrwxrwxrwx. 1 bsherman bsherman  23 Nov  8 10:15 nouveau_drv_video.so -> ../libgallium-24.2.4.so
lrwxrwxrwx. 1 bsherman bsherman  23 Nov  8 10:15 r600_drv_video.so -> ../libgallium-24.2.4.so
lrwxrwxrwx. 1 bsherman bsherman  23 Nov  8 10:15 radeonsi_drv_video.so -> ../libgallium-24.2.4.so
lrwxrwxrwx. 1 bsherman bsherman  23 Nov  8 10:15 virtio_gpu_drv_video.so -> ../libgallium-24.2.4.so

I think Bazzite assumes this is now handled upstream but somehow we get the foss version from Fedora. Maybe a dependency install / replace? I don't know anything about the Negativo mesa build but perhaps installing mesa-va-driver from the Negativo repo would fix it.

You are partially correct, as we HAD assumed that actual shared objects were contained in this RPM but had missed the symlinks, so Bazzite is not actually using any dri VA drivers from negativo17, we just thought they were.

@bsherman
Copy link
Contributor

bsherman commented Nov 8, 2024

Yep, and doing the same test of the rpmfusion mesa-va-drivers RPM shows:

❯ ls -al ./usr/lib64/dri-freeworld
total 42444
drwxr-xr-x. 2 bsherman bsherman      140 Nov  8 10:22 .
drwxr-xr-x. 3 bsherman bsherman       60 Nov  8 10:22 ..
-rwxr-xr-x. 1 bsherman bsherman 43459264 Nov  8 10:22 libgallium-24.2.6.so
lrwxrwxrwx. 1 bsherman bsherman       20 Nov  8 10:22 nouveau_drv_video.so -> libgallium-24.2.6.so
lrwxrwxrwx. 1 bsherman bsherman       20 Nov  8 10:22 r600_drv_video.so -> libgallium-24.2.6.so
lrwxrwxrwx. 1 bsherman bsherman       20 Nov  8 10:22 radeonsi_drv_video.so -> libgallium-24.2.6.so
lrwxrwxrwx. 1 bsherman bsherman       20 Nov  8 10:22 virtio_gpu_drv_video.so -> libgallium-24.2.6.so

So... that's the difference... now it'll at least be easier to sort out.

@MalikKillian
Copy link

Not an AMD card but seeing similar issue. This is after I installed the missing CUDA Toolkit.

> fastfetch --key-type none -l none

bazzite-gnome-nvidia-open:stable 🔓
Bazzite 41 (FROM Fedora Silverblue)
Linux 6.11.5-307.bazzite.fc41.x86_64
25 mins
Spawned on Oct 13 2024

MS-7C91 (2.0)
AMD Ryzen 5 5600X (12) @ 4.65 GHz
NVIDIA GeForce RTX 2060 SUPER
4.88 GiB / 31.26 GiB (16%)
64.02 MiB / 977.87 MiB (7%) - vfat
7.50 GiB / 232.82 GiB (3%) - vfat [External]
69.07 GiB / 929.93 GiB (7%) - btrfs [Read-only]
3440x1440 @ 50 Hz (as 2752x1152) in 34" [External]
8BitDo Pro 2 Wired Controller

GNOME 47.1
Mutter (Wayland)
fish 3.7.0
Ptyxis 47.3
2296 (rpm), 67 (flatpak-system), 21 (flatpak-user)
> vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: VA-API NVDEC driver [direct backend]
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain12             :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileHEVCMain444            :	VAEntrypointVLD
      VAProfileHEVCMain444_10         :	VAEntrypointVLD
      VAProfileHEVCMain444_12         :	VAEntrypointVLD

No layered packages either.

@Malix-Labs
Copy link
Contributor

Also see https://issues.chromium.org/issues/343352540 (I'm the OP)

@jarettmillard
Copy link

Is there a workaround for this until it gets an official fix?

@PVermeer
Copy link
Contributor Author

It works again in the latest stable

● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:stable
                   Digest: sha256:8a391b6eee805df86c9d566bfa40097543b01aef5615829663cf5cacc48b83bc
                  Version: 41.20241118 (2024-11-18T05:53:51Z)
          LayeredPackages: code containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-compose-plugin
                           gnome-boxes gnome-monitor-config gnome-system-monitor goverlay grsync idevicerestore
                           mullvad-vpn nextcloud-client-nautilus Sunshine
$ vainfo
Trying display: wayland
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 24.2.4 for AMD Radeon RX 6650 XT (radeonsi, navi23, LLVM 19.1.0, DRM 3.59, 6.11.8-305.bazzite.fc41.x86_64)
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD
      VAProfileAV1Profile0            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

Seems like a temporary fix so not sure if I should close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests