From: Helge H. <hel...@ai...> - 2003-12-01 19:50:25
|
On Mon, Dec 01, 2003 at 02:41:32PM +0100, Svetoslav Slavtchev wrote: > > > > So it seems the framebuffer driver alone works under ruby, > > even when compiled in. fbcon works too, _if_ it > > isn't loaded too early. Bringing it up after > > logging in via xdm were ok. > > hm, timing issues ? > fbcon trying to setup consoles before > matroxfb initialization is finished ? > Or maybe X changes something? It changes the resolution at least. > may be we should experimenent to find the needed timeout, > but this is probably dependant on the system > I believe that is a wrong approach. It should work as fast as possible on any system, without race conditions or arbitrary waiting. > or may be /* if it isn't already so */ > fbcon should wait for a signal from the framebuffers > that they have finished initialization > > well you can have a VGA console built in and load the fb stuff > manually or with script later > just built fb drivers & fbcon modular and don't load them too early > > /* no fancy graphics at boot, but a workable VGA console */ That is indeed an option. Perhaps I'll try that. > > > 1.) X->VT->X on head1 (vt7) > > > X head1 is displayed on both heads, VT switch on head2 fixes it > > > > > I believe this is an issue with the mga accelerated driver. > > I get similiar problems whenever games change resolution on > > the accelerated head. I have my window manager set up with a key > > combination that runs matroxset. It'd be nice not > > having to do this, but it'll probably be a long time. > > X simply do more than it should. > > NOPE > same with XF driver fbdev for both heads > When my pc boots it activates one screen only. The other one is black. That's what the bios do. The other screen starts showing the same as the first one when linux initialize the g550 framebuffers. So it looks like the fb driver do this initially. when it ought to set up one screen per framebuffer. Later X mess with the framebuffer/screen mappings everytime it sets screen resolution. It probably sets resolution when switching to/from console too. I don't know if X itself sets the resolution, or if it calls into the fb driver to do it. X is set up to use the fbdev, who knows _what_ it uses it for. > > > 2.) the mentioned XFree hack should be integrated smarter, > > > currently you need additional binary for each additional fbcon > > > > > > 3.) probably unsolvable/ hardware > > > the need to run swapped from matroxset tarball to > > > separate the displays > > I don't see why this should be unsolvable. All matroxset do is > > to run some ioctl's. Surely the same code could be called from > > within the framebuffer driver at boot time? > > > > I believe this was done because single-monitor setups are > > common, and the kernel probably can't easily know where that > > monitor is attached. (Well, it could use DDC...) > > > > But people don't buy a G550 to run single-monitor, so > > having the kernel separate the displays and force the user > > to think about which connector to use is fine with me. > > well may be, > it would be nice to have a CONFIG_MATROXFB_SEPARATE_DISPLAYS, > but i'm not sure it's doable, and i'm sure Petr is not working on it :( > i think that the graphic BIOS initialize them in that way and the fbdriver > will have to work around these BIOS settings > > > > > > > 4.) related to 3 > > > after swapped, both heads are blank until a VT switch, > > > > > > and on head1 there is a lot of garbage until login + logout > > > actually the garbage is on all vc's except the first one (head 1) > > > but on all vc's usable is only 4/6 of the hight of the screen > > > the top 1/6 is ocupied by the logo, the bottom 1/6 by nothing > > > on vc1 and by garbage on vc2-vc6. > > I believe the garbage is stuff that vgacon left in graphichs memory before > > handing the console over to the framebuffer. At least this was the > > explanation when I complained about similiar garbage on a radeon > > with framebuffer. compiling _without_ vgacon indeed made all > > the garbage go away, but the option to turn off vgacon recently > > disappeared from menuconfig. :-( > > i actually do have it :-) > > it disapeared with the option to disable PS2 input && serio > you need "Generic Setup -> Remove kernel features (for embedded systems)" > enabled to be able to change them > > i might try disabling it > / * not sure when i'll find time for that :( */ > > svetljo > > PS > > how do you setup the fb mode? > i'm still using a single monitor with switch > @ 640x480, and fbset doesn't seem to work kernel boot parameter: video=matroxfb:vesa:0x11A This is supposed to be 1280x1024 16-bit, I'm not sure it works. But X definitely sets the resolution to what it wants, on both screens. Exiting the accelerated server messes up the other screen as X "restores" the video card to previous settings. Helge Hafting |