LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
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 11-18-2003, 04:07 PM   #1
nemesis636
LQ Newbie
 
Registered: Nov 2003
Posts: 8

Rep: Reputation: 0
Lightbulb Radeon graphics cards with KT400 chipset


After months of searching, I finally got my Radeon 9800 Pro working with my KT400 chipset. Here's a howto I wrote to make the process easier for everyone else!

Radeon 9600/9700/9800 w/ KT400 (P4X400) HOWTO

Note this is not an official document from ATI or anything like that. This document assumes that you are running a 2.4.x series kernel. If you are running kernel 2.5 or later, this probably won't work for you. This is simply my way of getting direct rendering working on Fedora Core 1. As far as I know, this process should work for other Linux distributions as well, YMMV. I spent months searching for a way to get my Radeon 9800 Pro working, and I finally found the answer on an old thread at the linuxquestions.org forum. If you have any questions, please feel free to contact me. I normally hang out in #fedora on irc.freenode.net. My nickname is swa.

Table of Contents

1. Download the latest Schneider Digital drivers.
2. Extract the drivers and install the RPM.
3. Edit the agpgart_be.c file for your specific chipset.
4. Run ./make.sh, ./make_install.sh and fglrxconfig
5. Load the fglrx.o driver
6. Restart XFree86
7. Frequently Asked Questions (FAQ)

1. Download the latest Schneider Digital drivers.
Although some will tell you that the original ATI drivers are the best, I've had the most luck with Schneider Digital's drivers. You can download them from http://www.schneider-digital.de/html/download_ati.html. Just pick out the driver that matches your version of XFree86.

2. Extract the drivers and install the RPM.
Before you begin this step you must make absolutely sure that you have your kernel-source installed. Most distributions provide this in a single RPM. For Fedora users, you can find this rpm on the third disc or you can simply type "yum install kernel-source" if you are using Fedora Core 1. This driver will not work unless you install the kernel-source FIRST!

With that said, extract the ZIP file you just downloaded. You can do this by typing "unzip glx1_linux_x4.3.zip". Replace the filename with the file you actually downloaded.

Now that the files are extracted, you should see an rpm inside the extracted folder. You need to install the rpm by typing "rpm -Uvh --force fglrx.rpm", replacing fglrx.rpm with the name of the actual rpm. The driver will install and you'll notice that toward the end, it will automatically compile a driver for you.

3. Edit the agpgart_be.c file for your specific chipset.
Now that you have the driver installed, you need to find your exact chipset from the "lspci" command. Normally the chipset is at the top of the list. I have a VIA 8377 chipset. Here's an example of what your output would look like:

Code:
00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400 AGP] Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8235 PCI Bridge
00:09.0 Communication controller: Lucent Microelectronics LT WinModem
00:0a.0 Network controller: Broadcom Corporation BCM4301 802.11b (rev 02)
00:0d.0 Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11)
00:0d.1 Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
00:10.0 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.1 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.2 USB Controller: VIA Technologies, Inc. USB (rev 80)
00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06)
00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235 AC97 Audio Controller (rev 50)
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 74)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R350 [Radeon 9800]
01:00.1 Display controller: ATI Technologies Inc Radeon R350 [Radeon 9800] (Secondary)
Notice the first line says "Host bridge" and then you see the chipset model number 8377. Make sure you write the model number down!

Next, you need to navigate to the /lib/modules/fglrx/build_mod directory. Inside this directory you'll see a file called agpgart_be.c. You need to edit this file in order to make the driver load properly. Open agpgart_be.c and look for the number pertaining to your chipset. My number is 8377, and the section pertaining to that chipset is on line 6068. The P4X400 chipset can be found at about line 6076. In the section for your chipset, you'll see something similar to the following:via_generic_setup

Code:
    { PCI_DEVICE_ID_VIA_8377_0,
        PCI_VENDOR_ID_VIA,
        VIA_APOLLO_KT400,
        "Via",
        "Apollo KT400",
        via_generic_setup }, // AGP v2
Notice the last line in your section says "via_generic_setup". You need to change that line to say "via_kt400_chipset". There are many other instances of "via_generic_setup" in this file. Make sure you only change the line that pertains to your specific chipset! Once you've changed this line, save the file. Your section should now look something like this:

Code:
    { PCI_DEVICE_ID_VIA_8377_0,
        PCI_VENDOR_ID_VIA,
        VIA_APOLLO_KT400,
        "Via",
        "Apollo KT400",
        via_kt400_setup }, // AGP v2
4. Run ./make.sh, ./make_install.sh and fglrxconfig
While you are still in the /lib/modules/fglrx/build_mod directory, build your new module by typing "./make.sh". You should see something similar to the following output:

Code:
ATI module generator V 2.0
==========================
initializing...
probing for VMA API version...
cleaning...
patching 'highmem.h'...
skipping patch for 'drmP.h', not needed
patching 'drm_os_linux.h'...
doing script based build for kernel 2.4.x and similar
compiling 'agpgart_be.c'...
compiling 'agp3.c'...
compiling 'i7505-agp.c'...
compiling 'nvidia-agp.c'...
compiling 'firegl_public.c'...
linking of fglrx kernel module...
duplicating results into driver repository...
done.
==============================
You must change your working directory to /lib/modules/fglrx
and then call ./make_install.sh in order to install the built module.
==============================
Your driver has now been successfully built. You need to install it next. Type "cd .." and then "./make_install.sh". Once your driver has successfully installed, make sure you run "fglrxconfig" which will reconfigure your XFree86 installation to use your freshly compiled module.

5. Load the fglrx.o driver
This step is easy. All you need to do is type "insmod fglrx". If you get any errors, chances are either the old version is still loaded or you have a kernel driver installed. Try typing "rmmod radeon" and "rmmod fglrx", then try to run the insmod command again. It will give you some output about the driver having a proprietary license, but that's normal and can be safely ignored.

6. Restart XFree86
Another simple step. You can either reboot your computer (the recommended method) or hit Ctrl + Alt + Backspace on your keyboard. Once you've restarted, open a console and type "glxinfo | grep direct". You should notice it says "direct rendering: Yes". If that's the case, you're all set! Happy gaming and good luck. If you ran into any trouble feel free to contact me on freenode and I'll try to help you further.
 
Old 12-10-2003, 02:03 AM   #2
blub
LQ Newbie
 
Registered: Jul 2003
Posts: 1

Rep: Reputation: 0
Thanks a lot!

I got it to work thanks to your guide, altough I used the ATI drivers.
My setup is a kt400 mobo and a radeon 9600 pro.

Awww this feels so good, thanks again!
 
Old 12-16-2003, 09:42 AM   #3
nemesis636
LQ Newbie
 
Registered: Nov 2003
Posts: 8

Original Poster
Rep: Reputation: 0
no problem man. I'm glad this could help somebody else
 
Old 12-22-2003, 10:26 AM   #4
griffouille
LQ Newbie
 
Registered: Jun 2003
Posts: 10

Rep: Reputation: 0
Thanks for this complete installation guide nemesis.

I will try this tonight ... anyway it seems to work for you and we got the same mobos...

Cya dude
 
Old 12-23-2003, 04:47 AM   #5
griffouille
LQ Newbie
 
Registered: Jun 2003
Posts: 10

Rep: Reputation: 0
Yeah thanks nemesis its working for me too.

In addition to your guide i can say that it's working with ati drivers too
(i have skipped your 5th part)

Thx
 
Old 12-23-2003, 10:15 AM   #6
hafuki
LQ Newbie
 
Registered: Dec 2003
Distribution: Suse, Fedora
Posts: 7

Rep: Reputation: 0
Now my 3d acceleration works, but when i start a 3d game my system crash! grrr!
Example: tux racer ask me "Press any key to start".........I press any key......system crash.
Can you help me????

Sorry if my English is not correctly

bye!
[ITA]Elius
 
Old 12-23-2003, 10:20 AM   #7
griffouille
LQ Newbie
 
Registered: Jun 2003
Posts: 10

Rep: Reputation: 0
Mhhhh
Can u tell us whats your graphic card and motherboard?

Can you see any error message in your /var/log/XFree86.0.log?
 
Old 12-23-2003, 10:40 AM   #8
hafuki
LQ Newbie
 
Registered: Dec 2003
Distribution: Suse, Fedora
Posts: 7

Rep: Reputation: 0
Motherboard Asus A7V8X with Sata
AMD Athlon 2500+
Saphire RADEON 9600Pro 128Mb
 
Old 12-23-2003, 10:53 AM   #9
hafuki
LQ Newbie
 
Registered: Dec 2003
Distribution: Suse, Fedora
Posts: 7

Rep: Reputation: 0
griffouille, can i send you my log by email? I think I have many problems!
 
Old 12-23-2003, 11:15 AM   #10
hafuki
LQ Newbie
 
Registered: Dec 2003
Distribution: Suse, Fedora
Posts: 7

Rep: Reputation: 0
part of my log file

(WW) fglrx(0): Cannot read colourmap from VGA. Will restore with default
(II) fglrx(0): UMM area: 0xe0500000 (size=0x07b00000)
(II) fglrx(0): driver needs XFree86 version: 4.3.x
(II) fglrx(0): detected XFree86 version: 4.3.0
(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): ********************************************* *

...dri failed... but when I execute fglrxinfo it's say

display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: Radeon 9600 Athlon (3DNow!)
OpenGL version string: 1.3 (X4.3.0-3.2.8)

:-(
 
Old 12-24-2003, 08:28 AM   #11
Tim Green
LQ Newbie
 
Registered: Aug 2003
Distribution: SuSE 8.2
Posts: 5

Rep: Reputation: 0
Question Problem with 2.4.21-144-athlon kernel?

When I run make.sh I get the following error message:

Code:
Error:
XFree86 drm includes at /lib/modules/2.4.21-144-athlon/build/include/../drivers/char/drm
do not fit this driver. This driver is designed to only work with X4.1.0 or higher. You 
can match this by getting Linux kernel 2.4.8 or higher.
Since this is SuSE 9 and XFree 4.3 is installed there's something wrong. Is it possible that the checker is confused by something about the new Athlon kernel from SuSE and as a result thinks XFree is lower than 4.1? If so, is there a setting that I can change to force it to munch this kernel anyway?
 
Old 01-10-2004, 07:46 AM   #12
mattblack_uk
LQ Newbie
 
Registered: Aug 2003
Distribution: RedHat 9
Posts: 19

Rep: Reputation: 0
I am a complete newbie with linux..... I have an Asus A7V8x, and a radeon 9500pro, and running fedora core 1. I have tried installing the card using both ati drivers and schneider digital drivers, and I'm having no luck with either. When I type in lspci to get my chipset details, it doesn't recognise the command, so I'm guessing its a via 8377. Can you take a look at the scree dump and advise me where I may be going wrong... I would appreciate it greatly.

[mark@localhost mark]$ su
Password:
[root@localhost mark]# cd X4.1.0-3.7.0
[root@localhost X4.1.0-3.7.0]# rpm -Uvh --force fglrx-glc22-4.1.0-3.7.0.i386.rpmPreparing... ########################################### [100%]
warning: user mtippett does not exist - using root
warning: group mtippett does not exist - using root
warning: user mtippett does not exist - using root
warning: group mtippett does not exist - using root

( Note! The above is repeated many times... just saving space!)

1:fglrx-glc22 ########################################### [100%]
*** Trying to install a precompiled kernel module.
*** WARNING ***
Tailored kernel module for fglrx not present in your system.
You must go to /lib/modules/fglrx/build_mod subdir
and execute './make.sh' to build a fully customed kernel module.
Afterwards go to /lib/modules/fglrx and run './make_install.sh'
in order to install the module into your kernel's module repository.
(see readme.txt for more details.)

As of now you can still run your XServer in 2D, but hardware acclerated
OpenGL will not work and 2D graphics will lack performance.

failed.
*** Found kernel module build environment, generating kernel module now.
ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
skipping patch for 'drmP.h', not needed
patching 'drm_os_linux.h'...
probing for VMA API version...
doing script based build for kernel 2.4.x and similar
compiling './agpgart_be.c'...
compiling './agp3.c'...
compiling './i7505-agp.c'...
compiling './nvidia-agp.c'...
compiling './firegl_public.c'...
linking of fglrx kernel module...
duplicating results into driver repository...
done.
==============================
- creating symlink
- recreating module dependency list
- trying a sample load of the kernel module
Warning: loading /lib/modules/2.4.22-1.2115.nptl/kernel/drivers/char/drm/fglrx.o will taint the kernel: non-GPL license - Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY
See http://www.tux.org/lkml/#export-tainted for information about tainted modules
Module fglrx loaded, with warnings
done.
Installed: qt3 (gcc 3.2) based control panel application
===
ATI display drivers successfully installed
please run 'fglrxconfig' now
===
[root@localhost X4.1.0-3.7.0]# lspci
bash: lspci: command not found

[root@localhost /]# cd /lib/modules/fglrx/build_mod
[root@localhost build_mod]# lspci
bash: lspci: command not found
[root@localhost build_mod]# gedit agpgart_be.c

(Note! This is where I edited the via_generic_setup line for chipset 8377)

(gedit:26301): GnomeUI-WARNING **: While connecting to session manager:
Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed.

[root@localhost build_mod]# ./make.sh
ATI module generator V 2.0
==========================
initializing...
cleaning...
patching 'highmem.h'...
skipping patch for 'drmP.h', not needed
patching 'drm_os_linux.h'...
probing for VMA API version...
doing script based build for kernel 2.4.x and similar
compiling './agpgart_be.c'...
agpgart_be.c:6073: error: `via_kt400_chipset' undeclared here (not in a function)
agpgart_be.c:6073: error: initializer element is not constant
agpgart_be.c:6073: error: (near initialization for `agp_bridge_info[59].chipset_setup')
agpgart_be.c:6073: error: initializer element is not constant
agpgart_be.c:6073: error: (near initialization for `agp_bridge_info[59]')
agpgart_be.c:6079: error: initializer element is not constant
agpgart_be.c:6079: error: (near initialization for `agp_bridge_info[60]')
agpgart_be.c:6085: error: initializer element is not constant
agpgart_be.c:6085: error: (near initialization for `agp_bridge_info[61]')
agpgart_be.c:6091: error: initializer element is not constant
agpgart_be.c:6091: error: (near initialization for `agp_bridge_info[62]')
agpgart_be.c:6124: error: initializer element is not constant
agpgart_be.c:6124: error: (near initialization for `agp_bridge_info[63]')
agpgart_be.c:6130: error: initializer element is not constant
agpgart_be.c:6130: error: (near initialization for `agp_bridge_info[64]')
agpgart_be.c:6136: error: initializer element is not constant
agpgart_be.c:6136: error: (near initialization for `agp_bridge_info[65]')
agpgart_be.c:6150: error: initializer element is not constant
agpgart_be.c:6150: error: (near initialization for `agp_bridge_info[66]')
compiling failed - object file was not generated
[root@localhost build_mod]#
 
Old 01-11-2004, 03:18 PM   #13
Thoddy
Member
 
Registered: Jul 2003
Location: Bremen, Germany
Distribution: Ubuntu 9.10
Posts: 106

Rep: Reputation: 15
Re: Radeon graphics cards with KT400 chipset

Quote:
Originally posted by nemesis636
After months of searching, I finally got my Radeon 9800 Pro working with my KT400 chipset. Here's a howto I wrote to make the process easier for everyone else!
Dude, that rocks!!

Finally(!) - the first thing I've seen that did it also for me! I have a Sapphire Radeon 9700 Pro and the ASUS A7N8X (Via KT400 chip) - I only had to use change the 'PCI_DEVICE_ID_NVIDIA_NFORCE2' entry to the same procedure call ('via_kt400_setup')... now (after a few month) I have almost 500 frames in fgl_glxgears!

Thanks!!
Thoddy
 
Old 01-20-2004, 02:01 PM   #14
daemonTED
Member
 
Registered: Jan 2004
Location: brisbane AUS
Distribution: Sid with kernel 2.6.7
Posts: 30

Rep: Reputation: 16
nemisis636, you FRIKKEN rock!!!

i actually have the kt600 chipset, but i had noticed that when i tried to insmod agpgart verbosely, it claimed i had the kt400. after discovering that i wound up finding your post. when i started reading it i thought, now this guy is onto something.
another funny thing is that my host-bridge model number is apparently 3189. i took a shot in the dark and went with your model number since, as i said, my insmod was reporting kt400.

i spent about a week on this getting all sorts of advice in real time. thanks to you i didn't have to spend months

 
Old 11-15-2004, 07:06 AM   #15
Thoddy
Member
 
Registered: Jul 2003
Location: Bremen, Germany
Distribution: Ubuntu 9.10
Posts: 106

Rep: Reputation: 15
Question Re: Radeon graphics cards with KT400 chipset

Quote:
Originally posted by nemesis636
After months of searching, I finally got my Radeon 9800 Pro working with my KT400 chipset.
Hi - I did the same thing for my nForce2 board that also has the KT400 chip and my Radeon 9700 Pro.

It worked fine as long as I was using Fedora Core 1. Recently I installed Fedora Core 3 which has the x.org X Server instead of the XFree86 (actually, Fedora Core 2 already was using this)... can anyone tell me how to install the 3D acceleration in this environment??

Thanx!
Thorsten
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
DMA don't work chipset kt400 pike Linux - General 14 06-23-2005 03:05 AM
VIA KT400 chipset and agpgart koji Linux - Hardware 179 01-09-2005 08:13 PM
Sound problem with ASUS A7V8X-X chipset KT400 mentallysilent Mandriva 30 06-24-2004 09:07 AM
Radeon 9800 Pro w/ KT400 chipset Direct Rendering not working nemesis636 Linux - Hardware 7 12-22-2003 10:16 AM
KT400 - Radeon 9200 pb bibinsa Linux - Hardware 4 08-03-2003 12:39 AM


All times are GMT -5. The time now is 08:02 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
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration