qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 0780ec: Revert "vnc: allow fall back to RAW e


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 0780ec: Revert "vnc: allow fall back to RAW encoding"
Date: Fri, 24 Jan 2020 02:00:14 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 0780ec7be82dd4781e9fd216b5d99a125882ff5a
      
https://github.com/qemu/qemu/commit/0780ec7be82dd4781e9fd216b5d99a125882ff5a
  Author: Gerd Hoffmann <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M ui/vnc.c

  Log Message:
  -----------
  Revert "vnc: allow fall back to RAW encoding"

This reverts commit de3f7de7f4e257ce44cdabb90f5f17ee99624557.

Remove VNC optimization to reencode framebuffer update as raw if it's
smaller than the default encoding.

QEMU's implementation was naive and didn't account for the ZLIB z_stream
mutating with each compression.  Because of the mutation, simply
resetting the output buffer's offset wasn't sufficient to "rewind" the
operation.  The mutated z_stream would generate future zlib blocks which
referred to symbols in past blocks which weren't sent.  This would lead
to artifacting.

Considering that ZRLE is never larger than raw and even though ZLIB can
occasionally be fractionally larger than raw, the overhead of
implementing this optimization correctly isn't worth it.

Signed-off-by: Cameron Esfahani <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: 557ba0e57200014bd4f453f6516f02b61bdfc782
      
https://github.com/qemu/qemu/commit/557ba0e57200014bd4f453f6516f02b61bdfc782
  Author: Cameron Esfahani <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M ui/vnc-enc-zrle.c
    M ui/vnc.c

  Log Message:
  -----------
  vnc: prioritize ZRLE compression over ZLIB

In my investigation, ZRLE always compresses better than ZLIB so
prioritize ZRLE over ZLIB, even if the client hints that ZLIB is
preferred.

zlib buffer is always reset in zrle_compress_data(), so using offset to
calculate next_out and avail_out is useless.

Signed-off-by: Cameron Esfahani <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: a1e8853ed2acbda29a52533abc91b035b723952e
      
https://github.com/qemu/qemu/commit/a1e8853ed2acbda29a52533abc91b035b723952e
  Author: Philippe Mathieu-Daudé <address@hidden>
  Date:   2020-01-21 (Tue, 21 Jan 2020)

  Changed paths:
    M ui/console.c

  Log Message:
  -----------
  ui/console: Display the 'none' backend in '-display help'

Commit c388f408b5 added the possibility to list the display
backends using '-display help'. Since the 'none' backend is
is not implemented as a DisplayChangeListenerOps, it is not
registered to the dpys[] array with qemu_display_register(),
and is not listed in the help output.

This might be confusing, as we list it in the man page:

  -display type
      Select type of display to use. This option is a replacement for
      the old style -sdl/-curses/... options. Valid values for type are

      none
          Do not display video output. The guest will still see an
          emulated graphics card, but its output will not be displayed
          to the QEMU user. This option differs from the -nographic
          option in that it only affects what is done with video
          output; -nographic also changes the destination of the serial
          and parallel port data.

Fix by manually listing the special 'none' backend in the help.

Suggested-by: Thomas Huth <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-id: address@hidden
Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: c0248b36d8d190933a43919b9f71013a255e866c
      
https://github.com/qemu/qemu/commit/c0248b36d8d190933a43919b9f71013a255e866c
  Author: Peter Maydell <address@hidden>
  Date:   2020-01-23 (Thu, 23 Jan 2020)

  Changed paths:
    M ui/console.c
    M ui/vnc-enc-zrle.c
    M ui/vnc.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kraxel/tags/ui-20200123-pull-request' 
into staging

vnc: fix zlib compression artifacts.
ui: add "none" to -display help.

# gpg: Signature made Thu 23 Jan 2020 14:20:53 GMT
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <address@hidden>" [full]
# gpg:                 aka "Gerd Hoffmann <address@hidden>" [full]
# gpg:                 aka "Gerd Hoffmann (private) <address@hidden>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/ui-20200123-pull-request:
  ui/console: Display the 'none' backend in '-display help'
  vnc: prioritize ZRLE compression over ZLIB
  Revert "vnc: allow fall back to RAW encoding"

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/6918ab2570bc...c0248b36d8d1



reply via email to

[Prev in Thread] Current Thread [Next in Thread]