Friday, May 3, 2013

EQMac on Linux

I've finally beaten this thing into submission...

High level overview: running a version of the EverQuest Mac client, which has been modified to work on Windows, in Linux under WINE.  It's actually not as difficult as it sounds.  If you follow my steps below, you should be up and running in no time.

Prerequisites:
  1. A copy of EverQuest Titanium (Windows client)
  2. Likely an installation of Windows -- dual boot or virtual machine
    1. It may be possible to do everything under Linux (via WINE), but I happened to have a Windows install already and used it for the Titanium install + EQMac download from the SOE Launchpad.
  3. An EQMac account (it's free -- go here: https://lp.soe.com/eqmac/live/)
Steps:
  1. Follow these instructions to create a bastardized version of the EQMac/Titanium client IN A WINDOWS ENVIRONMENT (follow link for more EQMac info) (note -- this is the portion that may be possible under Linux via WINE, but I haven't tried it):
    1. http://www.guardianhq.com/othergames/everquest-al'kabor-server-eqmac-for-pc/
    2. OR, partially re-pasted here (credit goes to Borneheld and whoever originally posted it on the fohguild forums):
      1. Install EverQuest Titanium edition and move the folder to C:\
      2. Rename the EQ Titanium folder to "EQMac"
      3. Download the new Intel EQMac Client located here: Launchpad 4
      4. When the new EQMac client is fully patched, find the folder (default location is C:\Users\Public\Sony Online Entertainment\EverQuest Mac or C:\Users\Default\AppData\Sony Online Entertainment\EverQuest Mac)
      5. Go into the folder "EverQuest Mac" > "Contents" > "Resources"
      6. In "Resources" folder, Select All > Copy > Paste to your C:\EQMac folder. Overwrite all.
      7. Extract the zip file located here: Images Host | File Host - FileB.ag - Download EQMac Windows Secrets Edition zip to C:\EQMac. Overwrite all.
  2. Install PlayOnLinux (4.2.1+) (note that it IS possible to do it without PlayOnLinux, using WINE by itself -- but this will take a fair amount of "WINE on the command line" knowledge, and it's easier to walk you through doing it via PlayOnLinux):
    1. Go to the PlayOnLinux download page: http://www.playonlinux.com/en/download.html
    2. Follow the instructions for your distribution
  3. Create a new 32-bit WINE prefix:
    1. Run playonlinux
      1. $ playonlinux
    2. Click the "Configure" button near the top
    3. In the configuration window, click "New"
    4. Next
    5. 32 bit windows installation
    6. Select "System" (for now), hit Next
    7. Enter your preferred name for the "virtual drive" (I called mine EQMac)
    8. Next
    9. Now you should have a new virtual drive configured
  4. Copy your bastardized EQMac client to your new virtual drive.  MAKE SURE THE INSTALL IS IN THE "ROOT" OF YOUR NEW VIRTUAL DRIVE (ie "~/PlayOnLinux's virtual drives/EQMac/drive_c/EQMac")
  5. Use PlayOnLinux to install necessary library overrides:
    1. In PlayOnLinux, highlight your virtual drive and click "Configure" in the right pane
    2. Click the "Install components" tab
    3. Install dinput8
    4. Install d3dx9
    5. Stay in configuration
  6. Set library overrides:
    1. Click the "Wine" tab
    2. Click "Configure Wine"
    3. Click the "Libraries tab" in the Wine configuration window
    4. If the following libraries aren't already included in the overrides box, enter these manually:
      1. In the "New override for library:" text box, type "d3dx9_30" (without quotes) and click "Add"
      2. In the "New override for library:" text box, type "dinput8" (without quotes) and click "Add"
      3. You will get a warning telling you that you shouldn't override this library... do it anyway... you HAVE to
    5. Stay in the Wine configuration window
  7. Set the appropriate graphics overrides
    1. Click the "Graphics" tab
    2. Check "Automatically capture the mouse in full-screen windows"
    3. Uncheck "Allow the window manager to decorate the windows"
    4. Check "Emulate a virtual desktop"
      1. Set the "Desktop size" to your desktop resolution to get full window play
    5. Click "OK"
    6. Stay in the PlayOnLinux configuration window
  8. Create a shortcut to the appropriate executable:
    1. Click the "General" tab
    2. Click "Make a new shortcut from this virtual drive"
    3. Highlight "eqw.exe" and click "Next"
    4. Click "Cancel"
  9. Change the WINE version in your virtual drive to a known working version for this EQMac client
    1. In the "General" tab, click the "+" button next to the "Wine version" (it should say "System" currently)
    2. In the 32-bit tab (x86), click Wine version 1.5.29 and add it to your system (">" button)
      1. Note: other Wine versions MAY work... but once I found a working version, I left it alone.
    3. Close the wine version manager window
    4. Select WINE version 1.5.29 in the "Wine version" drop-down box
  10. You should be ready to play!
    1. Close out of the PlayOnLinux configuration window
    2. Click on your eqw shortcut
    3. Click "Run"
    4. Enjoy
Bonus:
  1. You'll probably have to tweak some settings in the eqclient.ini file (located inside your EQMac directory), such as:
    1. Resolution
      1. In order to capture the mouse, you'll need to set it to your current desktop resolution (or possibly just to your emulated desktop resolution... I haven't tried that)
        1. A note on mouse capture... if you happen to move the window from its original pseudo-fullscreen position, you'll have a difficult time getting the mouse to stay within the bounds of the eqw window.  In order to correct it, you'll have to move your window back to the exact position it was in -- or possibly wipe a config file to get it to reset itself? (not sure which file(s) that would be)
    2. Luclin models
      1. Obviously optional, but if you want them on, you'll have to edit the file manually, since the client makes you turn them all off, the first time you run it, since your "system can't handle that many models" -- regardless of your system
    3. Possible graphical tweaks
      1. There are some graphical tweaks that you can change in the ini file that can help it to run better, look better, or increase stability.  I have everything cranked to max quality and it runs just fine (Intel i7 w/Nvidia GTX 670 and proprietary Nvidia drivers v310.40).

Feel free to comment if you have any questions and I'll TRY to help!  Also, let me know if you manage to do it entirely in Linux...


You've gotten better at Linux! (4)