From: David Turner <digit@google.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Ongoing changes to the displaying code
Date: Fri, 9 Jan 2009 17:53:05 +0100 [thread overview]
Message-ID: <60cad3f0901090853j5a32072cr1be7d44730fc608f@mail.gmail.com> (raw)
In-Reply-To: <49676B43.2020406@codemonkey.ws>
[-- Attachment #1: Type: text/plain, Size: 2767 bytes --]
Hello Anthony,
On Fri, Jan 9, 2009 at 4:20 PM, Anthony Liguori <anthony@codemonkey.ws>wrote:
> I would think the ability to maintain your own GUI and therefore not have
> to fork QEMU would outweigh the "overkill" factor.
>
> What specifically, do you consider to be overkill? Are you afraid of the
> performance overhead of VNC? Is the lack of VNC clients a problem (assuming
> you don't want a gtk dependency)?
>
Given that there is only one person that works on the Android emulator (me),
and that this is unlikely to change in the near future,
I want to avoid any additional complexity with low return on investment
(development / support costs).
Simply put it:
I want something simple that "just works" on three different platforms.
I absolutely cannot use a standard VNC client.
I want to distribute the program as a single statically linked executable.
I don't want a GTK/Qt/Whatever dependency.
I can test my UI on one platform and know that it will look and behave
exactly the same on other ones
(e.g. no funky behaviour due to slightly different fonts, different versions
of the UI toolkit libs, whatever).
I could change my mind on various of these items, but this would invariably
require more (or even a lot more) development and support efforts
Finally, the program is *already* accessed and controlled by an external
Java development tool (DDMS) which has sophisticated UI elements
Fortunately for me, it's a very specific application that doesn't require a
full-blown GUI, and never will :-)
I'm not advocating this path for other projects, just explaining what I do.
>
>
> On the other hand, it would be nice to have a slightly better way to
>> decouple display/events between the emulation and user-interaction parts of
>> the system. For example, I've attached the framebuffer abstraction that I
>> currently use in the Android emulator source code (it's a well documented
>> header file).
>>
>> It's basically a slightly better DisplayState, with explicit
>> producer/clients relationships and a global fifo used for
>> initialization/linking. I do not claim it is the absolute best way to do it,
>> just an example on how this can be implemented.
>>
>
> I'd like to avoid introducing another remove communication mechanism in
> QEMU. VNC is extremely flexible so we should be able to do whatever we need
> to do with it.
>
Oh, this is not a remote communication scheme at all. This is only a header
used to completely decouple the emulation part of the program from the one
sending it to the display. it's only better than the current scheme because
the UI part doesn't need to include emulation-specific headers just to get
the definition of DisplayState, and the role of each party is more clearly
documented.
Regards,
- Digit
[-- Attachment #2: Type: text/html, Size: 3555 bytes --]
next prev parent reply other threads:[~2009-01-09 16:53 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-09 1:52 [Qemu-devel] Ongoing changes to the displaying code Daniel Gutson
2009-01-09 2:50 ` Anthony Liguori
2009-01-09 3:04 ` Anthony Liguori
2009-01-09 9:28 ` David Turner
2009-01-09 15:20 ` Anthony Liguori
2009-01-09 16:53 ` David Turner [this message]
2009-01-09 17:16 ` Ian Jackson
2009-01-09 17:24 ` Anthony Liguori
2009-01-09 17:42 ` Riku Voipio
2009-01-09 18:59 ` Anthony Liguori
2009-01-10 0:01 ` Jamie Lokier
2009-01-10 1:39 ` Anthony Liguori
2009-01-12 15:25 ` Ian Jackson
2009-01-15 8:53 ` Mark McLoughlin
2009-01-09 17:26 ` David Turner
2009-01-09 19:02 ` Anthony Liguori
2009-01-12 15:31 ` Ian Jackson
2009-01-11 8:22 ` Avi Kivity
2009-01-12 15:33 ` Ian Jackson
2009-01-12 15:57 ` Avi Kivity
2009-01-09 12:04 ` Stefano Stabellini
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=60cad3f0901090853j5a32072cr1be7d44730fc608f@mail.gmail.com \
--to=digit@google.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).