From: Antonino Daplas <adaplas@pol.net>
To: "Michel Dänzer" <michel@daenzer.net>
Cc: fbdev <linux-fbdev-devel@lists.sourceforge.net>
Subject: Re: Comments on fbgen.c and fbcon-accel.c
Date: 07 May 2002 09:34:24 +0800 [thread overview]
Message-ID: <1020735317.761.1.camel@daplas> (raw)
In-Reply-To: <1020723899.2536.7357.camel@tibook>
On Tue, 2002-05-07 at 06:24, Michel Dänzer wrote:
> On Sat, 2002-05-04 at 20:01, Antonino Daplas wrote:
> > On Sat, 2002-05-04 at 05:47, James Simmons wrote:
> > >
> > > > I have a few observations on fbgen and fbcon-accel.
> >
> > One more thing I've noticed with gen_set_var. Basically, gen_set_var
> > will proceed if it satisfies 2 conditions -- during initialization (con
> > < 0) and if the new var is different from the old var.
> >
> > The above is fine if everything is done in the console. However,
> > problems may arise if an app that touches the graphics hardware (ie X)
> > is launched. From the point of view of fbcon, the hardware state hasn't
> > changed (compare of newvar with oldvar is false) when display is
> > switched back to console. And if that app did not fully restore the
> > hardware state, we will be left with a corrupted display.
> >
> > So, it's probably better if set_par() and pan_display() are allowed to
> > proceed unconditionally within gen_set_var. It might take a few more
> > milliseconds to switch consoles each time, but we are assured that the
> > hardware state is always coherent with the current var.
> >
> > What do you think?
>
> I think this is giving away an advantage. The X server is a bad example
> as it can use the framebuffer device fine.
I was talking of X running with it's own accelerated drivers. I have
checked most of the X accelerated drivers, and most will just attempt to
restore the VGA registers and some when switching to the console. I
think this is not just enough, since fb drivers require more than that.
Simiarly, I have also looked at some of the fbdev drivers that are not
using the gen_* interface (nvidia, ati, matrox), and they will also
unconditially set the hardware during switches/set_var. The
fbgen_switch() function also calls fbhw->set_par() within do_set_var().
>
> If it's really a problem, maybe we could figure out a way to detect when
> it's safe to optimize stuff away or as a last resort make it an option?
>
I think if the gen_* interface is to be adopted, it will become a
problem. Detection is the best solution, but right now X and DRI do not
know that fb even exist so we can't get X to detect fb unless we
persuade the X people to do that. I have tried X detection before by
checking the previous console number. If the previous number is not a
valid console, we can presume that a non-console app used that. But
this is not clean and there are too many conditions where this check
will fail. But then, I really don't understand the underlying console
interface, so an easier and more effective way may exist that I don't
know about.
Tony
_______________________________________________________________
Have big pipes? SourceForge.net is looking for download mirrors. We supply
the hardware. You get the recognition. Email Us: bandwidth@sourceforge.net
next prev parent reply other threads:[~2002-05-07 1:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.4.10.10205031444260.9732-100000@www.transvirtual.com>
[not found] ` <1020535355.797.0.camel@daplas>
2002-05-06 22:24 ` Comments on fbgen.c and fbcon-accel.c Michel Dänzer
2002-05-07 1:34 ` Antonino Daplas [this message]
2002-05-07 8:00 ` Geert Uytterhoeven
2002-05-07 13:26 ` Antonino Daplas
2002-05-07 22:50 ` Michel Dänzer
2002-05-31 20:45 ` James Simmons
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=1020735317.761.1.camel@daplas \
--to=adaplas@pol.net \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=michel@daenzer.net \
/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).