Installing WineX CVS
CONVENTIONS USED

I do not follow the WineX progress anymore. If this tutorial doesn't work for you, then I apologize. You can probably figure out how to make it work, or someone could help you get it going.

But maybe your efforts are misplaced. Maybe you should work on contacting developers and letting them know that you exist and want to play their games on Linux instead of emulating Windows. Don't give me this "I'm just one person" crap either. *I* am just one person, and *I* am doing it. If you do it too, that will make at least two of us. Imagine if ALL of the people who used this tutorial actually contacted a handful of developers, expressing our interest in a native Linux port of the game? Are you willing to save the Linux gaming market? Or are you only concerned about playing the latest Windows games on Linux? If you are in the latter, something is wrong with your head. Windows games should be played on Windows, and Linux games on Linux. Why are you buying Windows games?

For the purpose of this tutorial, I am assuming that you have gcc installed and working, as well as automake and autoconf. On top of this, you should have your video card up and running properly, meaning that you can play other games, such as Tux Racer at a reasonable framerate. Also, you need to have the cvs package installed, in order to run the cvs program.

First of all, you need to download WineX's source via TransGaming's CVS repository. Open your home directory, and choose a folder in there for the WineX installation to go. I made a directory called "installs" and use that. When you download the source, it will create it's own subdirectory called "wine" so you don't need to make one yourself.

Start your Internet connection now, if you haven't already.

Now open up a terminal in that directory. You can do this in KDE by pressing CTRL+T. Type or copy and paste this command into the console window:

cvs -d:pserver:anonymous@cvs.winex.sourceforge.net:/cvsroot/winex login

Then press Enter. You should then be prompted for the password. Just press Enter again, as it is a public CVS and there is no password.

Now you will be left with a blank prompt. Type this in:

cvs -z3 -d:pserver:anonymous@cvs.winex.sourceforge.net:/cvsroot/winex co wine

Then press Enter again. Now your system will begin retrieving all of the source code from TransGaming.

While this is going on, you may want to continue on to the next part, which is making sure that you have the necessary dependencies installed.

(After the source is done downloading, you will want to perform these steps: at the console, type in cd wine and press Enter. Then type in cvs update -dPA and press Enter. This will ensure that you have the most up-to-date version of WineX freely available.)

If you like to use the commandline, you can alternately do this in a root console: urpmi libxpm4-devel jadetex tetex-dvips libcups1-devel mesa-common-devel libbinutils2 freetype-devel libalsa-devel

Otherwise, you can follow the instructions on how to use Software Manager.

Please note that these dependencies were recorded with Mandrake 8.1. When I installed Mandrake 8.2, I installed all the dependencies needed to build the most recent CVS, so these may not be the same with Mandrake 8.2, or with newer CVS. Please contact me if you have any information regarding the dependancies needed.

Open up Software Manager and do a search for each of the following packages in the "Installable" section:

  • libxpm4-devel
  • jadetex
  • tetex-dvips
  • libcups1-devel
  • mesa-common-devel
  • libbinutils2
  • freetype-devel
  • libalsa-devel

    If you find any of them, check them off and install them.

    Once all of the dependencies are installed, and the source is done downloading, you can move on to making sure that you aren't missing anything. I recommend archiving the new wine folder just in case you want to use it later without downloading it all over again. It is also handy to keep on a separate partition in the even that you format your drive and want to reinstall it. But maybe that's just me...

    At the console, type in ./configure --disable-debug --disable-trace CFLAGS="-Os -O2 -Wall -mpreferred-stack-boundary=2" and press Enter. If you missed any dependencies, it will tell you which files it is missing. Install the proper dependency and delete the configuration's cache file. To delete the cahce file, type in: rm config.cache and press Enter. Then run the configure command again. Rinse and repeat until you get no errors.

    Next we need to actually compile WineX. To do this, type in make depend && make and press Enter. It should take a long time, but the amount depends on the speed of your system. On my system it takes roughly 15 minutes to compile everything.

    You may experience this warning message when you begin compiling:

    *** Warning: you explicitly linked in a thread-safe OpenGL version. If you
    *** experience unusual crashes on DirectDraw games, try first to disable OpenGL
    *** support before reporting bugs.
    

    This is normal, and WineX still works fine after a successful compilation and installation.

    You may also encounter this error:

    ../../include/wine_gl.h:31:20: GL/glu.h: No such file or directory
    

    This can be fixed on NVidia-based systems by doing this in a new console (only a recommendation): Type in su and hit Enter. Assuming you have the file /usr/X11R6/include/GL/gl.h on your system, type in ln -s /usr/X11R6/include/GL/gl.h /usr/X11R6/include/GL/glu.h and press Enter. This will make a symlink to the file and will allow WineX to compile. Now close this console and go back to the other one and resume compilation.

    Once this is done, you can try to install the whole thing, and it should work fine. Do so by switching the user to root. Type su and press Enter. Now type in the root password, if you have one set.

    Begin installing by typing make install and press Enter to start the process of installing.

    Once it is done, you will need to create your ~/.wine/config file. To do this, download this program here: winesetuptk.rpm into a directory of your choice. For purposes of this tutorial, I will assume you just downloaded it into your home directory.

    Note: I did not create this RPM, so if there are problems with it, it is not my fault, but it works just fine for me.

    Open a console. Type in su and hit Enter. Now type in rpm -ivh winesetuptk.rpm followed by Enter.

    Once this is installed, type exit and hit Enter.

    To start the GUI config tool, in the console, type in winesetuptk and hit Enter.

    The file you want to edit is called ~/.wine/config. Just mess around with the program, as the options are mostly self-explanatory. The main sections you will want to configure are the Drives and Paths.

    When you are done, click on the Finish button. The config file is written now. If users request a more advanced tutorial on this section, I would consider adding it here.

    Now, to test it all out and see if it works, type in something such as: wine notepad and press Enter in the console. If Notepad runs, then you have done it right! You can do basically the same thing now for your games, just open a console and cd to the proper directory. Then run it using the same command line. Note that this will only work if you have a correct path to Notepad's executable in your path, as configured in your ~/.wine/config file.

    With more recent versions of WineX CVS, more and more users have been experiencing the problem of the missing libnt.dll file. The error looks something like this:

    wine: error while loading shared libraries: libntdll.so: cannot open shared object
    file: No such file or directory
    

    Here is a simple procedure to remedy this problem:

    Open a console. Type in su and hit Enter.

    Type in slocate -u or updatedb (they both do the same thing). This updates the database of your entire filesystem.

    Next, type in locate libntdll.so and hit Enter. This will return a full file path, such as: /usr/local/lib/libntdll.so.

    Now type in pico /etc/ld.so.conf and hit Enter. Note that you can use your favorite text editor here in place of pico, such as vi or emacs.

    Ensure that the path resulted from the above command is listed in the file. For example, if the line

    /usr/local/lib
    

    isn't in the file, add it to the end. Save the file and exit the editor.

    Now, just type in ldconfig and hit Enter. This will reload the library paths.

    This should do the trick.


  • © D. Olson 2001-2003 -- Originally found on The Mandrake eXPerience