Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gpu-screen-recorder-gtk for
openSUSE:Factory checked in at 2025-02-20 16:38:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gpu-screen-recorder-gtk (Old)
and /work/SRC/openSUSE:Factory/.gpu-screen-recorder-gtk.new.1873 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gpu-screen-recorder-gtk"
Thu Feb 20 16:38:34 2025 rev:15 rq:1247185 version:20250205
Changes:
--------
---
/work/SRC/openSUSE:Factory/gpu-screen-recorder-gtk/gpu-screen-recorder-gtk.changes
2025-01-27 20:55:34.931445049 +0100
+++
/work/SRC/openSUSE:Factory/.gpu-screen-recorder-gtk.new.1873/gpu-screen-recorder-gtk.changes
2025-02-20 16:39:39.476230236 +0100
@@ -1,0 +2,6 @@
+Wed Feb 19 16:53:22 UTC 2025 - [email protected]
+
+- Update to version 20250205:
+ * Show error when trying to capture window that no longer exists
+
+-------------------------------------------------------------------
Old:
----
gpu-screen-recorder-gtk-20250126.tar.zst
New:
----
gpu-screen-recorder-gtk-20250205.tar.zst
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gpu-screen-recorder-gtk.spec ++++++
--- /var/tmp/diff_new_pack.qbypZo/_old 2025-02-20 16:39:41.524315868 +0100
+++ /var/tmp/diff_new_pack.qbypZo/_new 2025-02-20 16:39:41.528316036 +0100
@@ -19,7 +19,7 @@
%bcond_with test
%define appid com.dec05eba.gpu_screen_recorder
Name: gpu-screen-recorder-gtk
-Version: 20250126
+Version: 20250205
Release: 0
Summary: GTK frontend for GPU Screen Recorder
License: GPL-3.0-only
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.qbypZo/_old 2025-02-20 16:39:41.580318210 +0100
+++ /var/tmp/diff_new_pack.qbypZo/_new 2025-02-20 16:39:41.580318210 +0100
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">https://repo.dec05eba.com/gpu-screen-recorder-gtk.git</param>
- <param
name="changesrevision">219b6f0c6983e7e98b17ab0da3ed2729181fce8d</param></service></servicedata>
+ <param
name="changesrevision">312dda25c1e96380f3083a92009efa9418c9ee55</param></service></servicedata>
(No newline at EOF)
++++++ gpu-screen-recorder-gtk-20250126.tar.zst ->
gpu-screen-recorder-gtk-20250205.tar.zst ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/gpu-screen-recorder-gtk-20250126/com.dec05eba.gpu_screen_recorder.appdata.xml
new/gpu-screen-recorder-gtk-20250205/com.dec05eba.gpu_screen_recorder.appdata.xml
---
old/gpu-screen-recorder-gtk-20250126/com.dec05eba.gpu_screen_recorder.appdata.xml
2025-01-26 11:54:55.000000000 +0100
+++
new/gpu-screen-recorder-gtk-20250205/com.dec05eba.gpu_screen_recorder.appdata.xml
2025-02-05 23:08:55.000000000 +0100
@@ -3,13 +3,17 @@
<id>com.dec05eba.gpu_screen_recorder</id>
<name>GPU Screen Recorder</name>
<summary>A shadowplay-like screen recorder for Linux. The fastest screen
recorder for Linux</summary>
- <developer_name>dec05eba</developer_name>
+ <developer id="com.dec05eba.gpu_screen_recorder">
+ <name>dec05eba</name>
+ </developer>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0</project_license>
<url
type="homepage">https://git.dec05eba.com/gpu-screen-recorder/about/</url>
<url
type="bugtracker">https://github.com/dec05eba/gpu-screen-recorder-issues</url>
<url type="contribute">https://git.dec05eba.com/?p=about</url>
<url type="donation">https://git.dec05eba.com/?p=about</url>
+ <url type="help">https://git.dec05eba.com/gpu-screen-recorder/about/</url>
+ <url type="faq">https://git.dec05eba.com/gpu-screen-recorder/about/</url>
<supports>
<control>pointing</control>
@@ -40,30 +44,8 @@
At the moment the program comes with two different UIs. A gtk
based one and a new experimental ShadowPlay-like fullscreen overlay UI. The gtk
based UI will be removed in the future.
You can switch to the new UI by clicking on "Try out the new UI"
and then after that is done press Left Alt+Z to open it.
</p>
- <p>
- Recording a monitor requires (restricted) root access which means
that you have to install GPU Screen Recorder system-wide: "flatpak install
--system com.dec05eba.gpu_screen_recorder"
- and pkexec needs to be installed on the system and a polkit agent
needs to be running.
- Note that this only applies to when recording a monitor on
AMD/Intel or when recording on Wayland without using the desktop portal option.
- </p>
<p>AV1 is currently not supported in the flatpak for Nvidia since GPU
Screen Recorder uses an older ffmpeg version to support older Nvidia cards.
Install GPU Screen Recorder from source or from AUR if you want to use AV1 on
Nvidia.</p>
- <p>
- Videos are in variable framerate format. Very out of date video
players might have an issue playing such videos. It's recommend to use MPV to
play such videos, otherwise you might experience stuttering in the video.
- You can select constant frame rate mode in advanced view if you
need it.
- </p>
- <p>
- If the video doesn't play or you get green/yellow overlay then
your video player is missing H264/HEVC video codec. Either install the video
codecs or use mpv.
- </p>
- <p>AMD has a driver/hardware fault that causes black bars/distorted
colors on the sides of the video for certain video resolutions. This happens
for both av1 and hevc, so if you have this issue then switch to h264 video
codec option in advanced settings.
- </p>
- <p>
- If H264/HEVC video encoding option is not available on your
AMD/Intel system but you know that your GPU supports those codecs for encoding
then you may need to install mesa-extra freedesktop runtime by running this
command: "flatpak install --system
org.freedesktop.Platform.GL.default//23.08-extra".
- </p>
- <p>
- On NVIDIA systems the flatpak NVIDIA driver needs to match the
systems NVIDIA driver version or the NVIDIA driver will fail to properly load
in flatpaks.
- Make sure you update flatpak on your system with: "flatpak
update", or if that doesn't fix it you can try to install the specific flatpak
NVIDIA driver version version that matches your systems NVIDIA driver version
by running:
- "flatpak install org.freedesktop.Platform.GL.nvidia-version", for
example "flatpak install org.freedesktop.Platform.GL.nvidia-550-54-14".
- You can find which NVIDIA driver version is running on your system
by running "cat /proc/driver/nvidia/version".
- </p>
+ <p>For more information visit the GPU Screen Recorder homepage.</p>
<p>GPU Screen Recorder flatpak can install files in
$HOME/.local/share/gpu-screen-recorder. If you want to uninstall GPU Screen
Recorder then you will have to remove this directory manually.</p>
<p>If you tried out the new UI then a systemd service was added to
~/.local/share/systemd/user/gpu-screen-recorder-ui.service. If you want to
uninstall GPU Screen Recorder then you will have to remove this file.</p>
</description>
@@ -93,6 +75,21 @@
</screenshots>
<releases>
+ <release version="5.1.4" date="2025-02-05">
+ <description>
+ <ul>
+ <li>Fix virtual hotkey option not working with some
keyboard remapping software such as kanata</li>
+ <li>Fix too long audio device name hiding the remove audio
device button</li>
+ </ul>
+ </description>
+ </release>
+ <release version="5.1.3" date="2025-02-03">
+ <description>
+ <ul>
+ <li>Fix unable to type keys (except hotkeys) when
switching to new ui on steam deck (and possibly other devices)</li>
+ </ul>
+ </description>
+ </release>
<release version="5.1.2" date="2025-01-26">
<description>
<ul>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gpu-screen-recorder-gtk-20250126/meson.build
new/gpu-screen-recorder-gtk-20250205/meson.build
--- old/gpu-screen-recorder-gtk-20250126/meson.build 2025-01-26
11:54:55.000000000 +0100
+++ new/gpu-screen-recorder-gtk-20250205/meson.build 2025-02-05
23:08:55.000000000 +0100
@@ -1,4 +1,4 @@
-project('gpu-screen-recorder-gtk', ['c', 'cpp'], version : '5.1.2',
default_options : ['warning_level=2'])
+project('gpu-screen-recorder-gtk', ['c', 'cpp'], version : '5.1.4',
default_options : ['warning_level=2'])
add_project_arguments('-Wshadow', language : ['c', 'cpp'])
if get_option('buildtype') == 'debug'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gpu-screen-recorder-gtk-20250126/project.conf
new/gpu-screen-recorder-gtk-20250205/project.conf
--- old/gpu-screen-recorder-gtk-20250126/project.conf 2025-01-26
11:54:55.000000000 +0100
+++ new/gpu-screen-recorder-gtk-20250205/project.conf 2025-02-05
23:08:55.000000000 +0100
@@ -1,7 +1,7 @@
[package]
name = "gpu-screen-recorder-gtk"
type = "executable"
-version = "5.1.2"
+version = "5.1.4"
platforms = ["posix"]
[config]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gpu-screen-recorder-gtk-20250126/src/config.hpp
new/gpu-screen-recorder-gtk-20250205/src/config.hpp
--- old/gpu-screen-recorder-gtk-20250126/src/config.hpp 2025-01-26
11:54:55.000000000 +0100
+++ new/gpu-screen-recorder-gtk-20250205/src/config.hpp 2025-02-05
23:08:55.000000000 +0100
@@ -50,7 +50,6 @@
bool restore_portal_session = true;
bool use_new_ui = false;
int32_t installed_gsr_global_hotkeys_version = 0;
- bool kbd_mouse_update_installed = false;
};
struct YoutubeStreamConfig {
@@ -339,7 +338,6 @@
{"main.restore_portal_session", {CONFIG_TYPE_BOOL,
&config.main_config.restore_portal_session}},
{"main.use_new_ui", {CONFIG_TYPE_BOOL,
&config.main_config.use_new_ui}},
{"main.installed_gsr_global_hotkeys_version", {CONFIG_TYPE_I32,
&config.main_config.installed_gsr_global_hotkeys_version}},
- {"main.kbd_mouse_update_installed", {CONFIG_TYPE_BOOL,
&config.main_config.kbd_mouse_update_installed}},
{"streaming.service", {CONFIG_TYPE_STRING,
&config.streaming_config.streaming_service}},
{"streaming.youtube.key", {CONFIG_TYPE_STRING,
&config.streaming_config.youtube.stream_key}},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/gpu-screen-recorder-gtk-20250126/src/main.cpp
new/gpu-screen-recorder-gtk-20250205/src/main.cpp
--- old/gpu-screen-recorder-gtk-20250126/src/main.cpp 2025-01-26
11:54:55.000000000 +0100
+++ new/gpu-screen-recorder-gtk-20250205/src/main.cpp 2025-02-05
23:08:55.000000000 +0100
@@ -20,7 +20,7 @@
#include <vector>
#include <libayatana-appindicator/app-indicator.h>
-#define GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION 4
+#define GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION 6
#ifndef GSR_VERSION
#define GSR_VERSION "unknown"
@@ -1711,6 +1711,16 @@
fprintf(stderr, "\n");
}
+static bool validate_window(GtkApplication *app, Window window) {
+ XWindowAttributes attr;
+ if(XGetWindowAttributes(dpy, window, &attr)) {
+ return true;
+ } else {
+ show_notification(app, "GPU Screen Recorder", "The window you are
trying to record no longer exists", G_NOTIFICATION_PRIORITY_URGENT);
+ return false;
+ }
+}
+
static gboolean on_start_replay_button_click(GtkButton *button, gpointer
userdata) {
GtkApplication *app = (GtkApplication*)userdata;
const gchar *dir = gtk_button_get_label(replay_file_chooser_button);
@@ -1772,6 +1782,8 @@
return true;
}
window_str = std::to_string(select_window_userdata.selected_window);
+ if(!validate_window(app, select_window_userdata.selected_window))
+ return true;
} else if(window_str == "focused") {
follow_focused = true;
}
@@ -1968,6 +1980,8 @@
return true;
}
window_str = std::to_string(select_window_userdata.selected_window);
+ if(!validate_window(app, select_window_userdata.selected_window))
+ return true;
} else if(window_str == "focused") {
follow_focused = true;
}
@@ -2130,6 +2144,8 @@
return true;
}
window_str = std::to_string(select_window_userdata.selected_window);
+ if(!validate_window(app, select_window_userdata.selected_window))
+ return true;
} else if(window_str == "focused") {
follow_focused = true;
}
@@ -2763,7 +2779,6 @@
config.main_config.use_new_ui = true;
config.main_config.installed_gsr_global_hotkeys_version =
GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION;
- config.main_config.kbd_mouse_update_installed = true;
save_config(config);
return true;
}
@@ -4465,16 +4480,6 @@
}
}
-static bool is_gsr_global_hotkeys_installed() {
- const char *user_homepath = getenv("HOME");
- if(!user_homepath)
- user_homepath = "/tmp";
-
- char path[PATH_MAX];
- snprintf(path, sizeof(path),
"%s/.local/share/gpu-screen-recorder/gsr-global-hotkeys", user_homepath);
- return access(path, F_OK) == 0;
-}
-
static bool is_kms_server_proxy_installed() {
const char *user_homepath = getenv("HOME");
if(!user_homepath)
@@ -4502,28 +4507,6 @@
g_object_unref(app);
}
-// TODO: Remove this once GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION is updated
to 5
-static bool has_input_device_with_keyboard_and_mouse() {
- FILE *f = fopen("/proc/bus/input/devices", "rb");
- if(!f)
- return false;
-
- bool current_device_is_virtual = false;
- bool kbd_and_mouse = false;
- char line[1024];
- while(fgets(line, sizeof(line), f)) {
- if(strncmp(line, "S:", 2) == 0) {
- current_device_is_virtual = strstr(line, "/virtual/") != nullptr;
- } else if(!current_device_is_virtual && strncmp(line, "H:", 2) == 0 &&
strstr(line, "kbd") && strstr(line, "mouse")) {
- kbd_and_mouse = true;
- break;
- }
- }
-
- fclose(f);
- return kbd_and_mouse;
-}
-
static void startup_new_ui(bool launched_by_daemon) {
if(!dpy) {
if(launched_by_daemon) {
@@ -4555,7 +4538,7 @@
return;
}
- if(config.main_config.installed_gsr_global_hotkeys_version !=
GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION ||
(!config.main_config.kbd_mouse_update_installed &&
has_input_device_with_keyboard_and_mouse())) {
+ if(config.main_config.installed_gsr_global_hotkeys_version !=
GSR_CURRENT_GLOBAL_HOTKEYS_CODE_VERSION) {
bool finished = false;
start_gtk_run_handler([&finished]() {
finished = kms_server_proxy_setup_gsr_ui(
@@ -4567,7 +4550,7 @@
if(!finished)
return;
- } else if(!is_gsr_global_hotkeys_installed() ||
!is_kms_server_proxy_installed()) {
+ } else if(!is_kms_server_proxy_installed()) {
bool finished = false;
start_gtk_run_handler([&finished]() {
finished = kms_server_proxy_setup_gsr_ui(