XFree86 3.3.6 -> 4.0.3

Ok, here's a strange bit...
I'm working on my Mandrake 8.0 box. One thing I've noticed is that it has mis-detected my GeForce2 MX card as a GeForce DDR Maybe this accounts for my stability problem??

I figured this was due to the fact that the closed source nVidia drivers are not included in the download release of Mandrake 8.0. So, I downloaded the src rpm and install them no problem. Then I edit /etc/X11/XFree86Config-4 to load glx and use the nvidia drivers instead of nv. Should be good, right?

I startx and try gears. nada, no glx. I'm thinking the X server is reading /etc/X11/XFree86Config instead of /etc/X11/XFree86Config-4, so I move /etc/X11/XFree86Config to a backup and restart X. Now I get NOTHING. That's right, it was using /etc/X11/XFree86Config, which means I'm using XFree86-3.3.6!?! I confirmed this with X -showconfig

I queried the rpm database, and the XFree86-4.0.3 RPMs are installed. So, how do I get it to use 4.0.3 instead of 3.3.6??

In theory, there is no difference between theory and practice.
In practice, there is.
11 answers Last reply
More about xfree86
  1. Did you restarted your machine after installing Nvidia drivers? I remember Nvidia's kernel driver needing restart cause it wasn't loadable on-the-fly. You can check whereas it's working or not by cat'ing /dev/nv/card-01 (if there's no such thing it ain't work but I guess you know that yourself, too ;). You can check whereas GLX is loaded or not by looking X server logs. If it's loaded but some OGL apps still running slow/wierdly, you probably have some old MESA OGL libs lurking around. I had problems with apps using old Mesa libs from X11 /libs folder (should be somewhere /usr/X11/libs). After removing those libGL.x.xx from there and relinking libGL.so into nvidia's accelated libs (from /usr/lib folder I guess) things started to work way faster&better. What's that "gears" ? Is it stand-alone application or part of the Xscreensaver? I found "gears" from Xscreensaver and that seemed to use just those old MESA libs from X folder I wrote about. Hope you get your X running, forgive me if some part of my response seems too elementary to you.
  2. My bad, I didn't read your post through carefully enough. I got my XFree86 4.0.3 working by downloading gzipped binaries and installer from XFree86's ftp server. Install script replaced and relinked everything needed from old 3.3.6. XFree 4.x.x has changed configuraton file format so old XF86config-file from 3.3.6 can't work with newer X server and vice versa. This also means that conf-file file generated by old Xconfigurator will not work. I can give you better advice if I get home, I don't have any machines with new X at work currently...
  3. Ok, one thing at a time here.

    Start with the easy one:
    gears is an OpenGL demo that comes with mesa. If OpenGL is working, either through mesa, or through nvidia drivers, gears should work.

    My basic problem is that both XFree86 3.3.6 <b>AND</b> XFree86 4.0.3 appear to be installed (at least according to the rpm database)! But 3.3.6 is the one that is actually running. I suppose I could uninstall all the XFree86 RPMs and start from scratch. I was just hoping for something easier.

    Also, there is no XFree86 log file on the system!? I checked all the usual suspects and then searched the entire file system for XFree86*log

    In theory, there is no difference between theory and practice.
    In practice, there is.<P ID="edit"><FONT SIZE=-1><EM>Edited by ergeorge on 05/02/01 11:42 AM.</EM></FONT></P>
  4. Did you re-run xf86config or the like?

    Also, there's usually a symlink (/usr/X11R6/bin/X) that points to the X server you're using. It may still be pointing to your old (3.3.6) X server. It needs to point to /usr/X11R6/bin/XFree86, because that's what xinit looks for when it starts.

    3.3.6 and 4.0.3 should be able to coexist peacefully, btw. It's just a matter of maintaining different XF86Config files for different servers (see the XF86Config man page for details on how to do this) and also maintaining the /usr/X11R6/bin/X symlink.

    To use nVidia's X-server module, you'll also have to use nVidia's kernel module. Only caveat about that is that it's best to have agpgart support for your chipset enabled in the kernel, or loaded as a module. If the agpgart driver is <i>not</i> loaded, the nVidia kernel module tries to do AGP itself--and usually fails and locks up.

    Also, to get the gears demo running right from a tarball, you will probably have to twist the Makefile around to link gears against your system .so files--otherwise, even if you've removed the Mesa .so files, gears will try to link against the static libs in the Mesa package (the software-only GL libs). Doing it from RPM might not have this problem, but it's a good idea to do an ldd on gears, just to see what libs it's calling.


    bash-2.04$ kill -9 1
    init: Just what do you think you're doing, Dave?
  5. Seems like Kelledin got here before me ;) If you have any troubles with Nvidia drivers, try to get X work without them first: 4.0.3 has native support for GF2 MX and other newer Nvidia cards (4.0.2 hasn't). Also, like Kelledin wrote, many OGL(X) apps seems to use OGL librarys from /usr/X11R6/lib folder, where MESA keeps it's own OGL libs by default (at least I had that problem). "ldd" helps to make sure that the right (accelated) libs are used. Like I wrote, if you have that problem, relink OGL libs from /usr/X11R6/lib to your Nvidia ones. I noticed that XMMS OGL plugins and Xscreensaver used those libs, I guess Gears may use them too.

    This page may also be helpful: http://ex.shafted.com.au/nvidia/nvidia_troubleshooting_guide.html
  6. >If you have any troubles with Nvidia drivers, try to get X
    >work without them first:

    I should have mentioned that X appears to be working fine except for the 3D stuff, and my stability problems which may (or may not) be related. Which is really strange, because 3.3.6 shouldn't work with my card at all!!

    When I get home tonight, I'l try out some of these suggestions. Thanks!

    In theory, there is no difference between theory and practice.
    In practice, there is.
  7. Ja, I had something like that with my GeForce. I changed out an old TNT card for it, and the GeForce's 2D worked fine with the old TNT driver in both Windows and Linux (I didn't push it by trying 3D though ;).

    Another thing--when XF86 4 gets compiled, the DRI modules (kernel drivers) apparently do not get compiled by default. If you install from source, you end up having to go into xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel and compile them manually, and for some of them, you have to slightly alter the source code to get them to compile against kernel 2.4 (at least as of XF86 4.0.2). And until the DRI modules get compiled and loaded, I don't believe 3D will work.

    You don't have this problem with nVidia's drivers, because nVidia makes their own pseudo-DRI module and makes sure you know to compile/install it.

    For XF86 3.3.6, 3D accelerated GL is offered by a completely different piece of software called utah-glx. It's not nearly as speedy as the accelerated GL in 4.0.x though, mainly because the OpenGL "client" and "server" are still communicating through a pipe or socket. 4.0 gets rid of the clunky socket-based data transport and replaces it with the faster DRI.


    bash-2.04$ kill -9 1
    init: Just what do you think you're doing, Dave?
  8. Ok everybody, here's the 5 second answer!!

    % XFdrake -expert

    The first thing this pops up is a window asking whether you want to use XFree86 3.3.6 or 4.0.3!!! It's all down hill from there :smile:

    I had noticed that Xconfigurator was just a link to XFdrake, then somebody on another list turned me on to the "expert" option. Runs like a champ now, 170 FPS from gears (fullscrean @ 1280x1024).

    Thanks for all the ideas!

    In theory, there is no difference between theory and practice.
    In practice, there is.
  9. Is it better to start with a minimal installation and work your way from scratch? Or just let the install utility do most of the work?

    If you take a truth and follow it blindly, it will become a Falsehood and you a Fanatic.
  10. For a desktop, I'd say just let the install utility handle most of it. For a server, I'd say start with a minimal installation and work up from there.

    Whichever way you go, make sure you know what services you're running, and what they do! Many a box hath been 0wned because of unneeded services left running. :wink:


    bash-2.04$ kill -9 1
    init: Just what do you think you're doing, Dave?<P ID="edit"><FONT SIZE=-1><EM>Edited by Kelledin on 05/03/01 01:38 PM.</EM></FONT></P>
  11. I would say for a server run an old Trident PCI card and forget installing an expensive graphics subsys.
Ask a new question