PDA

View Full Version : Running Everquest under Linux with wine


Nokio
01-23-2010, 01:16 AM
Hi all,

Ill try to share the best of what I know and what I did to make mine work.

I am running Fedora12 32 bits (if your using Ubuntu that should be no problem). If your using something else it will work too.

Making the game start and work!!

First of all we have to install wine. Yes we can install it from our prefered distro if we want, but i use the rpm available from http://www.winehq.org/. You can try the one using your distro or use the one for your distro available on that website. I believe it work better with the lastest version from the wine website. (Let me know otherwise!)
Use this command when you first install wine to create that .wine directly with everything it needs : winecfg
A windows will open just close it and your good.

I must say that I cheated the installation. I had it installed under windows so i made a copy of the installation over my wine directory. So i moved the whole Sony Folder into my home/.wine/drive_c/Program Files/Sony

Once you have that Folder under wine on your Linux partition, we have to make some small modification.
First you will be installing ghex2 which is a Gnome Hex editor for files.
Fedora : sudo yum install ghex
Ubuntu : sudo apt-get install ghex

We need that tool to make a modification to a dll cause otherwise the game wont work correctly.
Get a copy of d3dx9_30.dll from our much loved internet.
From a command line use 'ghex2 d3dx9_30.dll'
A Windows will open and make those modification at offsets:
4c6f9, where there is a '83' replace it for '6a'
4c6fa, where there is a 'fe' replace it for '04'
4c6fb, where there is a '02' replace it for '5e'
Save the dll and your done with that.
Now move the dll to your Everquest working directory which is in our case the Sony/Everquest folder.

Under your Everquest folder there is a file named eqclient.ini. Edit that file and make sure those variable are like this :
VertexShaders=TRUE
TextureCache=FALSE
#optionnaly modify the resolution to fit your need
Save again that file


Your now ready to give the game a try
From the command line go into your Everquest folder and then start the game like this :
wine eqgames.exe patchme

If everything work you can make a small executable on your desktop to start the game corectly.


Troubleshooting

- Sounds, The only thing that does not work for me so far. But i don't care cause i always turn that off and listen to my own music

- Mouse, If your game start in Full window mode your mouse will probably be stuck in the middle of the screen. Try to Alt-Tab to fix it.

- Dual Core issue, start the game like this 'taskset -c 0 wine eqgame.exe patchme '

- See no character, If everything work but you don't see your character beside weapons, and it's the same for NPC, Mob etc. I believe it's related to your version of wine acting strangely with the dll. ( At Least from what i understood)



I know it's a long post and i hope it as simple as can be and i really hope it help those of you that wanted to give a try to this game under Linux.

P.S. Sorry for my not so good english i know i make a lot of mistake hehe!

dokfeelg00d
01-23-2010, 04:06 PM
I tried this on Mint before but didnt copy from my windows installation. I will give this a try and see how it goes. Thank you for the guide!

mrybczyn
02-12-2010, 11:41 PM
I've got a custom compiled wine, with the dll fix, but at server select I'm not seeing any servers...

BurnMage
02-24-2010, 04:55 PM
I really think this should be stickied, linux users everywhere would be happy

Nokio
02-24-2010, 05:52 PM
mrybczyn : Can you try it with a non-compiled wine version?

And when you launch everquest from a terminal do you get any ouput that might help you figure out the problem?

Supreme
02-24-2010, 06:20 PM
I could tell you but why would i want even more SHOWEQ users on 1999?

Zordana
02-24-2010, 06:31 PM
Superem: Dont even mention things like this :s

drplump
02-25-2010, 03:00 AM
I could tell you but why would i want even more SHOWEQ users on 1999?

Ohh how I long for the day when running a cheating program on the same computer as the game was impossible.

Zordana
02-25-2010, 09:06 AM
Ohh how I long for the day when running a cheating program on the same computer as the game was impossible.

it never was

Balme
02-26-2010, 06:00 PM
I'd love to get this running in wine on my laptop so I could play from other room, but regardless if I download that d3dx9_30.dll from that angelique site, or edit one myself I always end up just getting the character select list, but everything else is black then crashes.

Skifire
02-26-2010, 07:53 PM
I for one have tried to get EQ running on Linux for a while, P1999 is really the only reason that I dual boot Windows at all. I did a test run with your walk through and had the same results with the character not showing and such. If I figure any more out I'll post it...


Rushing 40 Druid <Divinity>
Skifire

ryandward
05-07-2011, 03:51 PM
I cant find any of those particular lines available on the dll I downloaded. I tried several files, and they are all different.

cidd
05-16-2011, 02:30 AM
P99 running in crunchbang statler XFCE with a few packages from sid:
http://ompldr.org/vOHB2ZA/eqscrot2.png
Machine is an athlon single core 2.0 ghz with 1 gb ddr2 533 that I picked up for a bill on ebay and a $40 video card that I got from compUSA (GeForce 210 or something). This machine won't even run EQ in windows without serious video glitches because it only has a 200w power supply in it. But with one ugly hack (modifying one line of the wine source code) everything is up and running just fine!

Basically the install process goes something like this:
1.Download and install crunchbang xfce (the most current release as of this writing is feb 2011)
2. Run the cb-welcome script and update everything to it's current sqeeze version
3. Copy your eq folder over from a windows install (you could probably install it from the CDs inside linux too but I've never tried
4. Edit your /etc/apt/sources.list and change where it says "squeeze" to "sid". This will switch your software sources from debian stable to debian unstable.
5. Install the 2.6.38 kernel and headers, unstable nvidia drivers, DKMS, nvidia-settings, nvidia-xconfig (in case x won't start when you reboot your computer, you may need nvidia xconfig to generate the xserver configuration files), and all of the libraries you need to build wine-unstable (like "libwine-alsa-unstable" for example), but DO NOT INSTALL WINE WITH A PACKAGE MANAGER LIKE APT, APTITUDE, OR SYNAPTIC.
6. Download the wine source code that correlates to whatever version of wine was in the unstable repos. When I did it the current version was 1.1.32 (and It probably will be for a while). Modify the source code as it instructs you to in this short guide that I found:
A) After downloading and extracting the WINE source code for your distribution/version and doing any other preperations as specified by the compile guide for your distribution/version, we are going to want to go into the source tree and open the '/<wherever>/dlls/d3d9/device.c' file in a plain-text editor.

B) Use the search feature to find the “function” (block of code) named 'Idirect3DDevice9Impl_GetDeviceCaps'. This line will only appear twice in the file, the first will be the “function” block and the second will probably be declarations and such that you need not worry about for this.

C) That “function,” or block of code should end maybe a half-page/page later with the a line that reads 'return hrc'. We want to add the following line of code immediately BEFORE the 'return hrc' line:

'pCaps->MaxVertexBlendMatrices=0x4;'

(In the most recent release of WINE when I write this, 1.1.18, the line you would be adding this code to would be line 360 of 'dlls/d3d9/device.c')

D) Make sure you didn't fuck anything else up, then save the file and close it. Continue to “build” the source as your distribution/version specific guide instructs you to. The compile process probably takes around a hour.

E) If everything compiled alright, and you continued to set WINE/EQEMU up correctly using everything I have instructed before this section... you should now have a fully functional EQEMU via WINE!
Compile the source code and install it just like you would any other program. Run winecfg to create your .wine folder in your home directory and set up your sound card etc. move that everquest folder into ~/.wine/drive_c/Program Files
7. Get a copy of angeliques d3d9 dll and eqclient.ini file and copy them into your eq folder (here's some links, who knows how long they'll stay up http://angeliqe.com/eqclient.ini http://angeliqe.com/d3dx9_30.dll). If EQ is the only game you plan on playing on this wine installation, than you can go ahead and copy the dll to your system32 directory as well (I did, and my EQ install works great!)
8. Run nvidia-settings to make sure that your display driver is installed properly. If it's not working you can just isssue a sudo /etc/init.d/gdm stop and then run nvidia-xconfig and then, you guessed it, sudo /etc/init.d/gdm start. That way you don't actually have to restart your computer.
9. Open your terminal, navigate to the eq folder, and run eq with taskset -c 0 wine eqgame.exe patchme if you're running on a single core like me than you can just do wine eqgame.exe patchme
10. Don't be a retard. Make sure you still follow all the other steps for playing on P99 that I neglected to mention, like changing your eqhost and spell files and such. Make sure you save a backup of your eq folder once you get it working so you don't have to do all this crap over again. My machine is like some bargain basement frankenstein garbage to hold me over until the new AMD 32nm CPUs come out, and I have working sound, particle effects, character models, mangler connects to vent servers great. The only drawback to using linux to play EQ is the whole mouselook bug (you can only turn left or right about ninety degrees then you have to click the mouse again because the wine API thinks the cursor is reaching the outside of the game window, this would probably be even less noticeable in a wide-screen resolution)

tristantio
05-16-2011, 11:55 AM
It is not necessary to change the d3d9 dll at all to play, just set vertex shaders to false in the eqclient.ini.

You can custom compile wine with the mouse wrap patch (however this will cause your EQ to take mouse input no matter what work space / window you are on) or you can just install a wine binary (I'm using 1.3).

Following this, install EQ and just edit the eqclient.ini to set all TRUE values to FALSE (this should hit all the necessary shadow / vertex shader options). Since the initial eqclient.ini is very small (it only becomes large after entering the game once) you can scroll through the 10 or so lines and see what values you will want to change back to TRUE (I think just the sound setting is the only one).

cidd
05-16-2011, 03:26 PM
Hmmm.....do you have a link to the mouse wrap patch? I've tried googling for it and all I can find is stuff regarding mouse warping.