--vo.
Recommended drivers
gpu-next
libplacebo-based renderer. The recommended default. Generally faster and higher quality than
gpu.gpu
General-purpose GPU renderer. Mature, widely supported, with extensive options for scaling and color management.
gpu-next
gpu-next is the default video output driver. It is based on libplacebo and supports nearly the same feature set as --vo=gpu, while being faster and higher quality in most cases. Some features may be intentionally omitted or behave differently.
gpu-next and gpu, see the GPU-Next vs GPU wiki page.
gpu
gpu is a general-purpose, customizable, GPU-accelerated output driver. It supports extended scaling methods, dithering, color management, custom shaders, HDR, and more.
gpu abstracts over several graphics APIs and windowing contexts, controlled with --gpu-api and --gpu-context.
Predefined profiles
- fast (maximum performance)
- high-quality (best rendering)
bilinear scaling and disables many quality-oriented features. Best for lower-end hardware.GPU API and context
Use--gpu-api to select the graphics API and --gpu-context to select the windowing backend.
--gpu-context values:
| Context | Description |
|---|---|
auto | Auto-select (default) |
x11 | X11/GLX (Linux, deprecated in favor of EGL) |
x11egl | X11/EGL |
x11vk | X11 Vulkan |
wayland | Wayland/EGL |
waylandvk | Wayland Vulkan |
drm | DRM/EGL (Linux, no desktop needed) |
d3d11 | Direct3D 11 (Windows) |
angle | D3D11 via ANGLE (Windows) |
win | Win32/WGL (Windows) |
winvk | Win32 Vulkan |
macvk | Vulkan on macOS (experimental) |
GPU renderer options
These options apply to both--vo=gpu and --vo=gpu-next.
Scaling
--scale (upscaling filter)
--scale (upscaling filter)
Controls the filter used when upscaling video.Common values:
bilinear, lanczos, ewa_lanczos, ewa_lanczossharp, ewa_lanczos4sharpest, mitchell, catmull_rom.List all available filters: mpv --scale=help--cscale (chroma upscaling filter)
--cscale (chroma upscaling filter)
Filter for upscaling chroma information in subsampled video. Defaults to the value of
--scale if unset.--dscale (downscaling filter)
--dscale (downscaling filter)
Filter applied when downscaling video. Defaults to
hermite.--correct-downscaling
--correct-downscaling
When using convolution filters, extends the filter size during downscaling for higher quality. Enabled by default.
--sigmoid-upscaling
--sigmoid-upscaling
Uses a sigmoidal color transform when upscaling to avoid emphasizing ringing artifacts. Enabled by default.
Color management
--target-colorspace-hint sets colorspace metadata on the display’s swapchain (useful for HDR passthrough). Supported on Wayland, D3D11, and winvk contexts. auto (default) only sets the hint when display parameters are known; yes always attempts to set it.
Dithering
--dither-depth to your display’s bit depth is recommended, as bit depth cannot be auto-detected on most platforms.
Other video output drivers
null
null
Produces no video output. Useful for benchmarking.
xv (Linux/X11 only)
xv (Linux/X11 only)
Uses the XVideo extension for hardware-accelerated display. Compatible but low-quality, with OSD and subtitle issues. For compatibility with old systems only.
vaapi (Linux only)
vaapi (Linux only)
Intel VA API video output with hardware decoding support. Low quality with OSD issues. Prefer
--vo=gpu --hwdec=vaapi instead.vdpau (Linux/X11 only)
vdpau (Linux/X11 only)
VDPAU display and optional hardware decoding. No reason to use this over
--vo=gpu --hwdec=nvdec.drm (Linux, no desktop required)
drm (Linux, no desktop required)
Direct Rendering Manager output using Kernel Mode Setting. Use when no graphical environment is installed. Does not support hardware acceleration (use the
drm backend for --vo=gpu for that).dmabuf-wayland (Wayland, experimental)
dmabuf-wayland (Wayland, experimental)
Wayland output designed for DRM stateless or VA API hardware decoding. Avoids GPU-to-CPU copies. Requires
--hwdec=auto-safe for best results.direct3d (Windows only)
direct3d (Windows only)
Uses the Direct3D interface. For systems without proper OpenGL drivers and where ANGLE does not perform well.
sdl
sdl
SDL 2.0+ render output. For systems where no proper graphics drivers are available.