From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1GZJaJ-00047U-1P for qemu-devel@nongnu.org; Sun, 15 Oct 2006 23:56:15 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1GZJaH-00044n-Nh for qemu-devel@nongnu.org; Sun, 15 Oct 2006 23:56:14 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1GZJaH-00044U-Dk for qemu-devel@nongnu.org; Sun, 15 Oct 2006 23:56:13 -0400 Received: from [128.83.139.10] (helo=mail.cs.utexas.edu) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1GZJjJ-0001PM-KC for qemu-devel@nongnu.org; Mon, 16 Oct 2006 00:05:33 -0400 Received: from [192.168.1.102] (cpe-70-112-17-156.austin.res.rr.com [70.112.17.156]) (authenticated bits=0) by mail.cs.utexas.edu (8.13.8/8.13.8) with ESMTP id k9G3u6Tv019751 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Sun, 15 Oct 2006 22:56:09 -0500 (CDT) Message-ID: <453302D1.3040500@cs.utexas.edu> Date: Sun, 15 Oct 2006 22:56:01 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1160670903.5105.3.camel@myubuntu.brain-dump.org> In-Reply-To: <1160670903.5105.3.camel@myubuntu.brain-dump.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: [RFC] qemu-gui based on wxWidgets and libvncclient Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Marc Andr=E9 Tanner wrote: > Hi, >=20 > During the last few weeks i was playing around with the idea to > implement a GUI for qemu and so this is what i came up with. Cool. You should checkout virt-manager. It has much the same mission=20 as what you describe. > Since i am still pretty new to C/C++ development (in fact i would call > this my first real world C++ application) and not familiar with qemu > internals i decided to implement the GUI independent of qemu itself. So > from a technically point of view i just call qemu with arguments to > redirect the monitor to stdio and to export the display to vnc (-monito= r > stdio -vnc display). I then try to capture and embed the vnc display > within the GUI that's where libvncclient[1] comes in. I have no experience with libvncclient. I think the general idea of=20 using VNC to create an external QEMU GUI is a good one. Previously, I=20 had posted some patches for a shmem GUI that used a custom control=20 channel. After hacking on that for a little bit based on some feedback,=20 I've come full circle and am now under the view that extending VNC is a=20 better long term approach. So, I've reserved some pseudo-encodings and a client message type and am=20 now working on some VNC extensions to enable better QEMU integration. My current client code is available at: http://hg.codemonkey.ws/vnc-gui/ The VNC extensions are still a work in progress but documentation is here= : http://tocm.wikidot.com/vncextensions Regards, Anthony Liguori > It's this last step which doesn't yet work as expected. It is extremely > slow and/or crashes after some time. But since i am not that experience= d > in both multi threaded gui and wxWidgets programming i am stuck. >=20 > So i hope someone from the list can help me here, the two most importan= t > files for this issue are vncpanel.cpp and vncdisplaythread.cpp. >=20 > My current development snapshot can be found at=20 > http://www.brain-dump.org/projects/qemu-gui/doku.php/download > but don't expect it to actually work it's still buggy and in pre alpha > state. >=20 > Any comments, ideas, patches and so on are highly appreciated. >=20 > At this point i would like to thank Johannes Schindelin for his help > with the integration of libvncclient. >=20 > Thanks, >=20 > Marc >=20 > [1] http://libvncserver.sourceforge.net/