From: Stefan Weil <sw@weilnetz.de>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Very small VGA window sizes (was: Re: [PATCH 0/6] Add GTK UI to enable basic accessibility)
Date: Sat, 25 Feb 2012 22:47:57 +0100 [thread overview]
Message-ID: <4F49570D.3080708@weilnetz.de> (raw)
In-Reply-To: <4F494F75.7080802@weilnetz.de>
[-- Attachment #1: Type: text/plain, Size: 3996 bytes --]
Am 25.02.2012 22:15, schrieb Stefan Weil:
> Am 25.02.2012 21:11, schrieb Anthony Liguori:
>> On 02/25/2012 11:02 AM, Stefan Weil wrote:
>>> Am 20.02.2012 00:44, schrieb Anthony Liguori:
>>>> Hi,
>>>>
>>>> I realize UIs are the third rail of QEMU development, but over the
>>>> years I've
>>>> gotten a lot of feedback from users about our UI. I think everyone
>>>> struggles
>>>> with the SDL interface and its lack of discoverability but it's
>>>> worse than I
>>>> think most people realize for users that rely on accessibility tools.
>>>>
>>>> The two pieces of feedback I've gotten the most re: accessibility
>>>> are the lack
>>>> of QEMU's enablement for screen readers and the lack of configurable
>>>> accelerators.
>>>>
>>>> Since we render our own terminal using a fixed sized font, we don't
>>>> respect
>>>> system font settings which means we ignore if the user has
>>>> configured large
>>>> print.
>>>>
>>>> We also don't integrate at all with screen readers which means that
>>>> for blind
>>>> users, the virtual consoles may as well not even exist.
>>>>
>>>> We also don't allow any type of configuration of accelerators. For
>>>> users with
>>>> limited dexterity (this is actually more common than you would
>>>> think), they may
>>>> use an input device that only inputs one key at a time. Holding
>>>> down two keys
>>>> at once is not possible for these users.
>>>>
>>>> These are solved problems though and while we could reinvent all of
>>>> this
>>>> ourselves with SDL, we would be crazy if we did. Modern toolkits,
>>>> like GTK,
>>>> solve these problems.
>>>>
>>>> By using GTK, we can leverage VteTerminal for screen reader
>>>> integration and font
>>>> configuration. We can also use GTK's accelerator support to make
>>>> accelerators
>>>> configurable (Gnome provides a global accelerator configuration
>>>> interface).
>>>>
>>>> I'm not attempting to make a pretty desktop virtualization UI.
>>>> Maybe we'll go
>>>> there eventually but that's not what this series is about.
>>>>
>>>> This is just attempting to use a richer toolkit such that we can
>>>> enable basic
>>>> accessibility support. As a consequence, the UI is much more usable
>>>> even for a
>>>> user without accessibility requirements so it's a win-win.
>>>
>>> This first version of the new GTK UI still shares some problems with
>>> the SDL UI and adds new ones:
>>>
>>> It's quite common for the VGA code to set a very small size (e.g. 1
>>> x 1 pixel)
>>> during boot. MIPS Malta does (if no VGA module like cirrusfb is loaded,
>>> it will never set a different size), and even the 386 / x86_64
>>> emulation
>>> has a (very short) time were the display size is unusually small.
>>
>> It doesn't. It cycles through modes 640x480, 720x400, then VGA
>> modes. It never resizes to 1x1.
>>
>> But.. GTK should handle this better. Even if the drawing area sets
>> the size to 1x1, the window should maintain a size at least large
>> enough to render the menu bar properly. ss/ssssssssssssss/
>
> Just run QEMU on a sufficiently slow host, for example QEMU in QEMU,
> or slow down the execution of QEMU by other means, then you will see
> which window sizes are then selected. Maybe you also need -singlestep.
> You _will_ get a very small window!
>
> I just got it using this call on a netbook running Ubuntu:
>
> qemu-system-i386 -L pc-bios -singlestep -d in_asm,out_asm
>
> Don't use KVM, of course - we want to slow down QEMU!
> Adding strace is also a good way to reduce execution speed.
>
> Cheers,
>
> Stefan Weil
This also works to get the small window:
gdb --args i386-softmmu/qemu-system-i386 -L pc-bios -singlestep
Set a breakpoint on gd_resize and run. Here is the result (2nd hit of
the breakpoint):
Breakpoint 2, gd_resize (ds=0x809f7c40) at
/home/stefan/src/qemu/qemu.org/qemu/ui/gtk.c:182
182 GtkDisplayState *s = ds->opaque;
2: ds->surface->width = 9
1: ds->surface->height = 1
So the new window is 9 x 1 pixels.
Regards,
Stefan Weil
[-- Attachment #2: Type: text/html, Size: 6324 bytes --]
prev parent reply other threads:[~2012-02-25 21:48 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-19 23:44 [Qemu-devel] [PATCH 0/6] Add GTK UI to enable basic accessibility Anthony Liguori
2012-02-19 23:44 ` [Qemu-devel] [PATCH 1/6] console: allow VCs to be overridden by UI Anthony Liguori
2012-02-20 9:17 ` Gerd Hoffmann
2012-02-20 13:45 ` Anthony Liguori
2012-02-20 13:59 ` Gerd Hoffmann
2012-02-20 14:11 ` Anthony Liguori
2012-02-20 14:27 ` Gerd Hoffmann
2012-02-20 15:10 ` Anthony Liguori
2012-02-19 23:45 ` [Qemu-devel] [PATCH 2/6] ui: add basic GTK gui Anthony Liguori
2012-02-20 20:45 ` Stefan Weil
2012-02-21 0:20 ` Anthony Liguori
2012-02-19 23:45 ` [Qemu-devel] [PATCH 3/6] gtk: add virtual console support Anthony Liguori
2012-02-20 21:13 ` Stefan Weil
2012-02-25 16:21 ` Stefan Weil
2012-02-25 19:49 ` Anthony Liguori
2012-02-25 20:22 ` Stefan Weil
2012-02-25 21:18 ` Anthony Liguori
2012-02-19 23:45 ` [Qemu-devel] [PATCH 4/6] gtk: add support for input grabbing Anthony Liguori
2012-02-20 0:09 ` Anthony Liguori
2012-02-19 23:45 ` [Qemu-devel] [PATCH 5/6] gtk: add support for screen scaling and full screen Anthony Liguori
2012-02-20 7:41 ` Paolo Bonzini
2012-02-20 13:45 ` Anthony Liguori
2012-02-25 15:49 ` Stefan Weil
2012-02-19 23:45 ` [Qemu-devel] [PATCH 6/6] gtk: make default UI Anthony Liguori
2012-02-20 0:15 ` Roy Tam
2012-02-20 1:10 ` Anthony Liguori
2012-02-20 1:50 ` Roy Tam
2012-02-20 2:22 ` Anthony Liguori
2012-02-20 2:24 ` Brad Smith
2012-02-20 2:44 ` Anthony Liguori
2012-02-20 2:50 ` Roy Tam
2012-02-20 2:52 ` Brad Smith
2012-02-20 3:04 ` Anthony Liguori
2012-02-20 14:06 ` Stefano Stabellini
2012-02-20 14:07 ` Anthony Liguori
2012-02-20 14:44 ` Stefano Stabellini
2012-02-20 14:46 ` Roy Tam
2012-02-19 23:59 ` [Qemu-devel] [PATCH 0/6] Add GTK UI to enable basic accessibility Anthony Liguori
2012-02-20 12:17 ` Kevin Wolf
2012-02-20 12:47 ` Kevin Wolf
2012-02-20 14:08 ` Anthony Liguori
2012-02-20 14:04 ` Anthony Liguori
2012-02-20 14:33 ` Kevin Wolf
2012-02-25 17:02 ` Stefan Weil
2012-02-25 20:11 ` Anthony Liguori
2012-02-25 21:15 ` Stefan Weil
2012-02-25 21:47 ` Stefan Weil [this message]
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=4F49570D.3080708@weilnetz.de \
--to=sw@weilnetz.de \
--cc=anthony@codemonkey.ws \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.