qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: "Daniel P. Berrange" <berrange@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Doing a Tcl/Tk based frontend
Date: Thu, 15 Jun 2006 18:38:11 -0500	[thread overview]
Message-ID: <4491EF63.7060800@codemonkey.ws> (raw)
In-Reply-To: <20060615232325.GA5198@redhat.com>

Daniel P. Berrange wrote:
> On Thu, Jun 15, 2006 at 05:52:14PM -0500, John Morris wrote:
>   
>> On Thu, 2006-06-15 at 17:29, Oliver Gerlich wrote:
>>
>>     
>>> If you are familiar with Tcl/Tk, maybe you could give some hints on how
>>> to embed the Qemu window into such an app?
>>>       
>> Embedding the emulator's window might not be the best way to attack the
>> problem.  Especially since you would need to be able to detach it to be
>> able to go full screen.  I have pondered the Tk frontend idea before so
>> lemme dump my random thoughts on the subject and see how many holes get
>> punched in em.
>>     
>
> With the new VNC server capability there is no need to embed the emulator's
> existing window. You can just have a GTK/QT widget which acts as a VNC client
> taking the video feed & displaying directly within the GUI management app. 
>   

I definitely think this is the write approach too.    I'm still at the 
proof-of-concept phase those.  The VNC client code seems to work well 
(it's asynchronous and uses glib) but I haven't integrated it into a 
widget just yet.

This is coming straight off my hard drive so YMMV.

http://hg.codemonkey.ws/gvnc/

> Similarly you can redirect the QEMU monitor console to a UNIX pipe when 
> lauching QEMU, so the management app can fully control the QEMU engine
> to do suspend/resume, snapshots, media changesi.
>
> I wrote an GUI app in Python which did the latter already:
>
> http://people.redhat.com/berrange/olpc/sdk/olpc-qemu-admin-demo.html
>
> At the time I wrote it there wasn't any VNC support in QEMU, so I couldn't
> hook up the display, but with the 0.8.1 release it wouldn't be much effort
> to embed the display directly in the app via VNC. So I don't think there 
>   

The tricky part is the VNC widget.  Reusing any of the existing vnc 
clients isn't really an option.  The client end of the protocol has way 
too many states making a state machine really nasty.

I ended up settling on a coroutine based approach which I'm sure will 
raise some eyes.  Of course, one could easily replace the coroutines 
with threads though (I just have an aversion to threading.

I've also got code laying around for basic software scaling which I also 
think is important for proper fullscreen support.  Just need a little 
more free time :-)

Regards,

Anthony Liguori

> are any changes required in QEMU itself to be able to create a fully
> featured QEMU frontend easily on a par with VMWare Desktop, if not better.
>
> Regards.
> Dan.
>   

  parent reply	other threads:[~2006-06-15 23:38 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-14 14:55 [Qemu-devel] VMware Player Joe Lee
2006-06-14 15:01 ` Paul Brook
2006-06-14 15:53   ` Joe Lee
2006-06-14 16:02     ` Paul Brook
2006-06-14 16:12       ` Joe Lee
2006-06-14 16:21         ` Daniel P. Berrange
2006-06-14 16:39           ` Jan Marten Simons
2006-06-14 17:42             ` Joe Lee
2006-06-14 16:10     ` Oliver Gerlich
2006-06-15  7:47       ` kadil
2006-06-15 13:18         ` WaxDragon
2006-06-15 13:43           ` Julian Seward
2006-06-15 13:50             ` Johannes Schindelin
2006-06-15 16:55             ` [Qemu-devel] " Ben Pfaff
2006-06-15 19:21               ` Joe Lee
2006-06-15 19:33                 ` WaxDragon
2006-06-15 19:44                   ` Joe Lee
2006-06-16 10:51                     ` Jan Marten Simons
2006-06-16 11:01                 ` Jan Marten Simons
2006-06-15 14:18           ` [Qemu-devel] " Joe Lee
2006-06-15 14:43             ` Johannes Schindelin
2006-06-15 19:42               ` Joe Lee
2006-06-15 20:55                 ` Johannes Schindelin
2006-06-15 21:04                   ` Joe Lee
2006-06-15 20:34               ` Joe Lee
2006-06-15 20:56                 ` Johannes Schindelin
2006-06-15 21:03                   ` Joe Lee
2006-06-16  3:39                     ` Rick Vernam
2006-06-16  4:31                       ` Joe Lee
2006-06-16  5:20                         ` Rick Vernam
2006-06-15 22:29                   ` Oliver Gerlich
2006-06-15 22:52                     ` [Qemu-devel] Doing a Tcl/Tk based frontend John Morris
2006-06-15 23:23                       ` Daniel P. Berrange
2006-06-15 23:33                         ` Oliver Gerlich
2006-06-15 23:41                           ` Anthony Liguori
2006-06-15 23:56                           ` Daniel P. Berrange
2006-06-16  0:01                             ` Anthony Liguori
2006-06-15 23:38                         ` Anthony Liguori [this message]
2006-06-15 23:03                     ` [Qemu-devel] VMware Player Johannes Schindelin
2006-06-15 23:38                       ` Oliver Gerlich
2006-06-16  9:34                 ` kadil
2006-06-15 15:25             ` Oliver Gerlich
2006-06-15 21:17             ` John Morris
2006-06-16  6:51               ` Tim Walker
2006-06-16  7:21               ` Kevin F. Quinn
2006-06-16 12:45                 ` Stuart Brady
2006-06-16 15:02                   ` Kevin F. Quinn
2006-06-16 15:07                     ` Christian MICHON
2006-06-16 15:35                       ` Oliver Gerlich
2006-06-16 17:18                       ` Kevin F. Quinn
2006-06-17 16:06                       ` [Qemu-devel] GUI for QEmu (ex "VMware Player" topic) NyOS
2006-06-16 14:18                 ` [Qemu-devel] VMware Player Joe Lee
2006-06-16 14:26                   ` Johannes Schindelin
2006-06-14 16:22     ` Jan Marten Simons
2006-06-14 17:15       ` Mattia Gentilini
2006-06-14 16:27     ` Larry Brigman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4491EF63.7060800@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=berrange@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).