Archived

This topic is now archived and is closed to further replies.

elendil67

Drivers for a Geforce 4

Recommended Posts

Hey all. Of course, XFree86 does not work from the configurations. I have turned UseFVDev off and also have turned off something like DPMS. I can get Linux to work in VGA mode and in VESA, but when I use the nv drivers it doesn''t work. I have a PNY GeForce 4 Ti 4200. I would think that the drivers would work. Do I need to get the new NVIDIA drivers? I am doing this on Debian 3.0. It is kind of strange. VESA and VGA will work, but nv will not. Any suggestions on what I might be doing wrong and what I can do about it? Thanks.

Share this post


Link to post
Share on other sites
Hmm, "nv" should work, but I can''t tell you how to fix it.

To get the most out of your NVidia card in *nix you have to use the closed NVidia drivers. The newest drivers (4xxx series) suck, but the next-to-newest (3xxx series) are pretty good.

Debian has a package for them on the non-free server (nvidia-kernel-src and nvidia-glx-src). You can grab the next-to-newest from Debian''s testing repository (Debian also has an archive server, incase the 3xxx package is ever removed from testing). The instructions in /usr/share/doc/nvidia-*-src tell you all you need to know to set them up in a Debian-friendly manner.

Share this post


Link to post
Share on other sites
What''s wrong with the 4xxx nvidia drivers? I''ve been using them on WinXP and Mandrake 9.0 and they work very nicely. Certainly work better than the ''nv'' drivers anyway. But then again I''ve had Linux for about a week, so what do I know!

Share this post


Link to post
Share on other sites
I dunno if you''ve done this and i''m stating the obvious, or if i''m completely wrong, but you''re supposed to change the ''nv'' part to ''nvidia'' in your XF86Config file when you install the real nVidia drivers.

500x8!

Share this post


Link to post
Share on other sites
quote:
Original post by -Thork-
What's wrong with the 4xxx nvidia drivers?

The 3D acceleration is fine (as far as I could tell), but the 2D is broken.
quote:
NVidia
The driver no longer uses the XFree86 Acceleration Architecture (XAA), but provides its own 2D acceleration architecture to better accomodate the needs of simultaneous 3D and 2D rendering.

And they did a poor job of making their own 2D acceleration code, I guess.

The 2D rendering is slow (if you run 'glxinfo', it improves a little for some reason, but the 2D performance isn't nearly as good as the 3xxx drivers; this matters a lot if you have a high resolution), it doesn't update the screen correctly (parts won't be redrawn when they should, and 'random' pixels will occasionally be drawn instead), et cetera.

This will probably improve later on.



[edited by - Null and Void on January 20, 2003 5:37:56 PM]

Share this post


Link to post
Share on other sites
Thank you Null and Void, -Thork-, and BradDaBug for your input. So you would suggest I get the NVIDIA drivers? This stinks. During the installation whenever I tried to connect to the Debian servers it would not work. Strange. I will try and fix my connection and then I can download the new drivers. I have to get used to this filesystem though. So secure yet confusing. Windows just had Program Files and that is it. FHS is definitely better in the long run though. So I will try to get Linux internet working and then I can do this. Thank you. Any other reasons why you think it might be bad? Thank you for your consideration.

Share this post


Link to post
Share on other sites
With out know how "its not working" its hard to say. Give us some error codes (full error out put log of X starting up would be nice).

yes I would use the drivers from nvidia. the closed source bothers me, but its better than no 3D acceleration =)

Share this post


Link to post
Share on other sites
Ok, now I got my networking working. I downloaded the drivers through Lynx. The only problem is, I don''t know where Lynx saves files to! I looked for the files in some directories, did a find command, and looked at the man page, but none said anything about where lynx saves downloaded files! Can you tell me where lynx puts these? Thanks.

Share this post


Link to post
Share on other sites
Thanks, Null. Ok, now I have the nvidia drivers, and I''m trying to compile NVIDIA_kernel_1.0-4191, but I get the following error when I say ''make install'':

In file include from nv.c:14:
nv-linux.h:24: linux/modversions.h: no such file or directory

I looked at the source for this, and nv.c is including nv-linux.h, which includes a header named (linux/)modversions.h, but it doesn''t exist. Do you know what I am doing wrong here? Is there something I''m missing? Thanks for your help!

Share this post


Link to post
Share on other sites
Since you said you're using Debian, do this to install the NVidia 4xxx drivers.

Make sure you have /etc/apt/sources.list downloading from the unstable repository before starting. Here's an example sources.list to download from only the unstable repository:

# See sources.list(5) for more information, especialy
# Remember that you can only use http, ftp or file URIs
# CDROMs are managed through the apt-cdrom tool.

# All unstable repositories:
deb http://http.us.debian.org/debian/ unstable main non-free contrib
# For source:
# deb-src http://http.us.debian.org/debian/ unstable main non-free contrib


Now open a terminal (or, if you're already in one, stay there ), and enter the lines that follow without the beginning "$ ":

To get some preliminary information:
$ uname -r
This will tell you the kernel version you're running. Make a note of this.

Now we'll login as root (superuser):
$ su
Enter you password there when it asks for it.

Now, we'll make sure we have an up-to-date package list, and download the Debian wrapper packages for the NVidia drivers as well as the kernel headers (so that we can build the drivers):
$ apt-get update
$ apt-get install kernel-headers-version
$ apt-get install nvidia-kernel-src nvidia-glx-src

Replace version with the version that we found earlier. Depending upon the kernel version, the headers package can be relatively large.

Now, we'll setup environment variables for the Debian wrapper packages to be built with:
$ export KSRC=/usr/src/kernel-headers-version
$ export KVERS=version

Replace version with what you found earlier.

Note: the following instructions can be found in /usr/share/doc/nvidia-kernel-src/README.Debian.gz.

Enter the following into the terminal:
$ cd /usr/src
$ tar xzvf nvidia-kernel-src.tar.gz
$ cd modules/nvidia-kernel-*
$ debian/rules binary_modules


That will build the first package.

Note: the following instructions can be found in /usr/share/doc/nvidia-glx-src/README.Debian.

Enter the following into the terminal:
$ cd /usr/src/nvidia-glx-*
$ dpkg-buildpackage -us -uc


That will build the second package.

Now, we'll install both of them. Enter this in the terminal:
$ cd /usr/src
$ dpkg -i nvidia-*.deb


Now, we'll edit the X configuration file to make it use these new drivers. Open /etc/X11/XF86Config-4 in some editor (vim, for example), and follow these instructions:
In Section "Module":

  1. add Load "glx"
  2. remove Load "dri"
  3. remove Load "GLcore"

In Section "Device"

  1. Change Driver "nv" to Driver "nvidia"


When you are done editing XF86Config-4, do this in a terminal (just incase):
$ modprobe nvidia

Now, try to start X ($ startx).

That was all documented in /usr/share/doc. That's the correct 'official' way to do it in Debian, by hand, without screwing up the system .

The 3xxx drivers are a little different than the 4xxx drivers (and the 3xxx drivers work MUCH better in my opinion). If you want me to modify that for the 3xxx drivers, just ask.



[edited by - Null and Void on January 27, 2003 12:45:03 AM]

Share this post


Link to post
Share on other sites
Thanks so much for your help Null. You have been very persistant. The only thing is that I don''t get your last post--I feel like a newbie, but I am one, so it kind of works out.

-Make sure you have /etc/apt/sources.list downloading from the unstable repository before starting.

Ok I don''t really have a clue of what you are saying here. I think I''m supposed to download some sort of sources.list from an unstable repository.

For the code part, I sort of understand what you are saying, but is that some sort of shell script or something? Or do I just enter all that stuff in the console? If it is a shell script, do you know how I can compile/interpret/run it? Thank you for your patience with my supreme newbieness.

Share this post


Link to post
Share on other sites
quote:
Original post by elendil67
Thanks so much for your help Null. You have been very persistant. The only thing is that I don't get your last post--I feel like a newbie, but I am one, so it kind of works out.

Don't worry about it. Debian is different from other distro's, it's best to get into its mentality to use it fully, which takes a while .

I went back and (tried to) fix the post to be more useful .

Edit:
If you're wondering why the NVidia drivers are such an annoyance to install, here are some reasons:

  • The NVidia drivers don't use most of the common graphics acceleration driver framework that Linux and XFree86 provide (DRI). So, they need to replace your OpenGL libraries as well as have their own kernel module (DRI has its own kernel module, which is used by all DRI drivers).

  • The NVidia drivers are almost completely closed source, so there's no way to really incorporate them in an existing project (like the Linux kernel, or XFree86, or DRI). They have an open source 'stub' so that the binary code can be compiled to work with more than one kernel revision reliably. If the NVidia drivers were incorporated into each version of those projects, you wouldn't have to compile it yourself.

  • Debian runs on something like 16 architectures, and the NVidia drivers only run on two (IA-32 and IA-64), so there's no way Debian will recognize them as part of the "official" Debian distribution (notice the "non-free" part of the line in the repository text I had above?).





[edited by - Null and Void on January 28, 2003 1:01:19 AM]

Share this post


Link to post
Share on other sites
Thanks so much for all of that documentation, but it is still not working. Everything went fine until I hit:

$ debian/rules binary_modules

When it was building the kernel, it got the exact same error as I got before:

In file include from nv.c:14:nv-linux.h:24: linux/modversions.h: no such file or directory


Do you have any idea why this could be? Thanks for your patience.

By the way, do you think the fact that I turned off UseFBDev and erased DPMS is somehow bad with NVIDIA cards? I just had to do that to get my ATi card working. Should I change these back? Thanks.

Share this post


Link to post
Share on other sites
quote:
Original post by elendil67
When it was building the kernel, it got the exact same error as I got before...

Did you download the kernel headers package (kernel-headers-version) and set the environment variable (KSRC) to point to the correct directory?

quote:
Original post by elendil67
By the way, do you think the fact that I turned off UseFBDev and erased DPMS is somehow bad with NVIDIA cards? I just had to do that to get my ATi card working. Should I change these back? Thanks.

I don''t know, I''ve never messed with those settings. I''d try to leave the settings as close to the defaults as possible though.

BTW, Off Topic: If you have used the DRI ATI Linux drivers and/or the closed ATI Linux drivers, what would you say about their completeness and quality? I''m thinking of getting an ATI card in the future, but I''m worried about driver quality.

Share this post


Link to post
Share on other sites
Null: The open-source drivers work well, as far as I know. To get my Rage 128 working I just had to take out UseFBDev and DPMS, and it worked pretty well. I am sorry that I can't really gauge the drivers for you because I have never used their closed-source drivers under Linux, and I haven't run any tests on the open-source ones. I think that the open-source ones are good though. Also, I have had a good experience with ATIs drivers under Windows, although I was not using a Radeon. I heard that their R300s have good drivers though.

edit: By the way, I think I put the right stuff in. I'll double check though .

Thanks.

[edited by - elendil67 on January 29, 2003 6:46:15 PM]

Share this post


Link to post
Share on other sites
Hehe, turns out I didn''t. Always good to double-check. I got a bit further in the line, but not all the way (yet). This time I got stopped at the following part:

Now, we''ll install both of them. Enter this in the terminal:
$ cd /usr/src
$ dpkg -i nvidia-*.deb

The problem is is that there is no nvidia-1.0.4191.deb. These are the only .deb files I have in the /usr/src directory:

nvidia-glx-dev_*-1_i386.deb
nvidia-glx_*-1_i386.deb
nvidia-kernel-version_*-2+_i386.deb

I am pretty sure I have the right KSRC files here. Do you know what I may be doing wrong? Thanks for your persistance!

Share this post


Link to post
Share on other sites
Yes, it works! Thank you for all your help -Thork-, BradDaBug, and the Great Milenko.

However, I think that I should give Null and Void a big thank you for all of his help. Thank you Null and Void! I am currently posting from Mozilla in KDE! Thanks for all your help. You have been very persistent, patient, and polite with me. You are obviously a very skilled computer programmer, and yet you are also extremely helpful and patient. The politeness and patience that you showed are worthy of more than a moderator. Thank you for all of your help!

Share this post


Link to post
Share on other sites