Skip to content

Instantly share code, notes, and snippets.

@c0m4r
Created February 9, 2026 20:24
Show Gist options
  • Select an option

  • Save c0m4r/b8602d58d64fb89d0e69ff6091bf007a to your computer and use it in GitHub Desktop.

Select an option

Save c0m4r/b8602d58d64fb89d0e69ff6091bf007a to your computer and use it in GitHub Desktop.
Spectacle produces empty videos Arch/NVIDIA/Wayland/VAAPI

Fix spectacle producing empty videos

Arch/NVIDIA/Wayland/VAAPI

Solution

TL;DR => try:

export LIBVA_DRIVER_NAME=""
spectacle

If it works make it permanent:

# Create environment override
mkdir -p ~/.config/systemd/user/app-org.kde.spectacle.service.d
cat > ~/.config/systemd/user/app-org.kde.spectacle.service.d/override.conf << 'EOF'
[Service]
Environment="LIBVA_DRIVER_NAME="
EOF

# Reload systemd user daemon and restart the service
systemctl --user daemon-reload
systemctl --user restart app-org.kde.spectacle.service 2>/dev/null || true

Why

Spectacle is attempting to use VA-API for hardware-accelerated encoding during screen recording, which fails because NVIDIA doesn't expose NVENC (encoding) capabilities through VA-API on Linux.

Logs

spectacle
kpipewire_vaapi_logging: VAAPI: VA-API NVDEC driver [direct backend] in use for device "/dev/dri/renderD129"
[in @ 0x7fb380052f80] Setting BufferSourceContext.pix_fmt to a HW format requires hw_frames_ctx to be non-NULL!
kpipewire_record_logging: Failed to create the buffer filter
[libx264 @ 0x7fb380063700] -qscale is ignored, -crf is recommended.
[libx264 @ 0x7fb380063700] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x7fb380063700] profile Main, level 6.0, 4:2:0, 8-bit
kf.kio.workers.file: copy() QUrl("file:///tmp/Spectacle.EeRXEf/Screencast_20260209_210202.mp4") to QUrl("file:///home/test/Videos/Screencasts/Screencast_20260209_210202.mp4") mode= -1
qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version n8.0.1 GPL version 3 or later
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/test/Videos/Screencasts/Screencast_20260209_210202.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf62.3.100
  Duration: N/A, bitrate: N/A

pacman -Q | grep -E "libva|nvidia"
lib32-libva 2.22.0-1
lib32-libva-intel-driver 2.4.1-2
lib32-nvidia-utils 590.48.01-1
libva 2.22.0-1
libva-intel-driver 2.4.1-5
libva-nvidia-driver 0.0.15-1
libva-utils 2.22.0-1
linux-firmware-nvidia 20260110-1
linux618-nvidia-open 590.48.01-9
mhwd-nvidia 590.48.01-2
mhwd-nvidia-390xx 390.157-21
mhwd-nvidia-470xx 470.256.02-15
mhwd-nvidia-570xx 570.211.01-1
mhwd-nvidia-575xx 575.64.05-3
nvidia-driver-assistant 0.23.48.01-6
nvidia-prime 1.0-5
nvidia-settings 590.48.01-2
nvidia-utils 590.48.01-2
opencl-nvidia 590.48.01-2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment