From 69eca98086793643107a4b7073d8062fb7593f0b Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 5 Nov 2023 02:17:40 +0100 Subject: Disable screen direct capture option as this is broken thanks to nvidia --- com.dec05eba.gpu_screen_recorder.appdata.xml | 5 +++++ src/main.cpp | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/com.dec05eba.gpu_screen_recorder.appdata.xml b/com.dec05eba.gpu_screen_recorder.appdata.xml index 88d171b..5d2a2ce 100644 --- a/com.dec05eba.gpu_screen_recorder.appdata.xml +++ b/com.dec05eba.gpu_screen_recorder.appdata.xml @@ -52,6 +52,11 @@ + + +

Nvidia x11: disable screen direct record option, as there is an nvidia driver bug that causes some games to freeze/crash with this option

+
+

Use opengl context instead of egl2, might fix program startup not working for some users

diff --git a/src/main.cpp b/src/main.cpp index 9051e80..cf108c4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2052,10 +2052,8 @@ static GtkWidget* create_common_settings_page(GtkStack *stack, GtkApplication *a } const bool allow_screen_capture = wayland || nvfbc_installed || gpu_inf.vendor != GPU_VENDOR_NVIDIA; if(allow_screen_capture) { - if(!wayland && gpu_inf.vendor == GPU_VENDOR_NVIDIA) { + if(!wayland && gpu_inf.vendor == GPU_VENDOR_NVIDIA) gtk_combo_box_text_append(record_area_selection_menu, "screen", "All monitors"); - gtk_combo_box_text_append(record_area_selection_menu, "screen-direct-force", "All monitors (for VRR. No cursor, may have driver issues. Only use with VRR monitors!)"); - } void *connection = NULL; gsr_connection_type connection_type = GSR_CONNECTION_DRM; @@ -2609,7 +2607,7 @@ static void load_config(const gpu_info &gpu_inf) { // } else if(!wayland && gpu_inf.vendor == GPU_VENDOR_NVIDIA && strcmp(config.main_config.record_area_option.c_str(), "focused") == 0) { // - } else if(!wayland && gpu_inf.vendor == GPU_VENDOR_NVIDIA && (strcmp(config.main_config.record_area_option.c_str(), "screen") == 0 || strcmp(config.main_config.record_area_option.c_str(), "screen-direct-force") == 0)) { + } else if(!wayland && gpu_inf.vendor == GPU_VENDOR_NVIDIA && strcmp(config.main_config.record_area_option.c_str(), "screen") == 0) { // } else { void *connection = NULL; -- cgit v1.2.3