Results 1 to 5 of 5

Thread: openSUSE Graphic Card Practical Theory Guide for Users

  1. #1
    Join Date
    Mar 2008
    Location
    Europe
    Posts
    25,703
    Blog Entries
    29

    Default openSUSE Graphic Card Practical Theory Guide for Users

    PURPOSE

    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, Intel, and Via Graphic hardware.

    Note this guide is NOT intended to be a new user hand holding guide, nor a 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 practical theory/implementation guide to benefit all users : new (with some Linux already), average, and advanced (but who may be weak on graphics basics). However users having read this theory, who are looking for more specific suggestions, may I suggest they follow the OpenSUSE Configuring your graphic card wiki.

    While the guide is READ-ONLY, discussion on this guide is both requested and welcome to take place here in the older "unreviewed" version of the same: openSUSE Graphic Card Practical Theory Guide for Users - openSUSE Forums

    INDEX

    This GUIDE will contain the following information (this post/thread and the links below will be updated as this guide is populated):


    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, suggestions for technical additions will need to include the EXACT proposal, and not just some general statement. For example, the detailed Via/Chrome parts were provided by user Consused.

    Ultimately the plan is to move the information contained herein to an openSUSE wiki. However the wiki is currently in transition, and the plan is to wait until after that transition is complete before the information herein is moved to the openSUSE wiki.
    Last edited by kgroneman; 14-Mar-2014 at 07:27. Reason: Updated links to posts

  2. #2
    Join Date
    Mar 2008
    Location
    Europe
    Posts
    25,703
    Blog Entries
    29

    Default Re: openSUSE Graphic Card Practical Theory Guide for Users

    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 - 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
      Code:
      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
      .
    • 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
      Code:
      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:
    Code:
    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):
    Code:
    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:
    Code:
    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):
    Code:
    sax2 -r -m 0=vesa
    or
    Code:
    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):
    Code:
    sax2 -r -m 0=radeonhd
    or
    Code:
    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
    Code:
    Xorg -configure
    which will create the file /root/xorg.conf.new. Copy that file to /etc/X11 with:
    Code:
    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:
    Code:
    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):
    Code:
    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.
    Last edited by oldcpu; 14-Feb-2012 at 00:14. Reason: added reference to sax3

  3. #3
    Join Date
    Mar 2008
    Location
    Europe
    Posts
    25,703
    Blog Entries
    29

    Default Re: openSUSE Graphic Card Practical Theory Guide for Users

    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 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 typically comes packaged with openSUSE as part of xorg-x11-driver-video rpm.
    • 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 and on openSUSE-11.3/11.4 it is typically loaded if the 'nomodeset' boot code is applied in grub after a fresh install. 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:
      Code:
      man nv
    • nouveau - 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:
      Code:
      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 and xorg.conf.d directory 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. 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 "nouveau" or "nv"). 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:
    Code:
    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):
    Code:
    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 nVidia Driver. 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.

    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 with root permissions:
    Code:
    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 more detail).

    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

    For openSUSE-11.2 and earlier: 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):

    Code:
    sax2 -r -m 0=nv
    or
    Code:
    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:
    Code:
    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:
    Code:
    nvidia-xconfig
    For all openSUSE versions (including 11.3) there is "Xorg -configure". ie run with root permissions in run level 3
    Code:
    Xorg -configure
    which will create the file /root/xorg.conf.new. Copy that file to /etc/X11 with:
    Code:
    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:
    Code:
    Driver  "nv"
    It may be necessary to edit that file/line to change the driver to "vesa" or "fbdev" (for example). 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.

    Restart (or test) X window. Once sax2 or nvidia-xconfig (or "Xorg -configure" based creation/edit of an xorg) 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. Or in run level 3 as a regular user (NOT as root) type "startx" to start X window.

    nVidia Proprietary driver comments: As described in the nVidia proprietary driver installation link 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 (running the binary file) 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 and make (ie the base development pattern) and also kernel-source, kernel-syms (of the exact same version as one's kernel) and linux-headers installed.

    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 nvidia hardware openSUSE-11.3/11.4 will boot with the 'nouveau' graphic video driver. If one instead specifies the boot code 'nomodeset' (which disables KMS) openSUSE-11.3/11.4 will also (instead) boot the 'nv' 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.
    Last edited by oldcpu; 28-Dec-2011 at 16:09. Reason: added reference to sax3

  4. #4
    Join Date
    Mar 2008
    Location
    Europe
    Posts
    25,703
    Blog Entries
    29

    Default Re: openSUSE Graphic Card Practical Theory Guide for Users

    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 and on openSUSE-11.3/11.4/12.1 it is typically loaded if either the 'nomodeset' or '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 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" 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 and it is the default graphic driver in openSUSE-11.3/11.4/12.1.
    • intellegacy - this is a free open source driver for older Intel hardware, where this driver contains the legacy version 2.9.1 of the Intel X.Org driver which does not require KMS (together with some patches), and it was included with the distribution commencing with openSUSE-11.3. To use this driver, one needs the rpm xorg-x11-driver-video-intel-legacy installed
    • 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(TM), 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 the unreviewed version of this same guide/thread . One needs to download and install separately this proprietary Intel graphic driver.
    • emgd - this is a proprietary Intel Linux driver for a very small selection of specific Intel graphic hardware. The emgd driver supports only the Intel� System Controller Hub US15W, US15WP and US15WPT, and the Intel� Atom™ Processor E6xx Series. One needs to download and install separately this proprietary Intel graphic driver.


    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 "intel"). 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:
    Code:
    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 intellegacy driver, one could edit the 50-device.conf to look like (where Driver "intellegacy" was added):
    Code:
    Section "Device"
      Identifier "Default Device"
    
      #Driver "radeon"
      Driver "intellegacy"
      ## 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.

    For openSUSE-11.2 and earlier 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 on openSUSE-11.2 and earlier, to check what chip# one's graphic devices are, one can run with root permissions:
    Code:
    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 more detail).

    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

    For openSUSE-11.2 and earlier. 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):

    Code:
    sax2 -r -m 0=intel
    or
    Code:
    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
    Code:
    sax2 -r -m 0=vesa
    or
    Code:
    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.

    For all openSUSE versions (including 11.3) there is "Xorg -configure". ie run with root permissions in run level 3
    Code:
    Xorg -configure
    which will create the file /root/xorg.conf.new. Copy that file to /etc/X11 with:
    Code:
    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:
    Code:
    Driver  "intel"
    It may be necessary to edit that file/line to change the driver to "vesa" or "fbdev". 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 development as a replacement for the depreciated sax2 can be used to configure the files in /etc/X11/xorg.conf.d/ directory.

    Restart to test. Once complete creating the xorg.conf file, 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.

    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 Intel graphic hardware openSUSE-11.3/11.4 will boot with the 'intel' graphic video driver. If one insteads specify the boot code 'nomodeset' (which disables KMS) openSUSE-11.3/11.4 will also (instead) boot the 'FBDEV' graphic video driver. If instead one specifies 'x11failsafe' (or uses the 'Fail Safe' or 'Safe Settings' ) openSUSE will also 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.
    Last edited by oldcpu; 28-Dec-2011 at 16:12. Reason: added reference to sax3

  5. #5
    Join Date
    Mar 2008
    Location
    Europe
    Posts
    25,703
    Blog Entries
    29

    Default Re: openSUSE Graphic Card Practical Theory Guide for Users

    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
      Code:
      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
      Code:
      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 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 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 nor 11.3.

    To help address that case (where automatic graphic card recognition fails) similar to other distributions, openSUSE as of version 11.3 also has an /etc/X11/xorg.conf.d/ directory, with a series of .conf files in that directory, where the graphic configuration can be specified (which if specified will take precedence over the Xorg software's automatic configuration). These files include:
    Code:
    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):
    Code:
    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 automatic Xorg configuration and the /etc/X11/xorg.conf.d/nn-yyyuy.conf files). 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:
    Code:
    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.

    For openSUSE-11.2 and earlier, 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):

    Code:
    sax2 -r -m 0=openchrome
    or
    Code:
    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
    Code:
    sax2 -r -m 0=vesa
    or
    Code:
    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.

    For all openSUSE versions (including 11.3) there is "Xorg -configure". ie run with root permissions in run level 3
    Code:
    Xorg -configure
    which will create the file /root/xorg.conf.new. Copy that file to /etc/X11 with:
    Code:
    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 (for example):
    Code:
    Driver  "openchrome"
    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.

    Restart to test. Once sax2 (or the xorg.conf is creatd and edited with Xorg -configure) 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. Or instead of restarting, as a regular user (not as root) in run level 3 one can type "startx".

    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
    Last edited by oldcpu; 05-Mar-2011 at 15:01. Reason: added information on /etc/X11/xorg.conf.d directory

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •