Believe it or not, I solved! For real this time! | HW Video Acceleration
-
*** (11 November Update, and Happy Armistice Day!)
Finally, after all these years... https://forum.vivaldi.net/post/793841
Officially solved!
Had to force just that Flag.*** (6 August Update)
This week I receive updates for the Mesa and Vaapi packages and not video acceleration is broken on the Snapshot too, same problem as with the Stable.
Now I'll have to use Firefox only for watching videos.This shouldn't ever happen, and it's only Vivaldi (and maybe chorume based web browsers that have this problem)
*** SOLVED (19 March Update)
https://forum.vivaldi.net/post/652853Hope I'll not have to struggle with this again.
***UN-SOLVED (16 February Update)
I'm stuck at version 5.7.2901.3, because video acceleration stopped working. I tried installing the new Stable version, installed the extension, switch the flags, added the command line. Still don't works.
I was thinking for some time to switch from the snapshots and use only the Stable, but now I can't put this plan to work.WHY IS VIDEO ACCELERATION SO HARD TO MAKE WORK ON LINUX?!
SOLVED!!! Video Acceleration Working on NEON!!! / Can you tell me if there's anything wrong preventing my Vivaldi from using hardware video decode?
From vivaldi://gpu
Graphics Feature Status Canvas: Hardware accelerated Canvas out-of-process rasterization: Enabled Direct Rendering Display Compositor: Disabled Compositing: Hardware accelerated Multiple Raster Threads: Enabled OpenGL: Enabled Rasterization: Hardware accelerated on all pages Raw Draw: Disabled Video Decode: Hardware accelerated Video Encode: Software only. Hardware acceleration disabled Vulkan: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated WebGPU: Disabled
From vivaldi:media-internals, a simple video on youtube.
Player Properties
render_id: 17 player_id: 26 created: 2022-11-18 14:57:28.164 UTC origin_url: https://www.youtube.com/ kFrameUrl: https://www.youtube.com/watch?v=0twDETh6QaI kFrameTitle: ROBLOX_OOF.mp3 - YouTube url: blob:https://www.youtube.com/cd693775-b482-49db-ab70-aa13d15e28a2 kTextTracks: info: Selected video track: [1] kRendererName: RendererImpl pipeline_state: kPlaying duration: 7068.761 kVideoTracks: [object Object] kAudioTracks: [object Object] event: kPlay seek_target: 1360 kIsAudioDecryptingDemuxerStream: false kAudioDecoderName: FFmpegAudioDecoder kIsPlatformAudioDecoder: false kIsVideoDecryptingDemuxerStream: false kVideoDecoderName: FFmpegVideoDecoder kIsPlatformVideoDecoder: false dimensions: 854x480 kResolution: 854x480 pipeline_buffering_state: [object Object] kVideoPlaybackRoughness: 6.037 kVideoPlaybackFreezing: 0.033338 kFramerate: 30
Log
00:00:00.000 created "2022-11-18 14:57:28.164 UTC" 00:00:00.001 origin_url "https://www.youtube.com/" 00:00:00.001 kFrameUrl "https://www.youtube.com/watch?v=0twDETh6QaI" 00:00:00.001 kFrameTitle "ROBLOX_OOF.mp3 - YouTube" 00:00:00.003 url "blob:https://www.youtube.com/cd693775-b482-49db-ab70-aa13d15e28a2" 00:00:00.003 kTextTracks [] 00:00:00.003 info "ChunkDemuxer" 00:00:00.003 kRendererName "RendererImpl" 00:00:00.003 pipeline_state "kStarting" 00:00:00.093 duration 7068.761 00:00:02.541 kVideoTracks [{"alpha mode":"is_opaque","codec":"h264","coded size":"854x480","color space":"{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}","encryption scheme":"Unencrypted","has extra data":false,"hdr metadata":"unset","natural size":"854x480","orientation":"0°","profile":"h264 main","visible rect":"0,0 854x480"}] 00:00:03.045 kAudioTracks [{"bytes per channel":4,"bytes per frame":8,"channel layout":"STEREO","channels":2,"codec":"opus","codec delay":312,"discard decoder delay":true,"encryption scheme":"Unencrypted","has extra data":true,"profile":"unknown","sample format":"Float 32-bit","samples per second":48000,"seek preroll":"80000us"}] 00:00:03.092 info "Effective playback rate changed from 0 to 1" 00:00:03.093 event "kPlay" 00:00:03.096 seek_target 1360 00:00:03.330 kIsAudioDecryptingDemuxerStream false 00:00:03.330 kAudioDecoderName "FFmpegAudioDecoder" 00:00:03.330 kIsPlatformAudioDecoder false 00:00:03.330 info "Selected FFmpegAudioDecoder for audio decoding, config: codec: opus, profile: unknown, bytes_per_channel: 4, channel_layout: STEREO, channels: 2, samples_per_second: 48000, sample_format: Float 32-bit, bytes_per_frame: 8, seek_preroll: 80000us, codec_delay: 312, has extra data: true, encryption scheme: Unencrypted, discard decoder delay: true, target_output_channel_layout: STEREO, target_output_sample_format: Unknown sample format, has aac extra data: false" 00:00:03.330 info "Failed to initialize DecryptingVideoDecoder" 00:00:03.330 info "Failed to initialize VaapiVideoDecoder" 00:00:03.343 info "Failed to initialize VpxVideoDecoder" 00:00:03.346 info "Failed to initialize Dav1dVideoDecoder" 00:00:03.363 kIsVideoDecryptingDemuxerStream false 00:00:03.363 kVideoDecoderName "FFmpegVideoDecoder" 00:00:03.363 kIsPlatformVideoDecoder false 00:00:03.363 info "Selected FFmpegVideoDecoder for video decoding, config: codec: h264, profile: h264 main, level: not available, alpha_mode: is_opaque, coded size: [854,480], visible rect: [0,0,854,480], natural size: [854,480], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}" 00:00:03.363 pipeline_state "kPlaying" 00:00:03.374 pipeline_state "kSeeking" 00:00:03.511 pipeline_state "kPlaying" 00:00:03.639 dimensions "854x480" 00:00:03.639 kResolution "854x480" 00:00:03.674 pipeline_buffering_state {"for_suspended_start":false,"state":"BUFFERING_HAVE_ENOUGH"} 00:00:29.143 info "Selected video track: []" 00:00:29.144 pipeline_buffering_state {"for_suspended_start":false,"state":"BUFFERING_HAVE_ENOUGH"} 00:01:06.018 info "Selected video track: [1]" 00:01:06.390 pipeline_buffering_state {"for_suspended_start":false,"state":"BUFFERING_HAVE_ENOUGH"} 00:02:46.398 kVideoPlaybackRoughness 4.295 00:02:46.398 kVideoPlaybackFreezing 0.066646 00:02:46.398 kFramerate 30 00:04:26.395 kVideoPlaybackRoughness 3.006 00:04:26.395 kVideoPlaybackFreezing 0.033335 00:04:26.395 kFramerate 30 00:06:06.525 kVideoPlaybackRoughness 5.228 00:06:06.525 kVideoPlaybackFreezing 0.09997 00:06:06.525 kFramerate 30 00:07:46.522 kVideoPlaybackRoughness 0.257 00:07:46.522 kVideoPlaybackFreezing 0.033336 00:07:46.522 kFramerate 30 00:09:26.519 kVideoPlaybackRoughness 6.037 00:09:26.519 kVideoPlaybackFreezing 0.033338 00:09:26.519 kFramerate 30 00:11:06.527 kVideoPlaybackRoughness 5.261 00:11:06.527 kVideoPlaybackFreezing 0.033346 00:11:06.527 kFramerate 30
There's anything wrong there?
There's some lines that I can add to the file path beyond "--use-gl=desktop --enable-features=VaapiVideoDecoder"?
Firefox works without a problem but nothing can make Vivaldi work.--
ModEdit: Title
-
@Panino
Hi, there is nothing wrong HW acceleration to encode video is not available on Linux, even Chrome or Edge for Linux doesn´t support it.
The switch--enable-features=VaapiVideoDecoder
does nothing.
May some Chromium browser have this enabled, you need to enable it when you compile the source code.Cheers, mib
-
@mib2berlin said in Can you tell me if there's anything wrong preventing my Vivaldi from using hardware video decode?:
@Panino
Hi, there is nothing wrong HW acceleration to encode video is not available on LinuxEncode? I'm talking about "Decode", playing videos with GPU acceleration.
-
As far as I know, hardware video decode not working in Chromium based browsers has been a long-standing issue on Linux. But I haven't looked into it in a while.
Probably the best resource for getting it to work would be here:
https://wiki.archlinux.org/title/Chromium#Hardware_video_acceleration -
@ugly said in Can you tell me if there's anything wrong preventing my Vivaldi from using hardware video decode?:
As far as I know, hardware video decode not working in Chromium based browsers has been a long-standing issue on Linux. But I haven't looked into it in a while.
Probably the best resource for getting it to work would be here:
https://wiki.archlinux.org/title/Chromium#Hardware_video_accelerationYes, I know, but there people here that swear it actually working on their computers.
-
Works nice in Vivaldi on Debian 11.5, uses VpxVideoDecoder decoding.
I set Override software rendering list (vivaldi://flags/#ignore-gpu-blocklist) to Enabled and restarted.vivaldi://media-internals on my Linux:
player_id: 40 created: 2022-11-19 15:43:11.542 UTC origin_url: https://www.youtube.com/ kFrameUrl: https://www.youtube.com/watch?v=0twDETh6QaI kFrameTitle: ROBLOX_OOF.mp3 - YouTube url: blob:https://www.youtube.com/f15de9fa-057d-407d-9e52-65f13ae400a9 kTextTracks: info: Effective playback rate changed from 0 to 1 kRendererName: RendererImpl pipeline_state: kPlaying duration: 7068.761 kVideoTracks: [object Object] kAudioTracks: [object Object] kIsAudioDecryptingDemuxerStream: false kAudioDecoderName: FFmpegAudioDecoder kIsPlatformAudioDecoder: false kIsVideoDecryptingDemuxerStream: false kVideoDecoderName: VpxVideoDecoder kIsPlatformVideoDecoder: false event: kPlay dimensions: 854x480 kResolution: 854x480 video_buffering_state: [object Object]
-
@Panino Have you tried this in console:
su root /opt/vivaldi/update-ffmpeg
and try again after login as regular Linux user.
-
@DoctorG said in Can you tell me if there's anything wrong preventing my Vivaldi from using hardware video decode?:
@Panino Have you tried this in console:
su root /opt/vivaldi/update-ffmpeg
and try again after login as regular Linux user.
Already updated.
That's why I came here, I already tried everything, I added every package I could find via Muon, enabled every flag, added to the file path, everything and nothing works on Vivaldi.
-
While I was investigating other problem, see here: https://www.reddit.com/r/linuxquestions/comments/zxqm4f/some_websites_only_play_video_on_windows_or_mac/ I found the solution.
After all I did the missing piece was the kubuntu-restricted-extras package. After installing it video acceleration finally started working!
Now that I got this far I may as well go all the way, right? Using Intel_GPU_TOP to see what's happening with the GPU while the video is playing:
It's a bit different from what shows when I use Firefox. On Firefox the "Render/3D" is much lower, almost half, and there's no activity to "VideoEnhance". What is being "enhanced"? And while only Vivaldi does it? Isn't there a way to disable this and lower the Render/3D for maximum efficiency?
-
***UN-SOLVED (16 February Update)
I'm stuck at version 5.7.2901.3, because video acceleration stopped working. I tried installing the new Stable version, installed the extension, switch the flags, added the command line. Still don't works.
I was thinking for some time to switch from the snapshots and use only the Stable, but now I can't put this plan to work.WHY IS VIDEO ACCELERATION SO HARD TO MAKE WORK ON LINUX?!
-
@Panino
Ah, this thread, I remember.
I don´t read back on your posts but to start with troubleshooting you need a second clean profile.
Create one, close all tabs, don´t install or change anything.https://help.vivaldi.com/desktop/tools/user-profiles/
This is vivaldi://gpu on my laptop, specs in my signature
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 Video Decode: Hardware accelerated Video Encode: Software only. Hardware acceleration disabled Vulkan: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated WebGPU: Disabled
Cheers, mib
-
This seems pointless, only thing that changed was Vivaldi, nothing else.
EDIT: downgraded again.
Latter maybe I'll try installing the Stable again and see what I can do to make it work. If it worked I was planing to switch from the Snapshot to the Stable.
-
@Panino
If you already do all there is nothing to do else.
I have nothing to install, change or use flags to have HW acceleration enabled in the latest snapshot on KDE 5.27.0-1.1, i5 UHD 620.
The Vivaldi team cant fix this.Cheers, mib
-
Just as a reminder, video acceleration never worked when using Wayland.
-
Seems that with time things changed internally, so I think I had to use another combination of flags.
The experiment flags are like this: https://i.imgur.com/sewMGym.jpg
And I added these to the file path: --enable-features=VaapiVideoDecoder, --use-gl=egl --disable-features=UseChromeOSDirectVideoDecoder
Finally, I succeeded changing to Vivaldi Stable.
(Sync don't sync the customized menus?) -
Hardware video decode only worked on Stable for a fleeting moment, than I gave up.
Just a reminder that I'm stuck at version 5.8.2955.3 because of this.
Today I update Stable to the current version and nothing changed. I checked flags and file paths again, but nothing makes hardware video decode works. -
@Panino said in SOLVED! (for the last time) This time on Stable - NEON | HW Video Acceleration:
I added these to the file path: --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder
works here (6.1.3035.50, AMD, X11) with those flags and the appropriate drivers and packages, but I am on
Arch
, so you could look again into the documentation of the wiki and try to find the Ubuntu "equivalents", or look for some official Ubuntu/Neon documentation.Also, use this for the videos that use the
av1
codec: https://chrome.google.com/webstore/detail/not-yet-av1/dcmllfkiihingappljlkffafnlhdpbai -
On the GPU page, on the snapshot where acceleration is working, at the very end it looks like this:
On Stable, no matter what I do, those fields remain blank.
I think Stable is using the wrong drivers? Because on some fields were appears "Mesa Intel(R) HD Graphics 520 (SKL GT2)" and other lines that include the Mesa driver, on the Stable is appears as "Google Inc. (Intel)".
Snapshot:
Stable:
Got me thinking, what if I can force the Stable to use the same driver the Snapshot is using?
But... I have no idea how to do that? And how each version is using different drivers? It's because the Stable is new and works differently, it has it's own driver? Even so, can I force it to use the Mesa driver? -
@Panino said in SOLVED! (for the last time) This time on Stable - NEON | HW Video Acceleration:
And how each version is using different drivers? It's because the Stable is new and works differently, it has it's own driver?
No -
"Google Inc. (Intel)".
means it's using Software rendering, not hardware.
Explains the "Video Acceleration" being blank as well I guess.Other than that, I can't help much with Linux and GPU driver problems.
-
@Panino said in SOLVED! (for the last time) This time on Stable - NEON | HW Video Acceleration:
on the snapshot where acceleration is working
You really sure about that? The only way to be absolutely sure is the picture I showed you, Hardware Decoder should be showing
true
, not what you see undervivaldi://gpu
. For example you see Video Decode: Hardware accelerated there but the textboxes in VA-Info are not showing any info.I checked
vivaldi://gpu
for my Snapshot, it is what you are showing for Stable.
UseX11
and skip the parameter--use-gl=egl
as I wrote above.@Pathduck said in SOLVED! (for the last time) This time on Stable - NEON | HW Video Acceleration:
"Google Inc. (Intel)". means it's using Software rendering, not hardware.
Explains the "Video Acceleration" being blank as well I guess.For strictly software rendering that would be
Swiftshader
, which is not in OP's case. ANGLE should be ok. OP needs additionally the parameter--enable-features=VaapiVideoDecoder
for the textboxes to show the VA values.The problem lies into that Chromium changes all the time, some things that used to work before don't quite work now.