Hardware acceleration for integrated Intel HD Graphics 515
-
I want to raise this issue in the topic "Features requests" but decided to ask first here. Maybe someone knows more about hw-acceleration on new Intel video cards?
The text of the appeal:
I'm on Intel
Core
m5-6Y54(with integrated Intel
HD Graphics 515). I can't watch any 720p60 youtube clips on this hw(I can watch 1080p30 but it still software decoding).
Now on Windows hw-acceleration for this card support only Edge. On Linux - only Epiphany(through gstreamer-vaapi).
As I know, chromium use ffmpeg for playing multimedia content. On Linux we need to install vivaldi-ffmpeg-codecs for multimedia support. So ffmpeg have qsv plugin for hw-accel on newest cards(and enabled from FFMPEG 2.8).
Is it possible to use one of this solutions(ffmpeg-qsv or gstreamer) in next releases?
-
If you find it like Gwen-Dragon said, your Intel video accerleration should be OK.
Especially on Youtube, videos default are played with codec VP9. For VP9, accerleration works starting with Kaby-Lake (HD Graphics 610+). You can force playback in h264 with the extension h264ify - then accerleration on Youtube also works with your chip.
-
@gwen-dragon I'm already have installed and configured intel drivers and vaapi. And acceleration work in VLC, Epiphany(as I said before) and other multimedia players that support acceleration(based on mplayer, mpv or gstreamer).
I activate vivaldi://flags/#ignore-gpu-blacklist and on vivaldi://gpu it says that acceleration should work.
But on the practice browser render all videos through CPU(also you can read about this problem in this reddit thread). I can't see any 720p60fps youtube videos because of my CPU loading to 100% and start heating.
And this is not a Linux problem. On Windows I have exactly same experience. All browsers except Edge render video through CPU when m-players(VLC, mpc-hc) use hardware acceleration(DXVA on Windows). -
You can easily check if VAAPI is actually running by testing with mpv and youtube-dl:
mpv --no-config --vo=vaapi --ytdl-format=bestvideo[height=720][vcodec!=vp9]+bestaudio/best https://youtu.be/0-Retnj3TsA
The command plays a youtube video in h264 format with acceleration enabled. If the output in terminal displays
VO: [vaapi] 1280x720 yuv420p
acceleration is running.In addition:
What is shown invivaldi://media-internals
when you are playing this Video in 1080p? h264 or vp9? -
@wernerfp Lest anyone doubt that I have configured hw-acceleration in system and that it don't work in vivaldi, I'm recorded this video. The tests were conducted on this video
-
-
@wernerfp h264ify already installed on the video and browser was restarted after it install.
UPD.: Stop, I'm test this video again - now its realy use h264 and ffmpegdecoder!
But CPU steel loaded over 50%. Similar load CPU have when I disable VAAPI in VLC(vlc also use ffmpeg):- VLC with VAAPI(vlc use 720p by default on youtube)
- VLC without VAAPI:
How can I find out if vivaldi-ffmpeg-decoder realy use VAAPI? vivaldi-ffmpeg-codecs don't depend from system ffmpeg package, that has h264_vaapi:
# ffmpeg -codecs | grep -i h264 DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_v4l2m2m h264_vdpau h264_cuvid ) (encoders: libx264 libx264rgb h264_nvenc h264_v4l2m2m h264_vaapi nvenc nvenc_h264 )
- VLC with VAAPI(vlc use 720p by default on youtube)
-
Now everything is fine. CPU load should be similar to MPV and also 1440p will run smoothly.
The command
vainfo
(libva-utils) shows the codecs supported by your Intel graphics card and ffmpeg. As far as I know, there is no difference to ffmpeg-codecs. -
@hss said
But CPU steel loaded over 50%. Similar load CPU have when I disable VAAPI in VLC(vlc also use ffmpeg):
Oh, I had overlooked that between screenshots, sorry.
If I summarize it properly:
~90% CPU (4 core) | Vivaldi | 1080p | vp9
~50% CPU (4 core) | Vivaldi | 1080p | h264
1080p=2,073,600pxThe difference is significant I think.
~73% CPU (4 core) | VLC | 720p | h264 | software rendering
~18% CPU (4 core) | VLC | 720p | h264 | hw-acceleration
720p = 921,600pxBy the way: Quality of VLC's hw video rendering is very poor. Please compare banding on this video: https://youtu.be/po5UZnvKZ28
For me your test results seem OK.
-
@wernerfp said in Harware acceleration for integrated video Intel HD Graphics 515:
Now everything is fine
I don't think so. I tested this video just now. I were download 1080p from youtube(muted) and test it in players.
- VLC with VAAPI and mpv with --hwdec=vaapi loads CPU to 3-5% at all playing time.
- mpv without --hwdec=vaapi and Vivaldi loads CPU to 13-16% first minute and at some clip point they both jump up to 100% and then go down to 60-70% of avg(from all 4 threads) CPU usage. At this moments video freezes.
I were use local 1080p copy of this video in all test.
Now I can definitely say that Vivaldi don't use VAAPI acceleration of my GPU. Yes, with h264ify I can see videos more smoothly but it still software rendering and still freezes exists.
P.S.: If I bad explain in English, I can record new screencast.
-
# vainfo libva info: VA-API version 1.0.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_0 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.0 (libva 2.0.0) vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 2.0.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP VAProfileH264ConstrainedBaseline: VAEntrypointFEI VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264Main : VAEntrypointEncSliceLP VAProfileH264Main : VAEntrypointFEI VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264High : VAEntrypointEncSliceLP VAProfileH264High : VAEntrypointFEI VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointEncPicture VAProfileVP8Version0_3 : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice
-
@wernerfp said in Harware acceleration for integrated video Intel HD Graphics 515:
For me your test results seem OK.
Please read my last 2 messages.
-
@hxss said
Now I can definitely say that Vivaldi don't use VAAPI acceleration of my GPU.
Maybe so. I'm not sure that it is a Vivaldi problem. Firefox (in Arch) directly uses ffmpeg (
about:config | layers.acceleration.force-enabled;true
). CPU load by Vivaldi and Firefox in h264 is identical - at least on my systems.If the problem can't be solved with your GPU, you may enjoy a workaround: I'm using a starter "MPV stream" which points to a bash script that fetches video urls from clipboard and starts them with mpv:
#!/bin/sh CLIP=$(xsel -bo) TIME=$(date +%T) NAME=$(echo $CLIP | sed -e 's/?.*$//' -e 's/.*\///') TITLE=$(echo "Start $TIME $NAME") mpv --deband --title="$TITLE" --force-media-title="$TITLE" "$CLIP" & exit
-
This is from Win10. But this is software rendering because VLC without acceleration on windows load CPU to same 25-30%
-
@gwen-dragon Done. Bug report sent.
-
https://aur.archlinux.org/packages/chromium-vaapi-bin
The only browser with vaapi support on linux -
Ppafflick moved this topic from Vivaldi for Linux on