Igalia / chromium

Old repo. See https://crbug.com/578890 instead.
https://chromium.googlesource.com/chromium/src.git
BSD 3-Clause "New" or "Revised" License
115 stars 16 forks source link

[ozone/wayland]: fix vaapi build. #517

Closed msisov closed 5 years ago

msisov commented 5 years ago

This is a fix to fix vaapi build with ozone wayland. It's not tested, but requested by external.

Issue: https://github.com/Igalia/chromium/issues/511 Change-Id: Id3cf0702e9ea6c93fef0f99c23029ab2b1b291d2

TBR=nickdiego

colemickens commented 5 years ago

What's the easiest way to know if you've submitted this upstream?

msisov commented 5 years ago

this won't be submitted to upstream as it requires further analysis (vaapi patches are missing in ToT), and Google is not keen on supporting hw accelerated video decoding on Linux as long as linux gpu drivers are not stable and prone to different issues. They are afraid, IIRC, of being flooded with ton of bugs, which they are not able to resolve with resources they have. Maybe, we can try to do it in the future. But as for now, it is a low priority.

colemickens commented 5 years ago

@msisov thank you for the reply. The following is my understanding and why I'd asked about upstreaming, though I am not pushing for it for the reason you mentioned:

In ToT (tip of tree), Chromium now supports enabling the mojo decoders with just a build time flag, rather than requiring patching (this is the commit referenced in the #511 issue). This is why I was hoping to see this patch added, so that I wouldn't need to patch sources anymore, just enable both use_vaapi and use_ozone.

However, when I build with this patch and those options, Chromium ends up crashing pretty quickly, and the backtrace clearly points to mojo+wayland, so more investigation makes sense.

I do hope this can be investigated since Arch and Fedora are patching Chromium currently to enable hardware accelerated video decode, and will presumably adopt this flag when 73 is promoted to stable, so eventually this will become an issue whenever they start looking into Ozone support.

msisov commented 5 years ago

@colemickens do you want to say it doesn't require external vaapi patches? But crashes somewhere in the path to wayland?

msisov commented 5 years ago

well. at least it claims to use mojo decoder instead of ffmpeg one if I change format here - https://cs.chromium.org/chromium/src/media/gpu/vaapi/vaapi_picture_factory.cc?dr=CSs&g=0&l=122

to gfx::BufferFormat::RGBX_8888 (if it's available on system). This mustn't be done with hardcoded values, but ok for tests.