LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware
User Name
Password
Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?

Notices


Reply
  Search this Thread
Old 07-06-2004, 10:21 PM   #1
Cohobin
Member
 
Registered: Feb 2003
Posts: 51

Rep: Reputation: 15
Debian ATI 9700 pro How-to (and others?)


After working on this for a couple of days, I finally got my acceration working with my ATI card in the newest deb kernel (2.6.7). This is for a single-head configuration, but the steps should be the same up until you manually edit the XF86Config-4 file. Here goes (This does require some knowledge on working with the kernel, lilo/grub, and compiling - it should be pretty simple).

- grab the newest kernel and alien (to convert rpm's to deb's), and for menu making:
apt-get kernel-source-2.6.7 alien libncurses5-dev module-init-tools modutils

- goto "/usr/src", and extract the kernel:
tar jxvf kernel-source-2.6.7.tar.bz2

- create a soft link to /usr/src/linux:
ln -s /usr/src/kernel-source-2.6.7 /usr/src/linux

- goto "/usr/src/linux" and run the following command to configure a new kernel
make menuconfig

be sure to enable (as modules or compiled in):
"/dev/agpgart" (under character devices)
MTRR (memory type range register) (under processor type and features)
ATI chipset support (under character devices)

be sure to disable:
Direct Rendering Manager (XFree86 DRI support) (under character devices)
Kernel debugging (under Kernel hacking)
ATI Radeon Support (under Graphics Support)

- exit menuconfig and save changes, then compile the modules and kernel using:
make clean bzImage modules modules_install

- copy the new kernel to your boot directory and name it appropriately:
cp /usr/src/linux/arch/i386/boot/bzImage /boot/linux-2.6.7

- make appropriate links in lilo.conf/grub.conf (these are only examples, use your OWN settings!):
i.e. /boot/grub/menu.lst (about 1/2 down, under menu boot options):

title Debian 2.6.7 AGP Support
root (hd0,1)
kernel /boot/linux-2.6.7 root=/dev/hda2 ro
savedefault
boot

i.e. /etc/lilo.conf

boot=/dev/hda
root=/dev/hda2
image=/boot/linux-2.6.7
label=Linux-2.6.7
read-only

THESE ARE ONLY EXAMPLES - USE YOUR OWN!

- save configurations (rerun lilo to update if nesscessary) and boot into new kernel
- make sure basic stuff works: network, etc (well, you don't have too, but....)

- download appropriate ATI driver package (.RPM) from ati.com for X-windows version, this can be found by running:

cat /var/log/XFree86.0.log | grep -i version | head

- goto where your downloaded package is and convert to debian package:
alien [package name].rpm

- install the fglrx package (if the first command fails, force install with --force-all option):
dpkg -i [package name].deb

- grab the patch file from: http://firewilson.rit.edu/Downloads/...tch-2.6.7.txt, or from a rage3d.com server, save as a plain text file with a .patch extension. then patch the driver using the command:

cd /lib/modules/fglrx/build_mod
patch -p1 < ati-patch-2.6.7.patch

- After patching, build the ATI modules:

sh make.sh

- After building the modules, install them:

cd /lib/modules/fglrx/
sh make_install.sh

- make backup of XF86config-4, and run fglrxconfig, when setting up, default options for video drivers are fine except:
select:
- "no restrictions" - any user has access to the OpenGL ICD''
- "Default" under Application Profiles.
- "compatible operation" (for WineX, VM emulators and some profilers)
- use external "agpart" driver (kernel driver)

- change/add following lines in /etc/X11/XF86Config-4
(in FSAA Management, under fglrx specs)
Option "FSAAEnable" "yes" # Enable FSAA on first head
Option "FSAAScale" "2" # Enable FSAA on first head
(in misc options, under fglrx specs)
Option "KernelModuleParm" "agplock=0" # AGP locked user pages: disabled
Option "EnablePrivateBackZ" "yes" # enable Z buffer

- reboot linux to make sure modules load and startx. Everything should be peachy now.

I am not resposible for hosing your system, etc,etc; you know the drill.

Last edited by Cohobin; 07-07-2004 at 08:18 AM.
 
Old 07-09-2004, 09:06 AM   #2
Cohobin
Member
 
Registered: Feb 2003
Posts: 51

Original Poster
Rep: Reputation: 15
here is the listed patch code:

Code:
ld_mod-mreg_new/agpgart_be.c build_mod-mreg_new-mm/agpgart_be.c
--- build_mod-mreg_new/agpgart_be.c     2004-05-15 03:45:48.000000000 +0300
+++ build_mod-mreg_new-mm/agpgart_be.c  2004-05-15 03:18:30.000000000 +0300
@@ -1402,7 +1402,8 @@ unsigned long agp_generic_alloc_page(voi
     }
 #endif

-    atomic_inc(&page->count);
+    //atomic_inc(&page->count);
+    get_page(page);
     set_bit(PG_locked, &page->flags);
     atomic_inc(&agp_bridge.current_memory_agp);

@@ -4413,7 +4414,8 @@ static unsigned long ali_alloc_page(void
     if (page == NULL)
          return 0;

-    atomic_inc(&page->count);
+    //atomic_inc(&page->count);
+    get_page(page);
     set_bit(PG_locked, &page->flags);
     atomic_inc(&agp_bridge.current_memory_agp);

diff -uprN build_mod-mreg_new/firegl_public.c build_mod-mreg_new-mm/firegl_public.c
--- build_mod-mreg_new/firegl_public.c  2004-05-15 03:45:06.000000000 +0300
+++ build_mod-mreg_new-mm/firegl_public.c       2004-05-15 03:25:13.000000000 +0300
@@ -2066,7 +2066,8 @@ static vm_nopage_ret_t vm_shm_nopage(str
     pMmPage = virt_to_page(kaddr);
 #endif /* LINUX_VERSION_CODE < 0x020400 */

-    atomic_inc(&(pMmPage->count));  /* inc usage count of page */
+    //atomic_inc(&(pMmPage->count));  /* inc usage count of page */
+    get_page(pMmPage);

 #if LINUX_VERSION_CODE >= 0x020400
   //  __KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%p\n",
 
Old 07-25-2004, 08:43 AM   #3
thegnu
Member
 
Registered: May 2004
Location: St. Petersburg, FL USA
Distribution: Arch Linux, Fedora Core 3
Posts: 51

Rep: Reputation: 15
Lightbulb

I just want to note that I while I couldn't get my 9800 working in XFree86 4.4.0 (not compatible with current ATI driver), I got it working in X.org.

I don't think anyone has gotten fglrx to work in XF86 4.4, and I don't want anybody to ever have to suffer the way I suffered trying to get this crap to work...
 
Old 08-09-2004, 06:00 AM   #4
orbus
LQ Newbie
 
Registered: Aug 2004
Posts: 1

Rep: Reputation: 0
Hello,

3D acceleration works well, but I can't get FSAA working properly. I mean FSAA in never activated. I use the latest ATI drivers (3.11.1) and here is the device section of my XF86Config-4:

Code:
# === ATI device section ===

Section "Device"
    Identifier                          "ATI Graphics Adapter"
    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"               "0x00000000" 
    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 "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"                 "yes"
    Option "FSAAScale"                  "2"
    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"                 "1"
    Option "BlockSignalsOnLock"         "on"
    Option "UseInternalAGPGART"         "no"
    Option "ForceGenericCPU"            "no"
    Option "KernelModuleParm"           "agplock=0" # AGP locked user pages: disabled
    Option "EnablePrivateBackZ"         "yes" # enable Z buffer
    Option "NoOffscreenPixmaps"         "on"
    BusID "PCI:1:0:0"    # vendor=1002, device=4150
    Screen 0
EndSection
And that's what I got in /var/log/XFree86.0.log:

Code:
(**) fglrx(0): NoAccel = NO
(II) Loading sub module "xaa"
(II) LoadModule: "xaa"
(II) Loading /usr/X11R6/lib/modules/libxaa.a
(II) Module xaa: vendor="The XFree86 Project" 
        compiled for 4.3.0.1, module version = 1.1.0
        ABI class: XFree86 Video Driver, version 0.6
(==) fglrx(0): HPV inactive
(==) fglrx(0): FSAA enabled: NO
(**) fglrx(0): FSAA Gamma enabled
(**) fglrx(0): FSAA Multisample Position is fix
(**) fglrx(0): NoDRI = NO
(II) Loading sub module "fglrxdrm"
(II) LoadModule: "fglrxdrm"
(II) Loading /usr/X11R6/lib/modules/linux/libfglrxdrm.a
(II) Module fglrxdrm: vendor="Fire GL - ATI Research GmbH, Germany"
        compiled for 4.3.0.1, module version = 3.11.1
        ABI class: XFree86 Server Extension, version 0.2
(II) fglrx(0): Depth moves disabled by default
(**) fglrx(0): Capabilities: 0x00000000
(**) fglrx(0): cpuFlags: 0x4000000f
(**) fglrx(0): cpuSpeedMHz: 0x00000827
(==) fglrx(0): OpenGL ClientDriverName: "fglrx_dri.so"
(**) fglrx(0): using built in AGPGART module: no
(**) fglrx(0): KernelModuleParm: "agplock=0"
(**) fglrx(0): UseFastTLS=1
(**) fglrx(0): BlockSignalsOnLock=1
(**) fglrx(0): EnablePrivateBackZ = YES
(--) Depth 24 pixmap format is 32 bpp
(II) do I need RAC?  No, I don't.
Obviously, FSAA is not activated, while 3D acceleration is fine (except it is even slower with each new ATI driver). I followed exactly what you wrote, tried everything I can, and nothing... I'm on linux 2.6.7 as well.

Any help is the very welcome !
 
  


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 Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
ATI Radeon 9700 pro is showing as 9500 pro kyromaniac Linux - Hardware 2 03-02-2005 05:32 AM
? about ati radeon 9700 pro jag2000 Linux - Hardware 0 02-14-2005 12:12 PM
Help with ATI drivers for 9700 pro ajbrouwe Linux - Games 1 08-16-2004 05:59 PM
ATI 9700 Pro + Fedora 1 --- How I Did It Jonasx Linux - Hardware 2 11-17-2003 05:07 PM
ATI 9700 Pro is slow?!??! e1v!$ Linux - Hardware 3 07-16-2003 05:07 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Hardware

All times are GMT -5. The time now is 08:17 AM.

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