From: Julian Pidancet <julian.pidancet@citrix.com>
To: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH] Add QEMU DirectFB display driver
Date: Wed, 19 May 2010 17:06:03 +0100 [thread overview]
Message-ID: <4BF40C6B.1060306@citrix.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1005191450571.11380@kaball-desktop>
On 05/19/2010 02:52 PM, Stefano Stabellini wrote:
> On Wed, 19 May 2010, Gerd Hoffmann wrote:
>> Hi,
>>
>>> I think the only way to fix this is to handle VT acquire and release
>>> events ourselves.
>>
>> Hmm. I suspect sdl and directfb wanna do this too, so I'm not sure this
>> will actually work out.
>>
>>> At this point I am not sure if it is worth doing it in the DirectFB
>>> frontend or in the SDL frontend directly (making sure we are not
>>> running on X11 first).
>>
>> I didn't investigate who is at fault here. SDL docs doesn't mention
>> console switching at all it seems (grep -i console in
>> /usr/share/doc/SDL-devel-1.2.13/html doesn't find me anything). Which
>> makes me assume no special actions by the app using SDL are required for
>> it. Which in turn makes me think SDL is broken.
>>
>> Which makes me think we should just go the direct route. No SDL. No
>> directfb. No other funky library which provides us with nothing but
>> bugs. Programming fbdev isn't that hard after all. Especially if you
>> skip all the (IMHO pointless) video mode switching bits.
>
> Agreed, actually I was thinking the same thing.
> The only reason for using a library is to have the color/pixel conversion
> functions, that could be useful. However we have many of them already
> implemented in qemu so it shouldn't be difficult to roll our own.
>
> Julian, what do you think?
>
It also appears to me to be the good way to do this thing.
Gerd, it is true that the DirectFB suffers the same problem as the SDL driver regarding the VT switching. Actually I investigated the issue yesterday, and I found out that:
1) even though there is some VT handling in DirectFB, it is incomplete (I found "to be finished" mentions in the TODO file).
2) When we switch to another VT, Qemu continues to draw on the screen using the pointer acquired from DirectFB. There's no hooks we can set in DirectFB's VT code for Qemu to be notified when we change VT, in order to stop drawing.
So, even though DirectFB claims to handle multiple VTs, I agree that it currently sucks.
So after all, why not implementing our own VT switching and using directly the fbdev interface. I just checked the linux fbdev code to find out if it provides with a blitting method that could perform the pixel color conversion automatically for Qemu.
Unfortunately, from what I have read from the drivers/video/cfbimgblt.c file in the linux tree, there's no such thing, and it also means that we cannot take advantage of any kind of hardware pixel format conversion.
But anyway, I don't think software color conversion would be a problem, because it already exists in several places in Qemu.
--
Julian
next prev parent reply other threads:[~2010-05-19 16:05 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-13 15:53 [Qemu-devel] [PATCH] Add QEMU DirectFB display driver Julian Pidancet
2010-05-16 1:10 ` Paul Brook
2010-05-16 1:14 ` Alexander Graf
2010-05-17 13:30 ` Anthony Liguori
2010-05-17 15:09 ` Julian Pidancet
2010-05-17 16:28 ` Anthony Liguori
2010-05-17 20:20 ` Gerd Hoffmann
2010-05-17 20:32 ` Anthony Liguori
2010-05-17 21:35 ` malc
2010-05-17 21:43 ` Anthony Liguori
2010-05-17 21:45 ` malc
2010-05-17 22:26 ` Alexander Graf
2010-05-17 22:42 ` malc
2010-05-17 22:47 ` Anthony Liguori
2010-05-17 22:55 ` Alexander Graf
2010-05-17 23:17 ` Anthony Liguori
2010-05-17 22:46 ` Anthony Liguori
2010-05-17 22:49 ` Alexander Graf
2010-05-17 22:54 ` Anthony Liguori
2010-05-17 22:59 ` Alexander Graf
2010-05-18 0:26 ` [Qemu-devel] qemu usage K D
2010-05-18 8:09 ` [Qemu-devel] [PATCH] Add QEMU DirectFB display driver Kevin Wolf
2010-05-18 9:12 ` Stefano Stabellini
2010-05-18 9:23 ` Gerd Hoffmann
2010-05-18 9:29 ` Stefano Stabellini
2010-05-18 9:39 ` Gerd Hoffmann
2010-05-18 10:34 ` Stefano Stabellini
2010-05-18 11:20 ` Gerd Hoffmann
2010-05-18 13:02 ` Anthony Liguori
2010-05-18 22:00 ` Gerd Hoffmann
2010-05-19 12:06 ` Stefano Stabellini
2010-05-19 13:38 ` Gerd Hoffmann
2010-05-19 13:52 ` Stefano Stabellini
2010-05-19 15:22 ` Gerd Hoffmann
2010-05-19 15:30 ` Stefano Stabellini
2010-05-19 16:06 ` Julian Pidancet [this message]
2010-05-19 16:30 ` Jamie Lokier
2010-05-20 7:32 ` Gerd Hoffmann
-- strict thread matches above, loose matches on Subject: below --
2010-05-14 16:20 Julian Pidancet
2010-05-14 16:58 Julian Pidancet
2010-05-14 17:07 ` Anthony Liguori
2010-05-17 10:58 ` Gerd Hoffmann
2010-05-17 10:53 ` Gerd Hoffmann
2010-05-17 12:04 ` Julian Pidancet
2010-05-17 19:25 ` Gerd Hoffmann
2010-05-17 11:44 ` Christoph Hellwig
2010-05-17 12:14 ` Julian Pidancet
2010-05-17 12:35 ` Christoph Hellwig
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=4BF40C6B.1060306@citrix.com \
--to=julian.pidancet@citrix.com \
--cc=Stefano.Stabellini@eu.citrix.com \
--cc=kraxel@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).