James wrote:

> You certainly seem quite knowledgable on these issues. Do have time
> for to help me:


I'll try.  The real question is, can I do it without posting a 27-page
message to the list again,as I have been known to do! :->

First, some background and answers to the 'high-level' stuff (I
paraphrased your questions below...hopefully I got them right!)

1. Do you _need_ opengl on Linux?

Well, if you are asking, probably not.  OpenGL is the library used for
3D and some advanced graphics applications.  Examples are 3D
screensavers, games (native ports or windows versions running under
cedega), and some 'visualizations' for media players like xmms and
amarok.  There are other categories (CAD, science, etc), but again, if
you are asking the question, you are probably not using any of those.

More info: http://dri.sourceforge.net/doc/DRIbeginner.html

2. What is all this 'radeon', 'radeonfb', and 'ati-drivers', and 'fglrx'
stuff?

'radeon' refers to the x.org driver for _all_ ATI Radeon boards.  It's
main limitation is that it does not support hardware 3D acceleration on
R300 or newer boards.  It also refers to the kernels DRI/DRM (hardware
3D acceleration) driver/module by the same name.

'radeonfb' refers to the linux kernel radeonfb graphics driver.  It is
used to provide a high-resolution console screen with some 2D
acceleration.  If the X.org file contains the option "UseFBDev", it is
also used by the X server, otherwise it is unused by X.

'ati-drivers' and 'fglrx' are the same thing...'fglrx' is the name of
the driver in X.org and the kernel module.

Note that the x.org 'ati' driver is for very old boards, *not* for Radeons.

3. Huh?

There are three possible driver configurations for an ATI Radeon board in X:

    A. The open-source 'radeon' driver included with X.org.
    B. The open-source 'radeon' driver with the kernel's 'radeon' DRM
driver.
    C. The proprietary 'ati-drivers', aka the 'fglrx' driver and the
'fglrx' kernel module.

B or C can give you hardware 3D on anything older than an R300.  'A'
will use software rendering.

Since your xorg.conf file contains the 'Driver "radeon"' line, you are
using either A or B.

4. Ok, how do I setup 3-B?

See the documentation on http://dri.freedesktop.org/wiki/. Basically you
need 4 things:

    1. A kernel built with CONFIG_DRM_RADEON=m or =y.
    2. The 'radeon' module loaded, if not built into the kernel.
    3. Your user id added to the group 'graphics' (use the 'id' command
to check, 'usermod' to edit).
    4. DRI configuration in the xorg.conf file.  See:
    http://www.gentoo.org/doc/en/dri-howto.xml#configure_xorg
    or http://dri.sourceforge.net/doc/DRIuserguide.html

You should add 'Group "graphics"' to the "DRI" section in the xorg.conf
file after following the instructions for #4.

Then perform the steps in "Test 3D acceleration" on
http://www.gentoo.org/doc/en/dri-howto.xml.  If it doesn't work (X
starts but you have "direct rendering: no") /var/log/Xorg.0.log might
help figure out what went wrong.

5. Ok, how do I setup 3-C?

For this, you do not need to build a kernel module (it is built when you
'emerge ati-drivers').  You will still need to have your user id in the
group graphics, and the same 'Load' instructions and "DRI" section in
your xorg.conf file.

You will also need an 'fglrx' Device section.  'fglrxsetup' will
configure an xorg.conf file for you, but as I said previously, it gets
many things wrong.  The best is to simply replace the "Device" section
in your current xorg.conf file with the following:

IMPORTANT: you may need to change the "BusID" below to your adapters PCI
address.  Use 'lspci' to get that address.  Everything else is pretty
standard/default/safe.

Section "Device"
    Identifier  "ATI Radeon 9000"
    Driver      "fglrx"
# ### generic DRI settings ###
# === disable PnP Monitor  ===
    #Option                              "NoDDC"
# === disable/enable XAA/DRI ===
    Option "no_accel"                   "no"
    Option "no_dri"                     "no"
# === misc DRI settings ===
    Option "mtrr"                       "off" # disable DRI mtrr mapper,
driver has its own code for mtrr
# ### FireGL DDX driver module specific settings ###
# === Screen Management ===
    Option "DesktopSetup"               "0x00000100"
    Option "MonitorLayout"              "AUTO, AUTO"
    Option "IgnoreEDID"                 "off"
    Option "HSync2"                     "unspecified"
    Option "VRefresh2"                  "unspecified"
    Option "ScreenOverlap"              "0"
# === TV-out Management ===
    Option "NoTV"                       "yes"
    Option "TVStandard"                 "NTSC-M"
    Option "TVHSizeAdj"                 "0"
    Option "TVVSizeAdj"                 "0"
    Option "TVHPosAdj"                  "0"
    Option "TVVPosAdj"                  "0"
    Option "TVHStartAdj"                "0"
    Option "TVColorAdj"                 "0"
    Option "GammaCorrectionI"           "0x00000000"
    Option "GammaCorrectionII"          "0x00000000"
# === OpenGL specific profiles/settings ===
    Option "Capabilities"               "0x00000000"
# === Video Overlay for the Xv extension ===
    Option "VideoOverlay"               "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
#       will be disabled automatically
    Option "OpenGLOverlay"              "off"
# === Center Mode (Laptops only) ===
    Option "CenterMode"                 "off"
# === Pseudo Color Visuals (8-bit visuals) ===
    Option "PseudoColorVisuals"         "off"
# === QBS Management ===
    Option "Stereo"                     "off"
    Option "StereoSyncEnable"           "1"
# === FSAA Management ===
    Option "FSAAEnable"                 "no"
    Option "FSAAScale"                  "1"
    Option "FSAADisableGamma"           "no"
    Option "FSAACustomizeMSPos"         "no"
    Option "FSAAMSPosX0"                "0.000000"
    Option "FSAAMSPosY0"                "0.000000"
    Option "FSAAMSPosX1"                "0.000000"
    Option "FSAAMSPosY1"                "0.000000"
    Option "FSAAMSPosX2"                "0.000000"
    Option "FSAAMSPosY2"                "0.000000"
    Option "FSAAMSPosX3"                "0.000000"
    Option "FSAAMSPosY3"                "0.000000"
    Option "FSAAMSPosX4"                "0.000000"
    Option "FSAAMSPosY4"                "0.000000"
    Option "FSAAMSPosX5"                "0.000000"
    Option "FSAAMSPosY5"                "0.000000"
# === Misc Options ===
    Option "UseFastTLS"                 "2"
    Option "BlockSignalsOnLock"         "on"
    Option "UseInternalAGPGART"         "yes"
    Option "ForceGenericCPU"            "no"
    Option "KernelModuleParm"           "agplock=0" # AGP locked user
pages: disabled
    BusID "PCI:1:0:0"    # vendor=1002, device=4e50
    Screen 0
EndSection


For further reading: man radeon, man xorg.conf,
http://dri.freedesktop.org/wiki/, google 'site:gentoo.org DRI', google
'site:xfree86.org README.DRI'.

Final notes...make sure you save your working xorg.conf as something
like "/etc/X11/xorg.conf.radeon".  The at least if something breaks you
can revert back to that.

Ok, this message is long enough, and I got to go to work.

-Richard

--
gentoo-user@gentoo.org mailing list

Reply via email to