Join Date: Dec 2002
4191 and Xinerama problems
I was quite lucky, seeing there are new Linux drivers from nvidia and it took me seconds to download the files and start with installation. It was there, the long awaitened GLX1.3/OpenGL1.4 implementation for my favorite OS and favotite hardware.
I installed the stuff from the tarballs, 'cause I run a Debian 3.0 system, with the 2.4.20 kernel. I got 2 monitors, one 19" and one 17" (both crt) using a TwinView config with MetaModes "1280x1024, 1152x64@1280x1024".
I didn't make any modifications to the os-registry.c, because I wanted to
check if everything goes well with the default settings. Reboot - and Xcomes up the ususal way. OK - check some Apps - ut2003demo ... runs, fine! - houdini ...runs, fine! Start some of the demos that come with the glut source - err..., got a window, blowing a hole in my desktop, nothing happens, my Xserver doesn't respond, and cpu-load is up to 100%. Tried some of my own stuff (which used to work fine with the
old driver) written with fltk (a gui toolkit) - same thing happens, the same with the demos from the (fltk) source tree. From now, testing got a little more painful, 'cause everytime, I started one of the critcal
programs, I had to restart the Xserver (sometimes I had to do a hard reset - OUCH! - waiting for my system to come up after checking a 45 GB hard disk .....). So here are some things I tried one by one (I redid most of the earlier tests in the next stage):
1. starting the application on a different screen with the -geometry option, same as before
2. disabling the Xinerama queries with "Option" "NoXinerama..." - no effect
3. using a differet window manager, I normally use blackbox. tried the tiny Motif WM running tests 1 and 2 - same results, even with the failsafe option (no wm and just one xterm)
4. starting X from the console, disabling the Display Manager (I use wdm) - same as above
5. ok, the hard way - disable TwinView - restart, hmm ...all goes well - no problems, must be in the new Xinerama extension
6. Turning of virtual screensize on my second monitor (the smaller one). Hey, seems better now. Programs start, but performance is very, very poor and seems to be carried out on the back of my CPU.
7. recompile some of the apps with the new header files provided (not really a solution, but I was a little dispaired) - nothing
8. Switch back to driver 1.0-3123 and go to sleep
The result I got from testing are (driver 4191):
- 2D acceleration works fine
- 3D acceleraton works fine with a single headed configuration
- in a TwinView configuration, some apps work, some do not (tested with different window managers and even without one and different gui toolkits (QT, FLTK, GLUT/native X)). Even if the Programs opens up succesfully one time, this doesn't ensure it'll do so the next time (starting ut2003 a second, third... time resulted in a black screen
- After running the tests several times it seems to depend on chance, that your GL-Programs open up correctly in a TwinView config - sometimes they do, most times they don't
Since everything runs fine with the 3123-driver (with TwinView) and with
the 4191 driver (without TwinView) I suppose, the problems come with the
new Xinerama extension.
I should mention that I never ran into problems with the older drivers, even though, I did enable all possible features even if they are not recommended to. On my ASUS K7V (Via Apoollo) I turned on SBA, FSB, AGP4X and used the VIA AGP settings with the nvidia agp driver - not a
single crash of my Xserver, all went smooth even with heavy 3d scenes.
Some Specs about my sytem:
Debian 3.0 - kernel 2.4.20 - glibc 2.2.5
Athlon 1GHZ/ASUS K7V/256MB RAM
PNY Verto - GeForce 4 Ti 4200
2 CRT Monitors (19",17")
kernel and driver compiled with gcc 2.95
I got defintely no mesa installation on my sytem, that could conflict with the nvidia implementation (well I keep a source tree, but it's not installed).
If you had similar problems with the new driver - please reply. I was always pleased by the hardware and drivers, nvidia provided for GNU/Linux, and will be so in the future. Maybe this report helps to find some possible errors, or someone may give me a hint what I did wrong. If the error should be in the driver, I hope it is reproducable for debugging.