From: Zoltan B. <zb...@fr...> - 2004-05-19 18:00:09
|
James Simmons =EDrta: >>Note that this didn't work well with 3D, last time I tried. >>One server using 3D blocks the other xserver 99% of the time, meaning >>the other user can't work efficiently if the first user is using a gam= e. >>Even 2D operations get blocked like this. 3D on both servers were >>impossible, even though two 3D clients on a single server works fine. >=20 >=20 > :-( >=20 >=20 >>Things seems to happen fast on the DRI front, but I don't really >>expect this to work anytime soon. Virtualizing the 3D accelerator >>will make this "easy", but the implied slowdown might not be >>desireable. >> >>Zolt=E1n B=F6sz=F6rm=E9nyi already showed dual 3D using two independent= cards >>though, I believe that is the way to go for dual gaming. >=20 >=20 > That was with the Nvidia closed driver? No, this is with the plain FC1 XFree86 radeon driver. I had to apply the latest DRI patch from the -mm tree so it provides /dev/dri/card0 and /dev/dri/card1. It detects the cards in bus/card order, so the PCI radeon is card0 and the AGP radeon is card1. I had to setup the servers in the same order in gdm.conf, i.e. I have this in dmesg: [drm] Initialized radeon 1.10.0 20020828 on minor 0: ATI Technologies=20 Inc Radeon RV100 QY [Radeon 7000/VE] [drm] Initialized radeon 1.10.0 20020828 on minor 1: ATI Technologies=20 Inc RV280 [Radeon 9200 SE] and this in gdm.conf: [servers] 0=3DX0 1=3DX1 [server-X0] name=3DX0 server command=3D/usr/X11R6/bin/X -deferglyphs 16 -layout "First Head" vt7 flexible=3Dtrue [server-X1] name=3DX1 server command=3D/usr/X11R6/bin/X -deferglyphs 16 -layout "Second Head" vt17 flexible=3Dtrue and this in XF86Config: Section "ServerLayout" Identifier "First Head" Screen 0 "Screen0" 0 0 InputDevice "Mouse1" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" Option "SingleCard" "true" EndSection =20 =20 Section "ServerLayout" Identifier "Second Head" Screen 0 "Screen1" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" Option "SingleCard" "true" EndSection ... Section "Device" =20 =20 Identifier "Videocard1" Driver "radeon" VendorName "Videocard vendor" BoardName "ATI Radeon 9200SE" Option "AGPMode" "4" Option "dpms" "off" BusID "PCI:1:0:0" EndSection Section "Device" Identifier "Videocard0" Driver "radeon" VendorName "Videocard vendor" BoardName "ATI Radeon 7000" Option "dpms" "off" BusID "PCI:0:6:0" EndSection Section "Screen" Identifier "Screen0" Device "Videocard0" Monitor "Monitor0" DefaultDepth 16 SubSection "Display" ... EndSection Section "Screen" Identifier "Screen1" Device "Videocard1" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" ... EndSection The XFree86-4.3.0 DRI detection gets confused if the card initialization is reversed. It tries to set the DRI "private" field to the card's PCI BusID and it fails if its not the same as the actual BusID and XFree86 gives up if the device node is not already opened (busy) and the setting this private field fails. Best regards, Zolt=E1n B=F6sz=F6rm=E9nyi |