![]() | |||||||||||
Messages in this thread Complete thread (EXPERIMENTAL) |
On Wed, 2002-12-04 at 12:32, Sven Luther wrote:
On Tue, Dec 03, 2002 at 05:22:35PM +0500, Antonino Daplas wrote:
2) The ability to go back to vga text mode on close of /dev/fb.
Yes fbdev/fbcon supports that now.
I'll take a stab at writing VGA save/restore routines which hopefully is generic enough to be used by various hardware. No promises though, VGA programming gives me a headache :( BTW, i am writing a fbdev for a card where the docs tell me to disable vga output before enabling graphical output. Does i need to do this in the fbdev i write, or is it already handled by the vga layer, or whatever ? Most cards with a VGA core needs to disable the VGA output before going to graphics mode. Disabling VGA output is hardware specific, and is usually automatic when you go to graphics mode. So there is no common zqy of doing this, my docs say something about a vga control register zhich is accesses trough the sequencer regs. Does vgafb (or textmode or whatever) not call this when giving the hand to the fbdev ? Because James wrote the fb framework to be very modular, then you must
be careful to save/restore the initial video state when loading or
unloading. Theoretically, a driver should load, but not go to graphics
mode immediately. Only upon a call to xxxfb_set_par() should the driver
do so. Before going to graphics mode, that's were you save the initial
state. Have a reference count or something to keep track of the number
of users, and when this reference count becomes zero, restore the
initial state. You should be able to do this by hooking these routines
in fb_open() and fb_release().
Mmm, what about interaction with X ? X also does a save/restore of the previous (text) mode, when a X driver is _not_ fbdev aware, it will save/restore the things twice, right ? The one I submitted (and a revised one I'm going to submit soon) should
be able to restore the VGA text/graphics mode. Complement this with
your hardware's extended state save and restore routines and you should
be able to load/use/unload your driver repeatedly :-).
Ok, i will try. Friendlmy Sven Luther | ||||||||||
![]() | |||||||||||
| Last update: 2005-03-22 12:31 [W:0.167 / U:0.010 seconds] ©2003-2005 Jasper Spaans | |||||||||||