Complete guide for setting up video playback with hardware acceleration on Ubuntu 25.10 with NVIDIA GPU.
- OS: Ubuntu 25.10 (Questing Quetzal)
- Kernel: Linux 6.17.0-6-generic
- GPU: NVIDIA GeForce RTX 4080 SUPER
- Driver: NVIDIA 580.95.05 (open kernel)
- Date Configured: 2025-11-19
The system was unable to play video files due to missing multimedia codecs and video acceleration libraries.
This repository documents the complete configuration process to enable:
- Video playback for common formats (H.264, HEVC, VP8, VP9, AV1, etc.)
- Hardware-accelerated video decoding/encoding using NVIDIA GPU
- Multiple video players (VLC, MPV)
- GStreamer multimedia framework support
ubuntu-restricted-extras- Proprietary codecs (H.264, AAC, MP3, etc.)gstreamer1.0-plugins-bad- Additional video/audio codecsgstreamer1.0-plugins-ugly- MP3, x264, and essential codecsgstreamer1.0-libav- FFmpeg wrapper for GStreamerffmpeg- Core multimedia framework (v7.1.1)
vlc- Full-featured media player (v3.0.21)mpv- Lightweight, powerful media player (v0.40.0)
Complete list includes codec libraries, GStreamer plugins, Qt5 libraries, and multimedia dependencies.
- VDPAU: NVIDIA's legacy video API
- CUDA/CUVID: Native NVIDIA hardware decoding
- NVENC/NVDEC: Hardware encoding/decoding
- Decoders: AV1, H.264, HEVC, VP8, VP9, MPEG1/2/4, VC1, MJPEG (CUVID)
- Encoders: AV1, H.264, HEVC (NVENC)
See INSTALLATION.md for detailed step-by-step instructions.
# Quick install (all packages)
sudo apt update
sudo apt install -y ubuntu-restricted-extras \
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly \
gstreamer1.0-libav ffmpeg vlc mpvUsing VLC:
vlc /path/to/video.mp4Using MPV:
mpv /path/to/video.mp4Using FFmpeg:
ffmpeg -i /path/to/video.mp4 -f null -See NVIDIA_ACCELERATION.md for complete setup guide.
To enable VA-API support for broader application compatibility:
# Install NVIDIA VA-API driver
sudo apt install nvidia-vaapi-driver
# Install diagnostic tools
sudo apt install vdpauinfo vainfo libva-utilsSettings → Input/Codecs → Hardware-accelerated decoding → VA-API video decoder via DRM
Add to ~/.config/mpv/mpv.conf:
hwdec=nvdec
vo=gpu
# Check NVIDIA GPU status
nvidia-smi
# List hardware acceleration methods
ffmpeg -hwaccels
# Test NVIDIA decoding
ffmpeg -hwaccel cuda -i video.mp4 -f null -
# Test NVIDIA encoding
ffmpeg -i input.mp4 -c:v h264_nvenc -preset p7 -tune hq output.mp4
# Check VDPAU (after installing vdpauinfo)
vdpauinfo
# Check VA-API (after installing vainfo and nvidia-vaapi-driver)
vainfo.
├── README.md # This file
├── INSTALLATION.md # Detailed installation steps
├── NVIDIA_ACCELERATION.md # NVIDIA acceleration guide
├── install.sh # Automated installation script
└── configs/
├── mpv.conf # MPV configuration
└── vlc-settings.md # VLC configuration guide
- Restart your media player
- Try a different player (VLC vs MPV)
- Check codec support:
ffmpeg -codecs | grep <format> - Verify hardware acceleration:
nvidia-smi
- Check NVIDIA driver:
nvidia-smi - Verify NVDEC libraries:
dpkg -l | grep libnvidia-decode - Test with ffmpeg:
ffmpeg -hwaccel cuda -i video.mp4 -f null -
Documentation is provided as-is for personal use.
This is a personal configuration repository. Feel free to fork and adapt for your own use.