aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md10
-rw-r--r--TODO8
-rw-r--r--src/egl.c10
-rw-r--r--src/main.cpp6
4 files changed, 24 insertions, 10 deletions
diff --git a/README.md b/README.md
index 0561dd7..6421a38 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ Supported image formats:
* JPEG
* PNG
-This software works on X11 and Wayland on AMD, Intel and NVIDIA.
+This software works on X11 and Wayland on AMD, Intel and NVIDIA. Replay data is stored in RAM, not disk.
### TEMPORARY ISSUES
1) Videos are in variable framerate format. Use MPV to play such videos, otherwise you might experience stuttering in the video if you are using a buggy video player. You can try saving the video into a .mkv file instead as some software may have better support for .mkv files (such as kdenlive). You can use the "-fm cfr" option to to use constant framerate mode.
2) FLAC audio codec is disabled at the moment because of temporary issues.
@@ -151,12 +151,8 @@ You have to reboot your computer after installing GPU Screen Recorder for the fi
# 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.
-# Reporting bugs
-Issues are reported on this Github page: [https://github.com/dec05eba/gpu-screen-recorder-issues](https://github.com/dec05eba/gpu-screen-recorder-issues).
-# Contributing patches
-See [https://git.dec05eba.com/?p=about](https://git.dec05eba.com/?p=about) for contribution steps.
-# Donations
-See [https://git.dec05eba.com/?p=about](https://git.dec05eba.com/?p=about) for donation options.
+# Reporting bugs, contributing patches, questions or donation
+See [https://git.dec05eba.com/?p=about](https://git.dec05eba.com/?p=about).
# Demo
[![Click here to watch a demo video on youtube](https://img.youtube.com/vi/n5tm0g01n6A/0.jpg)](https://www.youtube.com/watch?v=n5tm0g01n6A)
diff --git a/TODO b/TODO
index bb17a96..de00211 100644
--- a/TODO
+++ b/TODO
@@ -232,4 +232,10 @@ When adding vulkan video support add VK_VIDEO_ENCODE_TUNING_MODE_LOW_LATENCY_KHR
Implement screenshot without invoking opengl (which is slow to start on some systems).
Automatically use desktop portal on wayland when hdr is enabled (or night light) by checking if kms hdr metadata exists, if hdr video codec is not used.
- Or maybe do this in the ui? \ No newline at end of file
+ Or maybe do this in the ui?
+
+Detect if cached portal session token is no longer valid (this can happen if the user switches to another wayland compositor).
+
+Support reconnecting (and setting things up again) if the audio server is restarted (for both device recording and app recording).
+
+Find out how nvidia-smi fixes nvenc not working on opensuse and do that ourselves instead of relying on nvidia-smi that is not always installed.
diff --git a/src/egl.c b/src/egl.c
index be5a44d..d2832f4 100644
--- a/src/egl.c
+++ b/src/egl.c
@@ -455,6 +455,16 @@ bool gsr_egl_load(gsr_egl *self, gsr_window *window, bool is_monitor_capture, bo
}
gsr_egl_disable_vsync(self);
+
+ if(self->gpu_info.vendor == GSR_GPU_VENDOR_NVIDIA) {
+ /* This fixes nvenc codecs unable to load on openSUSE tumbleweed because of a cuda error. Don't ask me why */
+ const bool inside_flatpak = getenv("FLATPAK_ID") != NULL;
+ if(inside_flatpak)
+ system("flatpak-spawn --host -- nvidia-smi -f /dev/null");
+ else
+ system("nvidia-smi -f /dev/null");
+ }
+
return true;
fail:
diff --git a/src/main.cpp b/src/main.cpp
index 10dc5a6..42cf4d2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -2539,10 +2539,12 @@ static void capture_image_to_file(const char *filepath, std::string &window_str,
bool should_stop_error = false;
egl->glClear(0);
- while(true) {
+ while(running) {
should_stop_error = false;
- if(gsr_capture_should_stop(capture, &should_stop_error))
+ if(gsr_capture_should_stop(capture, &should_stop_error)) {
+ running = 0;
break;
+ }
// It can fail, for example when capturing portal and the target is a monitor that hasn't been updated.
// Desktop portal wont refresh the image until there is an update.