aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-07-28 19:30:18 +0200
committerdec05eba <dec05eba@protonmail.com>2024-07-28 19:34:48 +0200
commit5e3a3714dd020d1a1b45f8cbc6239ba15da580db (patch)
tree4fd01cdadb8ddaf4273673b741dcf181417f4f08
parentd6fb7c6045413679f09a57d64503caef93750529 (diff)
Install modprobe gsr-nvidia.conf on install
-rw-r--r--README.md6
-rw-r--r--meson.build4
-rw-r--r--meson_options.txt1
3 files changed, 8 insertions, 3 deletions
diff --git a/README.md b/README.md
index 34f5724..e9ff757 100644
--- a/README.md
+++ b/README.md
@@ -129,11 +129,11 @@ hotkey settings on your system and choose a hotkey to run the script `scripts/sa
If you installed GPU Screen Recorder from AUR or from source and you are running a distro that uses systemd then you will have a systemd service installed that can be started with `systemctl enable --now --user gpu-screen-recorder`. This systemd service runs GPU Screen Recorder on system startup.\
It's configured with `$HOME/.config/gpu-screen-recorder.env` (create it if it doesn't exist). You can look at [extra/gpu-screen-recorder.env](https://git.dec05eba.com/gpu-screen-recorder/plain/extra/gpu-screen-recorder.env) to see an example.
You can see which variables that you can use in the `gpu-screen-recorder.env` file by looking at the `extra/gpu-screen-recorder.service` file. Note that all of the variables are optional, you only have to set the ones that are you interested in.
-You can use the `scripts/save-replay.sh` script to save a replay and by default the systemd service saves videos in `$HOME/Videos`.\
-If you are using a NVIDIA GPU then it's recommended to set PreserveVideoMemoryAllocations=1 as mentioned in the section below.
+You can use the `scripts/save-replay.sh` script to save a replay and by default the systemd service saves videos in `$HOME/Videos`.
# Issues
## NVIDIA
-Nvidia drivers have an issue where CUDA breaks if CUDA is running when suspend/hibernation happens, and it remains broken until you reload the nvidia driver. To fix this, either disable suspend or tell the NVIDIA driver to preserve video memory on suspend/hibernate by using the `NVreg_PreserveVideoMemoryAllocations=1` option. You can run `sudo extra/install_preserve_video_memory.sh` to automatically add that option to your system. Reboot your computer after setting this option/running that install script.
+Nvidia drivers have an issue where CUDA breaks if CUDA is running when suspend/hibernation happens, and it remains broken until you reload the nvidia driver. `extra/gsr-nvidia.conf` will be installed by default when you install GPU Screen Recorder and that should fix this issue. If this doesn't fix the issue for you then your distro may use a different path for modprobe files. In that case you have to install that `extra/gsr-nvidia.conf` yourself into that location.
+You have to reboot your computer after installing GPU Screen Recorder for the first time for the fix to have any effect.
# Examples
Look at the [scripts](https://git.dec05eba.com/gpu-screen-recorder/tree/scripts) directory for script examples. For example if you want to automatically save a recording/replay into a folder with the same name as the game you are recording.
diff --git a/meson.build b/meson.build
index 4a86e76..779f476 100644
--- a/meson.build
+++ b/meson.build
@@ -78,3 +78,7 @@ endif
if get_option('capabilities') == true
meson.add_install_script('extra/meson_post_install.sh')
endif
+
+if get_option('nvidia_suspend_fix') == true
+ install_data(files('extra/gsr-nvidia.conf'), install_dir : '/etc/modprobe.d/gsr-nvidia.conf')
+endif \ No newline at end of file
diff --git a/meson_options.txt b/meson_options.txt
index f36710c..4b35b81 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,4 @@
option('systemd', type : 'boolean', value : false, description : 'Install systemd service file')
option('capabilities', type : 'boolean', value : true, description : 'Set binary admin capability to remove password prompt and nice capability to allow gpu screen recorder to run at a higher framerate than the game you are recording')
+option('nvidia_suspend_fix', type : 'boolean', value : true, description : 'Install nvidia modprobe config file to tell nvidia driver to preserve video memory on suspend. This is a workaround for an nvidia driver bug that breaks cuda (and gpu screen recorder) on suspend')
option('portal', type : 'boolean', value : true, description : 'If GPU Screen Recorder should be built with support for xdg desktop portal ScreenCast capture (wayland only)')