openSUSE Graphic Card Practical Theory Guide for Users

The guide below has now been superceded with a new version here](http://forums.opensuse.org/information-new-users/advanced-how-faq-read-only/438705-opensuse-graphic-card-practical-theory-guide-users.html) and an updated ATI specific post here](http://forums.opensuse.org/2164512-post2.html). The thread below is kept open for comments. Comments / contributions / corrections are welcome.

The purpose behind this “guide” is to provide some practical theory for new to average openSUSE users, explaining what graphic drivers are available for the more common ATI, nVidia and Intel Graphic hardware. ATI users should also check out post#11 in this thread.

**ATI Graphic Hardware: **

This 1st post is on ATI hardware. A subsequent post will cover nVidia and Intel.

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.
  • 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
  • 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. 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**
 - 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.  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. 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 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 moderatorly 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 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.

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 are moving away from requiring the xorg.conf file, but rather want to have the card 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.

In that case (where automatic graphic card recognition fails) one needs to create an xorg.conf file for the card to force a configuration, for if that xorg.conf file is available, then the xorg software will use it.

Software to Create xorg.conf file

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.

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).

For example, 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).

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

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, 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).

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 nvidia 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.

Once aticonfig or sax2 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.

Hopefully that gives some practical theory so that users can understand the recommendations that have been given in various posts by our forum members.

The guide below has now been superceded with a new version here](http://forums.opensuse.org/information-new-users/advanced-how-faq-read-only/438705-opensuse-graphic-card-practical-theory-guide-users.html) and an updated nVidia specific post here](http://forums.opensuse.org/2164522-post3.html). The thread below is kept open for comments. Comments / contributions / corrections are welcome.

nVidia Graphic Hardware

A brief explanation about drivers for nVidia cards

nVidia Graphic card practical theory. Note that for nVidia graphic cards, you have some choices for graphic drivers:

  -  **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 typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • 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 typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • nv
      ](http://xorg.freedesktop.org/wiki/nv) - this is the free open source nVidia driver for all nVidia hardware. This driver should have much better performance than the VESA driver. It typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm. Prior to openSUSE-11.3 it was the default graphic driver for nVidia graphic hardware on openSUSE. Recently (2010) nVidia announced reduced support for this driver, with it becoming more of a “legacy” driver. More detail on that announcement can be found here: Post 13 - nVidia reducing support for nv driver . To see exactly what hardware the “nv” driver supports, one can type: ```
      man nv

      - **nouveau**
](http://nouveau.freedesktop.org/wiki/) - this is a new open source nVidia driver for nVidia hardware.  Its pretty new, and cutting edge.  It is the default graphic driver for nVidia hardware as of openSUSE-11.3.  Note openSUSE-11.2 (and earlier) users may wish to read more about its success or failure before trying.  It will come with the rpm: xorg-x11-driver-video-nouveau and for example in the case of openSUSE-11.2 can be found here:  ```
http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.2/
  -  **nvidia**
  • this is the proprietary free (as in free beer) nVidia driver supplied by nVidia for the latest nVidia hardware. For nVidia hardware it should have better performance than all other 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 nVidia web site (or from a special repository) and then do various hand tweaks to get it to work. It does NOT come with openSUSE. Here is a link with some information on** how to install this proprietary driver**: NVIDIA drivers - openSUSE

xorg.conf file in Linux. In older openSUSE releases, it was necessary to have an /etc/X11/xorg.conf file which defined the configuration needed for one’s graphic card to work with one’s PC’s hardware.

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 are moving away from requiring the xorg.conf file, but rather want to have the card configured automatically without that xorg.conf file. In such a case, the xorg software should automatically use the latest open source driver (i.e. “nv”). However the automatic recognition of graphic cards is still not reliable for all cards in openSUSE-11.2.

In that case (where automatic graphic card recognition fails) one needs to create an xorg.conf file for the card to force a configuration, for if that xorg.conf file is available, then the xorg software will use it.

Software to Create xorg.conf file. There is software provided by nVidia (comes with their proprietary driver) that can be used to configure the proprietary driver and create an /etc/X11/xorg.conf file. This package is called “nvidia-xconfig” . One should run that program from “run level 3” (more about “run level 3” later) with root permissions.

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).

For example, to check what chip# one’s graphic devices are, one can run with root permissions:

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).

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 initial grub boot menu first 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.

Creating the xorg.conf file After logging in to run level 3, type “su” (no quotes - enter root password) to switch users to the administrator/root. If one wishes to force sax2 to create an xorg.conf file for the open source graphic driver (called “nv”), then one would type in run level 3 (NOT in X window):

sax2 -r -m 0=nv

or

sax2 -r -m 1=nv

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.

If one has the proprietary driver installed (via the proprietary rpm) one could tell sax2 to use that driver when creating the xorg.conf by typing:

sax2 -r -m 0=nvidia

or change the “0” to a “1” if one’s graphic card is chip-1.

If one has the proprietary nVidia driver installed (via the rpm) and one wished to use the nvidia software (instead of sax2) to configure the proprietary nvidia driver and create the xorg.conf file, one would type:

nvidia-xconfig

Once sax2 or nvidia-xconfig is complete, one can restart from run level 3 with root permissions by typing “shutdown -r now” and then let the reboot continue to see if the graphic card configuration worked.

Now as noted, one can install the nVidia driver via the repository/rpm method or one can download the proprietary driver as a binary .run file and install the driver by running that binary. This is called “the hardway” and it is NOT hard (that is the way I always do this). There is more guidance on this “hardway” here: NVIDIA/The hard way - openSUSE Note installing the hardway means one is building the driver on one’s PC, in which case one needs gcc (ie the base developement pattern) and also kernel-source, kernel-syms and linux-headers installed.

Hopefully that gives some practical theory so that users can understand the recommendations that have been given in various posts by our forum members.

The guide below has now been superceded with a new version here](http://forums.opensuse.org/information-new-users/advanced-how-faq-read-only/438705-opensuse-graphic-card-practical-theory-guide-users.html) and an updated Intel specific post here](http://forums.opensuse.org/2165620-post4.html). The thread below is kept open for comments. Comments / contributions / corrections are welcome.

Intel Graphic Hardware

A brief explanation about drivers for Intel cards

Intel Graphic card practical theory. Note that for Intel graphic cards, you have some choices for graphic drivers:

  -  **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 typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • 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 typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • i740
  • this is a free open source driver for the Intel740 hardware. It comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • i810
  • this is a free open source driver for some Intel hardware. I believe this driver has been depreciated and it is no longer maintained, although it is provided in openSUSE-11.1 and earlier. This driver should have much better performance than the VESA driver. It typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • intel
  • this is an free open source driver for all Intel hardware. The “intel”](http://intellinuxgraphics.org/) driver supports the i810, i810-DC100, i810e, i815, i830M, 845G, 852GM, 855GM, 865G, 915G, 915GM, 945G, 945GM, 965G, 965Q, 946GZ, 965GM, 945GME, G33, Q33, Q35, G35, GM45, G45, Q45, G43 and G41 chipsets. This driver should have much better performance than the VESA driver. It typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • iegd
  • this is a proprietary Intel Linux driver for selected Intel graphic hardware. The iegd driver supports the Mobile Intel(R) GM45/GL40/GS45, GLE960, GME965, 945GME, 945GSE, 915GME, 910GMLE chpsets and also the Intel(R) Atom™, Q45/G45/G41, Q35, Q964, Q945G, 915GV chipsets. More detail to follow in a future update to this post … For now some information is recorded in [in post#10 and post#11 of this same guide/thread](http://forums.opensuse.org/2135829-post10.html) . One needs to download and install separately this proprietary Intel graphic driver.

xorg.conf file in Linux. In older openSUSE releases, it was necessary to have an /etc/X11/xorg.conf file which defined the configuration needed for one’s graphic card to work with one’s PC’s hardware.

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 are moving away from requiring the xorg.conf file, but rather want to have the card configured automatically without that xorg.conf file. In such a case, the xorg software should automatically use the latest open source driver (i.e. “intel”). However the automatic recognition of graphic cards is still not reliable for all cards in openSUSE-11.2.

In that case (where automatic graphic card recognition fails) one needs to create an xorg.conf file for the card to force a configuration, for if that xorg.conf file is available, then the xorg software will use it.

Software to Create xorg.conf file. There is 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).

For example, to check what chip# one’s graphic devices are, one can run with root permissions:

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).

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 initial grub boot menu first 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.

Creating the xorg.conf file After logging in to run level 3, type “su” (no quotes - enter root password) to switch users to the administrator/root. If one wishes to force sax2 to create an xorg.conf file for the intel open source graphic driver (called “intel”), then one would type in run level 3 (NOT in X window):

sax2 -r -m 0=intel

or

sax2 -r -m 1=intel

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 for the slower vesa driver

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.

Once sax2 is complete, one can restart from run level 3 with root permissions by typing “shutdown -r now” and then let the reboot continue to see if the graphic card configuration worked.

Hopefully that gives some practical theory so that users can understand the recommendations that have been given in various posts by our forum members.

Nice work @oldcpu
I’m bookmarking this, it will be very useful. Well done.

Thanks caf4926. I am thinking I should have added that one can get a flavour as to what drivers are available by typing:

rpm -ql xorg-x11-driver-video

and in the case of a 64-bit openSUSE the various

/usr/lib64/xorg/modules/drivers/something_drv.la    
/usr/lib64/xorg/modules/drivers/something_drv.so
/usr/share/man/man4/something.4.gz 

provides an indication of the drivers.

There is more on that method here: http://en.opensuse.org/HCL/All_Video_Cards

and if one notes the line

 /usr/share/man/man4/something.4.gz 

then one can read up more on their driver by typing (for this example)

man something


a real life example would be where something=vesa and hence one would type

man vesa

NOTE: Until I hear of a good experience, I can NO LONGER recommend this post. Last time I tried this it broke X on the PC

I do note a number of openSUSE users have complained that the radeon and radeonhd drivers (and also Intel drivers) that come with openSUSE-11.2 (in rpms xorg-x11-driver-video and xorg-x11-driver-video-radeonhd) are lacking.

For those who are willing to take a chance, they can try the latest very cutting edge open source drivers unofficially packaged for openSUSE for ATI hardware. ie … some openSUSE-11.2 users with “legacy” ATI hardware have found they get better behaviour on openSUSE-11.2 from the open source radeon and radeonhd drivers if they use the updates from the X11 : XOrg repository. That repository is here:

http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.2/

… and the rpms that some of us found gave better behaviour are these apps:

  • Mesa
  • xorg-x11-driver-input
  • xorg-x11-driver-video
  • xorg-x11-driver-video-radeonhd

and possibly ( ? ) others for a 64-bit openSUSE ? … (I tried them on a 32-bit PC). One caution - that tends to be a cutting edge repository, so there is always a risk it will make things worse when a cutting edge release has a bug.

Also, note, because that repository is so cutting edge, I recommend it be added, the rpms installed, and the repository removed. Do NOT leave that repository enabled 1 update longer than necessary.

Some users go to install those rpms in YaST , see that the older Novell versions are installed, get confused, and think they have somehow already installed the updates. So some care is needed and be absolutely certain one has updated those rpms. Please note this image example below where one selects the “repositories” tab, select the repository on the left in the image and then select the “version” tab and in there select the appropriate version(s). Then accept the change.
http://thumbnails15.imagebam.com/7303/8816a173020210.gif](http://www.imagebam.com/image/8816a173020210)

After updating, a reboot is necessary to test the effect.

Please note caution above - this approach may no longer work !

I’d like to say that this post is very nicely written, and it gives a very good run down on the different graphics vendors and the multitude of drivers available for Linux.

Seeing as you are lacking information about VIA graphics hardware, I’d like to point your attention to the openchrome project. On their About page, they give a run down about all of the driver offerings for VIA hardware, in a very similar manner to what you have written in this post. Perhaps that information can serve as a starting point?

Anyways, keep up the good work. :slight_smile:

The guide below has now been superceded with a new version here](http://forums.opensuse.org/information-new-users/advanced-how-faq-read-only/438705-opensuse-graphic-card-practical-theory-guide-users.html) and an updated Via specific post here](http://forums.opensuse.org/2175088-post5.html). The thread below is kept open for comments. Comments / contributions / corrections are welcome.

**VIA’s Graphic chipsets and OpenGL … **
(This contribution from user “consused”)

A brief explanation about drivers for VIA graphic chipsets.

VIA produce integrated graphic processor (IGP) chipsets for PC’s with Intel, AMD, and VIA central processors. Hence an extensive range of multimedia chipsets with product identifiers that can be somewhat daunting. Within these chipsets, we are only concerned here with VIA’s S3G UniChrome, UniChrome Pro and Chrome9 IGP cores. Comprehensive product information can be found at VIA’s corporate website.

VIA Graphic chipset practical theory. Note that for Via graphic chipsets, you have some choices for graphic drivers:

  -  **fbdev**
  • this is the frame buffer driver and it is compatible with many different graphic cards (ati, nvidia, intel … ). This non-accelerated, 2D-only driver has the slowest performance, but sometimes it will work when all else fails. It typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • vesa
  • this is the vesa driver and it is compatible with many different graphic cards (ati, nvidia, intel … ). Although a non-accelerated, 2D-only driver, it should be faster than “fbdev” in performance, and pretty robust, but overall it still has slow performance. Chipset compatibility is not the only factor here. Success with this driver will also depend on whether its built-in resolutions and fixed refresh rates support your monitor’s requirements. It typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • unichrome
  • this is an open source driver developed by the The Unichrome Project. It is packaged with openSUSE as xorg-x11-driver-video-unichrome rpm. The emphasis of this driver’s development is on clean code and stability, at the expense of supporting features. It currently supports CLE266, KM400/KM400A/KN400/P4M800, and K8M800/K8N800/K8N800A chipsets. Those are early/mature Unichrome and Unichrome Pro IGP’s. There’s no support for the later Unichrome Pro/Pro II and more recent Chrome9 IGP’s. This driver does basic modesetting, accelerates 2D, 3D and Xv. It lacks accelerated mpeg2 decoding using XvMC.
    To see exactly what hardware and driver options are supported by the “unichrome” driver, one can type
man unichrome
  -  **openchrome**
  • this is the most advanced open-source driver, developed by the openChrome project. Development focuses on fully utilizing the features of these multimedia chipsets. It is packaged by the openSUSE community as xorg-x11-driver-video-openchrome rpm, that can normally be downloaded from the openSUSE Build Service, In theory, this driver will accelerate 2D, 3D, Xvideo and mpeg2 decoding using XvMC. In practice, 2D should work for all the driver-supported devices, but 3D (direct rendering) is another matter. It may not be implemented for your chipset, e.g. direct rendering is currently disabled for all Chrome9 IGP’s, leaving only software rasterizing (too slow) for 3D applications. The list of supported IGP’s is long and includes Unichrome, Unichrome Pro, and Chrome 9 chipsets. I refer you to the chipset support matrix, displayed under “Documentation” at the openChrome project’s website.
    To see exactly what hardware and driver options are supported by the “openchrome” driver, one can type
man openchrome
  - **chrome9**
  • this is VIA’s open-source unified driver for their graphic chipsets. That means it should support all VIA devices listed in the rpm’s package description, at least for 2D. This driver should have better performance than the VESA driver. Currently VIA don’t package their driver for openSUSE. However, a package is provided by the openSUSE community as xorg-x11-driver-video-chrome9 rpm, that can normally be downloaded from the openSUSE Build Service. Since openSUSE 11.2, the name of this driver module is “via”. That name must be used in sax2 commands and in the xorg.conf driver statement, if one exists - see explanation below. If you choose to install this driver, do not install/reinstall the “unichrome” driver afterwards as it will overwrite chrome9’s “via” driver files in /usr/lib/xorg/modules/drivers. Installing chrome9 with unichrome already installed doesn’t affect the “unichrome” driver files. There is no mpeg acceleration in chrome9, and 3D (direct rendering) hasn’t worked so far.

VIA’s Graphic chipsets and OpenGL

OpenGL support for VIA IGP’s is outdated. That will affect your ability to run serious 3D applications and compositing desktops (e.g. Compiz) that require OpenGL. Mesa is the open-source implementation of the OpenGL specification, and it’s installed as part of your openSUSE system. The Mesa 3D driver for VIA chips that is already installed on the system is called unichrome_dri.so, and it complements drivers such as the “openchrome” driver in providing 3D through the Direct Rendering Infrastructure (DRI). However, Mesa’s 3D driver has suffered from lack of maintenance and needs updating, which adversely affects the 3D capabilities of the openchrome and chrome9 drivers.

xorg.conf file in Linux

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 are moving away from requiring the xorg.conf file, but rather want to have the card configured automatically without that xorg.conf file. In such a case, the xorg software should automatically use the latest open source driver that is installed (e.g. “unichrome”). However the automatic recognition of graphic cards is still not reliable for all cards in openSUSE-11.2.

In that case (where automatic graphic card recognition fails) one needs to create an xorg.conf file for the card to force a configuration, for if that xorg.conf file is available, then the xorg software will use it. This may well be the case for many of VIA’s chipsets, particularly the Unichrome Pro and Chrome9 IGP’s.

**Software to Create xorg.conf file. **

There is 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).

For example, to check what chip# one’s graphic devices are, one can run with root permissions:

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).

**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 initial grub boot menu first 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.

**Creating the xorg.conf file **

After logging in to run level 3, type “su” (no quotes - enter root password) to switch users to the administrator/root. If one wishes to force sax2 to create an xorg.conf file for the openchrome open source graphic driver (called “openchrome”), then one would type in run level 3 (NOT in X window):

sax2 -r -m 0=openchrome 

or

sax2 -r -m 1=openchrome 

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 for the slower vesa driver

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.

Once sax2 is complete, one can restart from run level 3 with root permissions by typing “shutdown -r now” and then let the reboot continue to see if the graphic card configuration worked.

Hopefully that gives some practical theory so that users can understand the recommendations that have been given in various posts by our forum members.

Many thanks to consused for his contribution above

Its clear to me now that this is not ALL inclusive of the various drivers available for openSUSE-11.2 and there is a glaring omission.

First a clarification - The “intel” driver in the ‘as packaged’ openSUSE-11.2 xorg-x11-driver-video rpm is the Intel 2.9.1 driver from this site Intel Linux Graphics plus the xorg-x11-driver-video rpm has some patches to that intel driver version.

The “intel” driver in the xorg-x11-driver-video rpm (which also needs the latest Mesa on that side plus the other xorg-x11-driver rpms) on the site:

http://download.opensuse.org/repositories/X11:/XOrg/openSUSE_11.2/

is the 2.10.0 driver (as of today, 13-March-2010). It is a newer driver. I also note reading the documentation for the 2.10.0 Intel driver that Intel recommend one use the 2.6.32 (or newer) kernel with that driver, where openSUSE only comes with the 2.6.31 kernel. Hence one may wish to consider updating their kernel to use the 2.10.0.

But there is also an IEGD (Intel Embedded Graphic Driver) per this site: Intel ® Embedded Design Center and one can find rpms packaged for openSUSE from Software.openSUSE.org if one searches for “IEGD” (I note user vlj and also user lkundrak packaged Poulsbo GPU driver rpms) for the openSUSE-11.2 2.6.31.5 and also 2.6.31.12 kernels.

I do not know enough to succinctly summarize the benefits / differences between the IEGD and the nominal Intel driver, so one will need to read the documentation. I suspect sax2 does NOT suppot the IEGD driver and that one will need to boot with no xorg.conf in place to use the IEGD driver, but again, I do not know at this time.

A further note - there is some guidance here wrt the IEGD drivers:
IEGD drivers for Intel GMA 500 working - openSUSE Forums

In order to help me track this later (so I copied and pasted the approach into this practical guide), I note post#42 from this thread where a user with a Dell Studio 17 laptop with the ATI Mobility Radeon HD 4650 graphics removed the /etc/X11/xorg.conf file, then ran

aticonfig --initial

and then added to the somewhat sparse /etc/X11/xorg.conf file:
added both of the following lines in the Device section:

Option "HWCursor" "off"
Option "SWCursor" "on"

Rebooted, and the mouse cursor was now visible.

However they also noticed slowness while browsing down web pages, with a lot of “wavey” motion in the page as they scrolled down.

Edit: This “wavey” motion was browser specific and reported as being removed by changing the “Somooth scrolling” option the browser’s settings.

No sooner do we make up this guide than nVidia announce they are dropping some of their “nv” driver support. [Phoronix] NVIDIA Drops Their Open-Source Driver, Refers Users To VESA Driver](http://www.phoronix.com/scan.php?page=article&item=nvidia_kills_nv&num=1) :frowning:

The Phoronix article quoted above, in turn references this post from the xorg mailing list:
[ANNOUNCE] Deprecation of xf86-video-nv](http://lists.freedesktop.org/archives/xorg/2010-March/049749.html) which I quote:

Historically, NVIDIA developed and maintained the xf86-video-nv X driver, primarily as a very minimal driver that works “well enough” to give users accelerated X rendering from the time they install their Linux distribution until the time they install the NVIDIA driver available from nvidia.com [1].

The xf86-video-nv driver intentionally has a very small feature set, both to minimize the maintenance cost of this driver, and to minimize exposure of any IP NVIDIA might consider sensitive.

However, the rendering needs of a modern X Window System desktop have changed drastically in recent years to rely heavily on the X Render extension, which is not well accelerated in the nv driver. At this point, on a modern X desktop the nv driver does not offer much beyond what is
provided by the stock VESA X driver. Providing proper Render acceleration in the nv driver would be a substantial task, and would require diverting significant engineering resources away from NVIDIA’s nvidia.com driver.

For this reason, NVIDIA is dropping support, on new GPUs, for the xf86-video-nv driver.

Details:

  • NVIDIA will continue to support the existing functionality and existing level of acceleration in the nv driver for existing GPUs, on existing, and (within reason) future, X server versions.
  • NVIDIA will not support the xf86-video-nv driver on Fermi or later GPUs.
  • NVIDIA will not support DisplayPort, on any GPU, in the xf86-video-nv driver.

Our advice to owners of NVIDIA GPUs running Linux is to use the VESA X driver from the time of Linux distribution installation until they can download and install the NVIDIA Linux driver from their distribution repositories or from nvidia.com.

We believe that focusing our Linux driver engineering efforts exclusively on the NVIDIA driver, in order to leverage NVIDIA’s cross-platform graphics driver code base, is the optimal route for the best possible user experience for NVIDIA Linux users.

Thanks,
Andy Ritger

I don’t know how that will play out , but it bears watching and I may have to eventually change the above. Reference the proprietary nVidia driver (referred to as "NVIDIA driver), my experience is it is a pretty good driver once installed.

One thing I should add to this thread, and that is where to look to reliably determine what graphic driver is in use. The xorg.conf file is being depreciated in new openSUSE versions, and hence it may not be present.

A good place to look to determine the graphic driver in use is inside the file /var/log/Xorg.0.log. As a regular user, open that /var/log/Xorg.0.log file with a text editor.

Look for occurrences of:
(==) FBDEV(0):
which would indicate FBDEV driver in use. The following command may work (note syntax/spaces) to confirm this driver:

cat /var/log/Xorg.0.log | grep '('II')'' 'FBDEV

or
Look for occurrences of:
(==) VESA(0):
which would indicate VESA driver in use. The following command may work (note syntax/spaces) to confirm this driver:

cat /var/log/Xorg.0.log | grep '('II')'' 'VESA

or
Look for occurrences of:
(==) RADEON(0):
which would indicate the open source RADEON driver in use. The following command may work (note syntax/spaces) to confirm this driver:

cat /var/log/Xorg.0.log | grep '('II')'' 'RADEON

or
Look for occurrences of:
(==) RADEONHD(0):
which would indicate the open source RADEONHD driver in use. The following command may work (note syntax/spaces) to confirm this driver:

cat /var/log/Xorg.0.log | grep '('II')'' 'RADEONHD

or
Look for occurrences of:
(==) fglxr(0):
which would indicate proprietary ATI FGLRX driver in use. The following command may work (note syntax/spaces) to confirm this driver:

cat /var/log/Xorg.0.log | grep '(II) fglrx'

or also for the ATI FGLRX driver:

cat /var/log/Xorg.0.log | grep '(--) fglrx'

or
Look for occurrences of:
(==) NV(0):
which would indicate open source NV driver in use. The following command may work (note syntax/spaces) to confirm this driver:

cat /var/log/Xorg.0.log | grep '('II')'' 'NV' '

or
Look for occurrences of:
(==) NOUVEAU(0):
which would indicate open source NOUVEAU driver in use.The following command may work (note syntax/spaces) to confirm this driver:

cat /var/log/Xorg.0.log | grep '('II')'' 'NOUVEAU

or
Look for occurrences of:
(==) NVIDIA(0):
which would indicate proprietary nVidia NVIDIA driver in use. The following command may work (note syntax/spaces):

cat /var/log/Xorg.0.log | grep '('II')'' 'NVIDIA

or
Look for occurrences of:
(==) intel(0):
which would indicate the open source Intel driver in use. The following command may work (note syntax/spaces):

cat /var/log/Xorg.0.log | grep '('II')'' 'intel

There are other drivers as well, that one may see instead, dependent on their hardware.

As opposed to (==) one may instead see (II) or (**).

Here are the equivalent log entries for VIA graphic drivers:

Look for occurrences of:
(==) UNICHROME(0):
which would indicate UNICHROME driver in use.
or
Look for occurrences of:
(==) CHROME(0):
which would indicate OPENCHROME driver in use.
or
Look for occurrences of:
(==) CHROME9(0) or for future versions (==) VIA(0):
which would indicate an open-source version of VIA’s driver in use. However, this driver is still undergoing development and change at a slow pace.

As opposed to (==) one may instead see (II) or (**).

The Xorg.0.log file is also the best place to look for any errors or warning messages concerning the drivers’ loading and initialization process when X system is started.

Further to this, one can also check the change history of the rpm to learn more about the driver … for example:

rpm -q xorg-x11-driver-video --changelog

now if that scrolls too fast by the screen, one can type:

rpm -q xorg-x11-driver-video --changelog | more

and use all the functionality of the “more” command to scroll back and forth in examining the change history, or one can simply redirect the output to a text file (say changehistory.txt) and open up changehistory.txt with at text editor:

rpm -q xorg-x11-driver-video --changelog > changehistory.txt

and for KDE

kwrite changehistory.txt

or Gnome

gedit changehistory.txt

… for example, doing the above one can see that the Intel driver included in the openSUSE-11.2 xorg-x11-driver-video-7.4-87.91.1.x86_64 rpm is version 2.9.1 from an update:

* Mon Oct 26 2009 sndirsch@suse.de
- xf86-video-intel 2.9.1
  * a few, hand-picked bug fixes since that 2.9.0 release
- obsoletes xf86-video-intel-commit-02fe9be6.diff,
  xf86-video-intel-bnc545499-commit_57fc09c.diff

or one can go to the src repository:

http://download.opensuse.org/source/distribution/11.2/repo/oss/suse/src/

download the source file xorg-x11-driver-video-7.4-87.88.1.src.rpm and then assuming it was just downloaded for examination, and not installed (as there is no need to install) then look inside that rpm with:

rpm -qp xorg-x11-driver-video-7.4-87.88.1.src.rpm -l

and one can, for example, see in there that the Intel version driver is version 2.9.1 with a number of patches (where the patches are .diff files):

xf86-video-intel-2.9.1.tar.bz2                                             
xf86-video-intel-G33-1mb.diff                                              
xf86-video-intel-NoFBC-945GME.diff                                         
xf86-video-intel-bfo17988.diff                                             
xf86-video-intel-buildfix.diff 

Hopefully the above takes some of the mystery out of this packaging.

Great post, is helping me a lot to clarify my ideas.

I’ve installed OpenSuse 11.2 a couple of days ago and I’m working my way to configure and fine tune it. I’m pretty new to linux (well, worked a bit with it, but about 10 years ago… and I’ve forgotten almost anything that seems haven’t changed) and I’m getting a bit overwhelmed with graphical configuration.

Now your post is throwing a bit of light into my world of darkness. Thank you.

I’m wondering if you could help me with a doubt. I have an ATI Radeon x800 AGP card in my Pc (quite old) and I think the driver installed and currently enabled is “radeon” (although I’ve tried to install fglrx several times apparently without success).

I’ve read that there are problems with 11.2 and older chipsets like the x800, I assume that these are the reason why automatic installs of fglrx driver are not working.

My question is… there is now a safe way to install fglrx driver into an 11.2 version for older chipsets or should I stay with the radeon one?

I’m getting confused with this driver as I’m getting “glx missing on display” errors when trying to test it.

I do not believe the fglrx will work with the X800 on openSUSE-11.2.

Specifically, users with what ATI call “legacy hardware” should not try to install the latest fglrx driver (currently Catalyst v.10.4). Please note this URL:
ATI Catalyst Proprietary Display Driver which states:

AMD has moved a number of DX9 ATI Radeon™ graphics accelerators products to a legacy driver support structure. This change impacts Windows XP, Windows Vista, and Linux distributions. AMD has moved to a legacy software support structure for these graphics accelerator products in an effort to better focus development resources on future products.

The following products have been moved to the legacy software support structure (including Mobile and All-in-Wonder Variants):
 
ATI Radeon 9500 Series
ATI Radeon 9550 Series
ATI Radeon 9600 Series
ATI Radeon 9700 Series
ATI Radeon 9800 Series
ATI Radeon X300 Series
ATI Radeon X550 Series
ATI Radeon X600 Series
ATI Radeon X700 Series
ATI Radeon X800 Series
ATI Radeon X850 Series
ATI Radeon X1050 Series
ATI Radeon X1300 Series
ATI Radeon X1550 Series
ATI Radeon X1600 Series
ATI Radeon X1650 Series
ATI Radeon X1800 Series
ATI Radeon X1900 Series
ATI Radeon Xpress Series
ATI Radeon X1200 Series
ATI Radeon X1250 Series
ATI Radeon X2100 Series 

AMD may periodically provide Windows XP and Windows Vista driver updates (for the products listed above) for critical fixes only. No new features will be provided in future driver updates. The Linux ATI Catalyst™ driver will only be supported in Linux distributions prior to February 2009 for the legacy products listed above.

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.

Also note the Catalyst 9.3 release does not work well with the latest kernels. From what I recall the 2.6.31 kernel (in openSUSE-11.2) does not work well with the Catalyst-9.3, hence one is looking at using an older openSUSE release if one wishes to use the Catalyst-9.3. Fortunately, SIGNIFICANT advances have been made in the Open Source “radeon” driver, and openSUSE-11.3 (due in mid-July-2010) promises to have a superb implementation of the open source radeon driver.

Hence for graphic drivers with your X800 AGP, stay with the radeon open source driver, and then shortly after openSUSE-11.3 is out in the summer (say wait until Aug or Sep) update to 11.3. The radeon driver in 11.3 is SIGNFICANTLY superior to the radeon driver in 11.2. SIGNIFICANTLY. UPDATE: Jan-2011: openSUSE-11.4 is due out in mid-March-2011 and it should have an even superior implementation of the “radeon driver”. Hence it is recommended that 11.4 be used by users with older ATI legacy hardware

If you need help with more guidance here, please start a new thread. This is not intended to be an interactive help thread, for if it was it would be impossible for users to read. Instead I request that help posts be posted in Hardware.

Thanks !

Ok, thanks a lot!

:shake:

I am proposing to update this “openSUSE Graphic Card Practical Theory Guide For Users” and move it to the READ ONLY FAQ area of our forum.

Note this guide is NOT intended to be a new user hand holding nor simple new user setup guide. I don’t dispute such a hand holding guide may be useful, but that is NOT my intent here. Rather this is intended to be a slightly more complex general theory guide to benefit all users : new (with some Linux already), average, and advanced (but who may be weak on graphics basics).

As part of the move, I plan to clean up the structure a bit, but keep the same material. The new READONLY FAQ would look like (with each number below a separate post in the thread of the Guide):
[ul]
[li]1. Index to remainder of thread (with links). It will sort of look like this current post.
[/li][li]2. [b]ATI[/b] Graphic Hardware drivers.
[/li][li]3. [b]nVidia[/b] Graphic Hardware drivers.
[/li][li]4. [b]Intel[/b] Graphic Hardware drivers.
[/li][li]5. [b]Via/Chrome[/b] Graphic Hardware drivers.
[/li][li]6. Check driver in use: How to check what graphic driver is currently in use in X ? I’m merge these two posts:
[/li]* Post 14 - openSUSE Graphic Card Practical Theory Guide for Users

radeon video driver has superseded radeonhd, providing KMS/DRI support. (Bug #574749, Bug #590248, Bug #595653, Bug #598123)

[li]11. Mouse/Cursor Tidbits from mouse cursor problem posts:
[/li]* Post 12 - openSUSE Graphic Card Practical Theory Guide for Users
[/ul]
That is the current planned contents and its almost the same as the existing Practical Graphic Card Theory Guidewith just (1) an index, and (2) a change in order of the posts.

This guide also to a certain extent represents the state of my knowledge, and to go beyond this in content is likely not something I have the knowledge to do. Hence while suggestions are welcome, technical additions will need to include the EXACT proposal, and not just some general statement. For example, the Via/Chrome parts were provided by user Consused.