aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2 daysdebian: 6.0.1-1HEADdebianMaria Lisina
2 daysMerge tag '6.0.1' of https://repo.dec05eba.com/gpu-screen-recorder into debianMaria Lisina
5 days6.0.1dec05eba
5 daysEnable ffmpeg_static by default in release builds to support gtx 1080 and ↵dec05eba
older nvidia gpus
5 daysnvenc query check ffmpeg nvenc version as welldec05eba
5 daysREADME FAQ linux drmdec05eba
5 daysDRM shitdec05eba
5 dayskwin stutter FAQdec05eba
5 daysUpdate TODO (radicle test)dec05eba
8 daysMatch application audio by application name if available rather than node namedec05eba
8 daysUpdate README and TODOdec05eba
13 daysdebian: 6.0.0-16.0.0-1Maria Lisina
13 daysMerge tag '6.0.0' of https://repo.dec05eba.com/gpu-screen-recorder into debianMaria Lisina
14 daysGo back to ffmpeg urldec05eba
14 dayshttpsdec05eba
14 daysChange ffmpeg tar url to dec05eba.com because ffmpeg website is down too oftendec05eba
2026-08-086.0.0dec05eba
2026-08-08Fix nvenc crash on shutdown. part 2dec05eba
2026-08-08Fix nvenc crash on shutdowndec05eba
2026-08-08Update ffmpeg static to 9.0dec05eba
2026-08-08Fix crash with vulkan encodingdec05eba
2026-08-08Remove unmaintained distro packagesdec05eba
2026-08-07Faster replay ram clear by not free'ing the data immediatelydec05eba
2026-08-07Revert "Clear replay data in replay save thread to not block the main ↵dec05eba
capture thread" This reverts commit 5db30f3fb99545524fc80f87ecc488972aec1711.
2026-08-06Faster shutdown time when several gb of replay data is in ramdec05eba
2026-08-06Clear replay data in replay save thread to not block the main capture threaddec05eba
2026-08-05ipc: save-replay: add restart-replay optiondec05eba
2026-08-05Re-add /etc/ssl/certs/ca-certificates.crt to mbedtls patchdec05eba
2026-08-05workaround ffmpeg hybrid_fragmented bug when no packets have been recorded yetdec05eba
2026-08-05ipc: response with video path in save recording/replaydec05eba
2026-08-05Remove .crt certificate checkdec05eba
2026-08-05Use mbedtls instead of openssldec05eba
2026-08-05Add option to statically compile ffmpeg from sourcedec05eba
2026-08-02Fix build because of c versiondec05eba
2026-08-02Fix --info command on appleldec05eba
2026-08-02Set c standard to c11dec05eba
2026-08-02feat: Apple Silicon supportWalter McKelvie
2026-08-02Move gsr-cli to tools/gsr-clidec05eba
2026-08-02Document the ipc option next to the signals in the readmedec05eba
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-02Add gsr-cli program that sends ipc commands to gpu-screen-recorderdec05eba
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-02Only remove the ipc socket path when an unused socket exists theredec05eba
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-02Add -ipc option to control gpu-screen-recorder over a unix domain socketdec05eba
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-02Remove unused parameter from recorder_update_fps_countersdec05eba
2026-08-02Fix indentation and spacing of the code moved out of main.cppdec05eba
2026-08-02Add resource cleanup on all pathsdec05eba
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-01Fix video size becoming 0x0 when every capture source size is a percentagedec05eba
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-01Remove unused includesdec05eba
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-01Split the recorder setup and record loop into named functionsdec05eba
2026-08-01Return errors from gsr_recorder_create instead of exitingdec05eba
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-01Rewrite main.cpp in C as a thin CLI on top of a new gsr_recorder library APIdec05eba
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.