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: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1020419481.724.0.camel@daplas>
2002-05-03 21:47 ` [Linux-fbdev-devel] Comments on fbgen.c and fbcon-accel.c James Simmons
2002-05-04 15:48 ` Antonino Daplas
[not found] ` <1020535355.797.0.camel@daplas>
2002-05-06 22:24 ` 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 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.