From: Svetoslav S. <sv...@gm...> - 2003-12-01 13:41:39
|
> >>So I moved fbcon.ko where modprobe couldn't find it, and > >>booted again. The machine came up fine, obviously without a > >>console. I moved the module back to its proper place, > >>and loaded it. I immediately got two penguins (it's a dual processor > >>machine) on the screen running accelerated X. This screen > >>has the keyboard connected to the ordinary ps2 keyboard plug > >>(recognized by the bios too). > > > > > > i don't get much this part :( > > > > you booted with built in matroxfb, but no fbcon, > > and then loaded fbcon without problems ? > > > Yes. I usually compile my kernels with everything built-in > because I see no virtue in modules. (They may be fine for > distribution kernels, but mu kernel is compiled for my machine > specifically. I simply want to avoid all module setup & management,) > > I made an exception here, by configuring fbcon as a module. The > framebuffer driver and everything else still was compiled-in. > > The part about temporarily moving fbcon.ko where modprobe couldn't > find it was just a hack to make the machine boot. The module > crashes the kernel if it is loaded "too early", but the module > cannot be automatically loaded by the kernel if the > kernel cannot find it because I moved the file away from > its usual directory. > > 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 ? may be we should experimenent to find the needed timeout, but this is probably dependant on the system or may be /* if it isn't already so */ fbcon should wait for a signal from the framebuffers that they have finished initialization > >>I believe this might work better if I ran the vt7 xfree on > >>the first display, but I have a good reason for not doing so: > >>It is sometimes necessary to access the bios setup, or boot non-ruby > >>versions of linux. In those cases the keyboard connected to the > >>ordinary keyboard plug is the only keyboard, and X happens > >>on the first screen. (/dev/fb0). Moving keyboards or screens around the > >>room isn't very interesting, so this is the layout I want. > >> > >>Life would be so much easier if ruby considered the ordinary > >>pc keyboard as the first one, and one connected to the "mouse" port > >>as the second one. Or if the vt/keyboarddevice/console connections > >>could be specified using kernel parameters. any hope of swapping the > >>keyboards so the console/screen/keyboard/vt combination that works > >>for plain linux simply becomes the "first" set of connected devices > >>using ruby? > > > > > > just configure hotplug, install input.agent & input.rc > > /* debian's hotplug pkgs probably already include the input.* scripts > > * so you'll probably have to merge the ruby input.agent into the > debians > > one > > */ > > > > this way you can configure VT- keyboard mapping > > & consistent evdev[n] mouse[n] devices > > /* although udev is probably much better for the evdev & mice */ > > > I'll look at this someday. Do I need modules for this to work? good question normally hotplug can be used only with modules after it#S available, but the various *.rc scripts simulate a hotpluging event for drivers which are built in or already loaded before hotplug was available theoreticaly it should work, unless some needed functions are ifdef'ed MODULE > > PS. > > i haven't tried yet built in matroxfb/ fbcon > I'll try your patches. > I like the built-in approach, it is nice to be able to > boot with init=/bin/sh and still get a console. 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 */ > > The dream is to just boot and get login prompts on > both screens with no further setup than running the > gettys from /etc/inittab, and perhaps some kernel boot parameters. > > The big problems with setup scripts is that they run late in the > boot process, early oopses or other trouble may prevent them > >from running, I still want to read the text and be able to use sysrq. > > I may go for modules and scripts for now, but hope the monolithic > approach will work someday. :-) use VGA console and load the framebuffers & fbcon before starting X it would be really nice, but .... i think it's not possible with G550, not sure about G400/450 but it should work with Matrox MMS series or with different cards > > PS.2 > > i use this script to start multiple fbcon's > Thanks > > > > PS.3 > > attachments > > > > 260t9-20031115.txt -- oopses with vanilla ruby-260t9-20031115 > > > > AA02-ruby-20031029_matroxfb_fix.patch - fixes the problem, > I'll try. > > > the remaining issues > > /* most likely hardware limitations involved > > * and XFree "bugs" too > > */ > > > > 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 > > 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 -- Neu bei GMX: Preissenkung für MMS-Versand und FreeMMS! Ideal für alle, die gerne MMS verschicken: 25 FreeMMS/Monat mit GMX TopMail. http://www.gmx.net/de/cgi/produktemail +++ GMX - die erste Adresse für Mail, Message, More! +++ |