GPU screen recorder is an awesome open source program that allows you to record a window or screen using NVENC, a technology specific to Nvidia cards that is used to encode video without using the CPU. This is extremely useful for any low-spec PC, and you would otherwise need a very powerful multicore processor to be able to game and record at the same time – especially if you game at 4K. Furthermore, this tool records in h.265, a very bandwidth efficient compression algorithm that does wonders for your disk space.
Why not OBS?
Gpu screen recorder uses less CPU, and does not harm your fps, unlike OBS. It also feels smoother, with less stuttering. This is because OBS has to copy frames between the host and device; whereas GSR uses CUDA and runs entirely on the GPU. Furthermore, I’ve experienced a lot of difficulty getting OBS to record in h.265 (I believe OBS depends on ffmpeg which may not be packaged correctly for your distribution).
Is Wayland supported?
Not as far as I know. I attempted to run it on the Plasma Wayland session but was unable to get it to work.
Does it work with PRIME?
Yes, but it can only record a window. Make sure your game is running in borderless window mode instead of true fullscreen.
Installation guide
If you are on Arch, install the AUR package of the same name. Else, clone the git repository with git clone https://repo.dec05eba.com/gpu-screen-recorder
. Make sure to install git if it isn’t already installed (sudo apt install git
on Ubuntu). Also install xdotool
if it is not already installed, using your package manager.
Change to the newly created directory. If you are an Ubuntu user, run sudo ./install_ubuntu.sh
Otherwise you will have to install the dependencies yourself and compile the program.
Now, go to this Github link and select Code -> Download ZIP. PRIME users, SKIP this step. Extract the archive, then run sudo ./patch-fbc.sh
.
Usage
To record the whole screen:
gpu-screen-recorder -w "screen" -c mp4 -f 60 -a "$(pactl get-default-sink).monitor" -o test_video.mp4
You may replace test_video.mp4 with a more useful name.
To record a window:
gpu-screen-recorder -w $(xdotool selectwindow) -c mp4 -f 60 -a "$(pactl get-default-sink).monitor" -o test_video.mp4
Make sure to start the game beforehand and select its window by clicking on it. Note: xdotool can only see XWayland windows, not native Wayland windows. And I haven’t tested it with Gamescope yet.
Why does this guide exist?
Because documentation is scarce and it took me a lot of time to setup. Also, a lot of people don’t know this tool exists, and may be struggling with OBS.
No comments:
Post a Comment