update: The radeon driver no longer uses mergedfb, but randr for multiscreening.
Xinerama was quite a suboptimal solution for my setup. What advantages does MergedFB provide?
- 3-D Accelerated Dual Screens
- Ability to use HW Cursor
- Allows dual monitor setup without using proprietary fglrx driver
- easy setup
I’m running an ATI Mobility Radeon X300, with my primary monitor (laptop screen) at 1280×800 and my secondary monitor (Samsung Syncmaster 206BW) at 1680×800 (on the VGA port unfortunately, it’s all the laptop has)
After installing Ubuntu, I had the radeon driver running the primary display at native resolution. To add the secondary monitor, I had to add a small (compared to Xinerama) amount to my xorg.conf, and then ctrl-alt-backspace to restart the X server.
In the device section, I added the following:
Option "MergedFB" "true" #Enables MergedFB
Option "MonitorLayout" "LVDS (TMDS), CRT" #Interfaces I used
Option "CRT2Hsync" "30-81"
Option "CRT2VRefresh" "56-75"
Option "OverlayOnCRTC2" "true" #think this might be deprecated :)
Option "CRT2Position" "RightOf"
Option "MetaModes" "1280x800-1680x1050" #individual monitor modes
Option "MergedNonRectangular" "True" #screens do not form a rectangle when next to each other
In the monitor section, I added the refresh info about the secondary monitor:
The final modification I made was to overcome a bug I was running up against. Reading the X log at /var/log/X.0.log it appeared that MergedFB was failing to set the secondary screen larger then 1280×800. So I changed the Modes line in the “Screen” section from “1280×800” to “1200x800″. Now both screens in my MergedFB metamodes were larger than the screen size, and it worked properly 🙂
There are a few disadvantages:
- Random cursor corruption (rarely, not as annoying as Xinerama)
- X server must be restarted to switch between dual- and single-monitor setups (frequent with my laptop)