qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Weil <sw@weilnetz.de>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 0/6] Add GTK UI to enable basic accessibility
Date: Sat, 25 Feb 2012 18:02:27 +0100	[thread overview]
Message-ID: <4F491423.7060300@weilnetz.de> (raw)
In-Reply-To: <1329695104-15174-1-git-send-email-aliguori@us.ibm.com>

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.

This results in a very small window size which is only limited by the 
display manager.
Usually it is so small that any user interaction with the window becomes 
difficult.

The GDK UI increases the problem because it also resizes the monitor, 
serial and
all other text consoles. On Ubuntu, I get a Malta serial console with 7 
characters
in 5 rows, and the serial output also wraps after 7 characters.

Zooming changes the number of rows and lines, not the size of the characters
in all text consoles.

There is also a new kind of QEMU crash:

The program '<unknown>' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAlloc (insufficient resources for operation)'.
   (Details: serial 28914 error_code 11 request_code 53 minor_code 0)
   (Note to programmers: normally, X errors are reported asynchronously;
    that is, you will receive the error a while after causing it.
    To debug your program, run it with the --sync command line
    option to change this behavior. You can then get a meaningful
    backtrace from your debugger if you break on the gdk_x_error() 
function.)

I just got it while writing this mail when I wanted to check some facts.

Program '<unknown>' is not user friendly (crashing never is, but when it
crashes, at least the error message should be good :-)).
The bug also occurred a second time when I started MIPS Malta
(when the Linux kernel loaded module cirrusfb), so it seems to be
reproducible.

Regards,
Stefan Weil

  parent reply	other threads:[~2012-02-25 17:02 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 [this message]
2012-02-25 20:11   ` Anthony Liguori
2012-02-25 21:15     ` Stefan Weil
2012-02-25 21:47       ` [Qemu-devel] Very small VGA window sizes (was: Re: [PATCH 0/6] Add GTK UI to enable basic accessibility) Stefan Weil

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=4F491423.7060300@weilnetz.de \
    --to=sw@weilnetz.de \
    --cc=aliguori@us.ibm.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).