Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 08-12-03, 03:33 AM   #13
Ross Clement
Registered User
 
Join Date: Jul 2003
Location: London, Uk
Posts: 32
Default Re: OP

OP stands for "Original Poster". I.e. the person who started this thread. I.e. you.

I get very similar results to you when I try to modprobe agpgart (the 'no such device', etc.). I'm also running (possibly not for much longer) redhat 9. I had no problem applying the patches in the nvidia driver distribution to my kernel. At least, 'patch' did not come up with any errors. I compiled a custom kernel with /dev/agpgart support disabled (not even a module), and used 'Option "NvAGP" "1"' in XF86Config.

As far as I can see, AGP itself is running. At least, XFree86Config.0.log reports that option "1" has been requested, and my agp status is listed as enabled.

Cheers,

Ross-c
__________________
Life would be perfect if it wasn't for thisone small glitch....
Ross Clement is offline   Reply With Quote
Old 08-12-03, 07:23 PM   #14
etr
Registered User
 
Join Date: Aug 2002
Location: NC, US
Posts: 55
Default On Compiling Kernels and MTRR

Well, I have a system running with 2.4.20-8 using the 4363 driver, so it looks like you should have MTRR enabled. Just as a paranoia check, it might be smart to run the following command, however:

grep -i mtrr /var/log/dmesg

The output of that command can be used to verify the presence of MTRR support.

In addition, it would probably be helpful if you would post more information nVidia driver information from the /proc file system. The following command should make this easier:

find /proc/drivers/nvidia -exec echo \; -exec echo {} \; -exec cat {} \; 2>/dev/null 1>file

(On some systems, it may be necessary to replace "{}" with "\{\}".)

In addition, it would be helpful to know what motherboard is being used. While this isn't necessarily the case, there may be an issue between your specific type of motherboard and nVidia. From what I've read in the FAQ, there are a LOT of little gotchas for different motherboards.

Just for background on kernel compilation, you need the kernel source to build a kernel. The kernel source is generally found under /usr/src/. The directory name for the source usually specifies the linux version (ie, /usr/src/linux-2.4.20/). In addition, there is often a symlink called /usr/src/linux that points to the proper directory. (This makes it very easy to keep the source for multiple kernels.) However, in RH9, the soruce for the provided kernel should be in /usr/src/linux-2.4.20-8/ (provided that the kernel source package has been installed), and the symlink is named /usr/src/linux.

Much more than that, and I'll recommend you explore some of the docs and find a kenel compilation readme. However, before you build a custom kernel, you build a configuration that determines what gets built. This file will be named .config, and will be in the Linux source directory (ie, /usr/src/linux-2.4.20-8/). However, please note that all files whose names start with a "." are hidden, so they won't show up with "ls" unless you specify the "-a" option. AFAIK, RedHat does not include a .config file with its kernel source, so you won't have one unless you have built a custom kernel.
etr is offline   Reply With Quote
Old 08-12-03, 08:02 PM   #15
jager
Registered User
 
Join Date: Aug 2003
Posts: 11
Default

My motherboard is an ASUS CUV4X with the VIA Apollo Pro 133Z Chipset

grep -i mtrr /var/log/dmesg produces the following:
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel

the find /proc/drivers/nvidia -exec echo \; -exec echo {} \; -exec cat {} \; 2>/dev/null 1>file command didn't return anything so I thought I would just post the information in all the files:

proc/driver/nvidia/version
NVRM version: NVIDIA Linux x86 nvidia.o Kernel Module 1.0-4496 Wed Jul 16 19:03:09 PDT 2003
GCC version: gcc version 3.2

/proc/driver/nvidia/agp/card
Fast Writes: Supported
SBA: Not Supported
AGP Rates: 4x 2x 1x
Registers: 0x1f000017:0x00000000

/proc/driver/nvidia/agp/host-bridge
Host Bridge: VIA Technologies, Inc. VT8605 [ProSavage PM133]
Fast Writes: Not Supported
SBA: Supported
AGP Rates: 4x 2x 1x
Registers: 0x1f000207:0x00000000

/proc/driver/nvidia/agp/status
Status: Disabled

/proc/driver/nvidia/cards/0
Model: GeForce4 MX 440
IRQ: 11
Video BIOS: 04.17.00.30.11
Card Type: AGP

That is every file underneath the nvidia directory.

Any other suggestions on things I can try?

in my /usr/src/linux-2.4/configs directory i have several .config files....
kernel-2.4.20-athlon.config kernel-2.4.20-i386-smp.config kernel-2.4.20-i686.config
kernel-2.4.20-athlon-smp.config kernel-2.4.20-i586.config kernel-2.4.20-i686-smp.config
kernel-2.4.20-i386-BOOT.config kernel-2.4.20-i586-smp.config kernel-2.4.20-x86_64.config
kernel-2.4.20-i386.config kernel-2.4.20-i686-bigmem.config kernel-2.4.20-x86_64-smp.config
Are these the kernal files you are refering to? To my knowledge I have not compiled any custom kernals.
jager is offline   Reply With Quote
Old 08-13-03, 06:11 PM   #16
etr
Registered User
 
Join Date: Aug 2002
Location: NC, US
Posts: 55
Default

OK, the chipset is very relevant here--the README for the drivers includes the following text:

Quote:
The following AGP chipsets are supported by NVIDIA's AGP; for all other chipsets it's recommended that you use the AGPGART module.

o Intel 440LX
...
o AMD 762 ("IGD4 MP")
o VIA 8371
o VIA 82C694X
o VIA KT133
o VIA KT266
o RCC 6585HE
...
In short, there is a possibility that nVidia's own AGP module does not support your motherboard chipset. While I won't say this with finality yet, I think the next step is to check your PCI ID's. The following two commands might be helpful:

lspci
lspci -n

This will make it pretty easy to figure out what we're looking at. The following is the relevant code from the 4191 version of the nVidia driver (I'm guessing that they haven't added new support for older hardware):

{ PCI_VENDOR_ID_VIA, 0x0391, "Via Apollo Pro KX133 " },
{ PCI_VENDOR_ID_VIA, 0x0305, "Via Apollo Pro KT133 " },
{ PCI_VENDOR_ID_VIA, 0x3099, "Via Apollo Pro KT266 " },
{ PCI_VENDOR_ID_VIA, 0x0691, "Via Apollo Pro " },
{ PCI_VENDOR_ID_VIA, 0x0501, "Via MVP4 " },
{ PCI_VENDOR_ID_VIA, 0x0597, "Via VP3 " },
{ PCI_VENDOR_ID_VIA, 0x0598, "Via MVP3 " },
{ PCI_VENDOR_ID_VIA, 0x0000, "Via (unknown) " },
{ 0x0000, 0x0000, "Unkown Host Bridge " },

If we can't find the PCI ID for your motherboard in this list, we may have to steer you toward using AGPGART. Of course, it wouldn't hurt to run a similar check with your current drivers. If you still have the code for the drivers handy, it would be helpful if you would run

grep -n PCI_VENDOR_ID_VIA nv.c

This will get the corresponding list fo the drivers you are running.

At this point, I'm not confident enough to say whether your chipset is supported, but getting those PCI ID's would be a step in the right direction.

One other quick note...

Quote:
the find /proc/drivers/nvidia -exec echo \; -exec echo {} \; -exec cat {} \; 2>/dev/null 1>file command didn't return anything ...
I put the word "file" in bold to signify that a filename should have been provided. If you look at where you ran the command, there is probably a file named "file" with the information you just posted . To get the information dumped to the terminal, you would just need to remove "1>file" from the end of the command. I apologize for not being more explicit.

Fixed a broken end quote tag
etr is offline   Reply With Quote
Old 08-13-03, 08:02 PM   #17
jager
Registered User
 
Join Date: Aug 2003
Posts: 11
Default

I dug further into my motherboard manual about my chip sets and it says:
North Bridge System Chipset Features the VIA VT82C694Z system controller
South Bridge System Chipset is the VIA VT82C686A

lspci returned:
00:00.0 Host bridge: VIA Technologies, Inc. VT8605 [ProSavage PM133] (rev 81)
00:01.0 PCI bridge: VIA Technologies, Inc. VT8605 [PM133 AGP]
00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
00:04.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE (rev 10)
00:04.2 USB Controller: VIA Technologies, Inc. USB (rev 10)
00:04.3 USB Controller: VIA Technologies, Inc. USB (rev 10)
00:04.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
00:04.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 20)
00:0f.0 PCI bridge: IBM IBM27-82351 (rev 01)
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3)
02:00.0 Network controller: Compaq Computer Corporation Netelligent 10/100 Dual (rev 10)

lspci -n returned:
00:00.0 Class 0600: 1106:0605 (rev 81)
00:01.0 Class 0604: 1106:8605
00:04.0 Class 0601: 1106:0686 (rev 22)
00:04.1 Class 0101: 1106:0571 (rev 10)
00:04.2 Class 0c03: 1106:3038 (rev 10)
00:04.3 Class 0c03: 1106:3038 (rev 10)
00:04.4 Class 0600: 1106:3057 (rev 30)
00:04.5 Class 0401: 1106:3058 (rev 20)
00:0f.0 Class 0604: 1014:0022 (rev 01)
01:00.0 Class 0300: 10de:0171 (rev a3)
02:00.0 Class 0280: 0e11:ae40 (rev 10)
02:01.0 Class 0280: 0e11:ae40 (rev 10)
02:01.0 Network controller: Compaq Computer Corporation Netelligent 10/100 Dual (rev 10)

If we can't find the PCI ID for your motherboard in this list, we may have to steer you toward using AGPGART. Of course, it wouldn't hurt to run a similar check with your current drivers. If you still have the code for the drivers handy, it would be helpful if you would run

grep -n PCI_VENDOR_ID_VIA nv.c

I am guessing you are refering to the drivers for my motherboard? I don't have any. Just whatever RedHat installed during the install of the OS. I did run the command however it returned:
grep: nv.c: No such file or directory
I did a find . -name nv.c from / as root and it did not find the file.

It looks as if my chipset is not supported from the list you posted. What are the steps to get me to use AGPGART?

Thanks for your help!!!!!
jager is offline   Reply With Quote
Old 08-13-03, 10:10 PM   #18
jager
Registered User
 
Join Date: Aug 2003
Posts: 11
Smile I GOT IT WORKING!!!!

It works now!

Ok, here is what I did. I still don't totaly understand what this is doing so I am hoping somebody can explain it to me. I changed "NvAGP" "1" to "NvAGP" "3" then ran
modprobe agpgart agp_try_unsupported=1

Now my games run at an acceptable speed.

How do I get this command to be applied at all times so I don't have to type it in every time I want to play a game. Do I just put it in the rc.local file?
Also, is this a decent solution? Is there something else better I should strive for? Possibly recompiling the kernal with out AGP or something?

Thanks for everybodys help!
I do appreciate it!
jager is offline   Reply With Quote
Old 08-14-03, 01:05 AM   #19
kareemy
Registered User
 
Join Date: May 2003
Posts: 21
Default

its a decent solution. Try adding this to your modules.conf

alias char-major-10-175 agpgart
options agpgart agp_try_unsupported=1

Your agpgart.o module should get loaded when you startx just like nvidia.o and it should use that agp_try_unsupported=1 option by default.

good luck
kareemy is offline   Reply With Quote
Old 08-14-03, 01:06 AM   #20
kareemy
Registered User
 
Join Date: May 2003
Posts: 21
Default

Don't forget to run depmod -a after editing your modules.conf.
kareemy is offline   Reply With Quote

Old 08-14-03, 07:00 PM   #21
etr
Registered User
 
Join Date: Aug 2002
Location: NC, US
Posts: 55
Default

Well, follow Kareemy's advice, and you should be ready to roll.

The reason this worked is that setting nvAGP to "1" tells the driver to only try nVidia's own AGP implementation. For unsupported motherboards, like yours, this will fail, and the driver won't use AGP. That's why we suggested you try AGPGART.

Offhand, I don't know if AGPGART supports your chipset or not. If you had trouble loading it before, it is likely that there is no explicit support for your chipset. However, your chipset is pretty similar to some other Via chipsets, so when you specified the "try unsupported option", it probably loaded up some generic Via support and worked.

From that point, all you needed to do was change your nvAGP option so that it would try to use AGPGART. Changing from "1" (try nVidia's AGP implementation only) to "3" (try AGPGART first, and then try nVidia's AGP implementation if AGPGART fails) accomplished this. If you want to confirm this verdict, you could change nvAGP to "2" (only try AGPGART). I would expect things to keep working fine.

If you're feeling a little adventurous, you can explore trying to get nVidia's AGP implementation working with your chipset. The driver includes just enough source to try this. If you're interested, I'll post some advice. If it were to work, it'd probably be a good idea to forward the results to nVidia so that they can explore supporting your motherboard better .

In any case, I'm glad to hear you're up and kicking!
etr is offline   Reply With Quote
Old 08-14-03, 08:20 PM   #22
jager
Registered User
 
Join Date: Aug 2003
Posts: 11
Default

Here is what my modules.conf file looks like:

alias eth0 tlan
alias eth1 tlan
alias usb-controller usb-uhci
alias sound-slot-0 via82cxxx_audio
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
alias char-major-195 nvidia

Do I just add...
alias char-major-10-175 agpgart
options agpgart agp_try_unsupported=1
...to the bottom of the file?

etr...I would be willing to give it a shot if you are willing to help me out. From most of the posts it seems that I could get even better performance out of the nvidia one.

Thanks!
jager is offline   Reply With Quote
Old 08-14-03, 10:09 PM   #23
etr
Registered User
 
Join Date: Aug 2002
Location: NC, US
Posts: 55
Default

Quote:
Do I just add...
alias char-major-10-175 agpgart
options agpgart agp_try_unsupported=1
...to the bottom of the file?
I believe that should do it. The only thing I can't verify offhand are the major and minor device numbers, but I really do think that kareemy has his ducks in a row here.

Quote:
I would be willing to give it a shot if you are willing to help me out. From most of the posts it seems that I could get even better performance out of the nvidia one.
Well, here goes:

The first change needs to be made to the nv.c file. Here is a portion of the file:

Code:
static struct host_bridge_t known_hosts[]  = {
    { PCI_VENDOR_ID_AL,     0x1541,  "ALi M1541            " },
    /* Skipping lots of records here for brevity... */
    { PCI_VENDOR_ID_SI,     0x0000,  "SiS (unknown)        " },
    { PCI_VENDOR_ID_VIA,    0x0391,  "Via Apollo Pro KX133 " },
    { PCI_VENDOR_ID_VIA,    0x0305,  "Via Apollo Pro KT133 " },
    { PCI_VENDOR_ID_VIA,    0x3099,  "Via Apollo Pro KT266 " },
    { PCI_VENDOR_ID_VIA,    0x0691,  "Via Apollo Pro       " },
    { PCI_VENDOR_ID_VIA,    0x0501,  "Via MVP4             " },
    { PCI_VENDOR_ID_VIA,    0x0597,  "Via VP3              " },
    { PCI_VENDOR_ID_VIA,    0x0598,  "Via MVP3             " },
    { PCI_VENDOR_ID_VIA,    0x,0605, "Via ProSavage PM133  " },
    { PCI_VENDOR_ID_VIA,    0x0000,  "Via (unknown)        " },
    { 0x0000,               0x0000,  "Unkown Host Bridge   " },
};
The portion in bold is what you need to add to your file. (Please note that this little snippet, like the one form a prior post, is from the 4191 driver. Yours may differ slightly.) This change should get the nVidia driver to recognize your chipset.

Once that is done, however, I would recommend a couple of additional tweaks. Some Via chipsets--particularly int eh 133 series had a couple issues nVidia had to reduce the AGP rate for. For starters, it would be smart to do the same here. The driver might not be able to do it automatically, as it probably has no provisions to test for your individual chipset. As a result, I would recommend starting off with a maximum of AGP 2x, and then testing higher values later if that works (and you're inclined to experiment). To do this, you will need to edit the os-registry.c file.

According to the readme, there are two lines you will need to change. Here is the first one:

Code:
static int NVreg_ReqAGPRate = 7;
You will need to change the "7" to the desired value. The value should be the sum of the AGP settings you are willing to let the driver use. For example 4 + 2 + 1 = 7, so the default value indicates that the driver should be willing to use AGP 4x, 2x, or 1x. I recommend you let the driver run in 2x or 1x (but not 4x), which would require a value of 3.

With this done, you will need to change the line in bold in the following code:

Code:
nv_parm_t nv_parms[] = {
    { NULL, "__VideoMemoryTypeOverride",  &NVreg_VideoMemoryTypeOverride  },
    { NULL, "ResmanDebugLevel",           &NVreg_ResmanDebugLevel         },
    { NULL, "EnableVia4x",                &NVreg_EnableVia4x              },
    { NULL, "EnableALiAGP",               &NVreg_EnableALiAGP             },
    { NULL, "UpdateKernelAGP",            &NVreg_UpdateKernelAGP          },
    { NULL, "__ReqAGPRate",               &NVreg_ReqAGPRate               },
    { NULL, "EnableAGPSBA",               &NVreg_EnableAGPSBA             },
    { NULL, "EnableAGPFW",                &NVreg_EnableAGPFW              },
    { NULL, "SoftEDIDs",                  &NVreg_SoftEDIDs                },
    { NULL, "Mobile",                     &NVreg_Mobile                   },
    { NULL, "FlatPanelMode",              &NVreg_FlatPanelMode            },
    { NULL, NULL,                         NULL                            }
};
This line should be changed to

Code:
    { NULL, "ReqAGPRate",               &NVreg_ReqAGPRate               },
After that, you will need to compile the kernel module per the instructions, unload AGPGART, set nvAGP to "1", and start testing. Good luck!
etr is offline   Reply With Quote
Old 08-15-03, 10:32 AM   #24
jager
Registered User
 
Join Date: Aug 2003
Posts: 11
Default

Quote:
After that, you will need to compile the kernel module per the instructions, unload AGPGART, set nvAGP to "1", and start testing
I know how to set NvAGP to "1" but I don't know how to compile the kernel or unload AGPGART. What instructions are you refering to?

Again...I do appreciate all of your help!
jager is offline   Reply With Quote
Reply


Thread Tools

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
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
Remastered Doom 3 BFG Edition Game Coming with Stereo 3D Support News Archived News Items 0 06-01-12 05:30 AM
R9500 specs sebazve Other Desktop Graphics Cards 15 10-17-02 04:20 AM
Official Detonator 40.xx Feedback Thread pelly NVIDIA Windows Graphics Drivers 299 09-22-02 06:54 AM
Gentoo and agp trouble john36 NVIDIA Linux 2 09-12-02 10:36 PM
X freezes when agp 4x is enabled jinksed NVIDIA Linux 1 08-07-02 04:56 PM

All times are GMT -5. The time now is 03:50 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.