1. 03 Jan, 2019 2 commits
  2. 21 Dec, 2018 1 commit
    • Jonas Ådahl's avatar
      vnc: Request cursor sprite as PipeWire metadata · ca7589fa
      Jonas Ådahl authored
      This allows sending cursor updates, including position and cursor
      sprite, without having to embed it into the framebuffer. In effect, when
      there is a hardware cursor in the compositor, moving the cursor will not
      result in any actual frames being copied.
      
      The actual cursor sprite sent over VNC is derived from the cursor sprite
      used in the compositor. The conversion is lossy, as the VNC cursor
      sprite is a 3 bits per pixel (transparen, white or black), and the cursor
      sprite from the compositor is 32 bits per pixel.
      
      This bumps the PipeWire requirement to 0.2.5.
      ca7589fa
  3. 17 Dec, 2018 1 commit
    • Jonas Ådahl's avatar
      session/vnc: Update server format earlier too · 0d91d6a1
      Jonas Ådahl authored
      We update the server protocol to swap the blue and red shift levels, as
      LibVNCServer only RGBX by default, but we pass BGRX. Doing this just
      after resizing the framebuffer where the format is updated is too late
      though, as for some reason LibVNCServer's tight encoding still gets it
      wrong when encoding JPEG rects.
      
      Fixes: #20
      0d91d6a1
  4. 26 Nov, 2018 2 commits
    • Jonas Ådahl's avatar
      session/vnc: Always set pixel format translate functions · ff0a1c2f
      Jonas Ådahl authored
      Internally LibVNCServer uses RGBX, but we provide BGRX. Currently the
      LibVNCServer API doesn't allow to override this, but internally, it
      supports any order of the color components. We relied on this already,
      to avoid an extra pixel conversion, but we failed to update the
      conversion table.
      
      Fixes: #20
      ff0a1c2f
    • Jonas Ådahl's avatar
      vnc: Detach source when client is gone · 9e5cde07
      Jonas Ådahl authored
      LibVNCServer will close the socket for us, so don't keep the socket
      source attached after a client is gone. It's not fast enough to close it
      in the idle function, as that means we'd get a G_IO_NVAL error when the
      source is processed.
      
      Fixes: #23
      9e5cde07
  5. 01 Oct, 2018 6 commits
  6. 07 Aug, 2018 5 commits
    • Jonas Ådahl's avatar
      meson.build: Bump version to 0.1.6 · 81ae42ee
      Jonas Ådahl authored
      While at it, fix missing newline at the end of the file.
      81ae42ee
    • Jonas Ådahl's avatar
      daemon: Initialize autoptr variables · 5030084d
      Jonas Ådahl authored
      The issues were harmless, but this fixes the following compiler warning:
      
      ../src/grd-daemon.c: In function 'main':
      /home/jonas/Dev/gnome/install/include/glib-2.0/glib/gmacros.h:488:101:
      warning: 'context' may be used uninitialized in this function
      [-Wmaybe-uninitialized]
         static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName)
           (TypeName **_ptr) { if (*_ptr) (func) (*_ptr); }         \
                                                                                                           ^
      ../src/grd-daemon.c:289:29: note: 'context' was declared here
         g_autoptr(GOptionContext) context;
                                   ^~~~~~~
      
      /home/jonas/Dev/gnome/install/include/glib-2.0/glib/gmacros.h:488:101:
      warning: 'action' may be used uninitialized in this function
      [-Wmaybe-uninitialized]
         static G_GNUC_UNUSED inline void _GLIB_AUTOPTR_FUNC_NAME(TypeName)
           (TypeName **_ptr) { if (*_ptr) (func) (*_ptr); }         \
                                                                                                           ^
      ../src/grd-daemon.c:273:28: note: 'action' was declared here
         g_autoptr(GSimpleAction) action;
                                  ^~~~~~
      5030084d
    • Jonas Ådahl's avatar
      vnc/pipewire-stream: Don't pass non-literal string to g_set_error · 18991b95
      Jonas Ådahl authored
      Fixes the following compiler warning:
      
      ../src/grd-vnc-pipewire-stream.c: In function 'connect_to_stream':
      ../src/grd-vnc-pipewire-stream.c:361:20: error: format not a string
      literal and no format arguments [-Werror=format-security]
                          strerror (-ret));
                          ^~~~~~~~
      18991b95
    • Jonas Ådahl's avatar
      meson.build: Bump version to 0.1.5 · 848d60bd
      Jonas Ådahl authored
      848d60bd
    • Jonas Ådahl's avatar
      vnc: Postpone resizing framebuffer until encodings known · ca05c138
      Jonas Ådahl authored
      The client will send a list of extensions, including one that tells the
      server that the client supports resizing the framebuffer. If we resize
      the framebuffer before the server has received this list, it'll drop the
      resize on the floor.
      
      To not have the resize request dropped on the floor, wait until the
      client has sent the extensions list before resizing the framebuffer.
      This is done by checking the 'preferredEncoding' variable of the
      rfbClientRec, which is set as a side effect of receiving the protocol
      message that also contains available extensions.
      ca05c138
  7. 06 Aug, 2018 2 commits
  8. 09 Jul, 2018 3 commits
  9. 19 Jun, 2018 2 commits
  10. 15 Jun, 2018 1 commit
    • Jonas Ådahl's avatar
      vnc-pipewire-stream: Cap stream at 30 FPS · b5c7d986
      Jonas Ådahl authored
      Currently we can't change the framerate, but more often than not is the
      common 60 Hz more than what we can transmit, so lets half that and cap
      the framerate limit at 30 Hz.
      b5c7d986
  11. 14 Jun, 2018 11 commits
  12. 13 Jun, 2018 1 commit
    • Jonas Ådahl's avatar
      Remove dummy session · f19ec1ea
      Jonas Ådahl authored
      It has surved its purpose of being an early test bed, but is now more in
      the way than helpful.
      f19ec1ea
  13. 30 May, 2018 2 commits
  14. 15 Mar, 2018 1 commit