Not using Cedega to play on linux? Help us build the Linux Gaming Wiki!
Cedega 4.0.1-1 howto
 TransGaming Cedega HOWTO Guide 4.0.1-18.104.22.168.en
This guide provides an overview of how to use TransGaming's Cedega to run your favorite games on Linux. If you have any questions about how to use Cedega, or if you have other support issues, please use TransGaming's web-based support system at http://www.transgaming.org/forum/
 System Requirements
The following are the minimum requirements for Cedega 4.0.1:
 Operating System
Core requirements are:
- Linux Kernel 2.2 or higher. Stock Kernels recommended over RedHat 7.x/8.x/9.x kernels. 2.6 kernels are not recommended due to stability issues.
- XFree86 4.0 or higher (4.2 and above recommended)
- glibc 2.2 or higher
- working hardware accelerated OpenGL video card
 CPU Type and Speed
Recommended minimum hardware is
- 500 MHz or faster Pentium or Athlon CPU
- 64MB of memory; 128 MB or higher recommended
- 1-2 GB free hard disk space for games
- Linux Supported 3D graphics card with 16MB of video RAM is required.
Nvidia GeForce-class GPU recommended.
 Configuring Your Computer for Cedega
 Make sure that your video card has working 3D acceleration
If you are using an NVidia video card, please make sure that the latest drivers from http://www.nvidia.com have been installed on your system, and that OpenGL is working properly.
To test your graphics card for OpenGL support execute the following command:
$ glxinfo | grep render
output will return "direct rendering:"
If this is 'Yes' or 'Enabled' then OpenGL is likely set up correctly. If it is listed as 'no' or 'disabled' then double check your 3D setup.
You may also want to try a performance test. Execute the following to run a simple benchmark included on most popular Linux distributions:
The glxgears program will output an FPS (Frames Per Second) rating to the command line. If 3D acceleration is correctly enabled for your video card then the reported FPS should be well over 500 FPS, at the default window size. If the output shows less than 500 FPS then you should double check your 3D setup.
In some cases it is possible to have multiple OpenGL libraries installed on your system. If you are having problems with Cedega, you may wish to check whether this is the case for your system. You can easily do so by executing:
$ locate libGL
This will display any OpenGL libraries you have on your system. In particular, you should be cautious of having libGL in both /usr/lib as well as in /usr/X11R6/lib. Sometimes, the software-only Mesa OpenGL libraries are installed in /usr/X11R6/lib and hardware accelerated drivers are installed elsewhere. We do not recommend removing the Mesa libraries from /usr/X11R6/lib unless you are seeing slow rendering in games running under Cedega.
 Check your cd devices and mount points for permissions
Many Windows games use copy protection systems that requires Cedega to have 'read' access to your CD-ROM device, as well as 'read' and 'execute' access to your CD-ROM mount point. Check your CD-ROM devices and mount points to ensure that Cedega has appropriate permissions.
If you do not know what devices and mount points are being used by your system, you can read the /etc/fstab file for more information using the following command:
$ less /etc/fstab
To change the permissions on your CD-ROM device and mount points, execute the following commands as 'root':
# chmod a+r [CD-ROM Device] # chmod a+rx [CD-ROM mount point]
Many distributions of Linux use symbolically linked devices. You will also need to change permissions on the linked devices as well. To see if a device is linked run the following command:
$ ls -la [CD-ROM Device]
This command will return information that may resemble the following:
lr-xr-xr-x 1 root root 13 Aug 21 14:45 /dev/cdrom -> cdroms/cdrom0
If the output displays a -> then this device is linked. In the above output the device /dev/cdrom is symbolically linked to the device /dev/cdrom/cdroms/cdrom0. Be sure to change the permissions on all linked devices.
Under some circumstances, you may need to edit your /etc/fstab file to ensure that all users have access to the CD-ROM mount point.
 Check your XF86Config-4 file
Games often attempt to change your screen resolution to fit their needs. Make sure that the 'Screen' section of your XF86Config-4 file has a number of resolutions. The most common resolutions are: 1600X1200, 1280X1024, 1024X768, 800X600, 640X480. If the game is not running at full screen check the game settings to see what resolution it is attempting to use and make sure that resolution is listed in the XF86Config-4 file.
Note: You may experience improved performance with some games when running the X server at 16 bit color depth.
 Disable Sound Servers
Many Linux desktop systems such as KDE and Gnome run sound servers such as 'ARTS' or 'esd'. These sound servers can cause sound problems within Cedega by reserving exclusive access to the sound device. If you are having sound problems make sure to disable any sound servers or other applications that may be using sound, such as 'xmms'.
 Check free space limitations
Some systems may be set up with restrictive space quotas on the /home directory. These limitations can cause Cedega to incorrectly report available free space. You may experience problems installing games if the available space is reported incorrectly, or if there is not enough space available on your system. If you experience any error messages reporting that there is not enough hard drive space to install a game, disable quotas, or symbolically link to a device with more free space available.
 How To Install Cedega
Cedega is available in a variety of pre-built binary packages designed to suit your Linux distribution. Please note that TransGaming does not provide official support for packages built from source.
First select the package that is right for you:
 rpm - RedHat Package Management (RedHat Linux, Mandrake Linux, etc)
To install the Cedega rpm package open a console/terminal window and execute the following command as 'root':
# rpm -ivh cedega-[version].rpm
 deb - Debian Package (Debian GNU/Linux, Corel/Xandros Linux, Lindows, etc)
To install the Cedega deb package open a console/terminal window and execute the following command as 'root':
# dpkg -i cedega_[version].deb
 tgz - Tar GZipped Package (Slackware Linux, etc)
To install the Cedega tgz package open a console/terminal window and execute the following commands as 'root':
# cd / # tar -xvzf cedega-[version].tgz
Some distributions use their own package management tools, such as Gentoo and Slackware. If this is so the tgz package of Cedega can be used with most of these tools.
 Installing a Game Using Cedega
To install a game using Cedega open a console/terminal window, and follow the following procedure:
1) Insert and mount your cdrom drive.
For the following examples we will be assuming a CD-ROM mount point of /mnt/cdrom; your setup may be different, depending on your Linux distribution. The mount point for your cdrom can be found in the /etc/fstab file.
2) Once the cd has been mounted check the contents of the disc.
$ ls /mnt/cdrom
Most installers will be named 'setup.exe' or 'install.exe'. If this is not the case, you may need to locate the install executable; it is often listed in the documentation for the game, or you may need to check the game information page on the TransGaming website.
3) When you have located the correct installer executable, install the
$ cedega /mnt/cdrom/setup.exe
Then, follow the install instructions for the game you are installing. You may experience some graphical errors during the copying process. These are generally not harmful.
Some games require special install instructions or methods. If you are having problems installing a game please check the games database and forums found on the TransGaming Website.
 Multi-Disc Installers
Some games that have multiple discs to install may not allow for unmounting a CD-ROM as it may register as busy. If this is the case, you should run the installer with the -monitor-cdrom-eject option, and then you may press the eject button on CD-RW or DVD drives and the disc will unmount and eject automatically. For non RW/DVD cdrom drives you will need to run: killall -USR2 wineserver This command will unmount and eject the CD-ROM. Please note this command could cause problems if there are multiple copies of the wineserver running.
This useful functionality is off by default due to the fact that the drivers for some hardware could cause problems with flash cards or degrade performance.
 Playing a Game Using Cedega
There are three methods for starting a game once it has been installed.
Using the Desktop Icon:
Some (but not all) games will create a desktop icon during the installation process. To start the game, simply open this icon using a click or double-click, depending on your window manager settings.
If you wish to pass special options to Cedega or the game edit the desktop shortcut and add in the appropriate options.
 Using the Start Menu
Some games, on some Linux distributions will add a link to the start menu on your desktop. Simply click the start menu, go to TransGaming -> Programs and then the game name/vendor and select the game icon.
Again, if you wish to pass special options to Cedega or the game edit the menu item shortcut.
 Using the Command Line
Open a console/terminal window and change into the game directory using the following commands:
$ cd ~/TransGaming_Drive/Program Files/[Game Directory] $ cedega [wine options] game.exe [game options]
Options can be passed both to Cedega and the game using the command line.
The options for Cedega are:
Some unzip installers make assumptions about the layout and availability of memory in a process. Quite often this conflicts with the Linux memory layout. To provide a better memory environment for these installers, the cedega startup script can be given a new command line option "-bigexe". This option is required for executables of a "large" size. Typically this is only for demo installers who come packaged up in one large executable. Should not be required for most game installers. Exceptions may be downloadable Everquest game installers.
A way to override the use of pthreads. This option should be automatically set by Cedega, however, if problems exist it may be useful to change the pthreads option. Acceptable values are yes or no.
Specify the version of Windows Cedega will report: win95, win98, winme, nt351, nt40, win2k, winxp, win20, win30, win31 The default setting is win98.
Display error information/output: +all, -all, +relay, +dsound, +err are the most common options -all is the default option, and will suppress any errors
Specifies the Cedega working directory. The default is the current directory. Directories may be specified using either DOS or Linux filenames.
Enables the CD eject polling functionality. This option is off by default and typically only needs to be enabled for some multidisk installers. When enabled, the CD-ROM drives are periodically checked to see if the CD-ROM's eject button has been pressed. Even when disabled, the eject can be forced by sending the USR2 signal to the wineserver process. Care should be taken when enabling this option on systems which have compact flash drives.
Report the version of Cedega that you are using
Options for individual games can usually be found in the game's 'README' file.
 Configuring Cedega
Cedega configuration options are located in the '.transgaming' directory found in your home directory. The main configuration file is '.transgaming/config'. This is an ASCII text file. The first time you run Cedega, the '.transgaming' directory will be automatically created for you, in a default preconfigured state. The default preconfigured state is copied from the /usr/lib/transgaming_cedega/.transgaming directory.
To edit the Cedega configuration settings open '~/.transgaming/config' in your favorite text editor.
 Drives Section
This section defines the drives that Cedega will use. New drives can be specified here if necessary. Any CD-ROM or DVD drives connected to your system will be automatically detected by Cedega at runtime, and new drive letters will be dynamically assigned to them. You should not need to add CD-ROM or DVD drives manually unless you are having configuration problems.
The format for this section is as follows:
[Drive LETTER] - The drive name, where LETTER is the DOS/Windows drive letter i.e. c, d, e, z Path = LOCATION - The location for the drive root. Type = TYPE - Specifies drive type; supported types are: floppy, hd, cdrom and network Label = XXXX - Drive label, max 11 characters Serial = XXXX- Drive serial number, max 8 characters hexadecimal Filessystem=TYPE- Filesystem type supported file systems are: dos, fat, win95, vfat, and unix Device=/dev/DEVICE- Allows you to specify a specific device if raw access is required. It is recommend that if the device is symbolically linked than you should use the device that is not a link (the originator).
 DLL Section
This section which DLLs are used by Cedega. The syntax is as follows:
"dllname"= "builtin, native"
"dllname" = "native, builtin"
The order defines which is used first. If builtin is listed first it will use the Cedega builtin dll, if native is listed first Cedega will use a native Windows dll if it is present in the configured system directory. Occasionally, using a native Windows may improve compatibility with some programs.
 x11drv Section
This section contains the settings for interaction between Cedega and the X server. Some of the most commonly used options are:
"Managed" = "Y"
This option changes whether the Cedega window is a managed window. The default is yes. Managed windows are managed by the Window Manager rather than Cedega.
"Desktop" = "800X600"
This option allows you to run Cedega within a window of the specified size. This line is commented out by default, thus allowing games to create a top-level X Window for each window that is opened.
"DXGrab" = "Y"
This option turns mouse grab on/off. The default is on. When mouse grab is on, the application may lock the mouse cursor within a window, typically when the application wants to take over the full screen of your system.
"XVidMode" = "Y"
This option allows applications to resize the resolution of your display. By default, this option is on, allowing applications to switch between resolutions listed in the XF86Config file.
"UseXRandR" = "N"
Use XRandR extension, if present, to resize the resolution of your display. This option is similar to XVidMode but may provide additional functionality in some cases.
"ShowFPS" = "N"
This option turns the TransGaming HUD that displays the in game FPS on/off. Default is off.
"ShowMEM" = "N"
This option toggles to display of memory statics on the TransGaming HUD. You must have ShowFPS activated for this to take effect. Default is off.
"VideoRam" = "32"
This is the amount of video RAM your video card has.
"AGPVertexRam" = "16"
This is the amount of memory that can be allocated for use with accelerated vertex buffers when using NV_VAR. This is generally half the amount of your total video RAM.
"NV_VAR" = "Y"
Enable usage of the NVidia Vertex Array Range extension for Accelerated Vertex Buffers. This extension is only available on NVidia cards. The default is on. This option has precedence over the ARB_VBO option, if both are available and enabled.
"ARB_VBO" = "Y"
Enable the usage of the OpenGL ARB Vertex Buffer Object extension for Accelerated Vertex Buffers. This extension is available on both NVidia and ATI cards, although support for it is still experimental at this stage and the it is not as mature or fully featured as NV_VAR. The use of NV_VAR is recommended if available, and has precedence if both are enabled. The default is on.
 d3dgl Section
This section contains the settings for advanced graphical functionality.
"AnisotropicTextureFiltering" = "N"
Enable anisotropic texture filtering, which is a method of improving the look of textures when viewed from an angle. This may result in visual improvements in some cases, but may cause a considerable drop in FPS (up to 50%). The default is off.
"VertexShaders" = "Y"
Vertex shaders are used to add complex-to-compute graphical routines that are often optional. While the Cedega implementation of vertex shaders is hardware accelerated when the underlying OpenGL driver supports it, it may be implemented in software emulation on some cards. It is impossible for Cedega to determine if software or hardware vertex shaders are available. When enabled Cedega reports hardware vertex shaders support to applications, if the ARB_vertex_program extension is available. When disabled, some applications may rely on their own optimized software fallbacks. Default is on.
"PixelShaders" = "Y"
Pixel shaders are used to compute complex per-pixel lighting and coloring. In some games the use of pixel shaders is optional, and disabling it can result in faster gameplay, although at the expense of lower quality graphics. When enabled Cedega reports pixel shaders support to applications, if the ARB_fragment_program extension is available. When disabled, some applications may rely on their own fallbacks. Default is on.
"PixelShadersLevel" = "1.3"
Which version of pixel shader support to report to applications. Valid options are "1.0", "1.1", "1.2", and "1.3". The default is "1.3". Note that this has no effect if pixel shaders are disabled, or not supported by hardware.
"ClipSpaceFix" = "Y"
This option allows Cedega to better emulate the differences in the graphical depth component (z) between D3D and OpenGL. As of version 4.0, this option can safely be enabled at all times. However in previous versions, it should be disabled when applications make use of vertex shaders as this can result in incorrect graphics. The default is on.
 dinput Section
This section contains options that control how dinput behaves.
"DefaultDeadZone" = "1000" This option allows you to define the default dead zone for your joystick expressed as a number between 0 and 10000. The default is 1000 which is 10% of the range of your joystick.
 joystick Section
This section contains the configuration for how joysticks should be treated under Cedega.
"Logitech Inc. WingMan RumblePad" = "X,Y,slider,Z,RZ,hat,none"
Controls the configuration of the function of joystick axes. The joystick name and axis functions can be determined with the program 'jstest'. The available axis types are: "none", "X", "Y", "Z", X", "RY", "RZ", "slider", "hat", "POV", and "ball" "hat"and "POV" are synonymous. Hats use two axes. The name on the left should correspond to that reported by the actual joystick installed.
 Wineserver Section
This section contains options that controls how the WineServer process is run.
"SHMWineserver" = "Y"
This option indicates if Cedega should accelerate interprocess communication (AIC) between the client and server. This value can be either "Y" or "N" and defaults to "Y". It is suggested that you set it to "Y" as for some titles it can have a very positive impact on performance.
 WinMM Section
This section controls the systems that are used for sound play back.
"Drivers" = "wineoss.drv"
Controls whether the Open Sound System (OSS) or Advanced Linux Sound Architecture (ALSA) sound systems are used. Specify "wineoss.drv" to use the OSS sound system and "winealsa.drv" to use the ALSA sound system. The default is "wineoss.drv". Note that if neither is specified, Cedega will produce no sound.
"WaveMapper" = "msacm.drv" "MidiMapper" = "midimap.drv"<samp>
 wineoss Section
This section controls how the Open Sound System (OSS) system is used for sound play back, if enabled appropriately in the WinMM section.
<samp>"UseMMap" = "N"
This option allows you to configure Cedega to write directly to memory on the sound card rather than having to use the slower route through the kernel. This can be set to either "Y" or "N"; the default is "N". Can improve performance, but is not available with all sound cards.
"FullDuplex" = "N"
Allows sound to be recorded and played back at the same time. Not available on all sound cards. The default is off.
"dsp0" = "/dev/dsp0" "mixer0" = "/dev/mixer0"
Specify a mapping for which digital audio device to use for OSS sound playback. The default for "dps0" is "/dev/dsp0" and for "mixer0" is "/dev/mixer0"
 winealsa Section
This section controls how the Advanced Linux Sound Architecture (ALSA) system is used for sound play back, if enabled appropriately in the WinMM section.
"UseMMap" = "Y"
This option allows you to configure Cedega to write directly to memory on the sound card rather than having to use the slower route through the kernel. This can be set to either "Y" or "N"; the default is "Y". Cann improve performance, but is not available with all sound cards.
"pcm0" = "hw" "ctl0" = "hw"
These options allow you to specify what ALSA sound devices Cedega should use. The default values are "hw" for pcm0 and "hw" for ctl0. Appropriate selection of these options can allow you to select a secondary sound card or a plugin. It should be noted that most ALSA plugins seem to be quite buggy and will not work with "UseMMap" = "Y".
 Sharing a .transgaming Directory Between Users
To make your .transgaming directory available to all users on your computer, you will need to create a 'transgaming' group and assign all users who will be using the shared directory to this group.
As root, execute the commands described below:
Copy a clean .transgaming directory to the share location.
# cp -R /usr/lib/transgaming_cedega/.transgaming /SHARE_LOCATION
Change the ownership of this folder to the group transgaming.
# chgrp -R transgaming .transgaming # chmod -R g+srwx .transgaming
Make a backup of the original .transgaming directory
# mv -R /usr/lib/transgaming_cedega/.transgaming /usr/lib/transgaming_cedega/.transgaming.backup
Create a logical link to the new .transgaming directory.
# ln -s /SHARE_LOCATION/.transgaming /usr/lib/transgaming_cedega/.transgaming
Edit the /usr/bin/cedega script to take into account the new link. Open /usr/bin/cedega with your favorite text editor and find the line:
and change it to
If a user on your computer has already run Cedega and has a .transgaming directory in their home directory it will need to be moved or deleted before they may use the shared directory.
Please note if your shared .transgaming becomes corrupted and needs to be deleted you can delete it (this will cause all installed games to be lost) and then copy the backup .transgaming to the share as follows:
# cp -R /usr/lib/transgaming_cedega/.transgaming.backup /SHARE_LOCATION/.transgaming
 Configuring Cedega differently per Game
You may wish to have different Cedega settings for each game that you have installed. This can be easily done by editing your Cedega config file, ~/.transgaming/config
To add per game settings open this file in your favorite text editor and move to the end of the file. At the end of the file add a line:
[AppDefaults\\EXECUTABLE.EXE\\SECTION] AppDefaults Sets the following as default for the application Executable.exe The game executable that is run to start the application SECTION The section you wish to modify the settings for. IE: x11drv, fonts, Drive name/locations.
For Example, Max Payne has a game executable called 'Max Payne.exe' If you wish to have custom settings for Max Payne you would require an entry as follows:
[AppDefaults\\Max Payne.exe\\x11drv] "Desktop" = "1024X768" "DXGrab" = "N"
This would force Max Payne to run in a 1024X768 Desktop window with the Mouse Grab feature disabled.
This document, TransGaming Cedega HOWTO Guide 4.0.1-22.214.171.124.en, is Copyright © 2002-2004, TransGaming Technologies Inc. Redistribution is permitted for non-commercial use only. /samp> This option toggles to display of memory statics on the TransGaming HUD. You must have ShowFPS activated for this to take effect. Default is off.