LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 09-27-2007, 02:45 PM   #16
thirty33three
LQ Newbie
 
Registered: Sep 2007
Posts: 19

Original Poster
Rep: Reputation: 0
How To: fglrx on ATI Radeon Mobility x1300


Note to moderator: if you want, you can add a (solved) or a How To to the title of this thread. The following is a tutorial.

ATI Radeon Mobility x1300 is now running 3D with the fglrx driver. This is how I did it:

I want to preface this with the following: I am fairly new to linux, and have spent the last week or so trying desperately to get this up and running. I searched all over the internet and found a million threads like this one. I tried everything I could find, nothing worked. In the end, what worked was to read every ounce of documentation provided with the driver, my video card, and my operating system, including the error logs. Half the time, I didn't know what I was reading. So I took notes, documented my progress, deduced the best possible course of action.

On the night that I got this working, I started fresh. Spent 6 hours reading everything from the beginning, and kept a log. At the end of the 6 hours, I enacted a game plan that I had just came up with. I got my card working ON THE FIRST TRY. So the lesson is, understand what you are doing, and read till your eyes bleed. Nothing is easy if you look for an easy fix. Best to hack at it and understand why things are how they are. Without further ado...

My setup:
open SuSE linux 10.2
kernel 2.6.18.2-34
KDE 3.5.5
ATI Radeon Mobility x1300
32 bit
Dell Inspiron E1505 laptop, Intel Core Duo

I don't know enough about linux to know if the following steps will work on anybody elses card or kernel. Like I said above, use your reading skills to read the documentation. It should tell you exactly what you need to know.

Note: You must be using kernel 2.4 or higher

Step 1. Download the driver from the ATI site. I downloaded 8.40.4-x86.86_64.run, this was the most current driver as of this week.

Step 2. While at the ATI website, grab the provided documentation for your driver. You will need this for further steps.

Step 3. You must have shared memory enabled to use the 3D features of this driver. To do this, go add this line to your /etc/fstab :
tmpfs /dev/shm tmpfs defaults 0 0
(note - unless you reboot, you will need to mount this, use mount /dev/shm)

Step 4. Use your respective software installation tool (Yast) to ensure you have all the proper dependencies for the driver. These include the following:

# glibc version 2.2 or 2.3
# XOrg 6.7, 6.8, 6.9, 7.0, 7.1, or 7.2; XFree86 version 4.3
# XFree86-Mesa-libGL
# libstdc++
# libgcc
# XFree86-libs
# fontconfig
# freetype
# zlib
# gcc
# kernel-source (this must match your kernel-default version)
# qt3
# compat
# compat-libstdc++
# libstdc++-devel
# xorg-x11-libs
# xorg-x11-devel
# Mesa
# Mesa-devel
# fontconfig-devel
# expat
# freetype2
# freetype2-devel
# zlib
# zlib-devel
# libdrm VERSION 2.3

Step 5. As per the ATI documentation...
Quote:
If a Linux 2.6.11 or newer kernel was built with CONFIG_AGP enabled, the kernel AGP frontend is required to load the fglrx kernel module. To identify whether your kernel was built with CONFIG_AGP enabled, look for CONFIG_AGP=y in the kernel config file, or if the 'agpgart' module loaded.
So do an lsmod | grep agpgart and make sure it is in there.
If you have been trying to install without this, you will know if from a bunch of errors about a kernel issue leading to a fail to install message.

Step 6. If you have been trying to get this to work before, and have "installed" the driver before, you must clear your machine of all previous versions of the driver before you proceede.

Go to runlevel 3 ->
# su
# init 3
Then remove the previous driver
# cd /usr/src/linux
# make mrproper
# make cloneconfig
# make modules_prepare
# make clean
# rpm -e $(rpm -qa | grep fglrx)

Step 7. Generate the driver package. Navigate to where you downloaded the driver and do the following ->
# sh ati-driver-installer-8.40.4-x86.x86_64.run --listpkg

Step 8. You will get a list of distributions from which you can build the driver, which looks like this...

Quote:
SuSE/NLD9-IA32
SuSE/SLES9-IA32
SuSE/SUSE91-IA32
SuSE/NLD9-AMD64
SuSE/SLES9-AMD64
SuSE/SUSE91-AMD64
SuSE/SUSE100-IA32
SuSE/SUSE92-IA32
SuSE/SUSE93-IA32
SuSE/SUSE100-AMD64
SuSE/SUSE92-AMD64
SuSE/SUSE93-AMD64
SuSE/SLED10-IA32
SuSE/SLES10-IA32
SuSE/SUSE101-IA32
SuSE/SLED10-AMD64
SuSE/SLES10-AMD64
SuSE/SUSE101-AMD64
SuSE/SUSE102-IA32
SuSE/SUSE102-AMD64
Build the distribution of your choice
# sh ati*.run --buildpkg SuSE/SUSE102-IA32

Step 9. Now you have a driver in /usr/src/packages/RPMS/i386
So go to that directory
# cd /usr/src/packages/RPMS/i386
and
# rpm -Uvh fgl*.rpm

Step 10. Hopefully everything has gone smoothly from here. If you get a kernel error that says installation failed, its probably because you do not have agpgart enabled in your kernel.
If everything has gone well...
# ldconfig
# aticonfig --initial --input=/etc/X11/xorg.conf

Withouth agpgart, you will get something like this:
Quote:
[drm] failed to load kernel module "fglrx"

(WW) fglrx(0): Failed to open DRM connection

(II) Loading sub module "fglrxdrm"
(II) LoadModule: "fglrxdrm"
(II) Loading /usr/lib/xorg/modules/linux//libfglrxdrm.so
(II) Module fglrxdrm: vendor="FireGL - ATI Technologies Inc."
(II) fglrx(0): Depth moves disabled by default
(**) fglrx(0): Capabilities: 0x00000000
(**) fglrx(0): CapabilitiesEx: 0x00000000
(**) fglrx(0): cpuFlags: 0x8000001d
(==) fglrx(0): OpenGL ClientDriverName: "fglrx_dri.so"
(**) fglrx(0): KernelModuleParm: "locked-userpages=0"
(**) fglrx(0): ATI GART size: 128 MB
(WW) fglrx(0): No DRM connection for driver fglrx.
(II) fglrx(0): [drm] DRM buffer queue setup: nbufs = 100 bufsize = 65536


(II) fglrx(0): driver needs X.org 7.1.x.y with x.y >= 0.0
(II) fglrx(0): detected X.org 7.1.-1.902
(EE) fglrx(0): atiddxDriScreenInit failed, GPS not been initialized.
(WW) fglrx(0): ***********************************************
(WW) fglrx(0): * DRI initialization failed! *
(WW) fglrx(0): * (maybe driver kernel module missing or bad) *
(WW) fglrx(0): * 2D acceleraton available (MMIO) *
(WW) fglrx(0): * no 3D acceleration available *
(WW) fglrx(0): ********************************************* *

(**) fglrx(0): DPMS enabled
(WW) fglrx(0): Textured Video not supported without DRI enabled.
(WW) fglrx(0): Video Overlay not supported on AVIVO based graphics cards. For XVideo support use Option "TexturedVideo".
(II) fglrx(0): Using XFree86 Acceleration Architecture (XAA)
(II) fglrx(0): Acceleration enabled
(WW) fglrx(0): Option "CalcAlgorithm" is not used
(II) fglrx(0): Direct rendering disabled
(==) fglrx(0): Using hardware cursor
Step 11. Your driver is now installed. Launch sax2...
# sax2 -r -m 0=fglrx
and configure your screen. In the test, you should see 3D without a line going through it. If you have this, then you have been successful.

Step 12. Here is my xorg.conf file after everything is said and done...

Quote:


# /.../
# SaX generated X11 config file
# Created on: 2007-09-26T05:04:57+0400.
#
# Version: 8.1
# Contact: Marcus Schaefer <sax@suse.de>, 2005
# Contact: SaX-User list <https://lists.berlios.de/mailman/listinfo/sax-users>
#
# Automatically generated by [ISaX] (8.1)
# PLEASE DO NOT EDIT THIS FILE!
#

Section "ServerLayout"
Identifier "Layout[all]"
Screen "Screen[0]" 0 0
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
InputDevice "Mouse[3]" "SendCoreEvents"
Option "Clone" "off"
Option "Xinerama" "off"
EndSection

Section "Files"
InputDevices "/dev/gpmdata"
InputDevices "/dev/input/mice"
FontPath "/usr/share/fonts/misc:unscaled"
FontPath "/usr/share/fonts/local"
FontPath "/usr/share/fonts/75dpi:unscaled"
FontPath "/usr/share/fonts/100dpi:unscaled"
FontPath "/usr/share/fonts/Type1"
FontPath "/usr/share/fonts/URW"
FontPath "/usr/share/fonts/Speedo"
FontPath "/usr/share/fonts/PEX"
FontPath "/usr/share/fonts/cyrillic"
FontPath "/usr/share/fonts/latin2/misc:unscaled"
FontPath "/usr/share/fonts/latin2/75dpi:unscaled"
FontPath "/usr/share/fonts/latin2/100dpi:unscaled"
FontPath "/usr/share/fonts/latin2/Type1"
FontPath "/usr/share/fonts/latin7/75dpi:unscaled"
FontPath "/usr/share/fonts/baekmuk:unscaled"
FontPath "/usr/share/fonts/japanese:unscaled"
FontPath "/usr/share/fonts/kwintv"
FontPath "/usr/share/fonts/truetype"
FontPath "/usr/share/fonts/uni:unscaled"
FontPath "/usr/share/fonts/CID"
FontPath "/usr/share/fonts/ucs/misc:unscaled"
FontPath "/usr/share/fonts/ucs/75dpi:unscaled"
FontPath "/usr/share/fonts/ucs/100dpi:unscaled"
FontPath "/usr/share/fonts/hellas/misc:unscaled"
FontPath "/usr/share/fonts/hellas/75dpi:unscaled"
FontPath "/usr/share/fonts/hellas/100dpi:unscaled"
FontPath "/usr/share/fonts/hellas/Type1"
FontPath "/usr/share/fonts/misc/sgi:unscaled"
FontPath "/usr/share/fonts/xtest"
FontPath "/opt/kde3/share/fonts"
FontPath "unix/:7100"
EndSection

Section "Module"
Load "dbe"
Load "type1"
Load "freetype"
Load "extmod"
Load "glx"
Load "v4l"
Load "dri"
EndSection

Section "ServerFlags"
Option "AllowMouseOpenFail" "on"
Option "IgnoreABI" "on"
EndSection

Section "InputDevice"
Identifier "Keyboard[0]"
Driver "kbd"
Option "Protocol" "Standard"
Option "XkbLayout" "us"
Option "XkbModel" "pc104"
Option "XkbRules" "xfree86"
EndSection

Section "InputDevice"
Identifier "Mouse[1]"
Driver "mouse"
Option "Buttons" "5"
Option "Device" "/dev/input/mice"
Option "Name" "USB Mouse"
Option "Protocol" "explorerps/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
Identifier "Mouse[3]"
Driver "synaptics"
Option "Buttons" "5"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "on"
Option "HorizScrollDelta" "0"
Option "InputFashion" "Mouse"
Option "Name" "Synaptics;Touchpad"
Option "Protocol" "explorerps/2"
Option "SHMConfig" "on"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection

Section "Modes"
Identifier "Modes[0]"
EndSection

Section "Monitor"
Identifier "Monitor[0]"
VendorName "LPL"
ModelName "XD570 154W02 LCD MONITOR"
UseModes "Modes[0]"
DisplaySize 331 207
HorizSync 30.0 - 82.0
VertRefresh 43.0 - 60.0
Option "CalcAlgorithm" "XServerPool"
Option "DPMS"
EndSection

Section "Device"
Identifier "Device[0]"
Driver "fglrx"
VendorName "VESA"
BoardName "Framebuffer Graphics"
Option "FSAADisableGamma" "no"
Option "Capabilities" "0x00000000"
Option "ScreenOverlap" "0"
Option "FSAAMSPosX4" "0.000000"
Option "FSAAMSPosY1" "0.000000"
Option "mtrr" "on"
Option "FSAAMSPosX5" "0.000000"
Option "FSAAMSPosY2" "0.000000"
Option "FSAAScale" "1"
Option "ForceGenericCPU" "no"
Option "FSAAMSPosY3" "0.000000"
Option "GammaCorrectionI" "0x00000000"
Option "FSAAMSPosX0" "0.000000"
Option "FSAAMSPosY4" "0.000000"
Option "no_accel" "no"
Option "FSAACustomizeMSPos" "no"
Option "FSAAMSPosY5" "0.000000"
Option "UseFastTLS" "2"
Option "BlockSignalsOnLock" "on"
Option "FSAAEnable" "no"
Option "GammaCorrectionII" "0x00000000"
Option "VideoOverlay" "on"
Option "no_dri" "no"
Option "FSAAMSPosX1" "0.000000"
Option "PseudoColorVisuals" "off"
Option "StereoSyncEnable" "1"
Option "UseInternalAGPGART" "no"
Option "CapabilitiesEx" "0x00000000"
Option "OpenGLOverlay" "off"
Option "FSAAMSPosX2" "0.000000"
Option "Stereo" "off"
Option "FSAAMSPosX3" "0.000000"
Option "Centermode" "off"
Option "FSAAMSPosY0" "0.000000"
Option "KernelModuleParm" "locked-userpages=0"
Option "EnablePrivateBackZ" "no"
Option "backingstore" "true"
BusID "1:0:0"
EndSection

Section "Screen"
Identifier "Screen[0]"
Device "Device[0]"
Monitor "Monitor[0]"
DefaultDepth 24
SubSection "Display"
Depth 15
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024" "1280x960" "1280x800" "1152x864" "1280x768" "1024x768" "1280x600" "1024x600" "800x600" "768x576" "640x480"
EndSubSection
EndSection

Section "DRI"
Group "video"
Mode 0660
EndSection

Section "Extensions"
Option "DAMAGE" "false"

EndSection

Look in the Module section to find some of the additional settings that I have added after the installation. These have been found to be the best options. Please do not cut and paste my xorg.conf into yours, I cannot guarantee that it will work.

Step 13. Reboot.

Step 14. Check to see that all works well. Run
# glxinfo
and make sure the beginning looks like this...
Quote:
quiksilver:~> glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
and in the OpenGL vendor, you get this...
Quote:
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON X850 PRO Generic
OpenGL version string: 2.0.6286 (8.33.6)
and not this...
Quote:
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.2 (1.5 Mesa 6.5.1)


Some end notes:

-If this didn't work, check your logs:
/var/log/SaX.log
var/log/Xorg.0.log (use cat /var/log/Xorg.0.log | grep "(EE)")
and read through them, look for the problem.

-After installation there will be documentation here:
/usr/share/doc/ati/examples
/usr/share/doc/packages/fglrx/

-I used this repository to get many packages for SuSE 10.2 files
type: ftp
server: ftp.skynet.be
directory: /pub/software.opensuse.org/xorg72/openSUSE_10.2/

-Double check apgart and posix

-Don't give up. I have seen so many posts were people said that the x1300 card was impossible. Ha! I have dolphins and whales swimming around a 3D cube behind this editor as I write this. I can try to help if you leave a post here.

I am a golden god.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Shell script assistance required.. TheEngineer Linux - Newbie 4 10-26-2006 06:42 AM
Required Assistance in Mandriva tuannie Linux - Software 6 07-06-2006 11:16 AM
assistance required v.s.sankar Linux - Certification 4 05-02-2006 08:01 AM
NVidia assistance required Hubmasterflex Linux - Hardware 9 01-27-2006 10:36 PM
Gotomail Configuration assistance required jefx Linux - Software 4 05-04-2003 09:59 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 05:16 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration