Skip to content
Snippets Groups Projects
  1. Dec 04, 2023
  2. Nov 21, 2023
  3. Nov 17, 2023
    • Markus Armbruster's avatar
      ui/qmp-cmds: Improve two error messages · 517b0220
      Markus Armbruster authored
      
      set_password with "protocol": "vnc" supports only "connected": "keep".
      Any other value is rejected with
      
          Invalid parameter 'connected'
      
      Improve this to
      
          parameter 'connected' must be 'keep' when 'protocol' is 'vnc'
      
      client_migrate_info requires "port" or "tls-port".  When both are
      missing, it fails with
      
          Parameter 'port/tls-port' is missing
      
      Improve this to
      
          parameter 'port' or 'tls-port' is required
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-ID: <20231031111059.3407803-5-armbru@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      517b0220
  4. Nov 07, 2023
  5. Oct 20, 2023
  6. Oct 19, 2023
  7. Oct 17, 2023
  8. Oct 08, 2023
  9. Oct 06, 2023
  10. Oct 03, 2023
    • Marc-André Lureau's avatar
      ui/gtk: fix UI info precondition · 9bd4d3df
      Marc-André Lureau authored
      
      dpy_get_ui_info() shouldn't be called if the underlying GPU doesn't
      support it.
      
      Before the assert() was added and the regression introduced, GTK code
      used to get "zero" UI info, for ex with a simple VGA device. The assert
      was added to prevent from calling when there are no console too. The
      other display backend that calls dpy_get_ui_info() correctly checks that
      pre-condition.
      
      Calling dpy_set_ui_info() is "safe" in this case, it will simply return
      an error that can be generally ignored.
      
      Fixes: commit a92e7bb4 ("ui: add precondition for dpy_get_ui_info()")
      Signed-off-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      9bd4d3df
    • Ken Xue's avatar
      ui: add XBGR8888 and ABGR8888 in drm_format_pixman_map · 7db57a73
      Ken Xue authored
      
      Android uses XBGR8888 and ABGR8888 as default scanout buffer, But qemu
      does not support them for qemu_pixman_to_drm_format conversion within
      virtio_gpu_create_dmabuf for virtio gpu.
      
      so, add those 2 formats into drm_format_pixman_map.
      
      Signed-off-by: default avatarKen Xue <Ken.Xue@amd.com>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-ID: <20230914013151.805363-1-Ken.Xue@amd.com>
      7db57a73
    • Laszlo Ersek's avatar
      ui/console: sanitize search in qemu_graphic_console_is_multihead() · 65d7ceb4
      Laszlo Ersek authored
      
      qemu_graphic_console_is_multihead() declares the graphical console "c" a
      "multihead" console if there are two different graphical consoles in the
      system that (a) both reference "c->device", and (b) have different
      "c->head" numbers. In effect, if at least two graphical consoles exist
      that are different heads of the same device that underlies "c". In fact,
      "c" may be one of these two graphical consoles, or "c" may differ from
      both of those consoles (in case "c->device" has at least three heads).
      
      The loop currently uses this awkward "two different consoles" approach
      because the function used not to have access to "c", only to "c->device",
      which didn't allow for fetching (and comparing) "c->head". But, we've
      changed that in the last patch; we now pass all of "c" to
      qemu_graphic_console_is_multihead().
      
      Thus, look for the *first* (and possibly *only*) graphical console, if
      any, that refers to the same "device" as "c", but by a different "head"
      number.
      
      Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com> (odd fixer:Graphics)
      Cc: Gerd Hoffmann <kraxel@redhat.com> (odd fixer:Graphics)
      Signed-off-by: default avatarLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-ID: <20230913144959.41891-5-lersek@redhat.com>
      65d7ceb4
    • Laszlo Ersek's avatar
      ui/console: eliminate QOM properties from qemu_console_is_multihead() · 2c0c4c1f
      Laszlo Ersek authored
      
      According to Marc-André's and Gerd's descriptions, the "device" and
      "head" members of QemuGraphicConsole are exposed as QOM properties for two
      purposes:
      
      (1) Introspection (e.g., "qom-get" monitor command).
      
      (2) A VNC server can display a specific device + head. This lets us run a
          multihead configuration by using multiple VNC servers (one for each
          head).
      
          Further, we can link input devices to device + head, so input events
          are routed to different devices dependent on where they are coming
          from. Which is most useful for tablet devices in a VNC multihead
          setup, each head has its own tablet device then. This does requires
          manual guest-side configuration, for establishing the same tablet <->
          head relationship.
      
      However, neither goal seems to justify the complicated QOM property lookup
      that's internal to qemu_console_is_multihead().
      
      Rework qemu_console_is_multihead() with plain old C language field
      accesses.
      
      Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com> (odd fixer:Graphics)
      Cc: Gerd Hoffmann <kraxel@redhat.com> (odd fixer:Graphics)
      Signed-off-by: default avatarLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-ID: <20230913144959.41891-4-lersek@redhat.com>
      2c0c4c1f
    • Laszlo Ersek's avatar
      ui/console: only walk QemuGraphicConsoles in qemu_console_is_multihead() · 4ce2f97c
      Laszlo Ersek authored
      
      qemu_console_is_multihead() declares the console "c" a "multihead" console
      if there are two different consoles in the system that (a) both reference
      "c->device", and (b) have different "c->head" numbers. In effect, if at
      least two consoles exist that are different heads of the same device that
      underlies "c".
      
      Commit 58d58708 ("ui/console: move graphic fields to
      QemuGraphicConsole", 2023-09-04) pushed the "device" and "head" members
      from the QemuConsole base class down to the QemuGraphicConsole subclass,
      adjusting the referring QOM properties accordingly as well. As a result,
      the "device" property lookup in qemu_console_is_multihead() now crashes,
      in case the candidate console being investigated for criterion (a) is not
      a QemuGraphicConsole instance:
      
      > Unexpected error in object_property_find_err() at qom/object.c:1314:
      > qemu: Property 'qemu-fixed-text-console.device' not found
      > Aborted (core dumped)
      
      This is effectively an unchecked downcast. Make it checked: only consider
      such console candidates that are themselves QemuGraphicConsole instances.
      
      Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com> (odd fixer:Graphics)
      Cc: Gerd Hoffmann <kraxel@redhat.com> (odd fixer:Graphics)
      Fixes: 58d58708
      Signed-off-by: default avatarLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-ID: <20230913144959.41891-3-lersek@redhat.com>
      4ce2f97c
    • Laszlo Ersek's avatar
      ui/console: make qemu_console_is_multihead() static · 845fff1f
      Laszlo Ersek authored
      
      qemu_console_is_multihead() is only called from within "ui/console.c";
      make it static.
      
      Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com> (odd fixer:Graphics)
      Cc: Gerd Hoffmann <kraxel@redhat.com> (odd fixer:Graphics)
      Signed-off-by: default avatarLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-ID: <20230913144959.41891-2-lersek@redhat.com>
      845fff1f
    • Akihiko Odaki's avatar
      input: Allow to choose console with qemu_input_is_absolute · 0337e412
      Akihiko Odaki authored
      
      Although an input is routed depending on the console,
      qemu_input_is_absolute() had no mechanism to specify the console.
      
      Accept QemuConsole as an argument for qemu_input_is_absolute, and let
      the display know the absolute/relative state for a particular console.
      
      Signed-off-by: default avatarAkihiko Odaki <akihiko.odaki@daynix.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Reviewed-by: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20230921082936.28100-1-akihiko.odaki@daynix.com>
      0337e412
    • Paolo Bonzini's avatar
      audio: return Error ** from audio_state_by_name · 176adafc
      Paolo Bonzini authored
      
      Remove duplicate error formatting code.
      
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      176adafc
    • Paolo Bonzini's avatar
      ui/vnc: Require audiodev= to enable audio · 9e58d7a7
      Paolo Bonzini authored
      
      If there is no audiodev do not send the audio ack in response to
      VNC_ENCODING_AUDIO, so that clients aren't told audio exists, and
      immediately drop the client if they try to send any audio control messages
      when audio is not advertised.
      
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      9e58d7a7
  11. Sep 29, 2023
  12. Sep 25, 2023
Loading