flathub / org.chromium.Chromium

https://flathub.org/apps/details/org.chromium.Chromium
45 stars 25 forks source link

Wayland: VA-API: VA-API decoder not working in Flatpak Chromium #266

Open Ratatouilledummie opened 1 year ago

Ratatouilledummie commented 1 year ago

In wayland VAAPI not working in chromium, i think is need some patches for ozone platform. These is my config, i have tried to use --use-gl and define ozone for wayland but using gl=egl not have text output.

--ignore-gpu-blocklist
--enable-gpu-rasterization
--enable-zero-copy
--enable-features=VaapiVideoDecoder,VaapiVideoEncoder
--disable-features=UseChromeOSDirectVideoDecoder
--enable-hardware-overlays

VA-API informations:

vainfo: VA-API version: 1.15 (libva 2.12.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Sandybridge Desktop - 2.4.1

And yes i'm using a h264 extension for force youtube to use h264 codecs

yellowhat commented 10 months ago

Hi, I have an Intel GPU ADL GT2 and running flatpak version 120.0.6099.129.

I am using:

to test if hardware acceleration is used.

I have tried to following but no hardware acceleration, it is using FFmpegVideoDecoder:

$ flatpak run org.chromium.Chromium
...
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
    at CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:101)
    at CreateVkInstance (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:493)
    at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:379)
    at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:301)
    at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:556)
$ flatpak run \
    --env=VK_ICD_FILENAMES=/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/intel_icd.x86_64.json \
    org.chromium.Chromium
...
<No error>
$ flatpak run \
    --env=LIBVA_DRIVER_NAME=iHD \
    org.chromium.Chromium
...
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
    at CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:101)
    at CreateVkInstance (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:493)
    at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:379)
    at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:301)
    at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:556)
$ flatpak run \
    --env=VK_ICD_FILENAMES=/usr/lib/x86_64-linux-gnu/GL/vulkan/icd.d/intel_icd.x86_64.json \
    --env=LIBVA_DRIVER_NAME=iHD \
    org.chromium.Chromium

<No error>
$ flatpak run org.chromium.Chromium --disable-features=Vulkan
...
Warning: vkCreateInstance: Found no drivers!
Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER
    at CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:101)
    at CreateVkInstance (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:493)
    at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:379)
    at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:301)
    at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:556)

From https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/gpu/vaapi.md#vaapi-on-linux

$ flatpak run org.chromium.Chromium \
    --use-gl=angle \
    --use-angle=gl \
    --ignore-gpu-blocklist \
    --disable-gpu-driver-bug-workaround \
    --enable-features=VaapiVideoDecodeLinuxGL \
    --enable-features=VaapiVideoEncoder
...
<No error>

Thanks

BuonHobo commented 10 months ago

I'm also experiencing this issue. I'm using fedora 39, amd gpu and wayland gnome.

chrome:gpu says that hardware decoding is enabled but it's not actually being used.

yellowhat commented 10 months ago

Maybe this explains why does not work now: https://chromium-review.googlesource.com/c/chromium/src/+/3646633

BuonHobo commented 10 months ago

Apparently it's not enough to get it working on AMD GPUs, they also should merge this mesa patch https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26165

On Sat, 6 Jan 2024, 16:35 yellowhat, @.***> wrote:

Maybe this explains why does not work now: https://chromium-review.googlesource.com/c/chromium/src/+/3646633

— Reply to this email directly, view it on GitHub https://github.com/flathub/org.chromium.Chromium/issues/266#issuecomment-1879730974, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOJZ5HBO6PVNL5M4YPVLLOTYNFVNHAVCNFSM6AAAAAAT6JJ6JKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZZG4ZTAOJXGQ . You are receiving this because you commented.Message ID: <flathub/org. @.***>

mamama1 commented 10 months ago

I'm also experiencing this issue. I'm using fedora 39, amd gpu and wayland gnome.

chrome:gpu says that hardware decoding is enabled but it's not actually being used.

we. sir, are in the same boat. any success so far? i have an rx580 (polaris) and hardware decoding is enabled but not used for me as well - although I'm using Chrome flatpak, not chromium:

Graphics Feature Status
=======================
*   Canvas: Hardware accelerated
*   Canvas out-of-process rasterization: Disabled
*   Direct Rendering Display Compositor: Disabled
*   Compositing: Hardware accelerated
*   Multiple Raster Threads: Enabled
*   OpenGL: Enabled
*   Rasterization: Hardware accelerated
*   Raw Draw: Disabled
*   Skia Graphite: Disabled
*   Video Decode: Hardware accelerated
*   Video Encode: Software only. Hardware acceleration disabled
*   Vulkan: Disabled
*   WebGL: Hardware accelerated
*   WebGL2: Hardware accelerated
*   WebGPU: Disabled
kryptobolt07 commented 4 months ago

It is also not working for me on x11(ubuntu-mate)

2:24:0629/183425.614281:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.DBus.StartServiceByName: object_path= /org/freedesktop/DBus: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
MESA-INTEL: warning: Haswell Vulkan support is incomplete
libva error: /usr/lib/x86_64-linux-gnu/dri/intel-vaapi-driver/iHD_drv_video.so init failed
[2:2:0629/183439.611318:ERROR:network_service_instance_impl.cc(600)] Network service crashed, restarting service.
Warning: terminator_CreateInstance: Received return code -3 from call to vkCreateInstance in ICD /usr/lib/x86_64-linux-gnu/GL/default/lib/libvulkan_virtio.so. Skipping this driver.
MESA-INTEL: warning: Haswell Vulkan support is incomplete

vainfo

vainfo: VA-API version: 1.14 (libva 2.12.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Haswell Mobile - 2.4.1

Chromium seems to be looking for the iHD which is not supported by haswell,it should instead look for the i965 driver.

Erick555 commented 4 months ago

Install and run org.freedesktop.Platform.VaInfo to get any meaningful testing in flatpak, host libs aren't relevant.