1
0

- Update to version 46.4:

+ Gracefully handle invalid x224Crq data
  + Fix file descriptor leak
  + Updated translations.

OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-remote-desktop?expand=0&rev=56
This commit is contained in:
Bjørn Lie 2024-08-12 12:33:14 +00:00 committed by Git OBS Bridge
commit 154f1a85ca
8 changed files with 1181 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

16
_service Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0"?>
<services>
<service name="obs_scm" mode="manual">
<param name="url">https://gitlab.gnome.org/GNOME/gnome-remote-desktop.git</param>
<param name="scm">git</param>
<param name="revision">46.4</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="changesgenerate">disable</param>
</service>
<service mode="buildtime" name="tar" />
<service mode="buildtime" name="recompress">
<param name="file">*.tar</param>
<param name="compression">zst</param>
</service>
<service mode="manual" name="set_version" />
</services>

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bcb34609c23cbd74a0a8245aeca62e35c606cb76a49f50fe76c48278156e1608
size 2493964

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09693cf1d031de5e7122f0e966315251badc30be8fee050406d82ad1c73ba123
size 2527756

View File

@ -0,0 +1,979 @@
-------------------------------------------------------------------
Sun Aug 11 13:15:39 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 46.4:
+ Gracefully handle invalid x224Crq data
+ Fix file descriptor leak
+ Updated translations.
-------------------------------------------------------------------
Sun Jun 30 17:42:28 UTC 2024 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 46.3:
+ Avoid crash when getting invalid PipeWire buffers
+ Updated translations.
-------------------------------------------------------------------
Wed May 22 08:36:26 UTC 2024 - Joan Torres <joan.torres@suse.com>
- Add new files with the latest update.
-------------------------------------------------------------------
Wed May 22 06:15:28 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 46.2:
+ Potential crasher fix.
+ Improved disconnection messages.
+ Broader client compatibility support.
+ Various security hardening improvements.
+ CVE-2024-5148 Limit login screen->user session handover access
to appropriate user.
+ Updated translations.
-------------------------------------------------------------------
Thu Apr 18 13:11:16 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 46.1:
+ Fix running on big endian.
+ Don't crash when there are no user sessions.
+ Updated translations.
-------------------------------------------------------------------
Tue Apr 16 15:00:08 UTC 2024 - Joan Torres <joan.torres@suse.com>
- Use sysusers to create gnome-remote-desktop user and home dir.
-------------------------------------------------------------------
Tue Mar 19 07:53:20 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 46.0:
+ Fix custom configuration directory with tmpfiles.
+ Updated translations.
-------------------------------------------------------------------
Mon Mar 4 11:43:06 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 46.rc:
+ Allow D-Bus activation.
+ Add polkit rules for system daemon configuration access.
+ Add system daemon configuration D-Bus API.
+ Allow checking TLS fingerprint via grdctl.
+ Fix VNC-only bulids.
+ Disable DMA buffer support when running with NVIDIA.
- Add pkgconfig(polkit-gobject-1) and pkgconfig(dbus-1)
BuildRequires: new dependencies.
-------------------------------------------------------------------
Thu Feb 15 07:15:16 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 46.beta:
+ Add layering to system daemon configuration.
+ Various fixes and cleanups to the RDP backend.
+ Handle the Microsofts mstsc client (default RDP client in MS
Windows) clients better when redirecting.
+ Improve system-daemon <-> user-daemon RDP port conflict
handling.
+ Fix crash when setting invalid configuration.
+ Improved performance during monitor layout changes.
-------------------------------------------------------------------
Thu Feb 1 09:20:38 UTC 2024 - Yifan Jiang <yfjiang@suse.com>
- Explict require higher version of gcc on SLE/Leap.
-------------------------------------------------------------------
Tue Jan 16 12:59:01 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 46.alpha:
+ Port to FreeRDP 3.1.
+ Introduce systemd service for single user headless setups.
+ Introduce headless remote login via GDM (RDP only).
+ Make fdk-aac dependency non-optional (RDP).
+ Improve cursor handling (RDP).
+ Automatic fallback port finding (RDP).
+ Add Opus coder support (RDP).
+ Misc. improvements to the RDP backend.
- Add pkgconfig(opus) BuildRequires: new dependency.
- Replace pkgconfig(freerdp*2|winpr2) buildRequires with
pkgconfig(freerdp*3|winpr3): follow upstreams port to FreeRDP 3.1.
-------------------------------------------------------------------
Sun Oct 22 17:39:54 UTC 2023 - bjorn.lie@gmail.com
- Update to version 45.1:
+ session:
- Assert region size to be greater than 0
- Add debug message to also output new EI regions
- Scale absolute pointer position with respect to the EI region
- Clear all EI related instances before dbus session stop call
- Only notify keysym when EI keyboard is available
- Add struct for absolute pointer motion events
+ vnc-pipewire-stream: Don't remove buffer while dequeueing it
+ rdp-pipewire-stream: Don't remove buffer while dequeueing it
+ Adapt usage of abs pointer motion events to
GrdEventPointerMotionAbs
+ Updated translations.
-------------------------------------------------------------------
Thu Sep 28 12:22:12 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 45.0:
+ vnc: Also include DRM format modifiers when resizing PipeWire
stream.
+ rdp: Also include DRM format modifiers when resizing PipeWire
stream.
+ Updated translations.
- Change compression of tarball in service and spec to zst from xz.
- Drop dbus-1-daemon Requires, only needed for tests, and we are
not building them currently.
-------------------------------------------------------------------
Mon Sep 4 09:47:30 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 45.rc:
* Use default RDP and VNC ports again.
* Use libei for input event plumbing.
* Updated translations.
- Add pkgconfig(libei-1.0) BuildRequires: New dependency.
-------------------------------------------------------------------
Tue Aug 08 07:59:54 UTC 2023 - bjorn.lie@gmail.com
- Update to version 45.beta:
* build:
- Add an option to enable or disable tests
- Use meson to setup tests environment
* ci: Simplify test code by just running meson test
* context: Add getter for runtime mode
* daemon: Fix acquiring screen_cast & remote_desktop proxies
* egl-thread: Properly initialize egl_image
* rdp-audio-playback: Fix type of PCM samples
* rdp-dsp: Fix error condition when AAC encoder could not be
created
* rdp-fuse-clipboard: Check data size before dereferencing
pointer
* rdp-gfx-surface: Stop direct usage of RDP surface attributes
* rdp-graphics-pipeline:
- Always reset RFX context
- Remove superfluous condition check
- Use surface mapping to map surface to output
* rdp-layout-manager:
- Add API to invalidate surfaces
- Also set surface mapping
- Always invalidate surfaces when changing the layout
- Duplicate virtual monitor in surface context
- Ensure that the correct desktop size is always used
- Fix calculation of surface position
- Output debug message when disposing virtual monitors
- Output debug message when preparing virtual monitor
* rdp-monitor-config:
- Also determine layout offset
- Remove superfluous size sanitization
- Short a few lines a bit
- Tighten up primary monitor determination
* rdp:
- Move surface resize handling to stream class
- Simplify encode handling
- Use virtual monitor size instead of surface size for layout
updates
* rdp-pipewire-stream:
- Add signal to indicate that video size changed
- Fix race condition when stream is destroyed
- Remove superfluous attribute set
- Remove superfluous condition
* rdp-surface:
- Add APIs to set and get surface mapping
- Add API to invalidate surface
- Remove unused output_origin_[x,y] attributes
* session-rdp:
- Adapt to the new invalidate_surface API
- Add API to notify a new frame
- Add API to notify new desktop size
- Allow multimonitor configs in headless sessions
- Don't advertise handling for the RefreshRect
- Fix incomplete warning message
- Ignore SuppressOutput PDUs when session is not ready yet
- Reduce direct usage of surface attributes a bit
- Remove checks that are never hit
- Remove duplicated handling for resizing the desktop
- Pass tests=false to meson, do not build tests (brings in a lot
of dependencies we can avoid with not building it).
-------------------------------------------------------------------
Fri Jul 07 18:55:44 UTC 2023 - bjorn.lie@gmail.com
- Update to version 45.alpha:
* clipboard: Add suffix to MAX_READ_TIME indicating the time unit
* clipboard-rdp: Add suffix to MAX_WAIT_TIME indicating the time
unit
* daemon: Make daemon an abstract class
* daemon-user: Remove unnecessary includes
* dbus: Add prefix Mutter to dbus names
* rdp:
- Adapt to layout manager
- Add layout manager
- Add stream owner class
- Do not include monitor config header in session-rdp header
- Ensure PipeWire buffers to be queued before destroying them
- Fix assertion hit, when monitor layout PDU contains no
monitors
* rdp-audio-playback: Don't dereference RDPSND context when it is
NULL
* rdp-fuse-clipboard: Remove duplicate assignment
* rdp-gfx-frame-controller: Use render GSource of surface
* rdp-layout-manager:
- Fix render sources not being triggered when wanted
- Handle surface reduction in layout changes
- Recreate mirror-primary streams when streams close
* rdp-monitor-config:
- Fix calculation of the desktop size
- Fix naming of the graphics output buffer size
* rdp-pipewire-stream:
- Emit closed signal when source node is removed
- Lock buffer mutex before removing buffer entry
- Use error signal on PipeWire core errors
* rdp-surface:
- Add APIs to allow inhibit rendering
- Add API to set surface size
- Add API to trigger pending render operations
- Add getter for width and height
- Specify target refresh rate directly at surface creation
* rdp-telemetry: Remove protocol timeout source
* session:
- Add debug message when remote desktop session is closed
- Move stream management to backends
* session-rdp:
- Add APIs to acquire and release stream ids
- Add error info for failed stream creations
- Handle pointer cache size properly
- Rename take_or_encode_frame
- Stop ignoring mouse movement on mouse button presses
- Zero initialize events array
* session:
- Silence failed message when mutter vanishes
- Use stream path instead of stream for abs pointer motion
events
* settings: Make settings an abstract class
* settings-user: Fix copyright year
* stream:
- Also save stream id for easier identification
- Remove unused context argument
- Remove unused signal
* tests:
- Also output return value of test client, in case of an error
- Do not attempt to wait twice on test client
* vnc: Ensure PipeWire buffers to be queued before destroying
them
* vnc-pipewire-stream: Lock buffer mutex before removing buffer
entry
* Updated translations.
-------------------------------------------------------------------
Sun May 28 09:20:44 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 44.2:
+ vnc-pipewire-stream and rdp-pipewire-stream: Lock buffer
mutex before removing buffer entry.
+ vnc and rdp: Ensure PipeWire buffers to be queued before
destroying them.
+ Updated translations.
-------------------------------------------------------------------
Thu May 18 04:19:42 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
- Drop %systemd_user_postun_with_restart macro from the %postun
directive. It's been deprecated and emptied (expands to nil) on
both Tumbleweed and Leap already.
-------------------------------------------------------------------
Sat Apr 22 19:25:05 UTC 2023 - bjorn.lie@gmail.com
- Update to version 44.1:
* daemon: Stop and clear rdp/vnc servers when start fails
* session-rdp:
- Prevent DVC reinitializations on session shutdown
- Fix small style issue
* rdp/rdpgfx: Use correct GMainContext for protocol reset source
* clipboard-rdp: Make warnings more explicit on content
conversion failure
-------------------------------------------------------------------
Sun Mar 19 07:38:45 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 44.0:
* rdp-audio-playback:
- Fix typo in debug message
- Also output client version, when version is too old
- Add SVC fallback, when DVC is unavailable
* session-rdp: Disable audio output redirection for mobile
clients
* build: Bump FreeRDP version requirement
* rdp-dsp: Fix typo in error message
* vnc-pipewire-stream: Acquire EGL slot for transfer tasks
* Updated translations.
-------------------------------------------------------------------
Mon Mar 06 13:19:11 UTC 2023 - bjorn.lie@gmail.com
- Update to version 44.rc:
* build: Bump FreeRDP version requirement
* clipboard: Always call g_task_return_pointer() after reading
content
* egl: Release current context before destroying it in error
paths
* egl-thread: Add ability to replace transfer tasks
* hwaccel-nvidia: Replace deprecated function
cuDeviceComputeCapability
* pipewire-utils: Fix a few style issues
* rdp:
- Be more strict with invalid monitor layouts
- Stop dequeuing PipeWire buffers while destroying the stream
- Only invoke frame source, when previous operation was
successful
* rdp-audio-output-stream: Destroy the stream before clearing its
pointer
* rdp-audio-playback:
- Add SVC fallback, when DVC is unavailable
- Also output client version, when version is too old
- Fix typo in debug message
* rdp-display-control: Disconnect clients, that violate message
order
* rdp-dsp: Fix typo in error message
* rdp-fuse-clipboard: Rely on include dir in pkgconfig file
* rdp-pipewire-stream:
- Acquire EGL slot for transfer tasks
- Remove code path, that is not hit any more
- Remove superfluous condition
* session: Fix a small style issue
* session-rdp:
- Add error info for invalid monitor layouts
- Also advertise RemoteFX in image mode
- Disable audio output redirection for mobile clients
* vnc:
- Stop dequeuing PipeWire buffers while destroying the stream
- Only invoke frame source, when previous operation was
successful
* vnc-pipewire-stream:
- Acquire EGL slot for transfer tasks
- Remove code path, that is not hit any more
- Remove superfluous condition
* Updated translations.
-------------------------------------------------------------------
Fri Feb 17 16:40:38 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 44.alpha:
* build: Use schemadir variable for installed enums
* clipboard-rdp: Also check for / separator when preparing
uri-list
* egl-thread:
- Remove unused callback context
- Remove unused typedef
* rdp:
- Avoid direct usage of the attributes of RDP buffers
- Deprecate the legacy graphics path
* rdp-buffer:
- Add API to actually unmap the CUDA resource
- Add API to map CUDA resource
- Add API to register read-only GL buffer
- Add getters to retrieve buffer attributes
- Make buffer struct private
- Rename unmap_resources to queue_resource_unmap
* rdp-pipewire-stream:
- Assert buffer types to be either MemFds or DmaBufs
- Decouple pointer updates from frame updates
- Ignore frame data, when mapping memfd fails
* rdp-server: Remove stray new line
* vnc-pipewire-stream:
- Assert buffer types to be either MemFds or DmaBufs
- Decouple pointer updates from frame updates
- Don't pass NULL as frame to on_frame_ready
* Updated translations.
-------------------------------------------------------------------
Tue Jan 10 14:31:18 UTC 2023 - bjorn.lie@gmail.com
- Update to version 43.3:
+ Updated translations.
-------------------------------------------------------------------
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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- Update to version 43.0:
+ Updated translations.
-------------------------------------------------------------------
Sun Sep 4 11:12:59 UTC 2022 - Luciano Santos <luc14n0@opensuse.org>
- 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 <dimstar@opensuse.org>
- 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 <dimstar@opensuse.org>
- 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 <dimstar@opensuse.org>
- 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 <bjorn.lie@gmail.com>
- 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 <dimstar@opensuse.org>
- 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 <bjorn.lie@gmail.com>
- 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 <dimstar@opensuse.org>
- 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 <fcrozat@suse.com>
- 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 <bjorn.lie@gmail.com>
- 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 <bjorn.lie@gmail.com>
- 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.

View File

@ -0,0 +1,4 @@
name: gnome-remote-desktop
version: 46.4
mtime: 1722843469
commit: 76d85166aefd3a4d0cabc77a8684b4a80fa6effc

152
gnome-remote-desktop.spec Normal file
View File

@ -0,0 +1,152 @@
#
# spec file for package gnome-remote-desktop
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global systemd_unit gnome-remote-desktop.service
%define freerdp_version 3.1.0
%define glib_version 2.75.0
%define gstreamer_version 1.10.0
%define polkit_req >= 122
Name: gnome-remote-desktop
Version: 46.4
Release: 0
Summary: GNOME Remote Desktop screen sharing service
License: GPL-2.0-or-later
Group: System/Management
URL: https://gitlab.gnome.org/GNOME/gnome-remote-desktop
Source0: %{name}-%{version}.tar.zst
BuildRequires: /usr/bin/dbus-run-session
BuildRequires: asciidoc
BuildRequires: meson >= 0.58.0
BuildRequires: pkgconfig
BuildRequires: systemd-rpm-macros
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(epoxy) >= 1.4
BuildRequires: pkgconfig(fdk-aac)
BuildRequires: pkgconfig(ffnvcodec) >= 11.1.5.0
BuildRequires: pkgconfig(freerdp-client3) >= %{freerdp_version}
BuildRequires: pkgconfig(freerdp-server3) >= %{freerdp_version}
BuildRequires: pkgconfig(freerdp3) >= %{freerdp_version}
BuildRequires: pkgconfig(fuse3) >= 3.9.1
%if 0%{?sle_version} && 0%{?sle_version} < 160000
BuildRequires: gcc13
BuildRequires: gcc13-c++
%endif
BuildRequires: sysuser-tools
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(gio-2.0) >= %{glib_version}
BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib_version}
BuildRequires: pkgconfig(glib-2.0) >= %{glib_version}
BuildRequires: pkgconfig(gstreamer-1.0) >= %{gstreamer_version}
BuildRequires: pkgconfig(gstreamer-video-1.0) >= %{gstreamer_version}
BuildRequires: pkgconfig(gudev-1.0)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libei-1.0) >= 1.2.0
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.0
BuildRequires: pkgconfig(libsecret-1)
BuildRequires: pkgconfig(libvncclient)
BuildRequires: pkgconfig(libvncserver)
BuildRequires: pkgconfig(libvncserver) >= 0.9.10
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(polkit-gobject-1) %polkit_req
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(tss2-esys)
BuildRequires: pkgconfig(tss2-mu)
BuildRequires: pkgconfig(tss2-rc)
BuildRequires: pkgconfig(tss2-tctildr)
BuildRequires: pkgconfig(winpr3) >= %{freerdp_version}
BuildRequires: pkgconfig(xkbcommon) >= 1.0.0
%{?systemd_ordering}
%sysusers_requires
Requires: pipewire >= 0.3.0
%description
GNOME Remote Desktop is a remote desktop and screen sharing service for the
GNOME desktop environment.
%lang_package
%prep
%autosetup -p1
%build
%if 0%{?sle_version} && 0%{?sle_version} < 160000
export CC=gcc-13
%endif
%meson \
-D vnc=true \
-D tests=false \
%{nil}
%meson_build
%sysusers_generate_pre %{_vpath_builddir}/data/gnome-remote-desktop-sysusers.conf gnome-remote-desktop gnome-remote-desktop-sysusers.conf
%install
%meson_install
%find_lang %{name}
%check
%meson_test
%pre -f gnome-remote-desktop.pre
%service_add_pre %{systemd_unit}
%post
%tmpfiles_create %{_tmpfilesdir}/gnome-remote-desktop-tmpfiles.conf
%service_add_post %{systemd_unit}
%systemd_user_post %{systemd_unit}
%preun
%service_del_preun %{systemd_unit}
%systemd_user_preun %{systemd_unit}
%postun
%service_del_postun %{systemd_unit}
%files
%license COPYING
%doc README.md
%{_bindir}/grdctl
%{_datadir}/%{name}/
%{_datadir}/applications/org.gnome.RemoteDesktop.Handover.desktop
%{_datadir}/dbus-1/system-services/org.gnome.RemoteDesktop.service
%{_datadir}/dbus-1/system.d/org.gnome.RemoteDesktop.conf
%{_datadir}/glib-2.0/schemas/org.gnome.desktop.remote-desktop.enums.xml
%{_datadir}/glib-2.0/schemas/org.gnome.desktop.remote-desktop.gschema.xml
%{_datadir}/polkit-1/actions/org.gnome.remotedesktop.configure-system-daemon.policy
%{_datadir}/polkit-1/actions/org.gnome.remotedesktop.enable-system-daemon.policy
%{_datadir}/polkit-1/rules.d/20-gnome-remote-desktop.rules
%{_libexecdir}/gnome-remote-desktop-daemon
%{_libexecdir}/gnome-remote-desktop-enable-service
%{_mandir}/man1/grdctl.1%{ext_man}
%{_sysusersdir}/gnome-remote-desktop-sysusers.conf
%{_tmpfilesdir}/gnome-remote-desktop-tmpfiles.conf
%ghost %attr(0700,gnome-remote-desktop,gnome-remote-desktop) %dir %{_localstatedir}/lib/gnome-remote-desktop
%ghost %attr(0755,gnome-remote-desktop,gnome-remote-desktop) %dir %{_sysconfdir}/gnome-remote-desktop
%ghost %attr(0644,gnome-remote-desktop,gnome-remote-desktop) %{_sysconfdir}/gnome-remote-desktop/grd.conf
%{_unitdir}/gnome-remote-desktop.service
%{_userunitdir}/gnome-remote-desktop-handover.service
%{_userunitdir}/gnome-remote-desktop-headless.service
%{_userunitdir}/gnome-remote-desktop.service
%files lang -f %{name}.lang
%changelog