------------------------------------------------------------------- Sat Dec 10 20:13:48 UTC 2022 - bjorn.lie@gmail.com - Update to version 43.2: + vnc-pipewire-stream: - Don't pass NULL as frame to on_frame_ready - Assert buffer types to be either MemFds or DmaBufs + rdp-pipewire-stream: Assert buffer types to be either MemFds or DmaBufs + rdp-server: Remove stray new line + Updated translations. ------------------------------------------------------------------- Mon Oct 24 09:16:08 UTC 2022 - Bjørn Lie - Update to version 43.1: + clipboard: Always clear mime type tables when updating clients clipboard + hwaccel-nvidia: - Also output actual NVENC errors when API calls fail - Always output CUDA errors when API calls fail - Fix small style issue + man: Only include man page content for compiled-in backends + rdp-audio-output-stream: Set stream inactive before destroying it + rdp-monitor-config: Fix typo in verify_monitor_config + rdp/nw-auto: Fix crash when updating unchanged ping source + rdp: - Suspend PipeWire stream on exit instead of flushing it - Unlock stream lock mutex while suspending other audio streams + session-rdp: - Also check VCM handle when clearing it - Fix check when creation of virtual channel manager fails - Only print colour depth fix message when situation applies + vnc: Suspend PipeWire stream on exit instead of flushing it + Updated translations. ------------------------------------------------------------------- Sun Sep 18 07:29:40 UTC 2022 - Bjørn Lie - Update to version 43.0: + Updated translations. ------------------------------------------------------------------- Sun Sep 4 11:12:59 UTC 2022 - Luciano Santos - Update to version 43.rc: + Many small fixes and improvements. + Updated translations. - Add explicit pkgconfig(gio-2.0) as build requirement to align with what Meson searches. It was already being pulled to the build by its siblings (gio-unix-2.0/glib-2.0) since they come from the same package. - Add explicit pkgconfig modules as build requirements: tss2-mu, tss2-rc, and tss2-tctildr. Same reason as gio-2.0 above, but this time pkgconfig(tss2-esys) was the one helping the others being pulled. - Pass 1.4 and 11.1.5.0 as minimum requirement versions for epoxy and ffnvcodec respectively to ensure the package uses the minimum that upstream recommends using. ------------------------------------------------------------------- Mon Aug 08 09:38:48 UTC 2022 - bjorn.lie@gmail.com - Update to version 43.beta: + Add man page + Add TPM 2.0 helper class + Add TPM credentials using headless runtime mode + build: - Bump FreeRDP version requirement - Bump version to 43.alpha - Disable VNC support by default - List credentials dependencies separately - Sort dependencies alphabetically - Sort sources alphabetically + ci: - Add tss2 related devel packages - Build with VNC backend + context: Move out debug flags + Convert README data/README to MD + credentials: - Add TPM 2.0 backend - Do not crash when deleting non-existent credentials + credentials-libsecret: Do not crash, when deleting legacy VNC password + ctl: - Add support for TPM credentials - Fix error messages + egl-thread: Release EGL context before destroying it + hwaccel-nvidia: Don't dereference NULL pointer in assertion + Introduce GrdCredentials + pipewire-utils: - Add helper function for creating PipeWire source - Remove grd_maybe_initialize_pipewire() + rdp: - Add API to tear down channels during a session - Add classes for audio output forwarding - Add RDP DSP class - Add support for audio output forwarding - Combine buffer creation and resize operations - Don't dereference NULL pointer when parent dir cannot be found + rdp-event-queue: Correctly clean up resources + rdp-gfx-surface: Delete GFX surface before clearing its members + rdp-graphics-pipeline: - Extend comment with documentation reference - Fix uninitialized caps mutex - Measure bandwidth when sending frame updates + rdp/nw-auto: - Add APIs for bandwidth measurement - Also notify client about network characteristics results - Assert RTT consumer != NONE, when removing RTT consumer - Disallow unqueued bandwidth measure stops - Fix initial ping source not being created - Remove superfluous if condition - Turn assertion into normal conditional statement - Turn ping info condition into assertion + rdp-pipewire-stream: - Properly deinitialize PipeWire upon destruction - Remove unused SPA_DATA_MemPtr path - Use common helper for PipeWire source creation + rdp/rdpgfx: - Create RTT pause source while GFX mutex is locked - Only clear unacked frames when surface has frame controller + session-rdp: - Add API to subscribe to DVC creation statuses - Do not crash, when credentials are not set - Handle queued bandwidth measure stop operations - Stop leaking session sources when session creation fails - Stop leaking the event queue, when session creation fails - Use trivial boolean value for condition in graphics thread + session-vnc: - Add support for sessions with virtual monitors - Do not crash, when password is not set + settings: - Add new screenshare mode setting for the VNC backend - Fix title of specification in setting description - Remove a doubled 'to' + tests: Add test for the RDP backend + tests/egl: Replace tautologies with actual modifier checks + tests/rdp: - Add additional debug messages to RDP test - Add missing NULL check on stop_event + tests/tpm: Skip tests when TPM module not compatible + tests/vnc: Use mutter headless backend + tpm: - Add ability to do capability check - Make tss2 log into /dev/null + types: Sort typedefs alphabetically + vnc: - Add ability to resize virtual monitors during a session - Add VNC virtual monitor config - Allow passing virtual monitor settings to pipewire-stream instance + vnc-pipewire-stream: - Properly deinitialize PipeWire upon destruction - Remove unused SPA_DATA_MemPtr path - Use common helper for PipeWire source creation + Updated translations. - Add asciidoc, pkgconfig(fdk-aac) and pkgconfig(tss2-esys) BuildRequires: New dependencies. - Pass vnc=true to meson, build vnc support even if disabled by default upstream. We are not quite ready to drop that support yet. ------------------------------------------------------------------- Mon Aug 08 09:27:42 UTC 2022 - bjorn.lie@gmail.com - Update to version 42.4: + ctl: - Do not crash, when deleting non-existent credentials - Fix error messages + rdp: Don't dereference NULL pointer when parent dir cannot be found + rdp-gfx-surface: Delete GFX surface before clearing its members + rdp-graphics-pipeline: Extend comment with documentation reference + rdp/nw-auto: Disallow unqueued bandwidth measure stops + rdp/rdpgfx: Only clear unacked frames when surface has frame controller + session-rdp: - Do not crash, when credentials are not set - Stop leaking session sources when session creation fails - Stop leaking the event queue, when session creation fails + session-vnc: Do not crash, when password is not set + settings: Do not set error twice when secret_password_lookup_sync fails + tests/egl: Replace tautologies with actual modifier checks ------------------------------------------------------------------- Sun Jul 03 18:16:17 UTC 2022 - bjorn.lie@gmail.com - Update to version 42.3: + egl-thread: Release EGL context before destroying it. + rdp-graphics-pipeline: Fix uninitialized caps mutex. + session-rdp: Use trivial boolean value for condition in graphics thread. + rdp/nw-auto: Turn assertion into normal conditional statement. ------------------------------------------------------------------- Mon May 30 12:11:18 UTC 2022 - dimstar@opensuse.org - Update to version 42.2: + rdp-graphics-pipeline: Measure bandwidth when sending frame updates. + session-rdp: Handle queued bandwidth measure stop operations. + rdp/nw-auto: Add APIs for bandwidth measurement. + rdp/nw-auto: Also notify client about network characteristics results. + rdp/nw-auto: Turn ping info condition into assertion. + rdp/nw-auto: Assert RTT consumer != NONE, when removing RTT consumer. + rdp/nw-auto: Remove superfluous if condition. + rdp/nw-auto: Fix initial ping source not being created. + rdp/rdpgfx: Create RTT pause source while GFX mutex is locked. + Updated translations. ------------------------------------------------------------------- Wed Apr 27 11:50:09 UTC 2022 - Dominique Leuenberger - Update to version 42.1.1: + session-vnc: Don't leak the socket source + hwaccel-nvidia: Degrade a warning to a normal message + context: Initialize EGL thread when daemon is ready + rdp: Perform basic error checking in SAM file creation + session-rdp: Always check return values of API calls + Updated translations. ------------------------------------------------------------------- Mon Apr 25 09:10:38 UTC 2022 - Dominique Leuenberger - Update to version 42.1: + vnc: Retrieve frame members before stealing frame pointer. + rdp: Retrieve frame members before stealing frame pointer. + daemon: Only start servers, when they are not started yet. + settings: Don't crash, when parsing the credentials string fails. + egl: Use Wayland platform instead of surfaceless. + session-rdp: Only show NSC disable message, when NSC is available. + session-rdp: Fix typo in warning message. + systemd: Autostart as part of gnome-session.target. + daemon: Handle SIGINT and SIGTERM signals properly. + Updated translations. ------------------------------------------------------------------- Tue Mar 22 09:14:28 UTC 2022 - Dominique Leuenberger - Add explicit pkgconfig(libdrm), pgkconfig(gbm), and pkgconfig(gudev-1.0) BuildRequires: meson checks for them. We should not rely on any other package pulling it in. ------------------------------------------------------------------- Mon Mar 21 08:49:44 UTC 2022 - bjorn.lie@gmail.com - Update to version 42.0: * Updated translations. ------------------------------------------------------------------- Tue Mar 08 08:07:54 UTC 2022 - bjorn.lie@gmail.com - Update to version 42.rc: * Add 'grdctl' * build: - Bump nv-codec-headers version requirement - Stop making the nv-codec-headers optional * Cleanup server stopping * ctl: - Add --show-credentials to status - Add 'status' command * egl-thread: - Add methods to upload data to the GPU - Also allow bound dma-bufs to be mapped - Don't require callback function for custom tasks * Explicitly enable/disable backends via a setting * hwaccel-nvidia: - Add APIs to allocate and free device memory - Add CUDA kernels for damage region detection - Add methods to get CUDA functions and damage-kernels - Add utility functions for accessing GL resources - Also return aligned size when creating NVENC session - Load extra CUDA functions for GL PBO mappings - Push and pop CUDA context to and from the EGL thread - Reduce global memory access in BGRX_TO_YUV420 kernel - Unload modules before releasing CUDA context - Use a block dim of 16x16x1 for BGRX_TO_YUV420 kernel - Use mapped CUDA pointer for AVC420 encodings * pipewire-utils: Add functions to check whether PipeWire buffer has data * rdp: - Adapt to GrdRdpBuffer - Adapt to GrdRdpDamageDetector - Adapt to RDP buffer pool - Add classes for damage region detection - Add CUDA damage detector class - Add display control class - Add RDP buffer - Add RDP buffer pool - Add RDP monitor config - Allocate and register GL resources for each RDP buffer - Allow dma-bufs again when CUDA is available - Allow passing virtual monitor settings to pipewire-stream instance - Always upload frame data to framebuffer on GPU, if possible - Avoid local copy if possible - Defer cairo region creation if possible - Disable dma-buf support for now, if CUDA is supported - Only initialize clipboard if CLIPRDR channel is joined - Split up AVC420 encoding - Stop reallocating NV12 buffer every frame - Track and use rdp_surface reference in stream class - Unref frame when success is FALSE - Use internal enum for RDP errors * rdp-buffer: Add API to unmap resources * rdp-buffer-pool: - Prefer buffers without mapped resources - Unmap buffer resources with low priority GSource * rdp-gfx-surface: Add way to override the render surface * rdp-graphics-pipeline: Create separate render surface when needed * rdp-pipewire-stream: - Add API to resize stream - Don't miss any buffer data - Don't queue chosen PipeWire buffer * rdp/rdpgfx: - Adapt to RDPGFX frame controller - Add RDPGFX frame controller - Allow GFX surfaces to have their own aligned size - Allow surfaces to be created without an hwaccel session - Forbid protocol resets without AVC support by the client - Target render surface, when encoding data with AVC * rdp-server: - Cleanup resources directly when stopping the server - Tear down NVENC after sessions * rdp-surface: Create CUDA damage detector, if CUDA is available * session: Also clear signal handler, when the session proxy is closed * session-rdp: - Add API to submit new monitor configurations - Add support for monitor layout changes during a session - Add support for sessions with virtual monitors * settings: - Add new screenshare mode setting for the RDP backend - Move Secret schemas into a separate file * utils: Add helper to calculate aligned sizes * vnc-pipewire-stream: - Don't miss any buffer data - Don't queue chosen PipeWire buffer * vnc-server: Cleanup resources directly when stopping the server * vnc: Unref frame when success is FALSE * Updated translations. ------------------------------------------------------------------- Wed Feb 16 12:38:47 UTC 2022 - bjorn.lie@gmail.com - Update to version 42.beta: * Add DMA buffer downloading support to EGL thread * Add grd-utils * build: Bump FreeRDP version requirement * ci: - Build mutter from git to have the updated screen cast API - Install soon to be needed dependencies * context: Hook up the EGL thread * cuda: Fix out-of-bounds source read in BGRX_TO_YUV420 kernel * egl-thread: - Add API to query format modifiers - Add API to run external functions in EGL thread - Add fallback with EGL_PLATFORM_DEVICE_EXT - Add sync function * hwaccel-nvidia: Use compute devices retrieved from EGL thread * Introduce an EGL thread * pipewire-utils: Remove unused sync function * rdp-gfx-surface: Don't forget to set the surface serial * rdp-pipewire-stream: - Add support for explicit DMA buffer modifiers - Fetch cursor state before framebuffer content - Make buffer processing a bit more async - Make GrdRdpFrame ref counted - Move pixel copy loop to a helper - Use a helper variable for the pending frame - Use EGL thread for DMA buffer downloads * remote-desktop: Synchronize remote-desktop API with API in mutter * Remove semi colon after GType macros * Rename GrdRdpNvEnc to GrdHwAccelNvidia * screen-cast: Synchronize screencast API with API in mutter * session: - Add methods to create streams on-the-fly - Add method to notify subclasses when session is started - Port record behaviour to new API - Require stream for absolute pointer motion events * session-rdp: Move on_pipewire_stream_closed() down a bit * settings: - Fix test RDP username override - Unify code style in gsettings schema * vnc-pipewire-stream: - Add support for explicit DMA buffer modifiers - Do not allocate frame data twice - Do not leak pending frame, when destroying stream - Do not resize framebuffer when client is gone - Make buffer processing callback based - Make GrdVncFrame reference counted - Move format details helper to common area - Simplify buffer merging - Use EGL thread to download DMA buffers - Use GSource to invoke main thread * vnc-server: Make refusing VNC clients more explicit * Updated translations. - Add pkgconfig(epoxy) BuildRequires: New dependency. ------------------------------------------------------------------- Thu Dec 09 12:36:19 UTC 2021 - bjorn.lie@gmail.com - Update to version 41.2: + stream: Add method to disconnect proxy signals + session: - Stop trying to stop the session, when it is already destroyed - Disconnect num/caps lock changed signals when stopping - Fix small style issue - Only handle Selection* signals when clipboard is enabled + settings: - Clear settings of type string before setting new values - Don't leak credentials, when username or password is NULL - Set error if username or password is NULL + clipboard-rdp: - Make a warning message a little bit more explicit - Make SelectionTransfer requests async - Fix error message, when runtime directory creation fails - Fix small style issues + clipboard: - Split up SelectionTransfer handling - Also clear GMutexes and GConds on destruction + context: Clear proxies before setting new proxies + daemon: Also clear context on destruction + rdp/nw-auto: - Only create ping source if required and non-existent - Also clear GMutexes on destruction + rdp-graphics-pipeline: Also clear gfx_mutex on destruction + rdp-fuse-clipboard: Also clear GMutexes on destruction + rdp-event-queue: Also clear event_mutex on destruction + rdp-pipewire-stream: Also clear frame_mutex on destruction + session-rdp: Also clear GMutexes and GConds on destruction + Updated translations. ------------------------------------------------------------------- Sat Oct 30 14:40:59 UTC 2021 - bjorn.lie@gmail.com - Update to version 41.1: + vnc-pipewire-stream: Take frame data from pending frame, when needed + rdp-pipewire-stream: Take frame data from pending frame, when needed + rdp/rdpgfx: Unref surface serial after looking up surface context + rdp-graphics-pipeline: Fix small style issue + rdp-fuse-clipboard: - Fix potential race when accessing FuseFile path - Fix small style issue + clipboard-rdp: Always check return value of ConvertFromUnicode + session-rdp: Only signal GCond, when all encode jobs are complete ------------------------------------------------------------------- Mon Sep 20 16:56:32 UTC 2021 - Bjørn Lie - Update to version 41.0: + Updated translations. - Set .changes to be filled via service file, since upstream fails to provide a changelog/NEWS file. ------------------------------------------------------------------- Wed Sep 15 15:43:41 UTC 2021 - Dominique Leuenberger - Update to version 41.rc: + No changelog provided by upstream. - Add pkgconfig(ffnvcodec) BuildRequires: new dependency. ------------------------------------------------------------------- Wed Sep 15 15:43:17 UTC 2021 - Bjørn Lie - Update to version 40.2: + rdp-fuse-clipboard: Handle FUSE lifetime object in FUSE thread + tests: Use bash from environment instead of hardcoded path - Changes from version 40.1: + clipboard-rdp: - Also output client capabilities - Add dummy handling for the Temporary Directory PDU - Advertise clipboard data locking - Adapt to data locking changes - Add APIs to lock/unlock the clients clipboard data - Implement clipboard data locking - clipboard-rdp: Use g_idle_add() instead of g_timeout_add() + rdp: Allow submitting clipDataIds for FileContentsRequests + rdp-fuse-clipboard: - Remove the old API - Use notify_delete() instead of notify_inval_entry() - Be more verbose with file range requests - Read files until the very end - Handle all file lists via clipDataIds + rdp-sam: Remove stray trailing whitespaces + pipewire-stream: Don't leak GSource's + build: - Add missing new line - Explicitly depend on glib >= 2.68 ------------------------------------------------------------------- Sun Mar 21 16:31:51 UTC 2021 - Dominique Leuenberger - Update to version 40.0: + rdp: Add support for FreeRDP 2.3, support 2.3, requires at least 2.2. + Manu bugfixes. - Add pkgconfig(freerdp-client2), pkgconfig(freerdp-server2), pkgconfig(fuse3), pkgconfig(libvncclient), pkgconfig(libvncserver), and pkgconfig(xkbcommon) BuildRequires: better align with what meson looks for. - Change _service file to point to the proper upstream git repo (gitlab.gnome.org/GNOME/gnome-remote-desktop). - Drop gnutls-anontls.patch, 0001-vnc-Copy-pixels-using-the-right-destination-stride.patch 0001-vnc-Drop-frames-if-client-is-gone.patch: fixed upstream: fixed upstream. ------------------------------------------------------------------- Fri Jan 8 15:37:47 UTC 2021 - Frederic Crozat - Update to version 0.1.9: + add support for RDP (requires freerdp2) + many bugfixes - Add pkgconfig(freerdp2), pkgconfig(winpr2), pkgconfig(cairo) as BuildRequires. - Bump pipewire minimum version to 0.3.0. - Update url to GNOME main project. - Add0001-vnc-Drop-frames-if-client-is-gone.patch Avoid race condition on disconnect (glgo#GNOME/gnome-remote-desktop#43) - Add gnutls-anontls.patch (Fedora), requires patched libVNCServer. - Add 0001-vnc-Copy-pixels-using-the-right-destination-stride.patch: Copy using the right destination stride (glgo#GNOME/gnome-remote-desktop!21) ------------------------------------------------------------------- Sun Mar 22 14:01:33 UTC 2020 - Bjørn Lie - Update to version 0.1.8: + Port to pipewire-0.3. - Replace pkgconfig(libpipewire-0.2) with pkgconfig(libpipewire-0.3) BuildRequires. ------------------------------------------------------------------- Fri Oct 18 19:47:55 UTC 2019 - Bjørn Lie - Update to version 0.1.7: + vnc-pipewire-stream: - Assume no bitmap offset means no bitmap change. - Close session when disconnected. + vnc: - Request cursor sprite as PipeWire metadata. - Detach source when client is gone. + session/vnc: - Set rfbScreenPtr pointer earlier. - Update server format earlier too. - Always set pixel format translate functions. - Don't requeue close session idle. + Use type safety feature of glib 2.58. + meson.build: Use default C standard. + Remove autogen.sh and Makefile. + meson.build: Bump pipewire requirement to 0.2.2. - Drop pipewire-bump.patch: Fixed upstream. ------------------------------------------------------------------- Wed Sep 26 21:18:49 UTC 2018 - bjorn.lie@gmail.com - Update to version 0.1.6: + Please see https://gitlab.gnome.org/jadahl/gnome-remote-desktop - Add pkgconfig(libnotify), pkgconfig(libpipewire-0.2) and pkgconfig(libsecret-1) BuildRequires: New dependencies. - Drop gnome-remote-desktop-bad-meson-option.patch: Fixed upstream. - Add pipewire-bump.patch: Fix build with new pipewire. ------------------------------------------------------------------- Thu May 17 01:03:37 UTC 2018 - hpj@suse.com - Initial package.