Open ronjouch opened 4 years ago
Same here (but nvidia, not intel) with 87.x. - downgrading to 86.x.y works (including hardware acceleration for everything(?) but 4k-60fps).
Same thing here @miwalter
@saiarcot895 problem reproduced with recently-released 87.0.4263.3-0ubuntu1~ppa5~20.04.1_amd64
, in all 4 {LIBVA_DRIVER_NAME
, --use-gl
combinations.
Can you reproduce the issue? Should I file a Chromium bug?
I haven't had a chance to debug this, because I'm trying to play catch-up with the weekly releases.
Can confirm on amdgpu, so something's generally broken with VAAPI on 87. I haven't yet had time to investigate.
Note: I am using VDPAU so I think this is not an issue related to Vaapi itself. I think this is related to recent Chromium code.
With Nvidia and VDPAU, a workaround is to use a launch command
chromium-browser --use-gl=desktop
This apparently is related to another filed bug and the angle driver: https://github.com/saiarcot895/chromium-ubuntu-build/issues/91#issuecomment-711087397
I use "--use-gl=desktop" for a couple of month now, it does not enable hardware acceleration for 87. builds (it does for 86. builds!) on nvidia gpus.
This is my command line (seen at chrome://gpu).
/usr/lib/chromium-browser/chromium-browser --enable-gpu-rasterization --enable-native-gpu-memory-buffers --ignore-gpu-blocklist --enable-gpu-compositing --enable-webgl --disable-gpu-sandbox --enable-oop-rasterization --enable-accelerated-video --enable-accelerated-mjpeg-decode --enable-zero-copy --test-type --enable-pinch --enable-gpu-rasterization --enable-native-gpu-memory-buffers --ignore-gpu-blocklist --enable-gpu-compositing --enable-webgl --disable-gpu-sandbox --enable-oop-rasterization --enable-accelerated-video --enable-accelerated-mjpeg-decode --enable-zero-copy --disable-gpu-driver-workarounds --use-gl=desktop --test-type --enable-gpu-rasterization --enable-native-gpu-memory-buffers --ignore-gpu-blocklist --enable-gpu-compositing --enable-webgl --disable-gpu-sandbox --enable-oop-rasterization --enable-accelerated-video --enable-accelerated-mjpeg-decode --enable-zero-copy --disable-gpu-driver-workarounds --use-gl=desktop --test-type --flag-switches-begin --enable-accelerated-video-decode --enable-gpu-rasterization --enable-smooth-scrolling --flag-switches-end --file-url-path-alias=/gen=/usr/lib/chromium-browser/gen
Using Xorg. Nvidia driver 450.80.02, GeForce GTX 1660 Ti.
I use "--use-gl=desktop" for a couple of month now, it does not enable hardware acceleration for 87. builds (it does for 86. builds!) on nvidia gpus.
This is my command line (seen at chrome://gpu).
/usr/lib/chromium-browser/chromium-browser --enable-gpu-rasterization --enable-native-gpu-memory-buffers --ignore-gpu-blocklist --enable-gpu-compositing --enable-webgl --disable-gpu-sandbox --enable-oop-rasterization --enable-accelerated-video --enable-accelerated-mjpeg-decode --enable-zero-copy --test-type --enable-pinch --enable-gpu-rasterization --enable-native-gpu-memory-buffers --ignore-gpu-blocklist --enable-gpu-compositing --enable-webgl --disable-gpu-sandbox --enable-oop-rasterization --enable-accelerated-video --enable-accelerated-mjpeg-decode --enable-zero-copy --disable-gpu-driver-workarounds --use-gl=desktop --test-type --enable-gpu-rasterization --enable-native-gpu-memory-buffers --ignore-gpu-blocklist --enable-gpu-compositing --enable-webgl --disable-gpu-sandbox --enable-oop-rasterization --enable-accelerated-video --enable-accelerated-mjpeg-decode --enable-zero-copy --disable-gpu-driver-workarounds --use-gl=desktop --test-type --flag-switches-begin --enable-accelerated-video-decode --enable-gpu-rasterization --enable-smooth-scrolling --flag-switches-end --file-url-path-alias=/gen=/usr/lib/chromium-browser/gen
Using Xorg. Nvidia driver 450.80.02, GeForce GTX 1660 Ti.
Weird. My current version is 87.0.4280.20 and working with —use-gl=desktop.
Are you using nouveau/vaapi or proprietary drivers and vdpau?
Weird. My current version is 87.0.4280.20 and working with —use-gl=desktop.
Are you using nouveau/vaapi or proprietary drivers and vdpau?
I'm using the proprietary drivers (so vdpau I guess). Are you sure, that "mojovideodecoder" (chrome://media-internals/) is used (e.g. using this video: https://www.youtube.com/watch?v=Xt5kJp9xOLw&t=0s)?
Chrome tells me at the top of "chrome://gpu" it will be using hardware acceleration - but it does not (so, not using MojoVideoDecoder") for 87.* builds.
Weird. My current version is 87.0.4280.20 and working with —use-gl=desktop. Are you using nouveau/vaapi or proprietary drivers and vdpau?
I'm using the proprietary drivers (so vdpau I guess). Are you sure, that "mojovideodecoder" (chrome://media-internals/) is used (e.g. using this video: https://www.youtube.com/watch?v=Xt5kJp9xOLw&t=0s)?
Chrome tells me at the top of "chrome://gpu" it will be using hardware acceleration - but it does not (so, not using MojoVideoDecoder") for 87.* builds.
You should ensure that vdpau-va-driver is installed.
Yes, Mojo is used with 87, using --use-gl=desktop string.
My friend, I'm sure, that hardware acceleration is working very good for many month (ok, maybe weeks) using 86. - only thing different on my setup without working hardware acceleration is 87. (I downgraded to 86 because of this bug).
I think the problem is somewhere in the 87-release, not in my setup.
vdpau is working here. I'm using it for mpv- and celluloid accelerated video playback, too.
display: :1 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 450.80.02 Wed Sep 23 00:46:46 UTC 2020
libvdpau-va-gl1/focal,now 0.4.2-1build2 amd64 [installiert]
vdpau-va-driver/now 0.7.4-6ubuntu1 amd64 [Installiert,aktualisierbar auf: 0.7.4-7ubuntu1~ppa2~20.04.1]
Just to be sure, I tested the current 87-build a couple of minutes ago. No hardware acceleration - no video at all, to be honest (using --use-gl=desktop, otherwise plays video without acceleration):
[42539:42539:1018/195341.402159:WARNING:gpu_video_decode_accelerator_factory.cc(223)] : Initializing VAAPI VDA. [42539:45708:1018/195341.432029:ERROR:vaapi_utils.cc(47)] : vaMapBuffer failed: invalid VABufferID [42539:45708:1018/195341.432050:ERROR:vaapi_video_decode_accelerator.cc(528)] : Error decoding stream
As a small update here, on 87.0.4280.11 on Ubuntu 20.04, hardware video decoding appears to be working on both AMD GPU (integrated GPU on Ryzen 3400G) and Intel GPU.
AMD GPU:
$ chromium-browser --enable-logging=stderr --loglevel=0 --vmodule=vaapi_wrapper=4,vaapi_video_decode_accelerator=4
...
[1137086:1137086:1018/105244.861091:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[1137086:1137086:1018/105244.861224:VERBOSE2:vaapi_video_decode_accelerator.cc(204)] Initialize(): Initializing VAVDA, profile: h264 high
[1137086:1139404:1018/105244.882191:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[1137086:1137086:1018/105244.882509:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 6; |requested_num_reference_frames_| = 6
[1137086:1137086:1018/105244.882580:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 6 pictures of size: 1920x1088 and visible rectangle = 0,0 1920x1080
[1137086:1137086:1018/105253.958302:VERBOSE2:vaapi_video_decode_accelerator.cc(907)] Flush(): Got flush request
[1137086:1139404:1018/105254.018833:VERBOSE2:vaapi_video_decode_accelerator.cc(886)] FlushTask():
[1137086:1137086:1018/105254.020601:VERBOSE2:vaapi_video_decode_accelerator.cc(914)] FinishFlush():
[1137086:1137086:1018/105254.262510:VERBOSE2:vaapi_video_decode_accelerator.cc(914)] FinishFlush():
[1137086:1139404:1018/105254.275889:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[1137086:1137086:1018/105254.276071:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 6; |requested_num_reference_frames_| = 7
[1137086:1137086:1018/105254.276343:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 0
[1137086:1137086:1018/105254.276395:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 1
[1137086:1137086:1018/105254.276441:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 2
[1137086:1137086:1018/105254.276489:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 3
[1137086:1137086:1018/105254.276534:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 4
[1137086:1137086:1018/105254.276578:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 5
[1137086:1137086:1018/105254.277662:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 6 pictures of size: 1280x720 and visible rectangle = 0,0 1280x720
[1137086:1137086:1018/105255.242911:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
[1137086:1137086:1018/105255.346341:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[1137086:1137086:1018/105255.346452:VERBOSE2:vaapi_video_decode_accelerator.cc(204)] Initialize(): Initializing VAVDA, profile: h264 high
[1137086:1137086:1018/105255.367426:VERBOSE2:vaapi_video_decode_accelerator.cc(967)] Reset(): Got reset request
[1137086:1139490:1018/105255.367557:VERBOSE2:vaapi_video_decode_accelerator.cc(946)] ResetTask():
[1137086:1137086:1018/105255.367683:VERBOSE2:vaapi_video_decode_accelerator.cc(989)] FinishReset():
[1137086:1139490:1018/105255.368108:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[1137086:1137086:1018/105255.368329:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 6; |requested_num_reference_frames_| = 6
[1137086:1137086:1018/105255.368383:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 6 pictures of size: 1920x1088 and visible rectangle = 0,0 1920x1080
[1137086:1137086:1018/105337.797919:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
[1137086:1137086:1018/105343.395431:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[1137086:1137086:1018/105343.395531:VERBOSE2:vaapi_video_decode_accelerator.cc(204)] Initialize(): Initializing VAVDA, profile: h264 high
[1137086:1139781:1018/105343.421450:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[1137086:1137086:1018/105343.421646:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 6; |requested_num_reference_frames_| = 6
[1137086:1137086:1018/105343.421700:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 6 pictures of size: 1920x1088 and visible rectangle = 0,0 1920x1080
[1137086:1137086:1018/105402.563846:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
[1137086:1137086:1018/105410.058135:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[1137086:1137086:1018/105410.058267:VERBOSE2:vaapi_video_decode_accelerator.cc(204)] Initialize(): Initializing VAVDA, profile: h264 high
[1137086:1139930:1018/105410.072369:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[1137086:1137086:1018/105410.072507:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 6; |requested_num_reference_frames_| = 6
[1137086:1137086:1018/105410.072572:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 6 pictures of size: 1920x1088 and visible rectangle = 0,0 1920x1080
[1137086:1137086:1018/105428.533245:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
[1137086:1137086:1018/105429.025015:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[1137086:1137086:1018/105429.025177:VERBOSE2:vaapi_video_decode_accelerator.cc(204)] Initialize(): Initializing VAVDA, profile: vp9 profile0
[1137086:1140046:1018/105429.045510:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[1137086:1137086:1018/105429.045633:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 5; |requested_num_reference_frames_| = 9
[1137086:1137086:1018/105429.045693:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 5 pictures of size: 1920x1080 and visible rectangle = 0,0 1920x1080
[1137086:1137086:1018/105445.156116:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
On AMD GPU, h264 appears to be smooth (with the h264ify extension), but vp9 at 720p or greater (maybe 1080p or greater in some cases) is choppy, where it plays 2-3 seconds, pauses for 0.5-1 second, and resumes playing again. I've only tested up to 1080p.
Intel GPU:
$ chromium-browser --enable-logging=stderr --loglevel=0 --vmodule=vaapi_wrapper=4,vaapi_video_decode_accelerator=4
...
[69331:69331:1018/110545.250952:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[69331:69331:1018/110545.251083:VERBOSE2:vaapi_video_decode_accelerator.cc(204)] Initialize(): Initializing VAVDA, profile: vp9 profile0
[69331:70042:1018/110545.251948:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[69331:69331:1018/110545.252066:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 5; |requested_num_reference_frames_| = 9
[69331:69331:1018/110545.252142:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 5 pictures of size: 640x360 and visible rectangle = 0,0 640x360
[69331:69331:1018/110550.002120:VERBOSE2:vaapi_video_decode_accelerator.cc(907)] Flush(): Got flush request
[69331:70042:1018/110550.117049:VERBOSE2:vaapi_video_decode_accelerator.cc(886)] FlushTask():
[69331:69331:1018/110550.121197:VERBOSE2:vaapi_video_decode_accelerator.cc(914)] FinishFlush():
[69331:69331:1018/110550.300166:VERBOSE2:vaapi_video_decode_accelerator.cc(914)] FinishFlush():
[69331:70042:1018/110550.330349:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[69331:69331:1018/110550.330509:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 5; |requested_num_reference_frames_| = 9
[69331:69331:1018/110550.330650:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 0
[69331:69331:1018/110550.330729:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 1
[69331:69331:1018/110550.330787:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 2
[69331:69331:1018/110550.330846:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 3
[69331:69331:1018/110550.330902:VERBOSE2:vaapi_video_decode_accelerator.cc(632)] TryFinishSurfaceSetChange(): Dismissing picture id: 4
[69331:69331:1018/110550.331180:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 5 pictures of size: 854x480 and visible rectangle = 0,0 854x480
[69331:69331:1018/110551.722278:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
[69331:69331:1018/110551.882706:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[69331:69331:1018/110551.882813:VERBOSE2:vaapi_video_decode_accelerator.cc(204)] Initialize(): Initializing VAVDA, profile: vp9 profile0
[69331:69331:1018/110551.904832:VERBOSE2:vaapi_video_decode_accelerator.cc(967)] Reset(): Got reset request
[69331:70090:1018/110551.905096:VERBOSE2:vaapi_video_decode_accelerator.cc(946)] ResetTask():
[69331:69331:1018/110551.905279:VERBOSE2:vaapi_video_decode_accelerator.cc(989)] FinishReset():
[69331:70090:1018/110551.928036:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[69331:69331:1018/110551.928341:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 5; |requested_num_reference_frames_| = 9
[69331:69331:1018/110551.928430:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 5 pictures of size: 1920x1080 and visible rectangle = 0,0 1920x1080
[69331:69331:1018/110624.487567:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
[69331:69331:1018/110624.729669:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[69331:69331:1018/110624.729806:VERBOSE2:vaapi_video_decode_accelerator.cc(204)] Initialize(): Initializing VAVDA, profile: vp9 profile0
[69331:69331:1018/110624.758176:VERBOSE2:vaapi_video_decode_accelerator.cc(967)] Reset(): Got reset request
[69331:70149:1018/110624.758796:VERBOSE2:vaapi_video_decode_accelerator.cc(946)] ResetTask():
[69331:69331:1018/110624.759194:VERBOSE2:vaapi_video_decode_accelerator.cc(989)] FinishReset():
[69331:70149:1018/110624.797771:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces
[69331:69331:1018/110624.797913:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_num_pics_| = 5; |requested_num_reference_frames_| = 9
[69331:69331:1018/110624.797996:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 5 pictures of size: 2560x1440 and visible rectangle = 0,0 2560x1440
[69331:69331:1018/110714.941388:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
[69975:21:1018/110714.941419:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"video decode error!"}
[69975:1:1018/110714.944498:ERROR:batching_media_log.cc(35)] MediaEvent: {"pipeline_error":3}
On Intel GPU, playback is smooth up to 1440p.
Additionally, the --use-gl=desktop
flag might not be needed; last I checked, the default is to use egl, and there is some code committed to support hardware video decoding via egl.
Additionally, the
--use-gl=desktop
flag might not be needed; last I checked, the default is to use egl, and there is some code committed to support hardware video decoding via egl.
Seems to be mandatory for Nvidia/VDPAU users. See: https://github.com/saiarcot895/chromium-ubuntu-build/issues/91#issuecomment-711087397
it looks like my GPU (Intel UHD Graphics G1 (Ice Lake 32 EU)) is to new for the i965_drv_video.so driver. Only iHD_drv_video.so will work, see vainfo
$ LIBVA_DRIVER_NAME=iHD vainfo libva info: VA-API version 1.7.0 libva info: User environment variable requested driver 'iHD' libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_7 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.7 (libva 2.6.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 () vainfo: Supported profile and entrypoints
$ LIBVA_DRIVER_NAME=i965 vainfo libva info: VA-API version 1.7.0 libva info: User environment variable requested driver 'i965' libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_6 libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed libva info: va_openDriver() returns -1 vaInitialize failed with error code -1 (unknown libva error),exit
I want start Chromium with forced iHD but i looks like it always falls back or is hardwired to i965_drv_video.so and failed Hardware Acceleration.
$ LIBVA_DRIVER_NAME=iHD chromium-browser --enable-logging=stderr --loglevel=0 --vmodule=vaapi_wrapper=4,vaapi_video_decode_accelerator=4 --ignore-gpu-blocklist --use-gl=desktop 'https://www.youtube.com/watch?v=1d0Zf9sXlHk' libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed [19365:19365:1020/002552.072346:ERROR:vaapi_wrapper.cc(607)] vaInitialize failed: unknown libva error
it try to move HD_drv_video.so -> i965_drv_video.so, so it is forced to use HD_drv_video.so an then i got this
chromium-browser --enable-logging=stderr --loglevel=0 --vmodule=vaapi_wrapper=4,vaapi_video_decode_accelerator=4 --ignore-gpu-blocklist --use-gl=desktop 'https://www.youtube.com/watch?v=1d0Zf9sXlHk' [21158:21158:1020/003013.119030:VERBOSE1:vaapi_wrapper.cc(845)] Unsupported value 2 for VAConfigAttribRateControl [21158:21158:1020/003013.119120:VERBOSE1:vaapi_wrapper.cc(845)] Unsupported value 2 for VAConfigAttribRateControl [21158:21158:1020/003013.119199:VERBOSE1:vaapi_wrapper.cc(845)] Unsupported value 2 for VAConfigAttribRateControl [21158:21158:1020/003013.131134:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process. [21158:21158:1020/003013.775293:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA. [21158:21158:1020/003013.775380:VERBOSE2:vaapi_video_decode_accelerator.cc(204)] Initialize(): Initializing VAVDA, profile: h264 main [21158:21273:1020/003013.775970:VERBOSE2:vaapi_video_decode_accelerator.cc(479)] DecodeTask(): Decoder requesting a new set of surfaces [21158:21158:1020/003013.776071:VERBOSE2:vaapi_video_decode_accelerator.cc(574)] InitiateSurfaceSetChange(): |requested_numpics| = 6; |requested_num_referenceframes| = 10 [21158:21158:1020/003013.776122:VERBOSE2:vaapi_video_decode_accelerator.cc(639)] TryFinishSurfaceSetChange(): Requesting 6 pictures of size: 640x368 and visible rectangle = 0,0 640x360 [21158:21158:1020/003013.786464:ERROR:vaapi_wrapper.cc(2000)] vaPutSurface failed, VA error: unknown libva error [21158:21158:1020/003013.786556:ERROR:vaapi_video_decode_accelerator.cc(290)] Failed putting surface into pixmap [21158:21158:1020/003013.786601:VERBOSE1:vaapi_video_decode_accelerator.cc(141)] NotifyError(): Notifying of error 4 [21186:15:1020/003013.786737:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"VDA Error 4"} [21158:21158:1020/003013.787521:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
Please help, i need Hardware Acceleration otherwise my Notebook get to hot and noisy :(
@janek-git look in this file /etc/chromium-browser/customizations/02-libva-i965
to enable iHD driver.
@saiarcot895 i only use iHD driver but get the same error as other here.
Still can't stay full linux just because of that :') then bye windows !
Thanks for the work anyway !
@xontik Thanks for the Answer :) sadly i still get the same error, like when i just renamed iHD_drv_video.so to i965_drv_video.so
@janek-git it's normal, but at least with my solution you don't mess your system driver :)
As a small update here, on 87.0.4280.11 on Ubuntu 20.04, hardware video decoding appears to be working on both AMD GPU (integrated GPU on Ryzen 3400G) and Intel GPU.
On Intel GPU, playback is smooth up to 1440p.
Additionally, the
--use-gl=desktop
flag might not be needed; last I checked, the default is to use egl, and there is some code committed to support hardware video decoding via egl.
@saiarcot895 thanks for digging. My problem was that, as pointed by @JurgenWolf at https://github.com/saiarcot895/chromium-ubuntu-build/issues/91#issuecomment-711444856 ,
Hardware-accelerated video decode flag is set to Disabled by default in 87.
After passing flag --enable-accelerated-video-decode
(if you prefer, you can also go to chrome://flags
and set Hardware-accelerated video decode
to Enabled
), I confirm that hardware acceleration works for me in 87.0.4280.20-0ubuntu1~ppa1~20.04.1_amd64
on my Intel GPU with H264, VP8, VP9 videos.
I'm editing the description to make that clear to new passersbys, and apparently Arch Wiki / Chromium / Hardware video acceleration (which is the reference documentation even on an Ubuntu machine) was already edited to mention this.
With that, closing. To people still unable to get their accel working in 87, please create a new issue, to reduce confusion and isolate your case. Thanks everyone!
https://www.linuxuprising.com/2018/08/how-to-enable-hardware-accelerated.html
After 1 month of trying finally Hardware Accelerating is working on both Nvidia and Intel. For other people and my future reference I will write up the steps.
OS: POP_OS! 20.04 Chrome version: Version 87.0.4280.20 (Developer Build) Built on Ubuntu 20.04, running on Pop 20.04 (64-bit) Follow all the steps in the post. And below 1. sudo apt install vainfo sudo apt install vdpauinfo
run : vainfo and vdpauinfo
if you are intel you should see output not -1 error. But if you see error. Install the vaapi driver listed above. or search apt search vaapi
and set this in environment variable
sudo nano /etc/environment add this two line
LIBVA_DRIVER_NAME=i965 VDPAU_DRIVER=va_gl
here i965 is my driver name. for intel core i5 haswell architecture. logout or restart and try again. you should see Mojovideodecode
if you are in NVIDIA: Download vdpau driver from above. You should download the deb file and install it. It's from ubuntu 18 but works in Ubuntu 20. set environment variable
$ sudo nano /etc/environment
add this two line
LIBVA_DRIVER_NAME=vdpau VDPAU_DRIVER=nvidia
check out if there's any output in
$ vainfo $ vdpauinfo
you should see output. saying it's NVIDIA. finally run chromium
$ LIBVA_DRIVER_NAME=vdpau chromium-browser --use-gl=desktop
These are the flags I use in chromium $ nano ~/.config/chromium-flags.conf
--ignore-gpu-blacklist --enable-gpu-rasterization --enable-zero-copy --force-dark-mode --enable-features=WebUIDarkMode --enable-oop-rasterization --use-gl=desktop
but in developer version .conf doesn't work. so turn of flags manually from chrome://flags
https://www.linuxuprising.com/2018/08/how-to-enable-hardware-accelerated.html
After 1 month of trying finally Hardware Accelerating is working on both Nvidia and Intel. For other people and my future reference I will write up the steps.
This does not work for Nvidia.
[61251:61251:1022/090537.048824:WARNING:gpu_video_decode_accelerator_factory.cc(223)] : Initializing VAAPI VDA.
[61251:62446:1022/090537.103452:ERROR:vaapi_utils.cc(47)] : vaMapBuffer failed: invalid VABufferID
[61251:62446:1022/090537.103474:ERROR:vaapi_video_decode_accelerator.cc(528)] : Error decoding stream
https://www.linuxuprising.com/2018/08/how-to-enable-hardware-accelerated.html After 1 month of trying finally Hardware Accelerating is working on both Nvidia and Intel. For other people and my future reference I will write up the steps.
This does not work for Nvidia.
[61251:61251:1022/090537.048824:WARNING:gpu_video_decode_accelerator_factory.cc(223)] : Initializing VAAPI VDA. [61251:62446:1022/090537.103452:ERROR:vaapi_utils.cc(47)] : vaMapBuffer failed: invalid VABufferID [61251:62446:1022/090537.103474:ERROR:vaapi_video_decode_accelerator.cc(528)] : Error decoding stream
It works. Follow the extras steps I wrote
Of course I did - it did not work, as I wrote.
FYI the switch --ignore-gpu-blacklist is deprecated, in the future you have to use --ignore-gpu-blocklist.
linuxuprising.com/2018/08/how-to-enable-hardware-accelerated.html After 1 month of trying finally Hardware Accelerating is working on both Nvidia and Intel. For other people and my future reference I will write up the steps.
This does not work for Nvidia.
```
[61251:61251:1022/090537.048824:WARNING:gpu_video_decode_accelerator_factory.cc(223)] : Initializing VAAPI VDA. [61251:62446:1022/090537.103452:ERROR:vaapi_utils.cc(47)] : vaMapBuffer failed: invalid VABufferID [61251:62446:1022/090537.103474:ERROR:vaapi_video_decode_accelerator.cc(528)] : Error decoding stream
It works. Follow the extras steps I wrote
I'm in POP_OS! 20.04 too. How do I make chromium use --use-gl=desktop flag only when I'm booted on the nvidia driver? So that it'll run without that flag when I'm on the intel driver, because hardware acceleration on intel fails if that flag is enabled
@saiarcot895 confirming that Intel VAAPI accel works great in 88.0.4315.5-0ubuntu1~ppa1~20.04.1_amd64
under Ubuntu 20.10. Apparently, 20.10 packages failed to build in the PPA, but the 20.04 debs installed successfully and work great.
The LIBVA_DRIVER_NAME=vdpau chromium-browser --ignore-gpu-blocklist --use-gl=desktop --enable-oop-rasterization didn't work for me either , ubuntu 20.04 , Version 88.0.4315.5 , nVidia RTX 2070 proprietary drivers, same VDA error 4
Failed to create dedicated X11 display! [361880:362425:1113/160907.513378:ERROR:vaapi_utils.cc(47)] vaMapBuffer failed: invalid VABufferID [361880:362425:1113/160907.513440:ERROR:vaapi_video_decode_accelerator.cc(528)] Error decoding stream [361880:361880:1113/160907.645793:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
@cAstraea did you (or anyone else?) ever get this working? It is failing for me for the same error (google led me here). On Version 87.0.4280.66
of Chromium Beta.
I'm getting these issues as well. Comet Lake 10750H, Pop!_OS 20.10, test latest Chromium-Beta (87) and Chromium-Dev (89)
[31389:31389:0107/170231.825576:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[31389:31389:0107/170231.825727:VERBOSE2:vaapi_video_decode_accelerator.cc(205)] Initialize(): Initializing VAVDA, profile: vp9 profile0
[31389:31712:0107/170231.829509:VERBOSE2:vaapi_video_decode_accelerator.cc(485)] DecodeTask(): Decoder requesting a new set of surfaces
[31389:31389:0107/170231.829696:VERBOSE2:vaapi_video_decode_accelerator.cc(580)] InitiateSurfaceSetChange(): |requested_num_pics_| = 5; |requested_num_reference_frames_| = 9
[31389:31389:0107/170231.829770:VERBOSE2:vaapi_video_decode_accelerator.cc(645)] TryFinishSurfaceSetChange(): Requesting 5 pictures of size: 1920x1080 and visible rectangle = 0,0 1920x1080
[31389:31389:0107/170231.913395:ERROR:vaapi_wrapper.cc(2360)] vaPutSurface failed, VA error: unknown libva error
[31389:31389:0107/170231.913783:ERROR:vaapi_video_decode_accelerator.cc(291)] Failed putting surface into pixmap
[31389:31389:0107/170231.914318:VERBOSE1:vaapi_video_decode_accelerator.cc(142)] NotifyError(): Notifying of error 4
[31389:31389:0107/170231.916094:VERBOSE2:vaapi_video_decode_accelerator.cc(1042)] Cleanup(): Destroying VAVDA
Just to update everyone, I was getting the exact same error as @janek-git, on an Intel i7-1065G7 running Ubuntu 20.04 LTS
[21158:21158:1020/003013.786464:ERROR:vaapi_wrapper.cc(2000)] vaPutSurface failed, VA error: unknown libva error
[21158:21158:1020/003013.786556:ERROR:vaapi_video_decode_accelerator.cc(290)] Failed putting surface into pixmap
[21158:21158:1020/003013.786601:VERBOSE1:vaapi_video_decode_accelerator.cc(141)] NotifyError(): Notifying of error 4
[21186:15:1020/003013.786737:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"VDA Error 4"}
[21158:21158:1020/003013.787521:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
In order to fix the issue I had to compile Intel's Media Driver (https://github.com/intel/media-driver)
That will compile the lib /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
, then running Brave with --use-gl=desktop
and setting the 2 flags above results in Mojo being used to render YouTube!
Pretty disappointing a distro like Ubuntu LTS is not keeping these libs up to date, expected better from a distro like Ubuntu.
Just like @dylangerdaly I solved my issues with a new Intel driver. I did not recompile, but I installed intel-media-va-driver-non-free, and it now works perfectly.
Just like @dylangerdaly I solved my issues with a new Intel driver. I did not recompile, but I installed intel-media-va-driver-non-free, and it now works perfectly.
may can you post here from where you got the non free driver (ie direct from intel?) and which version number you use please? thx in advance Janek
Just like @dylangerdaly I solved my issues with a new Intel driver. I did not recompile, but I installed intel-media-va-driver-non-free, and it now works perfectly.
may can you post here from where you got the non free driver (ie direct from intel?) and which version number you use please? thx in advance Janek
I run Pop!_OS 20.10 with default apt sources. I just ran apt to install intel-media-va-driver-non-free
Hi Guys, iam on Linux Mint 20.1 and using beta Version of Chromium, having problem with Nvidia. Nvidia Driver: nvidia-driver-460 chromium-browser (1:88.0.4324.50-0ubuntu1~ppa1~20.04.1
~$ chromium-browser --use-gl=desktop [27100:27130:0202/162941.684803:ERROR:login_database.cc(641)] Password store database is too new, kCurrentVersionNumber=28, GetCompatibleVersionNumber=29 [27100:27130:0202/162941.684935:ERROR:password_store_default.cc(39)] Could not create/open login database. Failed to create dedicated X11 display! [27138:27339:0202/162946.212729:ERROR:vaapi_utils.cc(47)] vaMapBuffer failed: invalid VABufferID [27138:27339:0202/162946.212794:ERROR:vaapi_video_decode_accelerator.cc(528)] Error decoding stream Failed to create dedicated X11 display! [27138:27343:0202/162946.326273:ERROR:vaapi_utils.cc(47)] vaMapBuffer failed: invalid VABufferID [27138:27343:0202/162946.326361:ERROR:vaapi_video_decode_accelerator.cc(528)] Error decoding stream
I had previosly Ubuntu 20.10, the same was working fine.
Also on Mint 20.1 (focal), nvidia-driver-450, opera 74 (chromium 88) same error: invalid VABufferID
Hi same error here with Linux Mint, [142845:143170:0205/203259.605583:ERROR:vaapi_utils.cc(48)] vaMapBuffer failed: invalid VABufferID [142845:143170:0205/203259.605777:ERROR:vaapi_video_decode_accelerator.cc(534)] Error decoding stream Failed to create dedicated X11 display!
Just to update everyone, I was getting the exact same error as @janek-git, on an Intel i7-1065G7 running Ubuntu 20.04 LTS
[21158:21158:1020/003013.786464:ERROR:vaapi_wrapper.cc(2000)] vaPutSurface failed, VA error: unknown libva error [21158:21158:1020/003013.786556:ERROR:vaapi_video_decode_accelerator.cc(290)] Failed putting surface into pixmap [21158:21158:1020/003013.786601:VERBOSE1:vaapi_video_decode_accelerator.cc(141)] NotifyError(): Notifying of error 4 [21186:15:1020/003013.786737:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"VDA Error 4"} [21158:21158:1020/003013.787521:VERBOSE2:vaapi_video_decode_accelerator.cc(1038)] Cleanup(): Destroying VAVDA
In order to fix the issue I had to compile Intel's Media Driver (https://github.com/intel/media-driver)
That will compile the lib
/usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
, then running Brave with--use-gl=desktop
and setting the 2 flags above results in Mojo being used to render YouTube!Pretty disappointing a distro like Ubuntu LTS is not keeping these libs up to date, expected better from a distro like Ubuntu.
i also compiled the newest intel driver but sadly it doesnt work :( now it even doenst fallback to to software rendering ;)
chromium-browser --enable-logging=stderr --loglevel=0 --vmodule=vaapi_wrapper=4,vaapi_video_decode_accelerator =4 --ignore-gpu-blocklist --use-gl=desktop 'https://www.youtube.com/watch?v=1d0Zf9sXlHk' [7797:7797:0213/163908.993697:WARNING:account_consistency_mode_manager.cc(64)] Desktop Identity Consistency cannot be enabled as no OAuth client ID and client secret have been configured. [7833:7833:0213/163909.048508:VERBOSE1:vaapi_wrapper.cc(967)] Unsupported value 2 for VAConfigAttribRateControl [7833:7833:0213/163909.048691:VERBOSE1:vaapi_wrapper.cc(967)] Unsupported value 2 for VAConfigAttribRateControl [7833:7833:0213/163909.048718:VERBOSE1:vaapi_wrapper.cc(967)] Unsupported value 2 for VAConfigAttribRateControl [7833:7833:0213/163909.061361:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
Chromium Version: 89.0.4356.6 Ubuntu 20.10
vainfo: libva info: VA-API version 1.11.0 libva info: User environment variable requested driver 'iHD' libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_11 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.11 (libva 2.11.0.pre1) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.1.0 (920dbb22) vainfo: Supported profile and entrypoints
Hi Guys,
///////////////////// OS: Pop!_OS 20.10 Chrome version: Version 90.0.4430.212 (Official Build) (64-bit) /////////////////////
I did follow this steps: https://www.linuxuprising.com/2021/01/how-to-enable-hardware-accelerated.html
it work with this command (In my case): google-chrome-stable --use-gl=egl
for chromium could be this way: chromium-browser --use-gl=egl
I hope this solution work for you guys
@JohnBFrm thank you so much, dude, I had the same vaPutSurface
error on vanilla 108, and installing intel-media-va-driver-non-free
made it work.
EDIT 2020-10-21 SOLVED
The Hardware-accelerated video decode flag is set to Disabled by default in 87, you need to enable it manually, by:
--enable-accelerated-video-decode
chrome://flags
and settingHardware-accelerated video decode
toEnabled
With the flag set, I confirm that hardware acceleration works for me in
87.0.4280.20-0ubuntu1~ppa1~20.04.1_amd64
on my Intel GPU with H264, VP8, VP9 videos.@saiarcot895 the usual thread 😄. This time,
Logs using --use-gl=desktop, failing on VAAPI init with "VDA Error 4"
``` [77734:77734:0910/132434.453904:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process. [77695:77695:0910/132434.555422:WARNING:xproto_util.cc(54)] X error received: serial 291, error_code 129 (129), request_code 131, minor_code 46 (Unknown) [77734:77734:0910/132435.523375:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA. [77766:16:0910/132435.524431:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"VDA Error 4"} Fontconfig error: Cannot load default config file [77734:77734:0910/132441.244757:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA. [77766:16:0910/132441.245599:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"VDA Error 4"} [77734:77734:0910/132443.249826:ERROR:gles2_cmd_decoder.cc(2847)] [GroupMarkerNotSet(crbug.com/242999)!:783B3B6C1D560000]GL ERROR :GL_INVALID_ENUM : BackFramebuffer::Destroy: <- error from previous GL command [77695:77695:0910/132443.265505:WARNING:pref_notifier_impl.cc(40)] Pref observer for media_router.cast_allow_all_ips found at shutdown. ```chromium --incognito --ignore-gpu-blocklist --use-gl=desktop --enable-logging=stderr --loglevel=0 'https://www.youtube.com/watch?v=1d0Zf9sXlHk'
Logs using --use-gl=egl, failing differently:
``` [78350:78350:0910/132528.711788:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process. [78311:78311:0910/132528.838649:WARNING:xproto_util.cc(54)] X error received: serial 291, error_code 129 (129), request_code 131, minor_code 46 (Unknown) [78350:78350:0910/132529.736037:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA. [78350:78350:0910/132529.737679:ERROR:gl_surface_egl.cc(767)] EGL Driver message (Error) eglCreateImageKHR: dri2_create_image_khr_texture [78350:78350:0910/132529.737767:ERROR:gl_image_egl.cc(37)] Error creating EGLImage: EGL_BAD_PARAMETER [78350:78350:0910/132529.737833:ERROR:gl_surface_egl.cc(767)] EGL Driver message (Error) eglCreateImageKHR: dri2_create_image_khr_texture [78350:78350:0910/132529.737873:ERROR:gl_image_egl.cc(37)] Error creating EGLImage: EGL_BAD_PARAMETER [78380:16:0910/132529.738359:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"VDA Error 4"} Fontconfig error: Cannot load default config file [78350:78350:0910/132534.845331:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA. [78350:78350:0910/132534.846397:ERROR:gl_surface_egl.cc(767)] EGL Driver message (Error) eglCreateImageKHR: dri2_create_image_khr_texture [78350:78350:0910/132534.846474:ERROR:gl_image_egl.cc(37)] Error creating EGLImage: EGL_BAD_PARAMETER [78350:78350:0910/132534.846542:ERROR:gl_surface_egl.cc(767)] EGL Driver message (Error) eglCreateImageKHR: dri2_create_image_khr_texture [78350:78350:0910/132534.846588:ERROR:gl_image_egl.cc(37)] Error creating EGLImage: EGL_BAD_PARAMETER [78380:16:0910/132534.846765:ERROR:batching_media_log.cc(38)] MediaEvent: {"error":"VDA Error 4"} [78311:78311:0910/132536.299623:WARNING:pref_notifier_impl.cc(40)] Pref observer for media_router.cast_allow_all_ips found at shutdown. ```chromium --incognito --ignore-gpu-blocklist --use-gl=egl --enable-logging=stderr --loglevel=0 'https://www.youtube.com/watch?v=1d0Zf9sXlHk'
Extra details:
86.0.4238.0-0ubuntu1~ppa1~20.04.1
acceleration was working well with--use-gl=desktop
on the same video (yes, my Intel GPU accelerates VP9, confirmed by vainfo and intel_gpu_top/media-internals on 86)LIBVA_DRIVER_NAME
betweeniHD
/i965
makes no difference.Feel free to ask for more details. As usual, thanks a lot for your packaging work 🙂.