sudo apt install vainfo
vainfo
# 해당 기기의 가속 가능한 코덱 정보 출력
libva info: VA-API version 1.8.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.8 (libva 2.8.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.2.0 ()
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointVLD
VAProfileH264High : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointVLD
on-demand 나, intel 모드로 두면, intel vaapi 드라이버로 잘 작동한다.# 기본으로 intel-media-va-driver 가 설치되는데 non-free 버전으로 교체 sudo apt install intel-media-va-driver-non-free libva-drm2 libva-x11-2
sudo apt install i965-va-driver-shaders libva-drm2 libva-x11-2
# Utilities sudo apt install intel-gpu-tools # intel gpu 사용상황 확인 - Video 항목의 % 가 올라가면 GPU Video Encoding 을 사용하는 것이다. sudo intel_gpu_top
fglrx 드라이버 설치. fglrx-updates와 fglrx중 잘 안되는게 있을 수 있으므로 번갈아 해 볼 것.vaapi로 선택.xvba-va-driver 설치libvdpau1 설치 : 이것은 vdpau 드라이버임. vaapi 와는 다른 형식의 가속기능.prime-select nvidia 상태라도 intel GPU를 통해 vaapi 비디오 encoding/decoding기능이 작동한다.vainfo 명령의 결과로 아래와 유사하게 intel GPU 관련 값이 나와야 한다.libva info: VA-API version 1.20.0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_20 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.20 (libva 2.12.0) vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.1.0 ()
nvidia-vaapi-driver 설치할 필요가 없다.sudo apt install nvidia-vaapi-driver
sudo add-apt-repository ppa:sander-vangrieken/vaapi sudo apt-get update sudo apt-get install mplayer-vaapi
-vo vaapi 혹은 -vo vdpau옵션을 지정한다.mpv-handler로 브라우저 H/W 가속 가능.Exec)에 VAAPI 활성화 옵션을 모두 추가해주고 잠시 기다리면 이제 항상 VAAPI 활성 상태로 크롬이 실행된다.mkdir -p ~/.local/share/applications cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications/google-chrome.desktop
# 2024/12 google-chrome-stable --use-gl=angle --use-angle=gl \ --enable-features=AcceleratedVideoEncoder,AcceleratedVideoDecodeLinuxGL,VaapiOnNvidiaGPUs \ --ignore-gpu-blocklist --disable-gpu-driver-bug-workaround
--ozone-platform-wayland 옵션을 켜면 iBus 한글 입력이 안됐음.
해당 옵션을 제거해도 아무 문제없이 하드웨어 디코딩이 작동했으므로 옵션 제거.
Block AV1 해 둠.sudo apt install libva-drm2 libva-x11-2
sudo dpkg -i vdpau-va-driver_0.7.4-7ubuntu1_ppa2_20.04.1_amd64.deb \
libvdpau1_1.4-2_ubuntu20.04.1_amd64.deb
sudo apt-mark hold libvdpau1 # libvdpau1 이 구버전이라서 버전업 중단시킴.
~/.config/environment.d/999-mozilla-vaapi.confMOZ_ENABLE_WAYLAND=1
nvidia-vaapi-driver : 현재 flatpak 에서 nvidia-vaapi-driver 를 지원하지 않기 때문에 복잡한 설정 필요함.nvidia-vaapi-driver 버전이 바뀔 때 마다 재실행해줘야함.#!/bin/sh
DRI_PATH=${HOME}/.var/app/org.mozilla.firefox/dri
echo "Clearing firefox flatpak overrides"
flatpak override --user --reset org.mozilla.firefox
echo "Adding firefox flatpak overrides"
flatpak override --user --env=LIBVA_DRIVER_NAME=nvidia \
--env=LIBVA_DRIVERS_PATH=${DRI_PATH} \
--env=LIBVA_MESSAGING_LEVEL=1 \
--env=MOZ_DISABLE_RDD_SANDBOX=1 \
--env=NVD_BACKEND=direct \
org.mozilla.firefox
# uncomment the following if you use keepass running on the host
# flatpak override --user --filesystem=xdg-run/app/org.keepassxc.KeePassXC org.mozilla.firefox
echo "Copying nvidia vaapi driver into ${DRI_PATH}"
mkdir -p ${DRI_PATH}
cp /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so ${DRI_PATH}/nvidia_drv_video.so
cat <<"EOF"
Now open about:config and change `gfx.webrender.all` and `media.ffmpeg.vaapi.enabled` to true.
EOF
flatpak info –show-runtime org.mozilla.firefox 실행 결과 버전에 맞게 ffmpeg-full flatpak 설치flatpak info --show-runtime org.mozilla.firefox # 결과가 22.08 이라면 flatpak install org.freedesktop.Platform.ffmpeg-full//22.08
intel_gpu_top 명령에서 Video 항목이 증가하는지 확인nvidia-smi -q -g 0 -d UTILIZATION -l 1 에서 Decoder 항목이 증가하는지 확인.