MergedFB

Merged Framebuffer mode allows you to use 3D acceleration on both heads of a dualheaded Radeon card. This is accomplished by creating a single large framebuffer with two viewports (CRTCs) looking into it. The current Radeon dualhead code creates two separate screens with separate framebuffers. they can be combined into a single logical screen using xinerama or used separately as separate X servers (host:0.0 and host:0.1). Merged Framebuffer mode can only be used to create a single logical screen. This is because a single framebuffer is shared between the two CRTCs. This is also the reason that HW accelerated 3D works on both heads.

(See http://bugs.xfree86.org/show_bug.cgi?id=276)

MergedFB Driver Options

These are the Radeon MergedFB options from the Radeon man page.

Notes

Pageflipping does not work reliably in all MergedFB modes. If you have problems with MergedFB, please disable it.

If you have any 3D contexts greater than 2048, you will get an empty window. The 3D engine is limited to 2048x2048. I'd like to get around this at some point, and there is a potential solution out there, I just have not had time to mess with it. For more information, see the "2048 limit" thread in dri-devel.

Thomas Winischhofer's SiS site has some good information on MergedFB, and since the Radeon MergedFB driver is based on Thomas' work it is relevant to Radeon as well.

the No2048Limit option has been deprecated.

Some usage notes

When enabling MergedFB in your xorg.conf, here are some things to keep in mind.

Under the Device section you should have this line:

                       * Option "MergedFB" "true" 

Also, one thing that was causing me headache, in your Screen section you must have a subsection that sets up the virtual display, and it must also contain a subsection that gives the display modes. Like this:

?SubSection "Display"

                    * Depth 24  

Virtual 1560 1024

?EndSubSection

?SubSection "Display"

                    * Depth 24  

Modes "1400x1050 1280x1024 1024x768"

?EndSubSection

This information is correct for my radeon mobility 9000 using recognized as r250 chipset.
After much searching I was not able to find a similiar xorg.conf example in my google searches.

--- Also of note:

Because the radeon driver defaults to "MergedFB" mode X -configure run against my RV370 generated a /root/xorg.conf.new that was correct in most respects except misleadingly "CRT2Position" defaulted to "Clone" -- uncommented and changed it to "?RightOf" and suddenly its dualheadedness was more evident.

Other MergedFB drivers

nVidia has a similar feature in their binary drivers called "twinview."

ATI has a similar feature in their binary drivers.

Matrox has MergedFB support when using its binary HAL module.

Thomas Winischhofer's SiS driver has MergedFB support.