You are not logged in.

#1 2012-03-02 20:47:56

willyjsimmons
Member
Registered: 2012-03-02
Posts: 5

Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

This is a "guide" to get X up and running on a fresh archlinux install with an Nvidia geforce fx 5200 video card. (or whatever legacy geforce card you can't get working with the default archlinux packages)

"Hey, I'm new to archlinux and I can't get X running on my old nvidia card!?"

The problem:

nvidia-295xx won't work with my video card, nvidia-173xx is incompatible with xorg-server 1.11>, xorg-server 1.10 won't work on linux 3.0>

"What the heck do I do now!?"

There are plenty of threads regarding nvidia problems, X, and "building your own package", but no sane solutions for newbies (I'm 3 days into archlinux).  This is one, it's not perfect, and there are some things which could be cleaned up etc etc.  BUT IT WORKS and provides a path to future kernel upgrades while maintaining a working X environment.

What is it?

nvidia driver 173.14.31-1
nvidia-utils 173.14.31-1
xf86-input-evdev 2.6.0
xorg-server 1.10.6

Just four packages! Not bad. (I was expecting worse really) This is broken down into 8 "steps".

A.) Set up your ABS environment
B.) Build nvidia driver
C.) Build nvidia-utils
D.) Build xorg-server
E.) Build xf86-input-evdev
F.) Install xorg-server and xf86-input-evdev
G.) Install basic X packages
H.) Start X!

Let's get it:

A.) You need ABS - https://wiki.archlinux.org/index.php/Arch_Build_System

B.) Build nvidia driver

1. copy nvidia from /var/abs/extras to ~/abs
2. modify PKGBUILD for nvidia

This PKGBUILD is a modified version of the latest (295xx) build.

You're basically making sure the "_pkg" variable is correct so that the build can download the source file from nvidia's server.  The file ends with "pkg1.run", so you need to modify things a bit to make it work.

You're also providing some meaningful pkg information to separate this package from the latest nvidia build.  We don't want to accidentally upgrade our package and break X. I called this nvidia-173xx, like the old one.(also note the conflicts, depends, and provides info)  We're also changing the directory where the script expects to build the driver as it's been changed since 173xx.

Here's my modified PKGBUILD example - http://pastebin.com/Ds0nAVqg

3. build it with `makepkg -sd --skipchecksums`

We're skipping dependencies (and checksums), it wants nvidia-utils but we haven't built that yet!  That should be it for the nvidia driver.  It should build without much fuss or trouble.

C.) Build nvidia-utils

1. copy nvidia-utils from /var/abs/extras to ~/abs
2. modify PKGBUILD

This PKGBUILD is a mish-mash of the latest (295xx) and old (173xx) files.

Again you want to make sure the "_pkg" variable is right so that the source file downloads and customize the other variables so we don't confuse our package with the standard nvidia offering.

The biggest change is the work section.  The lastet nvidia-utils package also provides an additional opencl-nvidia package that we don't get with the 173xx driver.  There are also some other file differences between the source versions, so we're using the OLD package() routine from the 173xx PKGBUILD.  It should account for all the files we need.

NOTE - this provides libgl when installed so we make sure that libgl is also a conflict, we don't want to overwrite our files!

Here's my modified PKGBUILD example - http://pastebin.com/RvuTPgCR

3. build it with `makepkg -sd --skipchecksums`

Should build without any trouble.

D.) Build xorg-server

This took the longest to get right. (Pay me in Layers!)

We want to find the latest 1.10 xorg server and build it against the 3.2 kernel and our custom 173xx nvidia driver.

1. copy xorg-server from /var/abs/extras to ~/abs
2. install our nvidia-173xx-utils `pacman -U packagefile`
3. install our nvidia-173xx driver `pacman -U packagefile`
4. modify PKGBUILD

The problem was finding a version that was going to actually build. I had no idea if it would even work at all, so I started testing.

This PKGBUILD is based on xorg-server-1.10.3.901-1.

First I removed the patches from the PKGBUILD. But I kept the xvfb-run files.

xorg-server-1.10.99 is actually preported 1.11!!!  It will build but still give the same "This server has a video driver ABI version of 11.0 that is not
supported by this NVIDIA driver."

xorg-server-1.10.3 failed to build. Libtool 2.4.2 error.

You want xorg-server-1.10.6 because it's the latest, but it won't build!!! "Missing compsize.h"!!!!  After some google-fu I figured out I needed a patch to modify a file and supply two more files that were missing. (Makefile.am, compsize.h, glxcmds.h)

here's the patch - http://pastebin.com/FdwbJHth

You need to supply compsize.h, glxcmds.h, and add those files to Makefile.am.  You can apply the patch manually, find the files on the net and supply them by hand, or apply the patch as part of PKGBUILD.  I did it by hand because I was in a "hurry".

Here's my modified PKGBUILD example - http://pastebin.com/bhDDWt3s

I included the url to the missing files, just view them (it's a git repo, http://cgit.freedesktop.org/xorg/xserve … /glxProxy) and copy-paste it if the patch isn't available.  They work!!!

The only thing I really had to modify in PKGBUILD after that was the path to Xserver.1 (doc/man/Xserver1), and add libxdamage to the makedepends array.  (Remember nvidia-173xx-utils provides our libgl, which breaks the libxdamage requirement during our build. `pkg-config --modversion --cflags --libs xdamage` is how I figured out what I was missing) With all that said:

5. build it with `makepkg -sr --skipchecksums`

Hope for the best!!! It should build.  If I've missed anything you may have to adjust the PKGBUILD to get everything just right.

E.) Build xf86-input-evdev

1. copy xf86-input-evdev from /var/abs/extras to ~/abs
2. install our custom xorg-server-devel-1.10.6
3. modify PKGBUILD

Here all you need to do is alter the pkgrel so our package is unique and adjust the makedepends and conflicts.  This is against xorg 1.10.6!

4. build it with makepkg -s

It should build without any troubles.

F.) Install our xf86-input-evdev and xorg-server (`pacman -U packagefile`)

G.) Install xorg-init, xorg-utils, xorg-server-utils, xorg-twm, xterm, and xorg-clock.

H.) reboot and startx

Done.  Again, this could be cleaned up and I may have missed some minor details but this should provide some ideas on what to do.  Keeping your system up to date should be as simple as rebuilding these 4 packages after a system update that involves kernel changes. (And any associated packages you install afterwards that requires xorg-server? We'll See!)

Offline

#2 2012-03-03 04:47:21

anonymous_user
Member
Registered: 2009-08-28
Posts: 3,059

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Someone would likely mention this, but you should make a wiki page for this. It won't get "lost" that way and it can be updated in the future (if necessary).

Offline

#3 2012-03-03 05:17:14

Pres
Member
Registered: 2011-09-12
Posts: 423

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Sounds like you are making the process of downgrading to Xorg 1.10 harder than it really needs to be.

You could try using the (unofficial) Xorg 1.10 repo: https://wiki.archlinux.org/index.php/AT … positories
That was set up for the Catalyst drivers, but I don't see why it wouldn't work with Nvidia also.

You could also just retrieve the binary files from the ARM. You need at least xorg-server, xf86-input-evdev and whatever other xf86-input-* files you are using.

Offline

#4 2012-03-03 06:32:36

willyjsimmons
Member
Registered: 2012-03-02
Posts: 5

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Pres wrote:

Sounds like you are making the process of downgrading to Xorg 1.10 harder than it really needs to be.

You could try using the (unofficial) Xorg 1.10 repo: https://wiki.archlinux.org/index.php/AT … positories
That was set up for the Catalyst drivers, but I don't see why it wouldn't work with Nvidia also.

You could also just retrieve the binary files from the ARM. You need at least xorg-server, xf86-input-evdev and whatever other xf86-input-* files you are using.

Just for giggles I downgraded and went this route.  It worked after I rebuilt the evdev.

"It seemed like a good idea at the time." - Mason Verger

Offline

#5 2012-03-03 10:07:05

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

anonymous_user wrote:

Someone would likely mention this, but you should make a wiki page for this.

In a general sense, yes, such guides are better suited for the wiki, but there's already one for downgrading https://wiki.archlinux.org/index.php/Do … g_Packages
If OP really wants to put this (or a revised version) in the wiki, I'd suggest keeping it on his user (sub)page,

Offline

#6 2012-03-13 17:13:36

willyjsimmons
Member
Registered: 2012-03-02
Posts: 5

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Just an update...maybe just for myself...

upgrading from kernel 3.2.8 to 3.2.9 broke the old nvidia-173xx173.14.31-1 and xorg-server 1.10.4-1

ERROR: could not insert 'nvidia': Exec format error
(EE) NVIDIA(0): Failed to load the NVIDIA kernel module!
(EE) NVIDIA(0): *** Aborting ***

Going forward, building your own might be the only solution?

Offline

#7 2012-03-13 17:16:49

karol
Archivist
Registered: 2009-05-06
Posts: 25,440

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Have you rebooted after updating the kernel?

Offline

#8 2012-03-13 17:19:35

willyjsimmons
Member
Registered: 2012-03-02
Posts: 5

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Yes...That's how I know it's broken wink

I *thought* I rebooted yesterday when I did the upgrade and tested it just to make sure...but as of this morning, no X. No joy.

Offline

#9 2012-03-13 18:08:48

TigTex
Member
From: Portugal
Registered: 2008-06-19
Posts: 301

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Just rebuild the nvidia-173xx and it should work. You will probably need to do that after every kernel update...


.::. TigTex @ Portugal .::.

Offline

#10 2012-03-13 22:12:21

broi
Member
From: Bosnia & Herzegovina
Registered: 2011-12-10
Posts: 127

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Dude, this is what I want for a long time!
Cant wait to check it out!

Last edited by broi (2012-03-14 15:34:23)

Offline

#11 2012-04-18 02:55:15

gibbsrc
Member
Registered: 2012-03-19
Posts: 16

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

I have been doing it this way:

First Time:
1. Used the "downgrade" script to install prebuilt xorg-server 1.10.4-1 and xf86-input-evdev 2.6.0-3 from ARM.
2. Add IgnorePkg = xorg-server xf86-input-evdev to pacman.conf
3. Add nomodeset to grub.cfg to prevent the previous nouveau module from loading at boot. (blacklist didn't work)
4. Remove display manager from rc.conf & reboot.
5. sh NVIDIA-Linux-x86-173.14.31-pkg1.run
6. Fake installation of libgl using `pacman -S --dbonly libgl` to allow dependency checks to pass.

After each upgrade:
Do only steps 4 and 5.

All of this has been working fine through several upgrades up until this latest 3.3 kernel has come out.   Some information is here:

http://weltall.heliohost.org/wordpress/ … a-drivers/

I have downgraded to 3,2,14 and will wait for 3.4 before trying again.

Offline

#12 2012-04-30 03:26:40

Montague
Banned
Registered: 2010-06-24
Posts: 93

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

 

Last edited by Montague (2015-07-28 02:49:48)

Offline

#13 2012-05-01 02:19:15

gibbsrc
Member
Registered: 2012-03-19
Posts: 16

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Thanks for the post.  I just validated the last six steps and can say they worked for me. The nice thing about using the AUR package is that the kernel module compiles without rebooting first.

Offline

#14 2012-05-02 20:50:01

Montague
Banned
Registered: 2010-06-24
Posts: 93

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

 

Last edited by Montague (2015-07-28 02:49:58)

Offline

#15 2012-05-02 20:54:37

.:B:.
Forum Fellow
Registered: 2006-11-26
Posts: 5,819
Website

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

willyjsimmons wrote:

Just an update...maybe just for myself...

upgrading from kernel 3.2.8 to 3.2.9 broke the old nvidia-173xx173.14.31-1 and xorg-server 1.10.4-1

ERROR: could not insert 'nvidia': Exec format error
(EE) NVIDIA(0): Failed to load the NVIDIA kernel module!
(EE) NVIDIA(0): *** Aborting ***

Going forward, building your own might be the only solution?

Sticking to the LTS kernel would be a more sane solution, unless there's stuff in newer kernels you absolutely need.


Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy

Offline

#16 2012-05-03 15:11:20

Montague
Banned
Registered: 2010-06-24
Posts: 93

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

 

Last edited by Montague (2015-07-28 02:50:17)

Offline

#17 2012-05-03 17:06:24

.:B:.
Forum Fellow
Registered: 2006-11-26
Posts: 5,819
Website

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Have you looked at the nvidia-lts PKGBUILD? That one's in the official repos, so it should have good pointers, if you still need any.


Got Leenucks? :: Arch: Power in simplicity :: Get Counted! Registered Linux User #392717 :: Blog thingy

Offline

#18 2012-05-09 10:56:56

lotan_rm
Member
Registered: 2012-05-09
Posts: 3

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Thanks for the description.

The downgrade worked for me exactly as described.

When starting gdm, it loads but I'm stuck without mouse and keyboard working. Also there's a strange graphical artefact---a multicolored line---where the login names appear.

It doesn't seem like any of you had this issue after the downgrade.

I did find someone else describing my symptoms here:

   https://bbs.archlinux.org/viewtopic.php?id=139393

who seemed to have solved the issue by downgrading to xorg 1.9 and evdev 2.5.
I'd like to not downgrade any further than I have to but it no one knows anything about that, I'll have to.

Further Observations:

The xorg log loaded dri and dri2 modules despite using nvidia, so I disabled dri and dri2 in the Module section of xorg.conf.
I had the kernel modules nvidia, nvidia_agp and agpgart loaded. Looking at my other nvidia system, it didn't have the nvidia_agp module loaded, so I rebooted with a blacklisted nvidia_agp.

Both these measures didn't change the problem I'm describing here.

I'm using kernel 3.3.4-2, gdm 3.4.1-2 and gnome-shell 3.4.1-3.
Does anyone else have an idea?

Offline

#19 2012-05-11 20:28:11

Montague
Banned
Registered: 2010-06-24
Posts: 93

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

 

Last edited by Montague (2015-07-28 02:50:28)

Offline

#20 2012-05-14 00:17:52

Konstantin_hu
Banned
Registered: 2012-05-14
Posts: 84
Website

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Fantastic guide! I have tried at least 5 distro recently, but I was able to install the NVidia drivers only in ArchBang according to this guide. Very well done, now my ArchBang is faster than ever!

Intel D865PERL, Intel(R) Pentium(R) 4 CPU 2.40GHz, HyperThread, 2 GB RAM, NVidia FX5200, Kernel 3.3.5-1-ARCH

Offline

#21 2012-05-14 12:36:45

lotan_rm
Member
Registered: 2012-05-09
Posts: 3

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Montague: Can I ask how much memory your NV34 has?

I've found out that mouse and keyboard do work but horribly slowly.

My Xorg.0.log shows regularly:

Warning: Xalloc: requesting unpleasantly large amount of memory: 0 bytes.

Maybe my problem has something to do with that.

Offline

#22 2012-05-14 16:32:13

akumixx
Member
Registered: 2011-05-03
Posts: 59

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

[Solved] by updating system
I am last step to the finish, but there is this.... installing nvidia-173.14.31-7
The same is by using yaourt.
unable to determine kernel version

Last edited by akumixx (2012-05-14 17:11:59)

Offline

#23 2012-05-14 17:47:01

akumixx
Member
Registered: 2011-05-03
Posts: 59

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

[Working]
kernel 3.3.6-1-ARCH
This thread helped me to make it work

Last edited by akumixx (2012-05-14 20:48:06)

Offline

#24 2012-05-16 19:25:10

Montague
Banned
Registered: 2010-06-24
Posts: 93

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

 

Last edited by Montague (2015-07-28 02:50:40)

Offline

#25 2012-05-17 20:47:00

Xwang
Member
Registered: 2012-05-14
Posts: 353

Re: Nvidia 173xx, Kernel 3.2, and X server 1.10.6. Fresh install guide.

Montague wrote:

I know this thread is almost two months old, but for the sake of (hopefully) helping newbies like myself out there, here are the steps I took to tackle this “problem” (I too have been struggling with this issue, since my Nvidia card is old’ish: NV34 [GeForce FX 5200])

Before:
-------
$ pacman -Q xf86-input-evdev --> xf86-input-evdev 2.7.0-2
$ pacman -Q xorg-server      --> xorg-server 1.12.1-1
$ pacman -Q libgl            --> libgl 8.0.2-1
$ pacman -Qs nouveau         --> xf86-video-nouveau 0.0.16_git20120210-1
                             `-> nouveau-dri 8.0.2-1
During:
-------
$ sudo su -
# pacman -Rdd nouveau-dri libgl
# pacman -Rdd xf86-video-nouveau
# pacman -Rdd xf86-input-evdev
# nano /etc/pacman.conf        # Add the [xorg110] repo above all other repositories
# pacman -S xorg-server
# pacman -U http://arm.konnichi.com/extra/os/$(uname -m)/nvidia-173xx-utils-173.14.31-1-$(uname -m).pkg.tar.xz
# exit
$ wget http://aur.archlinux.org/packages/nv/nvidia-173xx/nvidia-173xx.tar.gz
$ tar zxvf nvidia-173xx.tar.gz ; rm nvidia-173xx.tar.gz ; cd nvidia-173xx/
$ makepkg -s
$ sudo pacman -U nvidia-<TAB><ENTER>
$ cd ../ ; rm -rf nvidia-173xx/
$ sudo reboot
After:
------
$ pacman -Q xf86-input-evdev --> xf86-input-evdev 2.6.0-3
$ pacman -Q xorg-server      --> xorg-server 1.10.4-1
$ pacman -Qs libgl           --> nvidia-173xx-utils 173.14.31-1
$ pacman -Qs nvidia-173xx    --> nvidia-173xx-utils 173.14.31-1
                             `-> nvidia-173xx 173.14.31-7
And if you ever wish to go back to the free, open-source Nouveau driver,
just do the opposite:
---------------------
$ sudo su -
# pacman -Rdd nvidia-173xx
# pacman -Rdd nvidia-173xx-utils
# pacman -Rdd xf86-input-evdev
# nano /etc/pacman.conf       # Delete or comment out the [xorg110] repo
# pacman -S xorg-server
# pacman -S xf86-video-nouveau
# pacman -S nouveau-dri
# reboot

Oh, and I know the OP meant for this to be a fresh install guide, well my steps can be used as such: just start with the line that begins with “nano”, should do it for a system that has no X.org installed yet (when you get to the point where you have to add the [xorg110] repo to your /etc/pacman.conf, follow these instruction as already suggested above by Pres)

After every kernel upgrade, only re-do the last 6 steps (starting at the line beginning with “wget”). Your mileage may vary but the above steps worked for me with the latest official -ARCH kernel, i.e. core/linux 3.3.3-1

Advantages of this “method”: only a single package needs to be compiled, namely: nvidia-173xx, and it’s in the AUR, thus no need for ABS and/or any modified PKGBUILD’s, no need for any “downgrade script”, no need to “fake install” libgl.

All needed packages (except nvidia-173xx) are available in binary form; the trick was to use a combination of official and un-official repositories (i.e. http://catalyst.apocalypsus.net and http://arm.konnichi.com (ARM), both already mentioned in this thread)

____________
Caveats
 - This assumes base-devel is installed, and sudo is installed and configured.

 - You may have to tweak the steps a bit depending on your system, e.g. no need to uninstall libgl if you don't have it

 - I re-ran the above steps a few times just to be sure, and they seem to work flawlessly with the default -ARCH kernel (i.e. core/linux from the official repo); however, if you want/need to adapt these instructions to another official kernel (e.g. core/linux-lts) or to any other unofficial kernel found in the AUR or elsewhere, you _will_need_ to tweak the PKGBUILD for nvidia-173xx, as well as the “nvidia.install” file; it is easily done, but this post is getting too long, maybe I can post again later on this; for instance I have successfully adapted the PKGBUILD to run nvidia-173xx with the linux-lts-ck kernel that I currently use.

 - Also, you can safely ignore warnings such as these next time you update your system (caused by the [xorg110] repo we added); on my system at least, downgrading xorg-server and xf86-input-evdev was sufficient to get the nvidia-173xx working:
:: Starting full system upgrade...
warning: xorg-server-common: local (1.12.1-1) is newer than xorg110 (1.10.4-1)
warning: xorg-server-utils: local (7.6-3) is newer than xorg110 (7.6-2)
warning: xorg-server-xvfb: local (1.12.1-1) is newer than xorg110 (1.10.4-1)

I've seen that http://arm.konnichi.com/search/index.ph … ommunity=1 contains also the binary nvidia-173xx package.
Can I use it instead of compiling from source?
Thank you!
Xwang


I'm still learning English so please excuse me if my English is not good enough and feel free to correct me via PM if you want.

Offline

Board footer

Powered by FluxBB