Como compilar el Cedega CVS?
Esta version es 100% libre!, el HOWTO es una copia del cache de linux-gamers.net.
This work is licensed under a Creative Commons License.
Warning: This HOWTO comes with no explicit or implicit warranty whatsoever. Use at your own risk!
Warning: This HOWTO comes with no explicit or implicit warranty
whatsoever. Use at you own risk!
1) Preface
2) Preparations
3) Compilation and Installation
4) Configuration
5) Testing
6) An own directory for each game
7) Troubleshooting
8) Links
1. Preface
This Cedega CVS HOWTO should make it possibly for anybody to get Cedega via CVS, build and use it. This version works in additon to Wine and Cedega/WineX binary version.
Please follow every step just as it is described here.
2. Preparations
Download the script here.
Needed apps, packages, libraries:
wget
fontconfig
freetype2
freetype2-devel
bison
flex
libjpeg
libjpeg-devel
libpng
libpng-devel
zlib
zlib-devel
xorg-x11-devel (resp. XFree86-devel)
Mesa (resp. xorg-x11-Mesa, XFree86-Mesa)
Mesa-devel (resp. xorg-x11-Mesa-devel, XFree86-Mesa-devel)
freeglut
freeglut-devel
SDL
SDL-devel
Debian users can just use:
apt-get install cvs build-essential bison flex-old libasound2-dev x-window-system-dev libpng12-dev libjpeg62-dev libfreetype6-dev libxrender-dev libttf2 libttf-dev libsdl1.2-dev libsdl-ttf2.0-dev libsdl-net1.2-dev libsdl-gfx1.2-dev msttcorefonts libfontconfig1-dev
3. Compilation and Installation
Now its time to come to the real stuff...
Change to the location where the WineCVS.sh is lying and start it with:
$ sh WineCVS.sh
The script downloads with wget a archiv defaults.tar.gz with the need install scripts. After that you should see its installation menu.
Select a profile ... follow the steps...
... done!
Compilation and installation successful.
[if you have several errors during the compilation, read our troubleshooting section below]
4. Configuration
We need a so called fake windows. The cvscedega-script will create it if we run it the first time:
$ cvscedega
cvscedega creates a configuration (~/.cvscedega) and a fake windows directory (~/.cvscedega/c_drive). It is possible to change the directory for the fake windows e.g.
and edit the config file (~/.cvscedega/config) for your needs.
[Drive C]
...
"Path" = "/home/linux-gamers.net/windows/C"
...
CD-ROMS are autodetected but you configure one as follows:
[Drive D]
"Path" = "/media/cdrom"
"Type" = "cdrom"
"Label" = "CD-ROM"
"Filesystem" = "win95"
"Device" = "/dev/hdc"
Change "Path" and "Device" if necessary.
Configuration variables which you should change
in the [x11drv] section
; How much Video RAM does your graphic card have?
; If this option is not present, it will default set to 32MB.
"VideoRam" = "128"
; How much should Cedega attempt to store into faster AGP memory
; Set the amount of video memory to be allocated for OpenGL vertex arrays.
"AGPVertexRam" = "32"
If you have OSS change:
[WinMM]
"Drivers" = "wineoss.drv"
For Freetype font support set:
[fonts]
"Freetype" = "Y"
5. Testing
To test Cedega start a program that requires DX (i.e. WarCraft 3) like
this:
$ cvscedega War3.exe
6. A directory for each game
It is possible with the CVS version of Cedega to create a directory for each game. For this you need a clean cedega config. This means, a config without an installed game or something else.
If you already installed one, delete ~/.cvscedega.
Here is an example for Half-Life:
Create a directory for the game in /usr/local/games[(i]
$ cd /usr/local/games
$ mkdir halfife
$ mkdir halflife/bin
$ cp -fR ~/.cvscedega/* halflife/
and edit your [i]/usr/local/games/halflife/config:
[Drive C]
..
"Path" = "/usr/local/games/halflife/c_drive"
..
We need the cvscedega startup script for the game
$ cp /usr/bin/cvscedega /usr/local/games/halflife/cecvs
$ cp /usr/lib/cvscedega/bin/WineCVSFunctions/cvscedega /usr/local/games/halflife/
and must edit it for our purposes, open cecvs with an editor of your choice and replace /usr/lib/cvscedega/bin/WineCVSFunctions/cvscedega with /usr/local/games/halflife/cvscedega for example.
Open /usr/local/games/halflife/cvscedega and change export WINEPREFIX="$HOME/.cvscedega" to export WINEPREFIX="/usr/local/games/halflife"
Thats it. Let's install the game; insert the halflife CD into your CD drive and mount it:
$ mount /media/cdrom
$ /usr/local/games/halflife/cecvs /media/cdrom/SETUP.EXE
*ATTENTION* - don't forget to use this startup script to install updates - *ATTENTION*
At least create a simple startup script in the halflife/bin directory
#!/bin/sh
cd /usr/local/games/halflife/c_drive/SIERRA/Half-Life
/usr/local/games/halflife/wxcvs "hl.exe" -- hl.exe -console
7. Troubleshooting
VideoRAM & AGPVertexRAM
VideoRAM is amount of availiable video memory of your graphics card. AGPVertexRAM sets the amount of video memory to be allocated for OpenGL vertex arrays. Both in MegaByte.
Using all the RAM for vertex arrays probably isn't a good thing. These arrays are used for geometry, i.e. coordinates. They are not used for textures. The more AGP memory you reserve for vertex arrays, the less memory is left for textures.
So i think the best would be 1/2 of your AGP aperture size for AGPVertexRAM.
dmesg | grep 'AGP aperture'
Issue:
make[2]: Entering directory `/root/temp/cvscedega/winex/dlls/d3dgl'
gcc -c -I. -I. -I../../include -I../../include -g -O2 -Wall -mpreferred-stack-boundary=2
-fno-keep-static-consts -D__const=const -fno-strict-aliasing -D__int8=char -D__int16=short
-D__int32=int "-D__int64=long long" -fPIC -D__WINE__ -D_REENTRANT -I/usr/X11R6/include -o
caps.o caps.c
In file included from caps.c:20:
d3dgl_private.h:142: error: parse error before "PFNGLWEIGHTPOINTERARBPROC"
d3dgl_private.h:142: Warning: no semicolon at end of struct or union
d3dgl_private.h:142: Warning: type defaults to `int' in declaration of `glVertexBlendARB'
d3dgl_private.h:142: Warning: data definition has no type or storage class
d3dgl_private.h:151: error: parse error before '}' token
d3dgl_private.h:151: Warning: type defaults to `int' in declaration of `DD_GL_data'
Solution:
You need the XFree86-Mesa headers to compile Cedega with OpenGL support. It doesn't work with the nVidia OpenGL headers installed, install the Mesa headers instead.
Issue:
./ppl.l:1488: error: `pp_ignore' undeclared (first use in this function)
./ppl.l: At top level:
lex.ppl.c:15101: Warning: `yyunput' defined but not used
make[2]: *** [lex.ppl.o] Error 1
make[2]: Leaving directory `/home/matze/Cedega-CVS/winex/tools/wrc'
make[1]: *** [wrc] Error 2
make[1]: Leaving directory `/home/matze/Cedega-CVS/winex/tools'
make: *** [tools] Error 2
Solution:
apt-get install flex-old and restart the compilation process.
$ sh WineCVS.sh -> c -> r
Issue:
How can i update my CVS version of Cedega?
Solution:
$ sh WineCVS.sh
-> c -> r
$ sh WineCVS.sh
-> c -> r
Issue:
How can i uninstall Cedega CVS and the source tree?
Solution:
$ sh WineCVS.sh -> c -> e
Issue:
No 3D accleration with ATI in games
Solution:
$ export LD_PRELOAD=/usr/lib/libGL.so; cvscedega game.exe
Issue:
err:font:WineEngInit FreeType support is not compiled in to wine, some font functionality will be disabled.
Solution:
Install Fontconfig, Freetype2 (libfreetype6) and Freetype2-devel
Here are some more hints about Cedega and Installshield/MSI installers from http://www.frankscorner.org
The CVS version of Cedega has no support for Installshield installers, but a lot of games use this installer.
To make installation possible you must install the DCOM98 utility.
You can download DCOM98 here:
http://www.microsoft.com/com/dcom/dcom98/download.asp
Type
$ cvscedega dcom98.exe
to install DCOM98.
To install .msi (Microsoft Installer) files get http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe and install it with the command
You can install Windows Installer by typing $ cvscedega instmsia.exe
Now type $ cvscedega msiexec /i somefile.msi and the application will be installed.
8. Links
Transgaming - home of Cedega
Transgaming community
frankscorner - Running Windows Applications and games on Linux using Wine
linuX-gamers.net - your online gaming resource