LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Configuring my ATI Radeon Express 1100 card on Slackware 11.0 (https://www.linuxquestions.org/questions/slackware-14/configuring-my-ati-radeon-express-1100-card-on-slackware-11-0-a-556820/)

adityavpratap 05-26-2007 05:57 AM

Configuring my ATI Radeon Express 1100 card on Slackware 11.0
 
Hi,
I have been trying to configure ATI Radeon Express 1100 card in Slackware 11 on my Acer Aspire 5100 Laptop. I have downloaded the relevant driver - ati-driver-installer-8.36.5-x86.x86_64.run from the ati site and installed it. Then I issued the following command -
Quote:

$ sudo aticonfig --initial --input=/etc/X11/xorg.conf
Then when I tried to do startx, I was presented with a blank screen which refused to go away even when did the three fingered salute - Ctrl+Alt+Backspace.
Finally, I had to reboot the system and revert to previously saved copy of Xorg.conf.
Here are the last 20 lines of /var/log/Xorg.0.conf -
Quote:

compiled for 6.9.0, module version = 0.1.0
ABI class: X.Org Video Driver, version 0.8
(II) fglrx(0): PCI bus 1 card 5 func 0
(EE) fglrx(0): RegisterResources failed
SetVBEMode failed
(EE) fglrx(0): PreInit failed
(II) fglrx(0): === [atiddxPreInit] === end
(II) UnloadModule: "fglrx"
(II) UnloadModule: "vgahw"
(II) Unloading /usr/X11R6/lib/modules/libvgahw.so
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

Please consult the The X.Org Foundation support
at http://wiki.X.Org
for help.
Please also check the log file at "/var/log/Xorg.0.log" for additional information.
Any idea how to fix this?

H_TeXMeX_H 05-26-2007 12:21 PM

Can you post your xorg.conf ?

adityavpratap 05-26-2007 10:42 PM

Here is my xorg.conf -
Quote:

# File generated by xf86config.

#
# Copyright (c) 1999 by The XFree86 Project, Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Except as contained in this notice, the name of the XFree86 Project shall
# not be used in advertising or otherwise to promote the sale, use or other
# dealings in this Software without prior written authorization from the
# XFree86 Project.
#

# **********************************************************************
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.
# **********************************************************************

# NOTE: This is a NEW IMPROVED version of XF86Config-fbdev that uses the vesa
# driver instead of the fbdev driver. Thanks to Kenneth Fanyo who pointed
# this out to me. :)

# This XF86Config file is designed for use with the VESA framebuffer.
# This generic interface should work with nearly all video cards
# (although not every card will support every resolution).

# With the new driver, it should no longer be required to have frame buffer
# support in the kernel, or to run it on the console.
#
# Enjoy! :)
# -- volkerdi@slackware.com
#

# **********************************************************************
# Module section -- this section is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
Section "Module"

# This loads the DBE extension module.

Load "dbe" # Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection

# This loads the font modules
Load "type1"
Load "freetype"
#Load "speedo"

# This loads the GLX module
Load "glx"
# Load "synaptics"
EndSection

# **********************************************************************
# Files section. This allows default font and rgb paths to be set
# **********************************************************************

Section "Files"

# The location of the RGB database. Note, this is the name of the
# file minus the extension (like ".txt" or ".db"). There is normally
# no need to change the default.

RgbPath "/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)
#
# If you don't have a floating point coprocessor and emacs, Mosaic or other
# programs take long to start up, try moving the Type1 and Speedo directory
# to the end of this list (or comment them out).
#

FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/CID/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/"

# ModulePath can be used to set a search path for the X server modules.
# The default path is shown here.

# ModulePath "/usr/X11R6/lib/modules"

EndSection

# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging

# Option "NoTrapSignals"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence
# (where n is 1 through 12). This allows clients to receive these key
# events.

# Option "DontVTSwitch"

# Uncomment this to disable the <Crtl><Alt><BS> server abort sequence
# This allows clients to receive this key event.

# Option "DontZap"

# Uncomment this to disable the <Crtl><Alt><KP_+>/<KP_-> mode switching
# sequences. This allows clients to receive these key events.

# Option "DontZoom"

# Uncomment this to disable tuning with the xvidtune client. With
# it the client can still run and fetch card and monitor attributes,
# but it will not be allowed to change them. If it tries it will
# receive a protocol error.

# Option "DisableVidModeExtension"

# Uncomment this to enable the use of a non-local xvidtune client.

# Option "AllowNonLocalXvidtune"

# Uncomment this to disable dynamically modifying the input device
# (mouse and keyboard) settings.

# Option "DisableModInDev"

# Uncomment this to enable the use of a non-local client to
# change the keyboard or mouse settings (currently only xset).

# Option "AllowNonLocalModInDev"

# Set the basic blanking screen saver timeout.

# Option "blank time" "10" # 10 minutes

# Set the DPMS timeouts. These are set here because they are global
# rather than screen-specific. These settings alone don't enable DPMS.
# It is enabled per-screen (or per-monitor), and even then only when
# the driver supports it.

# Option "standby time" "20"
# Option "suspend time" "30"
# Option "off time" "60"

# On some platform the server needs to estimate the sizes of PCI
# memory and pio ranges. This is done by assuming that PCI ranges
# don't overlap. Some broken BIOSes tend to set ranges of inactive
# devices wrong. Here one can adjust how aggressive the assumptions
# should be. Default is 0.

# Option "EstimateSizesAggresively" "0"

EndSection

# **********************************************************************
# Input devices
# **********************************************************************

# **********************************************************************
# Core keyboard's InputDevice section
# **********************************************************************

Section "InputDevice"

Identifier "Keyboard1"
Driver "kbd"
# For most OSs the protocol can be omitted (it defaults to "Standard").
# When using XQUEUE (only for SVR3 and SVR4, but not Solaris),
# uncomment the following line.

# Option "Protocol" "Xqueue"

# Set the keyboard auto repeat parameters. Not all platforms implement
# this.

# Option "AutoRepeat" "500 5"

# Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1)).

# Option "Xleds" "1 2 3"

# To disable the XKEYBOARD extension, uncomment XkbDisable.

# Option "XkbDisable"

# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults). For example, for a European
# keyboard, you will probably want to use one of:
#
# Option "XkbModel" "pc102"
# Option "XkbModel" "pc105"
#
# If you have a Microsoft Natural keyboard, you can use:
#
# Option "XkbModel" "microsoft"
#
# If you have a US "windows" keyboard you will want:
#
# Option "XkbModel" "pc104"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
#
# Option "XkbLayout" "de"
#
# or:
#
# Option "XkbLayout" "de"
# Option "XkbVariant" "nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
#
# Option "XkbOptions" "ctrl:swapcaps"


# These are the default XKB settings for X.Org
#
# Option "XkbRules" "xorg"
# Option "XkbModel" "pc101"
# Option "XkbLayout" "us"
# Option "XkbVariant" ""
# Option "XkbOptions" ""

EndSection


# **********************************************************************
# Core Pointer's InputDevice section
# **********************************************************************

Section "InputDevice"

# Identifier and driver

#Identifier "Synaptics Mouse"
Identifier "Mouse1"
Driver "mouse" #"synaptics"
#Option "Device" "/dev/psaux"
#Option "Protocol" "auto-dev"
#Option "LeftEdge" "1700"
#Option "RightEdge" "5300"
#Option "TopEdge" "1700"
#Option "BottomEdge" "4200"
#Option "FingerLow" "25"
#Option "FingerHigh" "30"
#Option "MaxTapTime" "180"
#Option "MaxTapMove" "220"
#Option "VertScrollDelta" "100"
#Option "MinSpeed" "0.09"
#Option "MaxSpeed" "0.18"
#Option "AccelFactor" "0.0015"
#Option "SHMConfig" "on"
# Option "Repeater" "/dev/ps2mouse"


# On platforms where PnP mouse detection is supported the following
# protocol setting can be used when using a newer PnP mouse:

# Option "Protocol" "Auto"

# The available mouse protocols types that you can set below are:
# Auto BusMouse GlidePoint GlidePointPS/2 IntelliMouse IMPS/2
# Logitech Microsoft MMHitTab MMSeries Mouseman MouseManPlusPS/2
# MouseSystems NetMousePS/2 NetScrollPS/2 OSMouse PS/2 SysMouse
# ThinkingMouse ThinkingMousePS/2 Xqueue
Option "Protocol" "PS/2"

# The mouse device. The device is normally set to /dev/mouse,
# which is usually a symbolic link to the real device.

Option "Device" "/dev/mouse"
# Option "Device" "/dev/psaux"
# Option "Device" "/dev/ttyS0"
# Option "Device" "/dev/ttyS1"

# When using XQUEUE, comment out the above two lines, and uncomment
# the following line.

# Option "Protocol" "Xqueue"

# Baudrate and SampleRate are only for some Logitech mice. In
# almost every case these lines should be omitted.

# Option "BaudRate" "9600"
# Option "SampleRate" "150"

# Emulate3Buttons is an option for 2-button Microsoft mice
# Emulate3Timeout is the timeout in milliseconds (default is 50ms)

Option "Emulate3Buttons" "yes"
# Option "Emulate3Timeout" "50"

# ChordMiddle is an option for some 3-button Logitech mice

# Option "ChordMiddle"

EndSection

# Some examples of extended input devices

# Section "InputDevice"
# Identifier "spaceball"
# Driver "magellan"
# Option "Device" "/dev/cua0"
# EndSection
#
# Section "InputDevice"
# Identifier "spaceball2"
# Driver "spaceorb"
# Option "Device" "/dev/cua0"
# EndSection
#
# Section "InputDevice"
# Identifier "touchscreen0"
# Driver "microtouch"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "1412"
# Option "MaxX" "15184"
# Option "MinY" "15372"
# Option "MaxY" "1230"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection
#
# Section "InputDevice"
# Identifier "touchscreen1"
# Driver "elo2300"
# Option "Device" "/dev/ttyS0"
# Option "MinX" "231"
# Option "MaxX" "3868"
# Option "MinY" "3858"
# Option "MaxY" "272"
# Option "ScreenNumber" "0"
# Option "ReportingMode" "Scaled"
# Option "ButtonThreshold" "17"
# Option "ButtonNumber" "1"
# Option "SendCoreEvents"
# EndSection

# **********************************************************************
# Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

Identifier "My Monitor"

# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

HorizSync 31.5 - 50.0

# HorizSync 30-64 # multisync
# HorizSync 31.5, 35.2 # multiple fixed sync frequencies
# HorizSync 15-25, 30-50 # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY. REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

VertRefresh 40-90

EndSection


# **********************************************************************
# Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

Section "Device"
Identifier "VESA Framebuffer"
Driver "vesa"
#VideoRam 4096
# Insert Clocks lines here if appropriate
EndSection

# **********************************************************************
# Screen sections
# **********************************************************************

# Any number of screen sections may be present. Each describes
# the configuration of a single screen. A single specific screen section
# may be specified from the X server command line with the "-screen"
# option.
Section "Screen"
Identifier "Screen 1"
Device "VESA Framebuffer"
Monitor "My Monitor"

# If your card can handle it, a higher default color depth (like 24 or 32)
# is highly recommended.

# DefaultDepth 8
# DefaultDepth 16
DefaultDepth 24
# DefaultDepth 32

# "1024x768" is also a conservative usable default resolution. If you
# have a better monitor, feel free to try resolutions such as
# "1152x864", "1280x1024", "1600x1200", and "1800x1400" (or whatever your
# card/monitor can produce)

Subsection "Display"
Depth 8
Modes "1024x768" "800x600" "640x480"
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubsection
Subsection "Display"
Depth 32
Modes "1024x768" "800x600" "640x480"
EndSubsection

EndSection

# **********************************************************************
# ServerLayout sections.
# **********************************************************************

# Any number of ServerLayout sections may be present. Each describes
# the way multiple screens are organised. A specific ServerLayout
# section may be specified from the X server command line with the
# "-layout" option. In the absence of this, the first section is used.
# When now ServerLayout section is present, the first Screen section
# is used alone.

Section "ServerLayout"

# The Identifier line must be present
Identifier "Simple Layout"

# Each Screen line specifies a Screen section name, and optionally
# the relative position of other screens. The four names after
# primary screen name are the screens to the top, bottom, left and right
# of the primary screen. In this example, screen 2 is located to the
# right of screen 1.

Screen "Screen 1"

# Each InputDevice line specifies an InputDevice section name and
# optionally some options to specify the way the device is to be
# used. Those options include "CorePointer", "CoreKeyboard" and
# "SendCoreEvents".

InputDevice "Mouse1" "CorePointer" #"Synaptics Mouse" "CorePointer"
InputDevice "Keyboard1" "CoreKeyboard"

EndSection
#Section "Extensions"
# Option "Composite" "Enable"
#EndSection


H_TeXMeX_H 05-27-2007 11:50 AM

Ok, why is your driver still vesa ?

Code:

Driver "vesa"
Change it to 'fglrx':

Code:

Driver "fglrx"
(I would use 'xorgsetup' to let it configure things, then change the driver to 'fglrx', but whatever you want ... I just hate all the comment that are produced by xorgconfig)

adityavpratap 05-28-2007 06:15 AM

Thank u for responding so quickly!
I tried replacing vesa with fglrx. But when I give startx command I am again presented with a blank screen which refuses to go away until I reboot. Here are the last few lines of /var/log/Xorg.0.log when I put fglrx -
Quote:

[33] -1 0 0x00008438 - 0x3200843f (0x32000008) IX[B]
[34] -1 0 0x00008434 - 0x00008437 (0x4) IX[B]
[35] -1 0 0x00008440 - 0x00008447 (0x8) IX[B]
[36] -1 0 0x00009000 - 0x000090ff (0x100) IX[B](B)
[37] 0 0 0xd01203b0 - 0xd01203bb (0xc) IS[B]
[38] 0 0 0xd01203c0 - 0xd01203df (0x20) IS[B]
(II) Setting vga for screen 0.
(II) fglrx(0): === [atiddxPreInit] === begin, [x]
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Loading /usr/X11R6/lib/modules/libvgahw.so
(II) Module vgahw: vendor="X.Org Foundation"
compiled for 6.9.0, module version = 0.1.0
ABI class: X.Org Video Driver, version 0.8
(II) fglrx(0): PCI bus 1 card 5 func 0
(EE) fglrx(0): RegisterResources failed
SetVBEMode failed
(EE) fglrx(0): PreInit failed
(II) fglrx(0): === [atiddxPreInit] === end
(II) UnloadModule: "fglrx"
(II) UnloadModule: "vgahw"
(II) Unloading /usr/X11R6/lib/modules/libvgahw.so
(EE) Screen(s) found, but none have a usable configuration.

Fatal server error:
no screens found

Please consult the The X.Org Foundation support
at http://wiki.X.Org
for help.
Please also check the log file at "/var/log/Xorg.0.log" for additional information.

chrono_miner 05-28-2007 07:36 AM

i am newbie in slackware.i have problem installing ATI Radeon 9550 on slackware 11.i've already have my r300 driver but i don't know how to install it.please,can anyone solve my problem...

Eternal_Newbie 05-28-2007 08:42 AM

This sounds like one of the problems in covered in cwwilson721's A Guide: Enabling 3D Acceleration in X11 thread.

Read the first post at least, it covers this near the end.

Basically the problem is that aticonfig does not set the HorizSync and VertRefresh properly in xorg.conf, so normally you have to copy the values out of your back-up one into the new one.

You are using the default values for HorizSync and VertRefresh. You will need to find the correct values for your monitor. They should be in the manual, if you don't have a copy it will be available online. You may need to tweak the values slightly if you still get a black screen, use slightly more conservative values.

EDIT:

Don't forget to disable composite (ATI STILL don't support it) and add the DRI section to your xorg.conf

H_TeXMeX_H 05-28-2007 12:56 PM

You can also try 'xorgsetup', it detects the correct values for HorizSync and VertRefresh of most monitors (except on laptops).

HowDoIProgramIt 05-28-2007 01:15 PM

Quote:

Originally Posted by Eternal_Newbie
Basically the problem is that aticonfig does not set the HorizSync and VertRefresh properly in xorg.conf, so normally you have to copy the values out of your back-up one into the new one.

Actually, the fglrx driver should deal with ddc correctly (assuming that the server is loading it); the problem isn't so much one of timings as it is of fglrx not selecting an appropriate modeline for the monitor. I'm not sure exactly how it picks the one it picks, but I've yet to have it guess properly.

However, adding a "Modes" section causes the driver to pitch a fit - it works, but generates a ton of warnings in Xorg.0.log. I've always ended up adding back in a "Modes" line in the Display section - which aticonfig never copies over from the Display section that's in xorg.conf initially:
Code:

        SubSection "Display"
                ...
                Modes    "1280x1024" "1152x864" "1024x768" "800x600"
                ...
        EndSubSection

That seems to fix things.

Also, after X is up, you probably want to try
Code:

grep WW /var/log/Xorg.0.log
and the same for "EE"; fix anything the driver is griping about, log out of X, "startx > /dev/null 2>&1 &" and repeat ...

Quote:

Don't forget to disable composite (ATI STILL don't support it) and add the DRI section to your xorg.conf
Also, XVideo and AIGLX may end up causing you problems; I disable all three right off the bat, YMMV...

Code:

Section "Extensions"
        Option      "Composite" "False"
        Option      "XVideo" "Enable"
EndSection

and (I usually put this between 'Section "Modules"' and 'Section "InputDevice"', it shouldn't matter a whole lot where you put it though):

Code:

Section "ServerFlags"
        Option      "AIGLX" "off"
EndSection

FWIW ATI is supposedly releasing a new version of its driver "very shortly"; the initial date they gave was "the end of May". It's supposedly going to address a lot of the issues that the current drivers have.

Good luck,
-Larry

adityavpratap 05-30-2007 02:26 AM

Hi,
I have tried the suggestions made by HowDoIProgrammIt, but I get the blank screen again when I give startx command.
As for xorgsetup, the program aborts with the following message -
Quote:

ATI Radeon X850 XT PE (R480) (PCIE),
ATI Radeon X850 PRO (R480) (AGP), ATI Radeon X850 SE (R480) (AGP),
ATI Radeon X850 XT (R480) (AGP), ATI Radeon X850 XT PE (R480) (AGP)
(II) ATI Proprietary Linux Driver Version Identifier:8.36.5
(II) ATI Proprietary Linux Driver Release Identifier: LGDr8.36g1
(II) ATI Proprietary Linux Driver Build Date: Apr 17 2007 10:04:18
(II) ATI Proprietary Linux Driver Build Information: autobuild-rel-r6-8.36.1.1.2.3-driver-lnx-x86-x86_64-338188

*** If unresolved symbols were reported above, they might not
*** be the reason for the server aborting.

Backtrace:
0: /usr/X11R6/bin/X(xf86SigHandler+0x8a) [0x8088b2a]
1: [0xffffe420]
2: /usr/X11R6/lib/modules/drivers/fglrx_drv.so(atiddxProbeMain+0x13d) [0xb77cafcd]
3: /usr/X11R6/bin/X(DoConfigure+0xc7a) [0x807430a]
4: /usr/X11R6/bin/X(InitOutput+0x817) [0x80723a7]
5: /usr/X11R6/bin/X(main+0x226) [0x80d4496]
6: /lib/tls/libc.so.6(__libc_start_main+0xd4) [0xb7da4e14]
7: /usr/X11R6/bin/X [0x806ff61]

Fatal server error:
Caught signal 11. Server aborting


Please consult the The X.Org Foundation support
at http://wiki.X.Org
for help.
Please also check the log file at "/var/log/Xorg.0.log" for additional information.
At this point of time I am getting a feeling that I may have downloaded the wrong driver from ATI site http://ati.amd.com/support/driver.html.

My card -ATI Radeon Xpress 1100 is not listed here. So which driver should I download? Since I am using a laptop, should I d/l driver from under Mobility Radeon or from under Integrated/MotherBoard which lists Radeon Xpress 200 as one of the options?

HowDoIProgramIt 05-30-2007 05:18 PM

Quote:

Originally Posted by adityavpratap
Hi,
I have tried the suggestions made by HowDoIProgrammIt, but I get the blank screen again when I give startx command.

That sounds all too familiar; my card is R500 based (it's an RV530 X1600), but I've had similar problems with Radeon 9800s that were R300 based, too. The long and short of it is that the latest version of the driver both myself and a lot of others have been able to get working is 8.32.5.

The good news is, that driver is still available. The bad news is that if you're using a kernel that's newer than 2.6.18 (a least on Fedora) you'll need to patch it. The good news is I've already done that for Fedora.

Couldn't tell from the previous posts what distribution you're running (unfortunately, yeah, it does make a difference); in any event, though, the download link for all supported x86 && x86_64 distributions is:

https://a248.e.akamai.net/f/674/9206...x86.x86_64.run

(the previous drivers are at http://ati.amd.com/support/drivers/l...f-8-32-5.html).

Assuming you're using Fedora, from that point on, the process goes something like this. Decide on a place to keep your ATI drivers (I use /usr/src/drivers/ATI), mkdir && cd to it, etc., then, download the driver:

Code:

sh ./ati-driver-installer-8.32.5-x86.x86_64.run --extract
The above command will leave you with a directory named fglrx-install. These macros are from the kernel header files from a 2.6.18 kernel; they were removed somewhere between 2.6.18 && 2.6.20. Just copy them into a file - name doesn't much matter; I used "backport_syscall.patch":

Code:

--- common/lib/modules/fglrx/build_mod/firegl_public.c    2006-12-18 10:58:15.000000000 -0500
+++ common/lib/modules/fglrx/build_mod/firegl_public.c    2006-12-18 11:14:04.000000000 -0500
@@ -181,6 +181,70 @@
 int errno;
 #endif // __ia64__
 
+#if defined(__i386__)
+#define __syscall_return(type, res) \
+do { \
+        if ((unsigned long)(res) >= (unsigned long)(-(128 + 1))) { \
+                errno = -(res); \
+                res = -1; \
+        } \
+        return (type) (res); \
+} while (0)
+#define _syscall2(type,name,type1,arg1,type2,arg2) \
+type name(type1 arg1,type2 arg2) \
+{ \
+long __res; \
+__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
+        : "=a" (__res) \
+        : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)) \
+        : "memory"); \
+__syscall_return(type,__res); \
+}
+
+#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
+type name(type1 arg1,type2 arg2,type3 arg3) \
+{ \
+long __res; \
+__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
+        : "=a" (__res) \
+        : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)), \
+                  "d" ((long)(arg3)) : "memory"); \
+__syscall_return(type,__res); \
+}
+#elif defined(__x86_64__)
+#define __syscall_clobber "r11","rcx","memory"
+#define __syscall "syscall"
+
+#define __syscall_return(type, res) \
+do { \
+        if ((unsigned long)(res) >= (unsigned long)(-127)) { \
+                errno = -(res); \
+                res = -1; \
+        } \
+        return (type) (res); \
+} while (0)
+#define _syscall2(type,name,type1,arg1,type2,arg2) \
+type name(type1 arg1,type2 arg2) \
+{ \
+long __res; \
+__asm__ volatile (__syscall \
+        : "=a" (__res) \
+        : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)) : __syscall_clobber ); \
+__syscall_return(type,__res); \
+}
+
+#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
+type name(type1 arg1,type2 arg2,type3 arg3) \
+{ \
+long __res; \
+__asm__ volatile (__syscall \
+        : "=a" (__res) \
+        : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \
+                  "d" ((long)(arg3)) : __syscall_clobber); \
+__syscall_return(type,__res); \
+}
+#endif
+
 // int mlock(const void *addr, size_t len);
 _syscall2(int, mlock, const void *, addr, size_t, len )
 // int munlock(const void *addr, size_t len);

Next, make sure you have the kernel sources installed; on a Fedora system, they'll be in

Code:

/usr/src/kernels/$(uname -r)-$(uname -m)
and

Code:

/lib/modules/$(uname -r)/build
("build" is a symlink to /usr/src/kernels/$(uname -r)-$(uname -m); the contents of /lib/modules/$(uname -r)/build == /usr/src/kernels/$(uname -r)-$(uname -m)).

You might also have a symbolic link named "/usr/src/linux"; you don't need to create it (though you can if you want to); if it's there, though, make sure it points to the right location:

Code:

[ -h /usr/src/linux ] && ( rm /usr/src/linux; ln -s /usr/src/kernels/$(uname -r)-$(uname -m) /usr/src/linux )
Next, make sure "config.h" exists in the kernel headers (the short answer is that it's a holdover from the 2.4 kernel days but is still referenced in some source files; it doesn't have to contain anything, but it does have to exist):

Code:

[ -e /usr/src/linux/include/linux/config.h ] || touch /usr/src/linux/include/linux/config.h
With some older versions of the driver, you'll also need to create this file; I honestly don't remember if 8.32.5 needs it or not - it won't hurt anything to have it though, so, personally, I would create it.

Code:

[ -e /lib/modules/$(uname -r)/build/include/linux/version-$(uname -r).h ] || touch /lib/modules/$(uname -r)/build/include/linux/version-$(uname -r).h
Next, build the RPMs for the driver (again, I'm assuming here that you're using Fedora FC6):

Code:

cd fglrx-install
patch -p0 < backport_syscall.patch

If you're using an x86_64 (AMD64) box (in x86_64 (AMD64) mode), and your X server is up to date (for FC6, that'd be X.org version 7.1), you'll have to copy some files in order for the installer to work correctly:

Code:

[ -d x710_64a/usr/X11R6/bin
 ] || cp -a x690_64a/usr/X11R6/bin x710/usr/X11R6

At this point, you should be ready to build the RPMs that comprise the driver (you should still be in fglrx-install):

Code:

./ati-installer 8.32.5 --buildpkg Fedora/FC6
After the above command completes, you should have several RPMs (depending upon whether you're using x86 or x86_64, the number varies slightly); ls ../*.rpm should show either 4 or 5 RPMs - for the x86 architecture, you should have:

Code:

../ATI-fglrx-8.32.5-1.fc6.i386.rpm
../ATI-fglrx-control-panel-8.32.5-1.fc6.i386.rpm
../ATI-fglrx-devel-8.32.5-1.fc6.i386.rpm
../kernel-module-ATI-fglrx-2.6.20-1.2948.fc6-8.32.5-1.fc6.i386.rpm

Now, back up your xorg.conf file, remove any old RPMs
Code:

rpm -e `rpm -qa | grep -E "^ATI"`
rpm -e `rpm -qa | grep -E "^kernel-module-ATI-fglrx"`

&& install the new ones:
Code:

pushd ..; rpm -Uvh --force `ls *.rpm`; popd
change your inittab so you only boot up to runlevel 3:
Code:

sed -r -i "s/^id:5:initdefault/id:3:initdefault/" /etc/inittab
and run "aticonfig --initial ..." if desired, then hand edit or copy your xorg.conf back to /etc/X11/xorg.conf (make sure there are explicit resolutions in it for the default color depth), and
Code:

startx > /dev/null 2>&1 &
That should work; it took me a good while to figure out the sequence of steps, etc. that I needed to get the damn thing to work, but once I did, it seems to work quite well. Like I said before though, any driver who's version is > 8.32.5 does not work on any of my hardware; I experience the exact same thing you do (what actually happens is your system utilization in kernel space is getting pegged at around 100%; libfglrxdrm.so is locking up, apparently around where it's checking to see how much memory is on the card. We're not alone in this && the problem has been reported to ATI / AMD; they're working on it. For more on that, and why it may be occurring, you might want to check out http://www.phoronix.com/forums).

Quote:

As for xorgsetup, the program aborts with the following message -

At this point of time I am getting a feeling that I may have downloaded the wrong driver from ATI site http://ati.amd.com/support/driver.html.

My card -ATI Radeon Xpress 1100 is not listed here.
From the release notes, it looks like the first driver that officially supported your on-board graphics hardware is 8.35.5; that is the same thing as what you have, right? (on-motherboard graphics adapter?)

https://a248.e.akamai.net/f/674/9206...ux_8.35.5.html

I also found this thread on fedoraforums.org where someone else was having a similar problem; maybe it will help...

http://fedoraforum.org/forum/showthr...=155877&page=2

Quote:

So which driver should I download? Since I am using a laptop, should I d/l driver from under Mobility Radeon or from under Integrated/MotherBoard which lists Radeon Xpress 200 as one of the options?
The other thing that occurred to me as I was typing this is that the "radeon" driver - while not quite as snappy as the closed source ones - might work for you, assuming that the "1100" isn't based on the R500 or R600 series of GPUs (if it is, you're kind of screwed; it's either VESA, or get the proprietary drivers to work).

Personally, I would try the Phoronix forums, and give this site the once-over if you haven't already:

http://wiki.cchtml.com/index.php/Main_Page

Good luck with it; those drivers are touchy as hell. It's easy to burn up a ton of time trying to get them to work. However, once they do work, they rock; with my X1600 (RV530), which is a 512Mb card, glxgears shows an FPS in excess of 6,000.

- Larry

adityavpratap 05-31-2007 12:14 AM

But I mentioned that I was using Slackware 11.0 in my first post. The kernel is 2.6.17.13
Is the procedure you mentioned above the same for this kernel and distro?

HowDoIProgramIt 05-31-2007 01:09 PM

Quote:

Originally Posted by adityavpratap
But I mentioned that I was using Slackware 11.0 in my first post. The kernel is 2.6.17.13
Is the procedure you mentioned above the same for this kernel and distro?

Whoops; sorry for that - thought I looked everywhere for that (distro name), but missed the one place where it actually was. Again, sorry.

That may end up making things easier; here's the deal with the way the driver installer is set up: some distributions have a person or persons that maintain customized and pre-packaged versions (.deb, .rpm, etc.) of the driver; others don't. When you run the "driver installer":
Code:

./ati-driver-installer-<version>-<architecture>.run --buildpkg
or
sh ./ati-driver-installer-<version>-<architecture>.run --buildpkg

it generates a directory named fglrx-install (as of the last several versions, it's fglrx-install.something where "something" is a "tmpnam()" type 'unique' extension), and puts in that directory the scripts and code it needs to build either the driver itself (there's a generic driver for distributions that don't have to do anything to the driver code; Fedora, for example, usually patches the code, changes where parts of the driver go, etc.), or the customized packages (RPMs, Debian packages, etc.) that I mentioned above.

The top-level installer then calls fglrx-install/ati-installer.sh, passing to it the driver version, and the command you passed to the top-level installer (let's call this the TLI). For example, say you ran the TLI with "--buildpkg Debian/etch" & you're using version 8.35.5 of the driver. The TLI would then exec another script:
Code:

./fglrx-install/ati-installer.sh 8.35.5
The long and short of it is that if your distribution + version combo is "supported", the driver "knows" (eg., someone put scripts in place for it) how to do whatever needs to be done to the thing to make it appropriate for your distribution and package it in a way that's appropriate for your distribution. If your distro isn't in "the list", that does not mean that the driver won't work; it simply means that no one has made it ready to "drop in" to your system.

Which, coming back around full circle, it might well. With older versions of the driver, the first few times I installed it, I didn't realize I was supposed to build the RPMs <or> install the driver; I thought I was supposed to do both. The docs for the driver are atrocious; my tip-off to that was when I realized that the install was being done from inside X (runlevel 5 on Fedora). Since the driver (by default, anyway) replaces libGL and several other parts of the server (more or less).

What I would do, in this order, is:

1) make sure my xorg.conf was 100% and about as simple as you can get it to be. Or one that's known to work. Here's mine; you're welcome to try it:

Code:

Section "ServerLayout"
        Identifier    "single head configuration"
        Screen      0  "aticonfig-Screen[0]" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        FontPath    "unix/:7100"
EndSection

Section "Module"
        Load  "i2c"
        Load  "bitmap"
        Load  "dbe"
        Load  "fbdevhw"
        Load  "ddc"
        Load  "dri"
        Load  "extmod"
        Load  "freetype"
        Load  "glx"
        Load  "int10"
        Load  "vbe"
        Load  "v4l"
        Load  "fglrx"
EndSection

Section "ServerFlags"
        Option      "AIGLX" "off"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "IMPS/2"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5"
        Option      "Emulate3Buttons" "yes"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us"
EndSection

Section "Monitor"

        Identifier  "aticonfig-Monitor[0]"
        VendorName  "DEL"
        ModelName    "DELL E173FP"
        DisplaySize  340        270
        HorizSync    31.0 - 80.0
        VertRefresh  56.0 - 75.0
        Option      "VendorName" "ATI Proprietary Driver"
        Option      "ModelName" "Generic Autodetecting Monitor"
        Option      "DPMS" "true"
EndSection

Section "Device"

        Identifier  "aticonfig-Device[0]"
        Driver      "fglrx"
        VendorName  "VESA"
        BoardName  "Radeon X1600 PRO 512MB"
        Option      "no_accel" "no"
        Option      "no_dri" "no"
        Option      "mtrr" "off"
        Option      "DesktopSetup" "single"
        Option      "ScreenOverlap" "0"
        Option      "Capabilities" "0x00000000"
        Option      "CapabilitiesEx" "0x00000000"
        Option      "VideoOverlay" "on"
        Option      "OpenGLOverlay" "off"
        Option      "CenterMode" "off"
        Option      "PseudoColorVisuals" "off"
        Option      "Stereo" "off"
        Option      "StereoSyncEnable" "1"
        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"
        Option      "UseFastTLS" "0"
        Option      "BlockSignalsOnLock" "on"
        Option      "UseInternalAGPGART" "no"
        Option      "ForceGenericCPU" "off"
        Option      "KernelModuleParm" "locked-userpages=0"
        Option      "TexturedVideoSync" "off"
EndSection

Section "Screen"
        Identifier "aticonfig-Screen[0]"
        Device    "aticonfig-Device[0]"
        Monitor    "aticonfig-Monitor[0]"
        DefaultDepth    24
        SubSection "Display"
                Viewport  0 0
                Depth    24
                Modes    "1280x1024" "1152x864" "1024x768" "800x600"
        EndSubSection
        SubSection "Display"
                Viewport  0 0
                Depth    16
                Modes    "1280x1024" "1152x864" "1024x768" "800x600"
        EndSubSection
EndSection

Section "DRI"
        Group        0
        Mode        0666
EndSection

Section "Extensions"
        Option      "Composite" "False"
        Option      "XVideo" "Enable"
EndSection

Like I said earlier, if you install or remove the driver RPMs (ATI*.rpm, kernel-driver-ATI*.rpm), you stand a good chance of overwriting your xorg.conf file; I don't remember what happens when you install the driver (sh ./ati-driver-installer... --install). I always stash a copy of it and cp it back to /etc/X11/xorg.conf after I reboot && just before I "startx".

From looking back over your posts (the one from 05-28-07 07:15 AM) it looks a lot like, at least at that point, the problem was with the Screen section of your xorg.conf file. Maybe that's still all it is && all it'll take to fix it (eg., perhaps you thought you had a good one in place, but didn't; it's easy enough to do...)

2) If you haven't already installed the driver using
Code:

./ati-driver-installer-<version>-<architecture>.run --install
- you'll most likely have to make the changes I mentioned earlier to your kernel sources, etc. - but the driver should build; you should end up with a file somewhere in /lib/modules named fglrx.ko; after you've built the driver, if it doesn't give you an error, type dmesg & see if it loaded (it should be the last thing in the log). Also, see where the installer put it:
Code:

find /lib/modules -name "fglrx.ko"
The driver file layout is different between customized versions and generic versions, so I'm not sure where your fglrx.ko would end up...

3) If that doesn't work, start hacking the shell scripts in fglrx-install. Particularly, keep the build dir the installer used while building the driver. See if there's anything there that'll give you a hint...

4) Try to get your graphics hardware running with the "radeon" driver && work your way out from there. At least you'll be certain your xorg.conf is correct, and you should have fairly good performance - assuming your hardware isn't R500 or R600 series.

ATI (now AMD) is in the process of open sourcing the driver, which, while it doesn't help you right now, is a good indication for "down the road"...

What I'm not certain of is Slack; I haven't seen or used that distribution in years. Unfortunately, I can't help you there. I thought they were one of the hold-outs still using XFree86; I guess I'm wrong there from what you posted but that shows you about how familiar I am with Slackware...

Try building it - the kernel you're using is old enough that you shouldn't have too many problems - and see how it goes; it'll either compile && you'll be able to modprobe it & we'll take it from there, or it won't, and - well, we'll take it from there (post the output from the build).

- Larry

HowDoIProgramIt 05-31-2007 01:19 PM

Uh - you <do> have DRI enabled, right? I just looked over your xorg.conf file again && I didn't see it there... without it, you will get - if not the same error you got - one very similar to it.

Which was why I suggested the
Code:

grep WW /var/log/Xorg.0.log
and
Code:

grep EE /var/log/Xorg.0.log
statements; if you're having a DRI/DRM problem, that would show it up.

Try those two statements and see if there are any errors in your X log file...

- Larry

adityavpratap 06-01-2007 03:25 AM

slocate fglrx.ko returns nothing.

and greping for EE and WW in /var/log/Xorg.0.log returns the same set of messages that I have quoted in my post (#5)

and I am again getting the blank screen even after making the changes mentioned above.

Here is what I did -

$sudo ./ati-driver-installer-<version>-<architecture>.run --buildpkg RedHat/RHEL4
$sudo rpm2tgz fglrx......rpm
$sudo /sbin/installpkg fglrx.....rpm
$sudo aticonfig --initial --input=/etc/X11/xorg.conf
$sudo /sbin/reboot

Then after the computer rebooted, I entered startx. The screen promptly went blank on my laptop. All I could do was ctrl+alt+del

So I reverted back to the working version of xorg.conf (which is using VESA) after rebooting.


All times are GMT -5. The time now is 11:31 PM.