Hello,
below is a howto that may be helpful in getting a newer, patched, version of X up and running on SuSE 11.1:
There are quite few dependencies. You will need at least:
A compiler, autoconf, automake, libtool, probably libGL-devel, gettext-tools, bison, flex and intltool.
You will also need libdrm 2.4.5
$ git clone git://anongit.freedesktop.org/mesa/drm
$ ./autogen.sh --prefix=/usr
$ make
$ sudo make install
Then:
- Download git_xorg.sh from http://wiki.x.org/wiki/ModularDevelopersGuide?action=AttachFile&do=view&target=git_xorg.sh
- Put git_xorg.sh into an empty directory of your choosing. In the following the path to this directory will be referred to as /your/xorg_git
- Add the following line at the end of git_xorg.sh
do_dir xorg font “${font}”
to also download fonts, which according to wiki.x.org is necessary for compilation from scratch.
-
Make git_xorg.sh executable e.g.: $ chmod a+x git_xorg.sh
-
Run git_xorg.sh: $ ./git_xorg.sh
The script downloads about 425mb and will therefore need some time to complete.
After running git_xorg.sh your directory should contain:
$ ls -F
app/ data/ doc/ driver/ drm/ font/ git_xorg* lib/ pixman/ proto/ util/ xcb/ xserver/
- To build X run the build script build.sh located in ./util/modular You may consider putting the output of build into a directory of your choice - in the following this directory will be assumed to be /your/xorg_modular
$ ./util/modular/build.sh /your/xorg_modular
In my case the the driver xf86-video-imstt failed to build - I did not investigate why. Unless you need this specific driver and your build fails at this point you can skip this driver and continue from the next driver in line by giving the command $ ./util/modular/build.sh -r driver/xf86-video-mga /your/xorg_modular Alternatively, you may edit the build.sh script by commenting out the line building the imstt driver (build driver xf86-video-imstt).
If your build fails somewhere else it is probably due to some missing dependency. Examine the output and try to figure out which package you need to install to continue the build. (To continue the build from a specific point use the -r option as shown above.) Please note that the build.sh script will need quite a bit of time to complete.
-
Install xkeyboard-config v1.5
$ wget http://xlibs.freedesktop.org/xkbdesc/xkeyboard-config-1.5.tar.bz2
$ tar jxvf xkeyboard-config-1.5.tar.bz2
$ cd xkeyboard-config-1.5
$ ./configure --prefix=/your/xorg_modular
$ make
$ make install
-
If you need to use the proprietary nvidia driver you can get the 180.29 for 32 bit x86 from
$ wget http://us.download.nvidia.com/XFree86/Linux-x86/180.29/NVIDIA-Linux-x86-180.29-pkg1.run
Make the script executable and execute as root. The -e option let you specify paths during installation. For a list of options try:
$ ./NVIDIA-Linux-x86-180.29-pkg1.run -A
Unfortunately I did not take notes during the installation, but you need to adjust some of the paths. The installer normally use the commands Xorg -showDefaultLibPath and Xorg -showDefaultModulePath for information about paths. I do not know whether this is also the case when run with the -e option. You could back up (while X is not running) your original /usr/bin/Xorg and replace it with your newly compiled Xorg $ sudo cp /your/xorg_modular/bin/Xorg /usr/bin/Xorg to make sure the paths come from the newly compiled version of Xorg.
To install the driver (X should not run while the script is run. (E.g. init 3 as root and maybe also CTRL-ALT-BACKSPACE))
$ ./NVIDIA-Linux-x86-180.29-pkg1.run -e --x-prefix /your/xorg_modular
Edit paths as needed
(I think it is sad that the nvidia driver is still proprietary. If you have not already, you might want to have a look at http://www.gnu.org/philosophy/fsfs/rms-essays.pdf )
- To use the new server you need to set
$ export LD_LIBRARY_PATH=/your/xorg_modular/lib
to use the libraries
You can also edit /etc/ld.so.conf and run ldconfig
- Check that the xserver is is SUID root.
ls -l /your/xorg_modular/bin/Xorg should give (note the s in rws):
-rws–x–x 1 root root … /your/xorg_modular/bin/Xorg*
If not
$ su
Password: <enter your root password here>
chown root:root /your/xorg_modular/bin/Xorg
chmod 4711 /your/xorg_modular/bin/Xorg
exit
-
Start the new server (exit any currently running X first)
startx – /your/xorg_modular/bin/Xorg
-
If it does not work consult the log file /your/xorg/modular/var/log/Xorg.0.log
-
For more information see, http://wiki.x.org/wiki/ModularDevelopersGuide