Gpu-screen-recorder
gpu-screen-recorder is a screen recorder that has minimal impact on system performance by recording your monitor using the GPU only, similar to ShadowPlay on Windows.
Supported codecs
Video
- H264 (default on Intel)
- HEVC (default on AMD and NVIDIA)
- AV1
Audio
- Opus (default)
- AAC
- FLAC
Installation
environment.systemPackages = with pkgs; [
gpu-screen-recorder # CLI
gpu-screen-recorder-gtk # GUI
];
Troubleshooting
The possibility of this error arising exists if you possess an NVIDIA graphics card, as the package does not include the NVIDIA X11 libraries in its wrapper by default.
- Make sure your drivers are installed.
- Install the missing the NVENC patch for your card. nvidia-patch is a great overlay which you can use
- Override the package build inputs and add the library to the wrapper.
(gpu-screen-recorder.overrideAttrs (oldAttrs: rec { buildInputs = with pkgs; [ xorg.libXcomposite libpulseaudio ffmpeg wayland libdrm libva xorg.libXrandr linuxKernel.packages.linux_xanmod_stable.nvidia_x11 ]; postInstall = '' install -Dt $out/bin gpu-screen-recorder gsr-kms-server mkdir $out/bin/.wrapped mv $out/bin/gpu-screen-recorder $out/bin/.wrapped/ makeWrapper "$out/bin/.wrapped/gpu-screen-recorder" "$out/bin/gpu-screen-recorder" \ --prefix LD_LIBRARY_PATH : ${pkgs.libglvnd}/lib \ --prefix LD_LIBRARY_PATH : ${pkgs.linuxKernel.packages.linux_xanmod_stable.nvidia_x11}/lib \ --prefix PATH : $out/bin ''; }))