**ATI Graphic Hardware: **
This post is on ATI hardware. Subsequent posts will cover nVidia, Intel and Via/Chrome.
A brief explanation about drivers for ATI cards.
ATI Graphic card practical theory
There are various drivers available:
- fbdev
- this is the frame buffer driver and it is compatible with many different graphic cards (ati, nvidia, intel … ) . It has the slowest performance, but sometimes it will work when all else fails. It comes packaged with openSUSE as part of the xorg-x11-driver-video rpm and on openSUSE-11.3/11.4/12.1 it is typically loaded if the ‘x11failsafe’ boot code is applied in grub. - vesa
- this is the vesa driver and it is compatible with many different graphic cards (ati, nvidia, intel … ) . It is faster than the fbdev for performance, and it is pretty robust, but overall it still has slow performance. It comes packaged with openSUSE as part of xorg-x11-driver-video rpm. - mach64
- ATI Mach64 - graphic driver specific for the old ATI Mach64 graphic hardware. It comes packaged with openSUSE as part of xorg-x11-driver-video rpm. - r128
- ATI Rage 128 - graphic driver specific for the old ATI Rage 128 graphic hardware. It comes packaged with openSUSE as part of xorg-x11-driver-video rpm. - **ati **
- this is the free open source “ati” driver for very old ATI hardware. The “ati” driver supports Radeon, Rage 128, and Mach64 and earlier chipsets by loading those drivers . For that hardware it should have better performance than the VESA driver. It comes packaged with openSUSE as part of xorg-x11-driver-video rpm. - radeon
](http://www.x.org/wiki/radeon) - this is the free open source ATI “radeon” driver for moderately aged ATI hardware. For that hardware it should have better performance than the VESA driver. It comes packaged with openSUSE as part of the xorg-x11-driver-video rpm and on openSUSE-11.3/11.4 it is typically loaded by default after a fresh install. To see exactly what hardware the “radeon” driver supports one can type ```
man radeon
More information on the radeon driver implemented in the xorg-x11-driver-video rpm can be found here [in the X Org Radeon wiki for radeon](http://www.x.org/wiki/radeon)
.
- **radeonhd**
](http://www.x.org/wiki/radeonhd) - this is the free open source ATI "radeonhd" driver for the latest ATI hardware. For that hardware it should have better performance than the VESA driver. It comes packaged with openSUSE in the file xorg-x11-driver-video-radeonhd rpm and on openSUSE-11.3/11.4 it is typically loaded if the 'nomodeset' boot code is applied in grub after a fresh install. To see exactly what hardware the "radeonhd" driver supports one can type ```
man radeonhd
As of openSUSE-11.3 Milestone6 Novell/SuSE-GmbH have announced this driver superseded by the radeon driver, so it is possible the radeon driver may function better on RadeonHD hardware than the radeonhd. More information on the radeonhd driver implemented in the xorg-x11-driver-video-radeonhd rpm can be found here in the X Org Radeonhd wiki for radeonhd
.
- fglrx
- this is the proprietary free (as in free beer) ATI driver for the latest ATI hardware. For that hardware it should have better performance than all other graphic drivers, but it tends to be a fragile driver and many times a kernel or an xorg update will break it. In order to install it one must download it from the ATI web site (or from a special repository) and then do various hand tweaks to get it to work. It does NOT come with openSUSE. One can read about how to install this proprietary high performance graphic driver on the following link: ATI proprietary driver for openSUSE
ATI dropping support for older cards
Now ATI used to produce a proprietary “Catalyst” graphic driver for older ATI cards, but they no longer do that for the 2.6.31 kernel which comes in openSUSE-11.2 and comes in other Linux distributions. Hence for moderately aged ATI hardware, one can no longer get access to the very high performance proprietary ATI graphic driver. One can get a list of ATI hardware considered legacy (as of March-2010) here: ATI Catalyst Proprietary Display Driver - legacy hardware. Note the words:
*The Linux ATI Catalyst™ driver will only be supported in Linux distributions prior to February 2009 for the legacy products listed above. … and ATI provide a list of graphic devices … ]
Any customers using a combination of a ATI Radeon™ HD 2000 Series, ATI Radeon™ HD 3000 Series, or ATI Radeon™ HD 4000 Series product with any of the legacy products listed above in a single PC system must use the ATI Catalyst 9.3 or earlier driver. All future ATI Catalyst™ releases made available past the ATI Catalyst™ 9.3 release will not include support for the legacy products listed above or any of the features associated with those legacy products.*
For more detail, see also post#18 below: ATI Legacy Driver Policy
xorg.conf file and xorg.conf.d directory in Linux
In older openSUSE releases, it was necessary to have an /etc/xorg.conf file which defined the configuration needed for one’s graphic card. This is not the case for newer openSUSE versions.
As of openSUSE-11.2, the need to have an xorg.conf file was removed for many graphic cards. This was because “xorg” who code X window framework have moved away from requiring the xorg.conf file, but rather the card should be configured automatically without that xorg.conf file. In such a case, the xorg software should automatically use the latest open source driver (either “radeon” or “radeonhd”). However the automatic recognition of graphic cards is still not reliable for all cards in openSUSE-11.2, 11.3, 11.4 nor 12.1.
To help address that case (where automatic graphic card recognition fails) similar to other Linux distributions, openSUSE as of version 11.3 also has an /etc/X11/xorg.conf.d/ directory, with a series of .conf files, where the graphic configuration can be specified (which if specified will take precedence over the Xorg software automatic configuration). These files include:
10-evdev.conf
11-mouse.conf
20-synaptics.conf
20-wacom.conf
50-device.conf
50-monitor.conf
50-screen.conf
50-vmmouse.conf
90-keytable.conf
For example, to force the vesa driver, one could edit the 50-device.conf to look like (where Driver “vesa” was added):
Section "Device"
Identifier "Default Device"
#Driver "radeon"
Driver "vesa"
## Required magic for radeon/radeonhd drivers; output name
## (here: "DVI-0") can be figured out via 'xrandr -q'
#Option "monitor-DVI-0" "Default Monitor"
EndSection
In addition the older xorg.conf file can still be used for the card to force a graphic configuration, for if that xorg.conf file is available, then the xorg software will use it, giving it precedence over BOTH the automatic Xorg configuration and the /etc/X11/xorg.conf.d/nn-yyyyy.conf files. The software sax3, which is under development as a replacement for the depreciated sax2 can be used to configure the files in /etc/X11/xorg.conf.d/ directory.
Software to Create xorg.conf file
Proprietary ATI driver: There is software provided by ATI (comes with their driver) that can be used to configure the proprietary driver and create an /etc/X11/xorg.conf file. This package is called “aticonfig” . One should run that program from “run level 3” (more about “run level 3” later) with root permissions.
For openSUSE-11.2 and earlier there is also software provided by SuSE-GmbH in openSUSE that is used to generate the xorg.conf file for graphic drivers, which is called “sax2”. One can run “sax2” with many options (but it must be run with root permissions). Sax2 is not included with openSUSE-11.3 nor newer openSUSE versions.
For example on openSUSE-11.2 and earlier, to check what chip# one’s graphic devices are, one can run:
sax2 -p
pay attention to the chip, … ie chip 0 (typically if only one graphic device) or there may be a chip-0 and a chip-1 (if one has more than one graphic device).
For all openSUSE versions (including 11.3) there is “Xorg -configure”. ie run with root permissions in run level 3 (see below for description of use).
Run Level 3
Now typically, when reconfiguring a graphic card, it is best to do this NOT in X window, but rather in the full screen terminal run level 3. One boots to run level 3 by pressing “3” (no quotes) when the very first menu (the initial grub boot menu) appears. By pressing “3” one will see the “3” appear in the options line. Then boot normally. That brings one to a full screen text login. Login as a regular user. Then after logged in, type “su” (no quotes - enter root password) to switch users to the administrator/root.
Creating the xorg.conf file
For openSUSE-11.2 and earlier If one wishes to force sax2 to create an xorg.conf file for the vesa driver, then one would type in run level 3 (NOT in X window):
sax2 -r -m 0=vesa
or
sax2 -r -m 1=vesa
where the 0 or 1 depends on what graphic chip one is trying to configure. The “-r” option tells sax2 to ignore any previous created xorg.conf file, and overwrite/replace it.
Or, another example, for openSUSE-11.2 and earlier, if one wishes to force sax2 to create an xorg.conf file for the open source free radeonhd driver, then one would type in run level 3 (NOT in X window):
sax2 -r -m 0=radeonhd
or
sax2 -r -m 1=radeonhd
where the 0 or 1 depends on what graphic chip one is trying to configure. The “-r” option tells sax2 to ignore any previous created xorg.conf file, and overwrite/replace it.
Instead of “vesa” or “radeonhd”, dependent on ones hardware, one can try “fbdev”, “ati”, “mach64”, “r128”, “radeon” or “fglrx” (where fglrx requires extra rpms/packages installed).
For all openSUSE versions (including 11.3) there is “Xorg -configure”. ie run with root permissions in run level 3
Xorg -configure
which will create the file /root/xorg.conf.new. Copy that file to /etc/X11 with:
cp /root/xorg.conf.new /etc/X11/xorg.conf
and then if necessary edit the xorg.conf file, using something like the vi editor. Pay attention to the “Device” section in the xorg.conf file as it will specify the Driver, with a line something like:
Driver "radeonhd"
It may be necessary to edit that file/line to change the driver. ie Instead of “vesa” or “radeonhd”, dependent on ones hardware, one can try “fbdev”, “ati”, “mach64”, “r128”, “radeon” or “fglrx” (where fglrx requires extra rpms/packages installed). Again, note above the much early section on the subject “xorg.conf file and xorg.conf.d directory in Linux”, where the file “50-device.conf” can instead be edited. And the software sax3, which is under developement as a replacement for the depreciated sax2 can be used to configure the files in /etc/X11/xorg.conf.d/ directory.
Proprietary ATI driver. If one has the proprietary ATI driver installed (via the rpm) and one wished to use the ATI software (instead of sax2) to configure the proprietary ATI/AMD driver and create the xorg.conf file, one would type something like (with root permissions):
aticonfig --initial
… there are also other input values one can use to tune the application of “aticonfig” for creation of the /etc/X11/xorg.conf file.
Restart to test. Once aticonfig or sax2 (or the xorg.conf is created and edited with Xorg -configure) is complete, one can restart from run level 3 by typing “shutdown -r now” (with root permissions) and then let the reboot continue to see if the graphic card configuration worked. Or, instead of restarting, as a regular user (not as root) in run level 3 one can type “startx”.
openSUSE specific boot codes.
As of openSUSE-11.3, where a proprietary graphic driver is not installed, with the default installation (ie with no special configuration file settings in place) it is possible to influence the video driver that is loaded by use of a boot code in the initial grub-boot-manager menu options line. By default, with AMD hardware openSUSE-11.3/11.4/12.1 will boot with the ‘radeon’ graphic video driver. If one instead specifies the boot code ‘nomodeset’ (which disables KMS) openSUSE-11.3/11.4 will also (instead) boot the ‘radeonhd’ graphic video driver. If instead one specifies ‘x11failsafe’ (or uses the ‘Fail Safe’ or ‘Safe Settings’ ) openSUSE will boot to the FBDEV graphic driver. If one wishes to permanently specify a specific graphic driver one should edit the /etc/x11/xorg.conf.d/50-device.conf file.
Hopefully this overall post gives some practical theory so that users can understand the recommendations that have been given in various posts by our forum members.