config-xfree86 dual head

Mike A. Harris mharris at redhat.com
Fri Oct 24 06:33:19 UTC 2003


On Fri, 24 Oct 2003, Mark Heslep wrote:

>  Im using an ATI FireGL X1 R300 dual headed DVI card which runs both
>Device sections off the BUS ID PCI:1:0:0.  The XFree log shows only the
>RADEON(0) section active with no RADEON(1). The result is a clowned
>display on the second head when Im looking for the standard independent
>head xinerama mode.  Now, if I manually add the Screen 0 and Screen 1
>options: 
>
>
>> Section "Device"
>>         Identifier  "Videocard0"
>>         Driver      "radeon"
>>         VendorName  "Videocard vendor"
>>         BoardName   "ATI FireGL X1"
>> #add Screen
>>         Screen 0
>> EndSection
>>                                                                                 
>> Section "Device"
>>         Identifier  "Videocard1"
>>         Driver      "radeon"
>>         VendorName  "Videocard Vendor"
>>         BoardName   "ATI FireGL X1"
>>         BusID       "PCI:1:0:0"
>> #add Screen
>>         Screen 1
>> EndSection

MonitorLayout "CRT" "CRT"

>Anyway, reading about Alex Deucher's merged frame buffer Radeon
>had me thinking that was required to get dual head working.

No, dualhead works on Radeon since at least 4.1.0 minimally on 
the 7000, and in 4.2.1 on all supported Radeon hardware.  Alex's 
patch implements dualhead in a different way than Xinerama.  
Xinerama allows multiple heads to be joined into one display via 
software at a layer above the video driver.  That works on any 
video hardware, including multihead cards (although drivers do 
need a small bit of code in them to support this).

MergedFB does multihead directly in the video driver, by using a 
single framebuffer across both screens (merging the framebuffers 
==mergedfb).


>Is 'mergedfb' going to be applied to X anytime soon?

No.

>Its not in the current CVS snapshot.

Radeon MergedFB support isn't in XFree86 CVS, and will not be in
the 4.4.0 release once it becomes available either.  It is in DRI
CVS as an experimental and incomplete work in progress.  Before
it is included in XFree86 it needs to be finished, and David
wants the common part of the Matrox, SiS, and Radeon MergedFB
support to be removed from the drivers themselves and put into 
the common layer so that they can share code instead of having 3 
copies of everything.  This is post 4.4.0 development stuff.

I have no intention of including this experimental support in our 
rpm packages, however once it is officially in XFree86 CVS, I 
will be investigating it's stability, etc.


>What's that going to do for us Radeon dual headers?

It'll allow you to use dualhead with DRI enabled, and get 3D 
acceleration across both screens.  There is a hardware limitation 
in the 3D engine of a maximum horizontal resolution of 2048 in 
the scissor registers and possibly elsewhere, so you have to 
limit your combined horizontal resolution to less than 2048 to 
get DRI.  Also, the Radeon video overlay is only functional on a 
single framebuffer, which is why people have problems using 
Xvideo on Radeon (and most other hardware) currently when they 
try to move a video window from one screen to another - the 
hardware does not support that.  However, with mergedfb, there is 
now a single framebuffer that spans two heads, and that includes 
the video overlay, so video can span both heads now too.  This is 
basically how the ATI Windows drivers work.  ATI calls this 
"Hydravision".  Nvidia has a similar feature they call 
"Twinview".  Both are essentially Xinerama done in hardware.

Another problem that needs work for MergedFB is to get it to deal 
with DPI properly, and to fake xinerama to software - this is 
called PseudoXinerama, and IIRC, it is broken currently.

This will probably not be in XFree86 for Radeon until 4.5.0 or
5.0 whichever comes first.  Matrox users should be able to use
MergedFB in 4.3.0 IIRC, and SiS users will be able to in 4.4.0 
also.

Hope this helps.

Take care,
TTYL


-- 
Mike A. Harris     ftp://people.redhat.com/mharris
OS Systems Engineer - XFree86 maintainer - Red Hat





More information about the fedora-test-list mailing list