How to use libvmaf_cuda on Windows: an easy-to-follow guide (WSL2 + Docker + NVIDIA)
TL;DR: Running GPU-accelerated VMAF on Windows is surprisingly painful. After spending hours fighting broken builds and undocumented errors, the only reliable path I found is WSL2 + Docker Desktop + NVIDIA Container Toolkit + a CUDA-enabled FFmpeg . This guide walks you through the whole setup using the easyVmaf project, so you can skip the trial-and-error I went through. This guide uses easyVmaf…
The Problem
If you've ever attempted to calculate VMAF (Video Multimedia Quality Assessment Framework) on Windows, you likely know that:
- The standard libvmaf filter operates on the CPU, which is slow.
- libvmaf_cuda (GPU-accelerated version) does not exist in any prebuilt Windows binaries (neither in gyan.dev nor BtbN, and nowhere else that I am aware of).
- Most online resources are fragmented, outdated, or simply nonexistent.
Prerequisites
Before commencing, ensure you possess:
- Windows 10 version 2004 or Windows 11
- An NVIDIA GPU with CUDA support (I am using an RTX 3060 Mobile)
- The latest NVIDIA drivers (version 525 or higher for CUDA 12.x)
- At least 30 GB of free disk space for WSL, Docker, and images
- 16 GB of RAM (16 GB is recommended due to WSL2's memory-intensive nature)
- Note: Do not install NVIDIA drivers within WSL, as WSL automatically utilizes the Windows drivers. Installing Linux drivers within WSL will disrupt GPU passthrough.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.