Project 1999

Project 1999 (/forums/index.php)
-   Technical Discussion (/forums/forumdisplay.php?f=40)
-   -   [Guide] EQ under wine (Fedora LINUX 14+ 32 or 64bit) (/forums/showthread.php?t=21734)

cadiz 11-20-2010 08:02 PM

[Guide] EQ under wine (Fedora LINUX 14+ 32 or 64bit)
 
I wanted to create a separate thread for this since the other helpful guide by mgellan is targeted towards Ubuntu, this one is specific to the Fedora Linux Distribution which is what I prefer.

Just a quick breakdown, there are a few reasons why wine will not run unpatched EQ/titanium for P99:

• There is a change to directx.c which needs to be made in the wine source code which fixes a crash when you enter world
• There is a modified DLL file which is required to fix some model/texture issues

I've taken the liberty of modifying the wine source code to include the code fix needed and building Fedora packages for those interested. Using binary system packages is much cleaner and easier than compiling/maintaining your own wine source code installation - below is a guide on how to get it working.

Here are the steps for a Fedora 14+ 32bit or 64bit installation:

• This assumes a Fedora 14 or 15 32 or 64bit installation. It's possible that it may work for earlier versions or other RPM distributions like OpenSuSE, there are no promises.
• This assumes you do not have wine installed already, if you do you need to remove the distribution packages via yum erase wine-*
• All commands in italics should be run as your normal user in a terminal window except for the ones noted to be run as the root user (package installation)

1) Install wine dependencies (if you don't have them)
note: run this command as the root user
yum install liberation-narrow-fonts nss-mdns openldap pulseaudio-libs liberation-sans-fonts

2) Download all of the rpms listed below, placing them in the same directory (you only need the x86_64 if you're running 64bit Fedora like me) You can paste the wget links below directly into the terminal.

http://funcamp.net/w/rpm/wine-1.3.6/i386/ (32bit and 64bit required)
http://funcamp.net/w/rpm/wine-1.3.6/noarch/ (32bit and 64bit required)
http://funcamp.net/w/rpm/wine-1.3.6/x86_64/ (64bit only required)

Download paste for 32 and 64bit Installation
wget http://funcamp.net/w/rpm/wine-1.3.6/i386/{wine-1.3.6-1.fc14.i386.rpm,wine-alsa-1.3.6-1.fc14.i386.rpm,wine-capi-1.3.6-1.fc14.i386.rpm,wine-cms-1.3.6-1.fc14.i386.rpm,wine-core-1.3.6-1.fc14.i386.rpm,wine-devel-1.3.6-1.fc14.i386.rpm,wine-esd-1.3.6-1.fc14.i386.rpm,wine-jack-1.3.6-1.fc14.i386.rpm,wine-ldap-1.3.6-1.fc14.i386.rpm,wine-nas-1.3.6-1.fc14.i386.rpm,wine-openal-1.3.6-1.fc14.i386.rpm,wine-oss-1.3.6-1.fc14.i386.rpm,wine-pulseaudio-1.3.6-1.fc14.i386.rpm,wine-twain-1.3.6-1.fc14.i386.rpm,wine-wow-1.3.6-1.fc14.i386.rpm}

Download paste for 32 and 64bit Installation
wget http://funcamp.net/w/rpm/wine-1.3.6/noarch/{wine-common-1.3.6-1.fc14.noarch.rpm,wine-courier-fonts-1.3.6-1.fc14.noarch.rpm,wine-desktop-1.3.6-1.fc14.noarch.rpm,wine-fonts-1.3.6-1.fc14.noarch.rpm,wine-marlett-fonts-1.3.6-1.fc14.noarch.rpm,wine-small-fonts-1.3.6-1.fc14.noarch.rpm,wine-symbol-fonts-1.3.6-1.fc14.noarch.rpm,wine-system-fonts-1. 3.6-1.fc14.noarch.rpm}

Download paste for 64bit Installation ONLY
wget http://funcamp.net/w/rpm/wine-1.3.6/x86_64/{wine-1.3.6-1.fc14.x86_64.rpm,wine-alsa-1.3.6-1.fc14.x86_64.rpm,wine-capi-1.3.6-1.fc14.x86_64.rpm,wine-cms-1.3.6-1.fc14.x86_64.rpm,wine-core-1.3.6-1.fc14.x86_64.rpm,wine-devel-1.3.6-1.fc14.x86_64.rpm,wine-esd-1.3.6-1.fc14.x86_64.rpm,wine-jack-1.3.6-1.fc14.x86_64.rpm,wine-ldap-1.3.6-1.fc14.x86_64.rpm,wine-nas-1.3.6-1.fc14.x86_64.rpm,wine-openal-1.3.6-1.fc14.x86_64.rpm,wine-oss-1.3.6-1.fc14.x86_64.rpm,wine-pulseaudio-1.3.6-1.fc14.x86_64.rpm,wine-twain-1.3.6-1.fc14.x86_64.rpm,wine-wow-1.3.6-1.fc14.x86_64.rpm}


3) change to the directory where you downloaded the RPMs
cd <download directory>

4) Install the packages via RPM
note: run this command as the root user
rpm -ivh --nodeps *.rpm

5) Initialize wine for the first time
if you have an existing ~/.wine directory then back it up first
mv ~/.wine ~/.wine-backup

winecfg
press ok to install gecko engine and whatever else comes up
when it's finished, click the audio tab to use either pulseaudio (default) or another sound subsystem like alsa/oss.

6) Copy your everquest program files into the wine directory
let's assume it's in a directory named 'everquest'
cp -Rv everquest ~/.wine/drive_c/Program\ Files\

7) Download and copy the modified DLL file which fixes the textures issue some people experience
DLL file courtesy of angeliqe

cd ~/.wine/drive_c/Program\ Files\everquest
wget http://funcamp.net/w/d3dx9_30.dll


8) Add wine to your yum.conf exclude list so the distribution updates do not replace them
echo "exclude=wine-*" >> /etc/yum.conf

9) Run the game!
wine ~/.wine/drive_c/Program\ Files\everquest/eqgame.exe patchme
disable windowing effects like compiz for best results

10) Startup (optional)

Create a script to start everquest:
cat > eq.sh << EOF
#!/bin/sh
# start everquest
cd ~/.wine/drive_c/Program\ Files/everquest ; taskset -c 0 wine eqgame.exe patchme
EOF

(hit enter)

Make the script executable
chmod +x eq.sh

Add the script to your path:
echo 'alias eq="~/eq.sh"' >> ~/.bashrc
source ~/.bashrc

You can now create a link or desktop icon pointing to eq.sh to launch the game
You can also run eq in a console to launch the game

Errors and Caveats:
Fullscreen - I've had some issues with mouse control in full screen mode but I was able to tweak the WindowedWidth and WindowedHeight settings of my eqclient.ini to closely match my desktop resolution for the same affect. This seems to be a common problem on all Linux distributions, when I find a fix I'll update the guide but don't hold your breath :)
Sound - To enable sound run winecfg and click on the audio tab, then click ok. This will enable sound if it doesn't work at first run.
Yum Warnings - This may just be because of my testing/building but I had rpmdb complain about "missing requires" for a few packages after installing the modified wine package set.
To fix this I reinstalled the complainers:
note: run this command as the root user
yum reinstall esound-libs jack-audio-connection-kit

winecfg errors out on first run
If you get the following error ::

/usr/bin/winecfg: /usr/bin/wine: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
/usr/bin/winecfg: line 29: /usr/bin/wine: Success

You are most likely running a 64bit distribution without a 32bit GLIBC
To fix ::

yum whatprovides */lib/ld-linux.so.2 | grep glib
glibc-2.13.90-9.i686 : The GNU libc libraries
arm-gp2x-linux-glibc-2.3.6-9.fc15.noarch : Cross Compiled GNU C Library targeted
glibc-2.14-5.i686 : The GNU libc libraries

Now, pick the latest version and install it
yum install glibc-2.14-5.i686

No OpenGL Error

Application tried to create a window, but no driver could be loaded.
Unknown error (127).
err:d3d_caps:WineD3D_CreateFakeGLContext Failed to create a window.
err:d3d:InitAdapters Failed to get a gl context for default adapter
Direct3D9 is not available without OpenGL.

You are most likely running a 64bit distribution and you need to install 32bit video drivers

yum install xorg-x11-drv-intel.i686 mesa-libGL mesa-dri-drivers.i686

eqclient.ini - It's a safe bet to make sure your eqclient.ini is set to start in windowed mode first.

[Defaults]
WindowedMode=TRUE
[VideoMode]
Width=1600
Height=900
FullscreenRefreshRate=0
FullscreenBitsPerPixel=32
WindowedWidth=1600 <--- set to horizontal desktop resolution
WindowedHeight=850 <--- set to vertical desktop resolution (i subtract -50 pixels so I can see my taskbar in XFCE)

Additional eqclient.ini settings - use these if you have texture/shading issues
[Defaults]
APVOptimizations=TRUE
DisableWestBugFix=1
Sound=TRUE
TextureQuality=1
VertexShaders=0
20PixelShaders=0
14PixelShaders=0
1xPixelShaders=0
MultiPassLighting=FALSE
UseLitBatches=FALSE
WindowedMode=TRUE
TextureCache=FALSE
DoProperTinting=FALSE


Here are some screenshots of it working. I've been running in 16:9 windowed mode so I can do other stuff when nothing is happening in the game. Tested in gameplay with my Rogue and Enchanter.

(windowed mode, testing things out)

http://funcamp.net/w/eq_p99_fedora64-sm.png


(compiz/expose feature, working on other stuff)

http://funcamp.net/w/eq_p99_fedora64-3-sm.png

mrybczyn 04-02-2011 10:51 PM

Sweet, have to try this. Only reason I even have a windows install is for P1999 :-)

ryandward 04-17-2011 09:31 PM

Everybody is invisible when I try this lol

ryandward 04-17-2011 09:32 PM

fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.

cadiz 04-26-2011 01:18 AM

Quote:

Originally Posted by ryandward (Post 268445)
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.
fixme:d3d:state_wrap (WINED3DRS_WRAP0) Texture wrapping not yet supported.

Hey ryandward,

I found a bug regarding this and missing textures here, - it's marked as fixed in the 1.1.x release quite a while ago but it may still affect some video cards (nvidia perhaps).

I'm assuming you have up to date spell file but try removing your spells_us.txt file completely anyways, I've seen Wine cache it.
Once you do that so you're sure you are starting clean please help answer the following:

• What video card do you have?
• What version of Fedora are you using (or other distribution if you're using my RPMs).
• Are you using fullscreen mode or windowed mode with a resolution set?
• What does your eqclient.ini file look like? You can use a tool like pastebin and set the lifetime to "forever" and I'd be happy to take a look.

You can find my eqclient.ini file here .. perhaps compare some of the options I've set there and see what works for you.

There's a good chance that you're probably just calling a shading or texture option not allowed in Wine.

Right away, I'd suggest changing these settings in your eqclient.ini first, that work really well for me in windowed mode (but setting the resolution to match my desktop display).
Try just copying and pasting these two sections into a new eqclient.ini file (backup up your old one first) - if it works then you know what is causing it.

[Defaults]
APVOptimizations=TRUE
DisableWestBugFix=1
Sound=TRUE
TextureQuality=1
VertexShaders=0
20PixelShaders=0
14PixelShaders=0
1xPixelShaders=0
MultiPassLighting=FALSE
UseLitBatches=FALSE
WindowedMode=TRUE
TextureCache=FALSE
DoProperTinting=FALSE


[VideoMode]
Width=1600
Height=900
FullscreenRefreshRate=0
FullscreenBitsPerPixel=32
WindowedWidth=1600 <--- set to horizontal desktop resolution
WindowedHeight=850 <--- set to vertical desktop resolution (i subtract -50 pixels so I can see my taskbar in XFCE)

miethos 08-04-2011 03:34 PM

This is awesome! Will definitely try this out. Also, only reason I have a pesky win xp install.

Maladorm 09-17-2011 07:31 PM

I've been trying to get p99 to work on my laptop which is currently running Fedora 15 32 bit. Followed the guide posted, but i keep getting an error after running the start-up command: wine ~/.wine/drive_c/Program\ Files/P99/eqgame.exe patchme


fixme:toolhelp:CreateToolhelp32Snapshot Unimplemented: heap list snapshot
fixme:advapi:SetSecurityInfo stub
fixme:win:EnumDisplayDevicesW ((null),0,0x32ebc4,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x32eed0,0x00000000), stub!
FINAL Couldn't open or read UIFiles\default\EQLSUI.xml
FINAL Couldn't open or read UIFiles\default\EQLSUI.xml
err:d3d:IWineD3DDeviceImpl_Reset Cannot change the back buffer format yet

was wondering if anyone else ran into this problem or if anyone had any idea on what I maybe doing wrong. :confused:

thanks in advance

cadiz 09-18-2011 01:52 PM

This post might help you, this is a common error that folks experience if they copy any sort of directory structure from and old/live EQ installation. Are you starting clean with a Titanium installation & only P99 spellfiles?
You want to start with a clean "UIFiles" directory and use something like the Velious UI listed in the getting started guide

You will also want to make sure your permissions are happy.. you need to make sure the local user also owns the EQ directories you just copied over.
(open a terminal)

chown -Rv `whoami`.`whoami` /path/to/eq/files

If this does not fix it and you are running clean I would recommend trying to run the 'eqgame.exe' while in the current working directory.

For example...

(open a terminal.. substituting my paths for yours..)

cd ~/.wine/drive_c/Program\ Files/eq_p99/
taskset -c 0 wine eqgame.exe patchme

See what happens there, the benefit of running in the terminal is you get all the verbose feedback.. the "warning:" type messages you can ignore.

Maladorm 09-18-2011 02:03 PM

thanks for the help, running it out of the directory worked out.

It was indeed a clean install copied over from my windows machine. I may have copied over a different copy mistakenly though now that i think about it. I'll go through and do another install when i get some free time but for now this works. Thanks for the quick reply.

cadiz 09-18-2011 02:07 PM

Quote:

Originally Posted by Maladorm (Post 404775)
thanks for the help, running it out of the directory worked out.

It was indeed a clean install copied over from my windows machine. I may have copied over a different copy mistakenly though now that i think about it. I'll go through and do another install when i get some free time but for now this works. Thanks for the quick reply.

Sure, no problem. Happy to help.

If this works no need to do a clean install just make a script to CD to the current working directory and you're good.

Example ::

#!/bin/sh
# start everquest
cd ~/.wine/drive_c/Program\ Files/eq_p99 ; taskset -c 0 wine eqgame.exe patchme

Copy and paste that into a file called "eq.sh"

chmod +x eq.sh (wherever it is)

Now in your window manager of choice just create a launcher for it and you're good.

PS: If you're using GNOME or KDE I'd suggest turning off all 'Desktop Effects" - it really affects the performance. I run EQ in XFCE (F15 has a really good version/install of it .. just "yum groupinstall XFCE" to install it and at your login it will be available).


All times are GMT -4. The time now is 07:57 PM.

Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.