dec05eba
099a55b905
6.1.6
2026-10-27 03:57:41 +01:00
dec05eba
a777d5254c
Fallback to non-hdr codec on x11 when capturing window or nvfbc
2026-10-26 02:01:37 +01:00
dec05eba
a47451633c
Support per-frame hdr metadata
2026-10-26 01:32:36 +01:00
dec05eba
a3553f7e65
Properly support per-monitor framebuffer on x11 and monitor reconnect
2026-10-26 01:01:44 +01:00
dec05eba
753c36ac06
Allow hdr codecs on x11, do hdr tonemapping and capture on x11 properly
2026-10-26 00:42:46 +01:00
dec05eba
ee2c6ca1e0
Allow unknown (unsupported) gpu vendors to run
2026-10-23 12:34:09 +02:00
dec05eba
fc887bd506
Update manpage with info about --info being slow
2026-10-22 21:55:26 +02:00
dec05eba
1c014172dd
6.1.5
2026-10-21 07:16:45 +02:00
dec05eba
e5412d5522
Fix region recording on gnome wayland: match DRM HDMI-A-1 and gnome output HDMI-1 (and all other combinations)
2026-10-21 06:33:46 +02:00
dec05eba
a0e1a29379
Make wayland host bridge work when the flatpak is installed for the user, not on the system
2026-10-18 02:42:10 +02:00
dec05eba
63550b89eb
Remove TODO items that are finished
2026-10-16 09:16:04 +02:00
dec05eba
ed7165e50a
fix 'non monotonic pts/dts' at the end of recording with non-opus sound (flushes the same pts)
2026-10-16 09:14:06 +02:00
dec05eba
04a70a4152
Support audio only recording, support mp3
2026-10-16 08:38:16 +02:00
dec05eba
a0f13ae7ee
Document hybrid fragmented files
2026-10-16 07:36:51 +02:00
dec05eba
d2cff49dd5
6.1.4
2026-10-12 12:12:39 +02:00
dec05eba
7f9405e8b1
Fix --info incorrectly falling back to the wrong gpu while not updating vendor
2026-10-05 02:44:57 +02:00
dec05eba
43b30daa2c
TODO update
2026-10-04 23:18:41 +02:00
dec05eba
dc2dd98766
faq: sway desktop portal window capture
2026-09-29 15:00:53 +02:00
dec05eba
396526a908
6.1.3
2026-09-23 04:04:09 +02:00
dec05eba
aec2c6be42
Fix screenshot/region capture when x11 framebuffer is scaled
2026-09-23 03:16:21 +02:00
dec05eba
ab9cf696d0
Application audio: list minecraft java (some setups)
2026-09-19 16:35:46 +02:00
dec05eba
be3287dd32
Better nvenc warning
2026-09-12 05:15:14 +02:00
dec05eba
af736d4c38
6.1.2
2026-09-12 03:21:11 +02:00
dec05eba
4de50caca6
Security strengthen gsr-kms-server
...
Validate that card path program argument is a real drm node
2026-09-12 01:29:36 +02:00
dec05eba
c27160989c
6.1.1
2026-09-06 17:56:56 +02:00
dec05eba
19f94e18a6
Reapply "Subtract audio latency from current time"
...
This reverts commit c8f50c4d6a .
2026-09-05 07:44:52 +02:00
dec05eba
74eeaf356b
Revert "Attempt to fix possible audio/video desync"
...
This reverts commit b998c721a3 .
2026-09-05 07:43:26 +02:00
dec05eba
0261850915
Fix audio/video desync with software video encoder
2026-09-05 07:43:13 +02:00
dec05eba
b998c721a3
Attempt to fix possible audio/video desync
2026-09-05 06:56:09 +02:00
dec05eba
bfa5bb9288
fix: make cuda use the same gpu as opengl (the capture gpu)
2026-09-05 03:20:14 +02:00
dec05eba
e56a2f0137
prime-run no longer an option
2026-09-04 02:17:42 +02:00
dec05eba
8732f17f62
Fix build on arm (no memmem)
2026-09-03 20:35:07 +02:00
dec05eba
c8f50c4d6a
Revert "Subtract audio latency from current time"
...
This reverts commit d59ed3a44d .
2026-09-03 03:03:02 +02:00
dec05eba
8706579be2
Missing options in --help
2026-09-02 21:58:10 +02:00
dec05eba
ad6981c0ef
Fix audio/video desync when recording in replay session (on some systems)
2026-09-02 00:23:46 +02:00
dec05eba
9ed51e71e9
6.1.0
2026-09-01 04:12:04 +02:00
dec05eba
e4cf94fecb
kms: make all monitors available for capture on wayland (automatically use the gpu associated with a monitor)
2026-09-01 03:47:55 +02:00
dec05eba
0dc3b21736
README: update debian link
2026-08-29 16:03:25 +02:00
dec05eba
f8616fe557
6.0.2
2026-08-28 22:36:27 +02:00
dec05eba
599a01af44
Readme portal content framerate mode
2026-08-28 22:26:41 +02:00
dec05eba
3c4838f4e6
Make dbus a mandatory dependency (for kde nightlights)
2026-08-27 22:19:46 +02:00
dec05eba
6a148642e3
m
2026-08-27 05:03:14 +02:00
dec05eba
899c87a231
FAQ wayland vsync
2026-08-27 04:57:39 +02:00
dec05eba
2552e74823
Update debian package link
2026-08-26 15:57:08 +02:00
dec05eba
3c17f87015
Flush audio on save
2026-08-26 15:50:54 +02:00
dec05eba
ba823e1631
Set ffmpeg_static to false by default (since distros force that), improve README
2026-08-23 23:50:30 +02:00
dec05eba
0de0ef4beb
README: add back link to centos and fedora packages
2026-08-23 23:24:02 +02:00
dec05eba
7bba0f0f1f
README -fm
2026-08-23 00:09:16 +02:00
dec05eba
088b87c87e
Rename -whip-token to -auth and GSR_WHIP_TOKEN to GSR_AUTH
2026-08-22 21:56:27 +02:00
dec05eba
0c14a46a3c
Add warning about -Dffmpeg_static=false
2026-08-22 03:28:12 +02:00
dec05eba
9f19ce2c7b
Recommend flatpak/appimage for nvidia users
2026-08-21 21:11:13 +02:00
dec05eba
2e1ee31ad8
ffmpeg_static comment
2026-08-21 21:06:17 +02:00
dec05eba
7f4662f31e
nvenc query: add more ffmpeg nvenc version checks
2026-08-18 20:33:49 +02:00
dec05eba
72d24f60ef
Update README
2026-08-18 04:00:06 +02:00
dec05eba
8c33f61c75
6.0.1
2026-08-18 03:09:34 +02:00
dec05eba
e9f9cf0207
Enable ffmpeg_static by default in release builds to support gtx 1080 and older nvidia gpus
2026-08-18 03:00:37 +02:00
dec05eba
795685ceb5
nvenc query check ffmpeg nvenc version as well
2026-08-18 02:37:02 +02:00
dec05eba
2d1e291b5e
README FAQ linux drm
2026-08-18 00:08:31 +02:00
dec05eba
4147b3e6a1
DRM shit
2026-08-17 23:47:01 +02:00
dec05eba
1259c8afb8
kwin stutter FAQ
2026-08-17 23:39:20 +02:00
dec05eba
20dbed9384
Update TODO (radicle test)
2026-08-17 20:01:00 +02:00
dec05eba
50536274b6
Match application audio by application name if available rather than node name
2026-08-14 14:36:54 +02:00
dec05eba
0f479d9cf6
Update README and TODO
2026-08-14 14:36:35 +02:00
dec05eba
d31b698fce
Go back to ffmpeg url
2026-08-09 03:12:46 +02:00
dec05eba
2ee1a4e67c
https
2026-08-09 03:11:13 +02:00
dec05eba
6b216d4c51
Change ffmpeg tar url to dec05eba.com because ffmpeg website is down too often
2026-08-09 03:02:29 +02:00
dec05eba
80517840f4
6.0.0
2026-08-08 04:18:58 +02:00
dec05eba
20740fe579
Fix nvenc crash on shutdown. part 2
2026-08-08 04:11:11 +02:00
dec05eba
65c7516927
Fix nvenc crash on shutdown
2026-08-08 04:02:34 +02:00
dec05eba
f4d1d3d2b0
Update ffmpeg static to 9.0
2026-08-08 03:36:47 +02:00
dec05eba
89e87050a4
Fix crash with vulkan encoding
2026-08-08 03:14:52 +02:00
dec05eba
4eafd8f5cf
Remove unmaintained distro packages
2026-08-08 01:16:52 +02:00
dec05eba
fcaf4b5444
Faster replay ram clear by not free'ing the data immediately
2026-08-07 13:54:08 +02:00
dec05eba
90ac49f372
Revert "Clear replay data in replay save thread to not block the main capture thread"
...
This reverts commit 5db30f3fb9 .
2026-08-07 13:53:40 +02:00
dec05eba
e31968fc40
Faster shutdown time when several gb of replay data is in ram
2026-08-06 13:02:59 +02:00
dec05eba
5db30f3fb9
Clear replay data in replay save thread to not block the main capture thread
2026-08-06 12:56:48 +02:00
dec05eba
3a1ce0e17f
ipc: save-replay: add restart-replay option
2026-08-05 15:26:36 +02:00
dec05eba
f17157274d
Re-add /etc/ssl/certs/ca-certificates.crt to mbedtls patch
2026-08-05 15:04:38 +02:00
dec05eba
e6c1cf0ec1
workaround ffmpeg hybrid_fragmented bug when no packets have been recorded yet
2026-08-05 14:56:59 +02:00
dec05eba
fbc31a9561
ipc: response with video path in save recording/replay
2026-08-05 14:56:08 +02:00
dec05eba
a522748ed2
Remove .crt certificate check
2026-08-05 13:03:01 +02:00
dec05eba
b2f903ba32
Use mbedtls instead of openssl
2026-08-05 03:23:07 +02:00
dec05eba
b9d252214a
Add option to statically compile ffmpeg from source
2026-08-05 02:06:11 +02:00
dec05eba
1869cf3051
Fix build because of c version
2026-08-02 21:21:32 +02:00
dec05eba
bf9213b3a8
Fix --info command on applel
2026-08-02 20:53:47 +02:00
dec05eba
ca4fabc1d6
Set c standard to c11
2026-08-02 20:26:43 +02:00
dec05eba
f39ebf1a60
Move gsr-cli to tools/gsr-cli
2026-08-02 20:12:20 +02:00
dec05eba
8fc8aaa799
Document the ipc option next to the signals in the readme
...
The remote control section is now split into a signals part and an ipc
part with gsr-cli examples, and it points at the gsr-cli man page and the
IPC section of the gpu-screen-recorder man page.
2026-08-02 20:05:13 +02:00
dec05eba
f547fcc354
Add gsr-cli program that sends ipc commands to gpu-screen-recorder
...
gsr-cli sends a command to the ipc socket of a running GPU Screen
Recorder and exits with 0 when it replied with ok, printing the reason to
stderr when it didn't, which means the commands don't have to be sent
blindly like signals are. The status command checks if GPU Screen
Recorder is running by connecting to the socket without sending a
command, so it's also correct when a killed instance left the socket
behind.
The json helpers moved into src/json.c to be shared between the two
programs.
2026-08-02 01:36:33 +02:00
dec05eba
9b799f6e45
Only remove the ipc socket path when an unused socket exists there
...
The socket that a killed GPU Screen Recorder instance leaves behind is
removed so that the same ipc socket path can be used again, but this was
done for any type of file, so using the path of a regular file as the ipc
socket path deleted that file.
2026-08-02 01:35:27 +02:00
dec05eba
d72113be39
Add -ipc option to control gpu-screen-recorder over a unix domain socket
...
The socket accepts the same commands as the signal handlers, except that
saving a replay takes an arbitrary number of seconds instead of only the
fixed times that the signals provide. Requests and replies are newline
terminated json objects and every request is replied to, parsed with the
sj.h json library that was added to external.
Requests are handled on a thread that only runs while the recorder
exists, so the recorder control fields are now atomics, which they have
to be now that another thread writes them.
2026-08-02 01:11:53 +02:00
dec05eba
b38d324c8f
Remove unused parameter from recorder_update_fps_counters
2026-08-02 00:19:49 +02:00
dec05eba
208c907c35
Fix indentation and spacing of the code moved out of main.cpp
2026-08-02 00:17:18 +02:00
dec05eba
06be2c8a12
Add resource cleanup on all paths
...
The recorder, screenshot and cli now free everything they create, also
when setup fails. Adds gsr_windowing_deinit, implements the missing
gsr_window_destroy and destroys the pipewire registry proxy.
2026-08-02 00:04:45 +02:00
dec05eba
68d5c511d1
Fix video size becoming 0x0 when every capture source size is a percentage
...
The video size is the area that the capture sources cover, but a capture
source with a percentage size is relative to the video size and can't be
used to calculate it. When there is no other capture source to calculate
the video size from, use the size of the capture sources themselves.
2026-08-01 23:46:43 +02:00
dec05eba
8f97b0b422
Remove unused includes
...
Most were left over from moving code out of main.cpp and from replacing
fprintf with gsr_log. Also fixes building without the app_audio option.
2026-08-01 23:41:07 +02:00
dec05eba
b9ab1878ca
Split the recorder setup and record loop into named functions
2026-08-01 23:32:24 +02:00
dec05eba
4d3a8cb421
Return errors from gsr_recorder_create instead of exiting
...
The recorder now cleans up after a failed setup and the caller decides
what to do with the error, so only main and forked child processes exit.
2026-08-01 23:28:16 +02:00
dec05eba
8272e61823
Rewrite main.cpp in C as a thin CLI on top of a new gsr_recorder library API
...
The recording setup, record loop and teardown moved into a gsr_recorder
pseudo class that reports saved recordings through callbacks, so the CLI
only parses arguments, handles signals and prints results.
The project is now built as pure C.
2026-08-01 23:22:38 +02:00
dec05eba
9dda64c39d
Move screenshot capture and CLI commands from main.cpp into separate modules
...
The list commands return exit codes through args_parser instead of exiting.
2026-08-01 23:08:48 +02:00