This post is a bit of a HOWTO detailing setup of multiple monitors on an ATI/AMD Radeon HD 6700 series video adapter on a computer with legacy configuration data in the /home directories.
I upgraded my computer and moved the hard drive containing my /home directory from the old computer to the new one. The new computer has a blank SSD that was formatted and OpenSuse 12.1 with Gnome 3 was installed with the /home pointing to the correct position in the old hard drive.
The Open Source “Radeon” video driver was installed by default. This driver is pretty limited and can’t run high-powered 3-D applications (cough, games, cough), so I wanted to install the proprietary AMD (aka ATI) driver (called fglrx, who came up with that name?). Searching the net, I found a couple of ways to install the AMD proprietary driver.
Option one is downloading the executable binary from AMD:
AMD Catalyst™ Proprietary Display Driver
I’m running 32-bit OpenSuse 12.1 on 64-bit hardware. Not clear to me if the driver handles both processor types. Also, you need to install a number of other packages with YAST before running the AMD binary - see the Readme. Basically the kernel development package and gcc environment.
Option two is using a pre-packaged RPM from an unofficial packager. The one I found was:
Add this as a repository in YAST, then choose the fglrx_xpic_SUSE121 package. This is the recommended way because it handles adding all the other dependency packages for you.
More info, see here: SDB:ATI drivers - openSUSE
Once the fglrx driver was installed and the system rebooted, I was able to log into my Gnome desktop. Because the old hard drive with my /home directory came from another machine, it had a batch of Gnome 3 settings already on it (from Linux Mint, OpenSuSE 11.1, probably even some Ubuntu settings from a failed install). The result was Gnome tried to make my old settings work on the new environment, which didn’t work too well.
Figure 1: Gnome desktop after fglrx install
First problem, the two monitors were being cloned and not operating side-by-side. Second problem, people familiar with Gnome 3 will realize that the part of the menu bar with the “user” and “shutdown” buttons isn’t visible – it is beyond the right edge of the display. The old desktop size from the previous environment wasn’t compatible with the initial installation defaults of cloned monitors.
After a lot of messing around with the AMD configuration programs amdcccle, amdconfig, and the Gnome display settings, I ended up with a pile of unusable settings that didn’t return any google results. I’ll tabulate some of them here so that other websurfers with similar problems have a chance to find this post. Skip this if you aren’t interested in what not to do.
Trying to change settings from the Gnome display manager results in the error message The selected configuration for displays could not be applied
required virtual size does not fit available size : requested=(4480, 1200), minimum=(320,200), maximum=(1680,1680)
Changing settings from the AMD Catalyst Control Center (amdcccle) does nothing except that the program window vanish whenever I press apply. If I run the program from the shell, I see why the window vanishes:
agd@agdserver:~> gnomesu amdcccle I/O error : Resource temporarily unavailable /home/agd/.config/monitors.xml:1: parser error : Document is empty ^ /home/agd/.config/monitors.xml:1: parser error : Start tag expected, '<' not found ^
Hmm, there is a crash in the program reading a configuration file hanging around on my hard drive. Fooling around with that configuration file doesn't do any good, just leave it. If you can't access the logout button because it is off the right side of the screen, you can use the panic X bail-out key combo of <ctrl>-<alt>-<Backspace>. Hold the <ctrl>-<alt> and click <Backspace> a couple of times and the display should close and put you back to the login screen. Another way is to open a shell and type:
which will trigger a logout. If you want to reboot, open a shell and type:
sudo /sbin/shutdown -r now
(or press the power button on your computer.)
Create a fresh /etc/X11/xorg.conf file by typing into a shell:
sudo aticonfig --initial
This creates a plain-vanilla xorg.conf file containing the current mirrored monitor setup. Edit this file as root gnomesu gedit /etc/X11/xorg.conf] and look for this spot:
Section "Screen" Identifier "aticonfig-Screen-0" Device "aticonfig-Device-0" Monitor "aticonfig-Monitor-0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 EndSubSection
Change it to this:
Section "Screen" Identifier "aticonfig-Screen-0" Device "aticonfig-Device-0" Monitor "aticonfig-Monitor-0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 # add this: Virtual 6000 2880 EndSubSection
This new Virtual line should get rid of the complaint that the Gnome display settings had about the size of the combined desktop I wanted to create. Note that I just arbitrarily put big numbers in for the horiz and vert pixel dimensions, I haven’t seen any adverse problems from doing this versus calculating it to be exactly the right size.
Now run the Gnome display settings and uncheck the Mirror displays button. Set the resolution of each display as appropriate.
(note that I have a third monitor that isn’t set up right now. That is my next headache and isn’t part of this HOWTO.)
Apply and Reboot.
Now I have the following desktop, note the two monitors are different resolutions, thus the black bar on the bottom-right. That is off the bottom of the right-hand monitor.
I hope this helps some other lost souls get their AMD/ATI cards working with multiple monitors under Gnome 3. I spent several days digging through web searches that didn’t have a complete story that fit my situation. Thanks to the various authors of the other bulletin boards, wikis, Google and Duckduckgo - I couldn’t have pieced this together without your insights and tales of woe.