Install EVE on Linux with Wine
Contents
What is Wine?
Wine is free and open source software that allows Linux and other UNIX-like operating system to run windows executables. Wine is compatibility layer (yet another WINE transcript: Wine Is Not an Emulator), it uses native UNIX substitutes for Windows components which results in fast translation from Windows to UNIX 'language', inducing negligible performance loss.
The Wine FAQ on this question.
Linux video drivers
To be able to play EVE on Linux, you must have good and working video drivers. Depending of what your video card is, you may need proprietary drivers or open source drivers. This section will also help you to setup the driver you need for your Linux distribution.
AMD
If you want to use EVE on with a ATI/AMD video card, you need at lease a serie 3000 card and you must use open source Gallium3D drivers if you want descent FPS (Incarna have an issue with the proprietary drivers that lead to very low FPS).
All distribution
First, you need to check if the current installed drivers are the good one. For that, you can simply use the mesa provided tools.
Open a terminal with the emulator of your choice and type this command : glxinfo . After you read the output.
OpenGL renderer string must be Gallium 0.4 on AMD xxxxx. You must have those OpenGL extensions : GL_S3_s3tc, GL_EXT_texture_compression_s3tc, GL_ARB_shader_texture_lod, GL_ARB_draw_buffers_blend.
If you have all those, you are running with descent AMD drivers who support S3TC compression and SM3, who are required by EVE.
If one or more are missing, or if the glxinfo command do not work, you need to install or reinstall your video drivers witch is probably the case as the current "good" AMD drivers are in the latest experimental version of MESA.
Fedora
Tested on Fedora 15 everything up to date:
# Install libtxc_dxtn from rpmfusion.org, if you do not you will not have textures on any object
# after you add the rpmfusion repository, install the library
yum install libtxc_dxtn
# Make sure you are using the opensource ATI driver
yum remove xorg-x11-drv-catalyst
yum install xorg-x11-drv-ati
Gentoo / Funtoo
Procedure to install open source amd/ati drivers on Gentoo and Funtoo:
Kernel
First, you need a recent kernel. You need the 2.6.39 or newer. 3.0.0-rc5 is good too if you have Funtoo with the latest portage.
X11 Overlay
emerge -av layman
echo source /var/lib/layman/make.conf >> /etc/make.conf
*Update Layman and list layman
layman -L
* Install X11 overlay
Now you have the good X11 overlay!
Unmask packages and set keywords
echo "x11-libs/libdrm" >> /etc/portage/package.unmask
echo "x11-drivers/xf86-video-ati" >> /etc/portage/package.unmask
echo "media-libs/mesa ** **" >> /etc/portage/package.keywords
echo "x11-libs/libdrm ** **" >> /etc/portage/package.keywords
libtxc_dxtn installation
/!\ Via own S3TC patents, may be illegal to use in your country. If so, you can't play EVE legally in your country without changing your video card or your OS. /!\
libdrm installation
Add the USE libkms in your make.conf Add the VIDEO_CARDS="radeon" in your make.conf
!!! 32 BITS USERS, SKIP TO MESA !!!
ebuild libdrm-9999.ebuild unpack
cd /var/tmp/portage/x11-libs/libdrm-9999/work/libdrm-9999
export CFLAGS="-m32"
export CXXFLAGS="-m32"
sh autogen.sh --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib32 --libdir=/usr/lib32 --disable-dependency-tracking --enable-shared --disable-static --disable-dependency-tracking --enable-udev --disable-intel --disable-nouveau-experimental-api --enable-radeon --disable-vmwgfx-experimental-api --enable-libkms
make
unset CFLAGS
unset CXXFLAGS
cp .libs/libdrm.so.2.4.0 /usr/lib32/
cp ./libkms/.libs/libkms.so.1.0.0 /usr/lib32/
MESA
ADD USE d3d gallium in your make.conf ADD VIDEO_CARDS r600 in your make.conf
emerge -va mesa-progs
!!! 32 BITS USERS, SKIP TO DDX DRIVERS !!!
/!\ Patented stuff. If illegal in your country, remove --enable-texture-float in the configure parameter. /!\
ebuild mesa-9999.ebuild unpack
cd /var/tmp/portage/media-libs/mesa-9999/work/Mesa-9999
./autogen.sh --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib32 --libdir=/usr/lib32 --disable-option-checking --with-driver=dri --disable-glut --without-demos --enable-xcb --disable-debug --disable-glw --disable-motif --enable-glx-tls --enable-asm --with-dri-drivers=r600 --with-gallium-drivers=r600 --enable-gallium --enable-texture-float --with-state-trackers=glx,dri,egl,vega,d3d1x --disable-gallium-llvm --disable-gles1 --disable-gles2 --disable-gles-overlay --disable-gallium-svga --disable-gallium-nouveau --disable-gallium-i915 --disable-gallium-i965 --disable-gallium-radeon --disable-gallium-r300 --disable-gallium-i915 --disable-gallium-i965 --disable-gallium-radeon --enable-gallium-r600 --enable-32-bit --enable-texture-float
make
cp lib32/libGL.so.1.2 /usr/lib32
cp lib32/libGL.so.1.2 /usr/lib32/opengl/xorg-x11/lib/
cp lib32/libGLU.so.1.3.071200 /usr/lib32/
rm /usr/lib32/libGLU.so /usr/lib32/libGLU.so.1
ln -s /usr/lib32/libGLU.so.1.3.071200 /usr/lib32/libGLU.so.1
ln -s /usr/lib32/libGLU.so.1 /usr/lib32/libGLU.so
cp lib32/libEGL.so.1.0 /usr/lib32/
cp lib32/libOpenVG.so.1.0.0 /usr/lib32/
cp lib32/egl/* /usr/lib32/egl/
cp lib32/r600_dri.so /usr/lib32/mesa/r600_dri.so
cp lib32/gallium/r600_dri.so /usr/lib32/mesa/r600g_dri.so
cp lib32/gallium/swrastg_dri.so /usr/lib32/mesa/
cp lib32/swrast_dri.so /usr/lib32/mesa/
rm /usr/lib32/dri/r600g_dri.so
rm /usr/lib32/dri/r600_dri.so
ln -s /usr/lib32/mesa/r600g_dri.so /usr/lib32/dri/r600g_dri.so
ln -s /usr/lib32/mesa/r600g_dri.so /usr/lib32/dri/r600_dri.so
cp ./lib32/libglapi.so /usr/lib32
ln -s /usr/lib32/libglapi.so /usr/lib32/libglapi.so.0
DDX drivers
Firmware
Now the drivers is supposed to work. You need to type some command to be sure that the good OpenGL is used.
eselect mesa set r600 gallium
Ubuntu
Intel
OSS
Nvidia
There are no Open Source drivers able to effectively run EVE for Nvidia chipsets, however Nvidia does provide robust binary only drivers with good performance for Linux. These drivers may come with your linux installation, but in many case they may need to be actived or installed. If you version of Linux does not provide drivers for Nvidia chipset or they don't support your video card Nvidia provides drivers on their site. Be warned that while these drivers may be newer and provide better performance/features/stablity you may need to reinstall them when ever you update your kernel.
http://www.nvidia.com/object/unix.html
The above link also provides FreeBSD drivers.
Downloading and installing Wine
Most distributions have Wine in their default software repositories. Therefore, you can install Wine with your package manager (Synaptic, RPM Package Manager, etc). If you cannot find Wine in your package manger or would like to build Wine from source, you can download and install Wine from the official webpage. You are encouraged to install oneof the latest Wine development versions as older ones may be unable to launch EVE at all.
You can install Wine in Ubuntu by launching Add/Remove Applications, selecting show "All Open Source Applications", typing "wine" into the search bar, clicking the check box next to "Wine Microsoft Compatibility Layer" and then pressing the "Apply Changes" button.
Downloading, compiling and installing Wine (Alternative)
Wine is one piece of software that is rapidly evolving, therefore it's advantageous to be up-to-date with the latest unstable release. For those of us that are not blessed with a repository containing the latest binary builds there is the option of compiling it ourselves.
The Wine project is exceptionally well maintained. Anyone confident at using package managers for adding new software will be able to complete a fresh build of Wine from it's original sources with surprising ease.
- Step one is download the source archive at the bottom of above downloads page.
- Step two is read the short User Guide entry on compiling Wine.
- Step three is use "configure" to identify and your package manager to install all the headers and dev packages that are needed to make Wine compile happily. This is where Wine's polish really shines.
Of particular importance is the OpenGL libs, font libs and screen-mode libs.
The rest is straight forward. Compiling takes some time.
An alternative to compiling is to use precompiled packages of the latest version of wine. Most major Linux Distros have alternate wine packages provided by 3rd parties. (e.g. WineHQ PPA Repository) Try a search for "wine your_distro_name".
Downloading and installing EVE
Download the Windows client.
Once it is done downloading, double click on the "EVE_Premium_Setup_*.exe" file you downloaded and follow the instructions on screen. The default options in the EVE installer are acceptable.
Configuring Wine to work with EVE
Due to a bug that crashes EVE when focusing on a different window, you need to open winecfg (usually found in Applications > Wine > Configure Wine), click on the graphics tab, and click "emulate a virtual desktop".
To prevent some graphics glitches (such as all lights becoming black) you need to turn off HDR and shadows from within Eve's graphics preferences.
You will also need to install arial.ttf. You can do this by coping and pasting the following into a terminal window.
sh winetricks corefonts
If your hardware, or OpenGL driver, is not SM3 capable then you will want to run with lower settings, notably disabling shadows, bloom, and HDR rendering.
Other players have reported performance increases by adding the following to the end of ~/.wine/user.reg
"DirectDrawRenderer"="opengl"
"OffscreenRenderingMode"="fbo"
"PixelShaderMode"="enabled"
Patching EVE
You need to install the Microsoft Visual C++ 2005 Redistributable Package in order for the patch to run. You can do this by coping and pasting the following into a terminal window.
sh winetricks vcrun2005sp1
Next, you need to identify what version of EVE you are using. You can do this by launching EVE, then looking in the upper-right hand corner. Remember the last 5 numbers.
Next, visit this site and find your build number (the last 5 digits from the last step) in the "Version History" table for Tranquility. In the table, move right from your build number to the Premium link. Copy the URL the link leads to, then add "_m" right before ".exe". Download that file and run it to patch EVE.
For example, if you had build number 84063, and the current build was 84244, the link would lead to "http://ccp.vo.llnwd.net/o2/evepremiumpatch84063-84244.exe". Add the _m before the .exe, and you end up with "http://ccp.vo.llnwd.net/o2/evepremiumpatch84063-84244_m.exe", which is then downloaded and run.
Note that it may be nessary to install as well vcrun2008 for new versions of EVE.
sh winetricks vcrun2008
Running multiple clients from the same EVE directory
Create two launchers, and set the first launcher's command to wine explorer /desktop=EVE,800x600 "C:\Program Files\CCP\EVE\eve.exe" and the second launcher's command to wine explorer /desktop=EVE2,800x600 "C:\Program Files\CCP\EVE\eve.exe". Set 800x600 to whatever resolution you are using. If you need more than 2 clients, don't forget to change the name (ie /desktop=EVE3, /desktop=EVE4, etc).