From: Helge H. <hel...@ai...> - 2003-10-28 10:51:15
|
Svetoslav Slavtchev wrote: > Hi, > > >>Yesterday I got two xservers running with 2.6.0-test6-ruby >>Both screens are connected to the matrox G550. >>The one running on the main console uses the normal >>accelerated X server, and a keyboard connected to the mouse port. >>The X config for this display isn't modified, it is >>the single-user setup I always had. >> >>The other screen uses the unaccelerated framebuffer driver >>on /dev/fb/1, and a keyboard connected to the normal keyboard >>connector. Both mice are serial. >> >>Framebuffer X was easy to set up. The first attempt was right, >>except it didn't work until I got the matroxset program >>that must be used to decide which framebuffer is displayed >>to which connector. (The default is to see the first >>framebuffer on both!) I haven't made startup scripts >>yet, so I start the second Xserver from an xterm. > > > How did you got it running? I used this machine single-headed for a long time. All I did was to create a second config file (xf86config-4) for fbdev, and use matroxset-0.3 from Petrs site to set up which framebuffer connects to what output. I can set up a guest account on the machine, if you want to look more at the setup. > i'm tring with no success quite a long time. > > which version of XFree ? debian packaged xserver-xfree86-dri-trunk from http://people.debian.org/~daenzer/dri-trunk-sid/ because I want accelerated opengl on at least one screen. I got xdm working too. From my /etc/X11/xdm/Xservers: :0 local /usr/X11R6/bin/X :0 vt7 -deferglyphs 16 -nolisten tcp :1 local /usr/X11R6/bin/X :1 vt17 -deferglyphs 16 -nolisten tcp -xf86config xf86config-4 The first server use the standard XF86Config-4 This runs the servers, but I had to modify /etc/X11/xdm/Xsetup too to actually make the second framebuffer visible. Whenever the accelerated server starts, it configures the G550 to show the same screen on both outputs. Fortunately, xdm then runs the Xsetup script, so that's where I put the following lines: /usr/local/bin/matroxset -f /dev/fb/1 -m 0 /usr/local/bin/matroxset -f /dev/fb/0 -m 2 /usr/local/bin/matroxset -f /dev/fb/1 -m 1 1. line: disconnect /dev/fb/1 from whatever output it uses (in case it was using&blocking output 2) 2. line: connect /dev/fb/0 to output 2, which is the vga connector 3. line: connect /dev/fb/1 to output 1, which is the DVI connector with a VGA converter. The output numbers are really bits, so connecting a framebuffer to output 3 shows it on both screens. There's also a third output, bitnumber 4, but there is no such plug. Perhaps the video out? "matroxset" seems undocumented. This setup means both servers get a screen. A minor inconvenience is the way both screens blink whenever one of the xdm's are reset. > which matrox drivers? I believe I'm using the mga_drv.o (and fbdev_drv.o) that comes with xserver-xfree86-dri-trunk. From /var/log/XFree86.0.log: (II) LoadModule: "mga" (II) Loading /usr/X11R6/lib/modules-dri-trunk/drivers/mga_drv.o (II) Module mga: vendor="The XFree86 Project" compiled for 4.3.99.12, module version = 1.1.1 Module class: XFree86 Video Driver ABI class: XFree86 Video Driver, version 0.7 From /var/log/XFree86.1.log: (II) LoadModule: "fbdev" (II) Loading /usr/X11R6/lib/modules-dri-trunk/drivers/fbdev_drv.o (II) Module fbdev: vendor="The XFree86 Project" compiled for 4.3.0, module version = 0.1.0 ABI class: XFree86 Video Driver, version 0.6 From /etc/X11/XF86Config-4 (accelerated) Section "Device" Identifier "Matrox G550" Driver "mga" BusID "PCI:01:00:0" Option "UseFBDev" "true" Option "HWcursor" "off" #avoid cursor corruption Option "AGPMode" "2" #Faster 3D... Option "DRIReinit" #Possibly several servers with DRI EndSection The last option because someone on the net got DRI working on two matrox cards, (PCI+AGP) but only one at a time, unfortunately. From /etc/X11/xf86config-4 (fbdev) Section "Device" Identifier "Matrox G550" Driver "fbdev" # BusID "PCI:01:00:1" Option "UseFBDev" "true" Option "fbdev" "/dev/fb/1" Option "HWcursor" "off" #avoid cursor corruption EndSection Using BusID here doesn't work. The two files are otherwise identical except that they specify different mice. > if i try to start accelerated X, > X doesn't want to start and is eating ~100% of the cpu Ouch. I haven't seen that happen. > X on fbdev seems to start, but no output to Monitor Make sure you use matroxset so both framebuffers are visible. You can do this without running X, cat a few megs of garbage to both framebuffers first so they won't be all black. Then experiment with matroxset. > > >>I did nothing special with the sound setup. Both >>screens are positioned between a shared pair of >>speakers. The alsa drivers for my trident 4D NX supports >>several simultaneous users and does its own mixing. >> >>The long term plan is to use two accelerated X servers. >>Ideally by getting acceleration on both heads - but that >>seems very unlikely. The second best solution seems >>to be a pci graphichs card. I am waiting, hoping to find >>some pci card that supports DRI in such a way that >>I can use DRI on both screens simultaneously. > > > two things here: > 1.) DRI doesn't support multiple cards > (and it doesn't seems this to be on the TODO list > of the DRI developers) Too bad. Theoretically this should be _trivial_ for dual-seat two-card setups, because the two xservers are fully independent and so are the two graphichs cards. I wonder what they are running up against. Of course the much more common case of one seat, several cards aren't that easy - but I'm not trying for that. > only choice is to use Nvidia cards with the closed source driver > 2.) even if DRI supported multiple cards > all heads have to be addressable by the driver. > with Gxxx DH this doable only with fbdev driver > which doesn't support DRI, XV, ..... Which is why I'll buy a card if I believe it'll work. Accelerated 2D on both screens is nice too, of course. > (G200/450 MMS series could work as they have > different BusID's, but are untested -- too expensive) > Are these effectively two cards in a single slot then? >>The questions: >>2.6.0-test6-ruby seems to hate framebuffer console, hanging the >>machine before the first boot printk if I enable it. >>Is framebuffer console possible somehow? >>I currently need framebuffer in order to run X. And a >>console is nice to have in case I get X trouble. >>I currently only have screen garbage until X starts. >>Having some framebuffer consoles on the other screen >>would be nice too. fbcon also has the advantage >>that it can be set up with the same video timing as X, >>allowing console switching without waiting for the >>screen to sync to another frequency. > > > probably it's the matroxfb driver, Well, 2.6.0-test6 (without ruby) works fine with framebuffer console. It dies only if I use ruby. > Petr (the maintainer) still doesn't like the new FB API, > and is still working on a more complete driver using different fb API, > the in kernel driver is not that developed and with limited functionality, > try searching lkml on smth like "matroxfb 2.5" > > >>I use the kernel parameter "dumbcon=1" to tell ruby that I have an extra >>console. Is this documented anywhere? > > > 1.) http://startx.times.lv > 2.) the linuxconsole ml > 3.) my howto Thanks! Helge Hafting |