Що потрібно: драйвери та бібліотеки
Усе робимо через термінал Linux — коротко й чітко. Мета — встановити бібліотеки VA‑API/VDPAU, відеодрайвери Mesa або пропрієтарні, а також утиліти для тесту.
Debian/Ubuntu/Pop!_OS/Linux Mint (apt)
sudo apt update
sudo apt install -y \
libva2 libvdpau1 mesa-va-drivers mesa-vdpau-drivers \
intel-media-driver i965-va-driver \
vainfo vdpauinfo ffmpeg mpv vlc
Примітки: intel-media-driver (iHD) — для сучасних Intel, i965-va-driver — для старих Intel (до Gen8). Для AMD достатньо Mesa-пакетів. Для NVIDIA — пропрієтарний драйвер + libvdpau1.
Fedora (dnf)
sudo dnf install -y \
libva libva-utils intel-media-driver \
mesa-dri-drivers mesa-vdpau-drivers libvdpau vdpauinfo \
ffmpeg mpv vlc
Arch/Manjaro (pacman)
sudo pacman -Syu --noconfirm \
libva-utils libva-mesa-driver intel-media-driver \
libvdpau mesa-vdpau vdpauinfo ffmpeg mpv vlc
openSUSE (zypper)
sudo zypper install -y \
libva2 libva-utils intel-media-driver \
libvdpau1 Mesa-dri Mesa-vdpau vdpauinfo \
ffmpeg mpv vlc
Про NVIDIA: VDPAU працює з пропрієтарним драйвером (рекомендовано). VA‑API на NVIDIA частіше потребує прошарку (libva-vdpau-driver або спільнотного nvidia-vaapi-driver), але стабільність не гарантована.
Перевірка: чи працює VA‑API/VDPAU
Спочатку дивимось, які кодеки доступні. Це базовий крок для оптимізації продуктивності у відео.
vainfo | grep -E "H264|HEVC|VP9|AV1" || echo "VA-API проблемка 😅"
vdpauinfo | grep -E "H264|HEVC|VP9|AV1" || echo "VDPAU проблемка"
Тест програвання в mpv (перевірте статистику клавішею i, має бути hwdec):
mpv --hwdec=auto --vo=gpu-next ~/Videos/test-4k.mp4
Тест FFmpeg без запису (лише декодування):
# VA-API
ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i test-4k.mp4 -f null -
# VDPAU
ffmpeg -hwaccel vdpau -i test-4k.mp4 -f null -
На ноутбуках з двома GPU (iGPU+dGPU) можна примусово вибрати дискретну:
DRI_PRIME=1 mpv --hwdec=auto test-4k.mp4
Включення в браузерах і плеєрах (GUI Linux)
Firefox
- Увімкніть Wayland для кращої підтримки VA‑API: запускайте з
MOZ_ENABLE_WAYLAND=1.
MOZ_ENABLE_WAYLAND=1 firefox &
- В about:config встановіть
media.ffmpeg.vaapi.enabled = true. - За потреби — додайте розширення, що примушує H.264 (наприклад, для YouTube).
Chromium/Chrome
Запуск із VA‑API (Wayland):
chromium --enable-features=VaapiVideoDecodeLinuxGL,UseOzonePlatform \
--ignore-gpu-blocklist --ozone-platform-hint=wayland &
На X11 можна спробувати --use-gl=desktop. Перевіряйте в chrome://media-internals.
VLC і Celluloid (mpv GUI)
- VLC: Налаштування → Вхід/кодеки → Hardware-accelerated decoding → Automatic/VA‑API/VDPAU.
- Celluloid: Додайте опцію
--hwdec=autoабо увімкніть її в Налаштуваннях.
Альтернативні способи та автоматизація
Транскодування через VA‑API (приклад H.264 → H.264; апаратний decode+encode):
ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i in.mp4 \
-vf format=nv12,hwupload -c:v h264_vaapi -b:v 5M -maxrate 6M -bufsize 10M \
-c:a copy out.mp4
Flatpak-програми інколи не бачать /dev/dri. Додайте доступ і змінні середовища:
flatpak override --user --device=all --env=LIBVA_DRIVER_NAME=iHD org.mozilla.Firefox
Типові проблеми та як їх виправити
1) Нема доступу до /dev/dri/renderD128
# Додайте користувача в групу video, потім перелогіньтеся
sudo usermod -aG video "$USER"
2) Невірний VA‑API драйвер
Для Intel виберіть iHD (нові) або i965 (старі):
export LIBVA_DRIVER_NAME=iHD # або i965
vainfo | head
Для VDPAU за потреби:
export VDPAU_DRIVER=radeonsi # AMD
export VDPAU_DRIVER=nvidia # NVIDIA
3) Плоска плавність/tearing на X11
- Вмикайте VSync у композитному менеджері.
- На NVIDIA спробуйте ForceFullCompositionPipeline у nvidia-settings.
4) Браузер Flatpak без прискорення
Перевірте, що встановлено Mesa-платформу й є доступ до /dev/dri. Додайте overrides (див. вище) та перезапустіть.
5) Гібридні системи (Optimus/PRIME)
Запускайте плеєр із DRI_PRIME=1 або використовуйте інструменти перемикання GPU у вашому дистрибутиві.
FAQ
Чим відрізняються VA‑API та VDPAU?
VA‑API — крос-вендор API (Intel/AMD через Mesa, інколи NVIDIA через прошарок). VDPAU — історично для NVIDIA, але є підтримка через Mesa для AMD.
Як зрозуміти, що декодування реально апаратне?
У mpv натисніть i — має бути hwdec. В FFmpeg відсутні повідомлення про «Using software decoder». Також vainfo/vdpauinfo мають показувати потрібні кодеки.
Чи працює це в віртуалках?
Зазвичай ні або обмежено. Потрібна GPU-передача (PCI passthrough) чи спеціальні драйвери гіпервізора.
Браузер все одно гріє CPU на YouTube
Увімкніть VA‑API (див. вище), встановіть розширення, що віддає перевагу H.264, вимкніть зайві фільтри/покращення. Перевіряйте chrome://media-internals або about:support.
Як повернути змінні середовища назад?
Закрийте термінал або видаліть експорти з вашого shell-профілю (~/.bashrc). Тимчасові export діють лише для поточної сесії.
Порада від Kernelka
Тримайте Mesa і ядро оновленими — це часто дає безкоштовний приріст стабільності. Для швидкої перевірки навантаження скористайтесь mpv --hwdec=auto --vo=gpu-next та порівняйте споживання в htop/top. Маленький лайфхак: якщо відео смикається, спробуйте Wayland у вашому середовищі — часто це рятує ситуацію 😉
Підсумок
- Встановіть необхідні драйвери VA‑API/VDPAU та утиліти (
vainfo,vdpauinfo,ffmpeg,mpv). - Перевірте підтримку кодеків і протестуйте програвання з
--hwdec. - Налаштуйте браузери та плеєри у GUI Linux для апаратного декодування.
- За потреби задайте
LIBVA_DRIVER_NAME/VDPAU_DRIVER, виправте доступ до /dev/dri і групуvideo. - Використовуйте Flatpak overrides і Wayland, якщо є проблеми.

Прокоментувати
На сайті відображається лише твоє ім'я та коментар. Електронна пошта зберігається виключно для зв'язку з тобою за потреби та в жодному разі не передається стороннім особам.