[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] e80be9: ui/gtk: don't try to redefine SI pref
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] e80be9: ui/gtk: don't try to redefine SI prefixes |
Date: |
Fri, 15 Jan 2021 12:14:58 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: e80be993b53f27000bb2f224e9540a7c7cf04fae
https://github.com/qemu/qemu/commit/e80be993b53f27000bb2f224e9540a7c7cf04fae
Author: Volker Rümelin <vr_qemu@t-online.de>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M include/ui/gtk.h
M ui/gtk.c
Log Message:
-----------
ui/gtk: don't try to redefine SI prefixes
Redefining SI prefixes is always wrong. 1s has per definition
1000ms. Remove the misnamed named constant and replace it with
a comment explaining the frequency to period conversion in two
simple steps. Now you can cancel out the unit mHz in the comment
with the implicit unit mHz in refresh_rate_millihz and see why
the implicit unit ms for update_interval remains.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20201213165724.13418-1-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit: 0431e369b0bafb17085c8635d8f719f4e01cc4b7
https://github.com/qemu/qemu/commit/0431e369b0bafb17085c8635d8f719f4e01cc4b7
Author: Volker Rümelin <vr_qemu@t-online.de>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M ui/gtk.c
Log Message:
-----------
ui/gtk: rename variable window to widget
The type of the variable window is GtkWidget. Rename the variable
from window to widget, because windows and widgets are different
things.
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20201213165724.13418-2-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit: 3c4b8f8310ad9fae3c0b36f1e871e2f9b5973550
https://github.com/qemu/qemu/commit/3c4b8f8310ad9fae3c0b36f1e871e2f9b5973550
Author: Volker Rümelin <vr_qemu@t-online.de>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M ui/gtk.c
Log Message:
-----------
ui/gtk: limit virtual console max update interval
Limit the virtual console maximum update interval to
GUI_REFRESH_INTERVAL_DEFAULT. This papers over a integer
overflow bug in gtk3 on Windows where the reported monitor
refresh frequency can be much smaller than the real refresh
frequency.
The gtk bug report can be found here:
https://gitlab.gnome.org/GNOME/gtk/-/issues/3394
On my Windows 10 system gtk reports a monitor refresh rate of
1.511Hz instead of 60.031Hz and slows down the screen update
rate in qemu to a crawl. Provided you are affected by the gtk
bug on Windows, these are the steps to reproduce the issue:
Start qemu with -display gtk and activate all qemu virtual
consoles and notice the reduced qemu refresh rate. Activating
all virtual consoles is necessary, because gui_update() in
ui/console.c uses the minimum of all display change listeners
update interval and not yet activated virtual consoles report
the default update interval (30ms).
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Message-Id: <20201213165724.13418-3-vr_qemu@t-online.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit: 0fdc99775c03cd31d5e99c8608113ac00ff6266b
https://github.com/qemu/qemu/commit/0fdc99775c03cd31d5e99c8608113ac00ff6266b
Author: Nikola Pavlica <pavlica.nikola@gmail.com>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M include/ui/gtk.h
M ui/gtk.c
Log Message:
-----------
ui/gtk: expose gd_monitor_update_interval
The gd_egl_refresh function, as the name suggests, is responsible for
refreshing displays when using EGL graphics with QEMU's GTK UI. This is
a perfect candidate for a function to update the refresh rate in.
Since gd_monitor_update_interval is inaccessible from the gd_egl_refresh
function, we need to expose/globalize it in the include/ui/gtk.h file.
Signed-off-by: Nikola Pavlica <pavlica.nikola@gmail.com>
Message-Id: <20210114140153.301473-2-pavlica.nikola@gmail.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit: cab82424f6f246e1ef51bb6b10fbb5114e166aaf
https://github.com/qemu/qemu/commit/cab82424f6f246e1ef51bb6b10fbb5114e166aaf
Author: Nikola Pavlica <pavlica.nikola@gmail.com>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M ui/gtk-egl.c
Log Message:
-----------
ui/gtk: update monitor interval on egl displays
When running QEMU's GTK UI without EGL or OGL, the
gd_monitor_update_interval function gets executed and the display refresh
rate gets updated accordingly. However, when using EGL or just regular
OGL, the function never gets executed.
Which is why I decided that the function should be in gd_egl_refresh
where the display output gets updated, in the same vain as how it's done
for normal GTK UIs (aka. those without EGL) - in it's display refresh
function.
Since the gd_monitor_update_interval function now is exposed, we are
going to use it to update the refresh rate.
Signed-off-by: Nikola Pavlica <pavlica.nikola@gmail.com>
Message-Id: <20210114140153.301473-3-pavlica.nikola@gmail.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit: 521534df57cc0bee7b0da9e69fbbaa7149036ddb
https://github.com/qemu/qemu/commit/521534df57cc0bee7b0da9e69fbbaa7149036ddb
Author: Zihao Chang <changzihao1@huawei.com>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M ui/vnc.c
Log Message:
-----------
vnc: fix unfinalized tlscreds for VncDisplay
In vnc_display_open(), if tls-creds is enabled, do object_ref(object
ref 1->2) for tls-creds. While in vnc_display_close(), object_unparent
sets object ref to 1(2->1) and unparent the object for root.
Problem:
1. the object can not be found from the objects_root, while the object
is not finalized.
2. the qemu_opts of tls-creds(id: creds0) is not deleted, so new tls
object with the same id(creds0) can not be delete & add.
Signed-off-by: Zihao Chang <changzihao1@huawei.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20210111131911.805-1-changzihao1@huawei.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit: 7b5fa0b583c8d54f4bc3be796c4086de39ea09d3
https://github.com/qemu/qemu/commit/7b5fa0b583c8d54f4bc3be796c4086de39ea09d3
Author: Daniel P. Berrangé <berrange@redhat.com>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M qemu-options.hx
M ui/vnc.c
M ui/vnc.h
Log Message:
-----------
ui: add support for remote power control to VNC server
The "XVP" (Xen VNC Proxy) extension defines a mechanism for a VNC client
to issue power control requests to trigger graceful shutdown, reboot, or
hard reset.
This option is not enabled by default, since we cannot assume that users
with VNC access implicitly have administrator access to the guest OS.
Thus is it enabled with a boolean "power-control" option e.g.
-vnc :1,power-control=on
While, QEMU can easily support shutdown and reset, there's no easy way
to wire up reboot support at this time. In theory it could be done by
issuing a shutdown, followed by a reset, but there's no convenient
wiring for such a pairing in QEMU. It also isn't possible to have the
VNC server directly talk to QEMU guest agent, since the agent chardev is
typically owned by an external mgmt app.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
[ kraxel: rebase to master ]
[ kraxel: add missing break ]
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit: 5f8679fe46d78acfa5fc43a3fd6b3fe95525d9bd
https://github.com/qemu/qemu/commit/5f8679fe46d78acfa5fc43a3fd6b3fe95525d9bd
Author: Alex Chen <alex.chen@huawei.com>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M ui/vnc.c
Log Message:
-----------
vnc: Fix a memleak in vnc_display_connect()
Free the 'sioc' when the qio_channel_socket_connect_sync() fails.
Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
Reviewed-by: Li Qiang <liq3ea@gmail.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20201126065702.35095-1-alex.chen@huawei.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Commit: b3c2de9cd5bc0023901e7a4d568dfc5152b6cc4a
https://github.com/qemu/qemu/commit/b3c2de9cd5bc0023901e7a4d568dfc5152b6cc4a
Author: Gerd Hoffmann <kraxel@redhat.com>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M ui/vnc.c
Log Message:
-----------
vnc: move check into vnc_cursor_define
Move the check whenever a cursor exists into the vnc_cursor_define()
function so callers don't have to do it.
Suggested-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20210112134120.2031837-2-kraxel@redhat.com
Commit: 9e1632ad07ca49de99da4bb231e9e2f22f2d8df5
https://github.com/qemu/qemu/commit/9e1632ad07ca49de99da4bb231e9e2f22f2d8df5
Author: Gerd Hoffmann <kraxel@redhat.com>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M ui/vnc.c
Log Message:
-----------
vnc: move initialization to framebuffer_update_request
qemu sends various state info like current cursor shape to newly connected
clients in response to a set_encoding message. This is not correct according
to the rfb spec. Send that information in response to a full (incremental=0)
framebuffer update request instead. Also send the resize information
unconditionally, not only in case of an actual server-side change.
This makes the qemu vnc server conform to the spec and allows clients to
request the complete vnc server state without reconnect.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20210112134120.2031837-3-kraxel@redhat.com
Commit: 763deea7e906321f8ba048c359f168f60d51c14e
https://github.com/qemu/qemu/commit/763deea7e906321f8ba048c359f168f60d51c14e
Author: Gerd Hoffmann <kraxel@redhat.com>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M ui/vnc.c
M ui/vnc.h
Log Message:
-----------
vnc: add support for extended desktop resize
The extended desktop resize encoding adds support for (a) clients
sending resize requests to the server, and (b) multihead support.
This patch implements (a). All resize requests are rejected by qemu.
Qemu can't resize the framebuffer on its own, this is in the hands of
the guest, so all qemu can do is forward the request to the guest.
Should the guest actually resize the framebuffer we can notify the vnc
client later with a separate message.
This requires support in the display device. Works with virtio-gpu.
https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#extendeddesktopsize-pseudo-encoding
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-id: 20210112134120.2031837-4-kraxel@redhat.com
Commit: 7cb6b97300f0405b4c6856c49bdc33fa3265852f
https://github.com/qemu/qemu/commit/7cb6b97300f0405b4c6856c49bdc33fa3265852f
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2021-01-15 (Fri, 15 Jan 2021)
Changed paths:
M include/ui/gtk.h
M qemu-options.hx
M ui/gtk-egl.c
M ui/gtk.c
M ui/vnc.c
M ui/vnc.h
Log Message:
-----------
Merge remote-tracking branch 'remotes/kraxel/tags/ui-20210115-pull-request'
into staging
ui/gtk: refresh rate fixes.
ui/vnc: add support for desktop resize and power contol.
ui/vnc: misc bugfixes.
# gpg: Signature made Fri 15 Jan 2021 10:24:10 GMT
# gpg: using RSA key A0328CFFB93A17A79901FE7D4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" [full]
# gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" [full]
# gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" [full]
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/ui-20210115-pull-request:
vnc: add support for extended desktop resize
vnc: move initialization to framebuffer_update_request
vnc: move check into vnc_cursor_define
vnc: Fix a memleak in vnc_display_connect()
ui: add support for remote power control to VNC server
vnc: fix unfinalized tlscreds for VncDisplay
ui/gtk: update monitor interval on egl displays
ui/gtk: expose gd_monitor_update_interval
ui/gtk: limit virtual console max update interval
ui/gtk: rename variable window to widget
ui/gtk: don't try to redefine SI prefixes
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/a968a38005bf...7cb6b97300f0