This is a wiki for a reason. Anyone can contribute. If you see something that is inaccurate or can be improved, don't ask that it be fixed--just improve it.
[ Disclaimer, Create new user --- Wiki markup help, Install P99 ]

Project 1999 on Linux via WINE

From Project 1999 Wiki
Jump to: navigation, search

P99 linux wine wiki · TXT

Contents

Introduction

This guide covers installing and running Project 1999 EverQuest on Linux using Wine, the Windows compatibility layer. It covers all major Linux distributions, with clear notes where steps differ between them.

If you are using a Steam Deck, or have Steam installed and prefer an easier setup, see Project 1999 on Steam Deck and Linux via Proton instead — that path requires less configuration.

This guide was compiled from over a decade of community contributions. Credit to mgellan, cadiz, Ruien, Lakserejseren, and many other forum contributors whose work is listed in the References section.

What you need

Distribution quick-reference

This guide uses the following labels to flag distro-specific commands:

  • [Debian/Ubuntu/Mint] — covers Ubuntu, Linux Mint, Debian, and derivatives. Uses apt.
  • [Fedora/RHEL/CentOS] — covers Fedora, Red Hat Enterprise Linux, CentOS, and Rocky Linux. Uses dnf or yum.
  • [Arch/Manjaro] — covers Arch Linux, Manjaro, and derivatives. Uses pacman.

Where a command is the same on all distributions, no label is shown.

Step 1 — Install Graphics Drivers

EverQuest uses Direct3D 9, which Wine translates to OpenGL or Vulkan. Getting your graphics drivers right first saves troubleshooting later.

Nvidia

Proprietary Nvidia drivers are strongly recommended. Open-source Nouveau drivers have historically had poor 3D performance with EverQuest.

  • [Debian/Ubuntu/Mint] Install via your system's "Additional Drivers" tool (found in System Settings), or:
sudo ubuntu-drivers autoinstall
  • [Fedora/RHEL]
sudo dnf install akmod-nvidia
  • [Arch/Manjaro]
sudo pacman -S nvidia nvidia-utils

AMD

The open-source AMDGPU driver is generally good. Check the AMDGPU feature matrix to confirm your GPU is supported. Proprietary AMD drivers can be downloaded from AMD's website if needed.

Intel

Intel integrated graphics use the open-source i915 driver which is included in the kernel. No additional installation is usually needed.

DXVK (optional but recommended)

DXVK translates Direct3D calls to Vulkan instead of OpenGL, and can improve performance and compatibility. It requires Mesa (for AMD/Intel) or Nvidia's Vulkan driver. If you encounter graphical issues without it, installing it is worth trying — Wine can use it automatically when present in the game directory. See the DXVK GitHub page for installation instructions.

Step 2 — Install Wine

Wine is not usually installed by default. Use the WineHQ stable packages for the most reliable results — the version in your distro's default repositories is often outdated. The current stable release is Wine 11.0 (as of May 2026).

Debian / Ubuntu / Mint

These steps install the latest WineHQ stable release using the official repository.

sudo dpkg --add-architecture i386
sudo apt update
sudo mkdir -p /etc/apt/keyrings
sudo wget -qO- https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key

Now add the WineHQ source for your release. This command detects your Ubuntu/Mint codename automatically:

. /etc/os-release && sudo wget -NP /etc/apt/sources.list.d/ \
  https://dl.winehq.org/wine-builds/ubuntu/dists/${VERSION_CODENAME}/winehq-${VERSION_CODENAME}.sources

If the automatic method fails, you can find the correct source URL for your release on the WineHQ Ubuntu page or WineHQ Debian page.

sudo apt update
sudo apt install --install-recommends -y winehq-stable

Fedora / RHEL / CentOS

The WineHQ repository provides current builds for Fedora. First install dependencies:

sudo dnf install liberation-narrow-fonts nss-mdns openldap pulseaudio-libs liberation-sans-fonts

Then add the WineHQ repo and install. See the WineHQ Fedora page for the current repo URL for your Fedora version, then:

sudo dnf install winehq-stable

Note — 64-bit Fedora: If you get an error about /lib/ld-linux.so.2 on a 64-bit system, you need the 32-bit glibc library: sudo dnf install glibc.i686

Arch / Manjaro

Enable the multilib repository in /etc/pacman.conf (uncomment the [multilib] section), then:

sudo pacman -Sy wine wine-mono wine-gecko

Step 3 — Configure Wine

Initialize your Wine prefix

A Wine prefix is Wine's virtual Windows environment. Initialize it by running:

winecfg

This opens the Wine configuration window. Press OK through any prompts to install the Gecko engine. On the Audio tab, select your sound system (PulseAudio is the default on most modern distros; use ALSA if you have no PulseAudio).

Close winecfg when done.

Set Wine to 32-bit mode (if needed)

Some users find EverQuest Titanium only works reliably with a 32-bit Wine prefix. If you encounter crashes or launch failures, try this before anything else:

mv ~/.wine ~/.wine64-backup
WINEARCH=win32 winecfg

This creates a fresh 32-bit prefix. Proceed from here as normal.

Configure the Graphics tab (optional)

In winecfg, the Graphics tab lets you:

  • Enable Emulate a virtual desktop — useful if the game refuses to launch or has display issues
  • Set the desktop size to match your monitor resolution
  • Control mouse capture behaviour

Step 4 — Get the EverQuest Files

You must obtain the EverQuest Titanium client before proceeding. See Acquiring The EverQuest Client for your options.

Once you have the Titanium files, place them in Wine's virtual drive. The path depends on which type of Wine prefix you have:

  • 64-bit prefix (default): ~/.wine/drive_c/Program Files (x86)/Sony/EverQuest/
  • 32-bit prefix (if you used WINEARCH=win32 in Step 3): ~/.wine/drive_c/Program Files/Sony/EverQuest/

EverQuest Titanium is a 32-bit application, so on a 64-bit prefix Wine places it in Program Files (x86) — the same way 64-bit Windows handles 32-bit programs.

Note: The .wine directory is hidden by default. Press Ctrl+H in your file manager to show hidden files and folders.

If you are copying from an existing Windows installation, you can navigate to the Windows partition in your file manager and copy the EverQuest folder directly to the path above.

Step 5 — Apply the P99 Patch Files

  1. Download the latest patch ZIP from the P99 files page. Always use the latest version available (V62 as of May 2026).
  2. Extract the ZIP. You will see files and subfolders inside.
  3. Copy the files into your EverQuest folder, merging folders rather than replacing them. Do not drag the entire extracted folder on top of your EQ folder — this replaces whole directories and will cause "Error in GUI XML files" when you try to play. Copy the contents, folder by folder.

Fix the DSETUP.dll filename conflict

Linux filesystems are case-sensitive; Windows is not. The P99 patch includes a file called dsetup.dll (lowercase) but the Titanium installer creates DSETUP.dll (uppercase). On Linux these are treated as two different files, and the wrong one gets used.

Fix this by running the following three commands from inside your EverQuest directory:

cd ~/.wine/drive_c/Program\ Files\ \(x86\)/Sony/EverQuest
mv DSETUP.dll DSETUP.tmp
mv dsetup.dll DSETUP.dll
mv DSETUP.tmp dsetup.dll

This renames the files so the P99 dsetup.dll is the one Wine will load.

Note: If you get a "spell files out of date" error at character select, this DSETUP.dll swap is almost always the cause. Return here and make sure it was done correctly.

Step 6 — Configure eqclient.ini

Before launching, edit eqclient.ini in your EverQuest folder to avoid common display and crash issues.

At minimum, set these values. If the sections do not exist yet, add them — the file will be created the first time you run the game, so you may need to launch once, let it crash or close, then edit.

[Defaults]
WindowedMode=TRUE
VertexShaders=FALSE

[VideoMode]
Width=1920
Height=1080
FullscreenRefreshRate=0
FullscreenBitsPerPixel=32
WindowedWidth=1920
WindowedHeight=1080

Replace 1920×1080 with your actual monitor resolution.

If you have texture or model problems

Add these additional settings to the [Defaults] section:

20PixelShaders=FALSE
14PixelShaders=FALSE
1xPixelShaders=FALSE
MultiPassLighting=FALSE
UseLitBatches=FALSE
TextureCache=FALSE
DoProperTinting=FALSE

A full working reference eqclient.ini is available at Linux Reference eqclient.ini File.

Step 7 — Launch EverQuest

EverQuest must be launched with the patchme argument — without it, the game tries to patch itself against the live servers, which breaks P99. The P99 patch provides a file called Launch Titanium.bat which does this automatically.

Option A — Run Launch Titanium.bat directly

From inside your EverQuest directory:

cd ~/.wine/drive_c/Program\ Files\ \(x86\)/Sony/EverQuest
wine cmd /c "Launch Titanium.bat"

Option B — Create a launch script (recommended)

Create a reusable shell script so you do not have to type the path every time. Open a text editor and save the following as ~/eq.sh:

#!/bin/bash
cd "$HOME/.wine/drive_c/Program Files (x86)/Sony/EverQuest"
WINEPREFIX="$HOME/.wine" wine eqgame.exe patchme 2>/dev/null

Make it executable:

chmod +x ~/eq.sh

Run it with:

~/eq.sh

You can also create a desktop launcher pointing to this script.

Option C — Create a desktop icon

To create a clickable desktop icon, save the following as ~/Desktop/EQP1999.desktop:

[Desktop Entry]
Type=Application
Name=EQ Project 1999
Exec=sh -c 'cd "$HOME/.wine/drive_c/Program Files (x86)/Sony/EverQuest";wine cmd /c "Launch Titanium.bat"'
Terminal=false

Then right-click the icon and select Allow Launching.

Option D — Use Lutris

Lutris is a game launcher that manages Wine configurations per game, keeping P99's Wine settings separate from other games. It also provides some additional Wine fixes.

  1. Install Lutris using your package manager.
  2. Click the + button → add a game manually.
  3. On the Game Options tab, set the Executable to your Launch Titanium.bat file.
  4. Set the Wine Prefix to a dedicated directory (e.g. ~/Games/P99/prefix) — keeping prefixes separate per game avoids conflicts.
  5. On the Runner Options tab, enable windowed mode and set your resolution.

Step 8 — Fix the Server List

This is the most common problem on Linux. After logging in, the server selection screen may show a blank list. This is a UDP networking quirk in Linux's handling of EverQuest's login protocol.

Option A — Retry or restart

Logging out and back in a few times sometimes works. Not reliable, but zero effort.

Option B — Use Zaela's login middleman

This tool intercepts and re-routes the login traffic in a way Linux can handle. It must be running before you launch EQ.

  1. Install build tools if you do not have them:
    [Debian/Ubuntu/Mint] sudo apt install build-essential
    [Fedora/RHEL] sudo dnf groupinstall "Development Tools"
    [Arch/Manjaro] sudo pacman -S base-devel
  2. Download and build:
git clone https://github.com/Zaela/p99-login-middlemand
cd p99-login-middlemand
make
  1. Run it before launching EQ:
./bin/p99-login-middlemand &

Option B combined with launch script

Add the middleman to your eq.sh script so it starts and stops automatically:

#!/bin/bash
~/p99-login-middlemand/bin/p99-login-middlemand &
echo $! >/tmp/p99middle.pid
cd "$HOME/.wine/drive_c/Program Files (x86)/Sony/EverQuest"
WINEPREFIX="$HOME/.wine" wine eqgame.exe patchme 2>/dev/null
kill -9 $(cat /tmp/p99middle.pid)

Step 9 — MIDI Music (optional)

EverQuest's background music uses MIDI. You may hear no music, or see a Wine error about no MIDI port. Modern systems running PipeWire may find MIDI works automatically via winetricks directmusic. Otherwise:

Install FluidSynth and QSynth

[Debian/Ubuntu/Mint]

sudo apt install fluidsynth fluid-soundfont-gm qsynth

[Fedora/RHEL]

sudo dnf install fluidsynth fluid-soundfont-gm qsynth

[Arch/Manjaro]

sudo pacman -S fluidsynth soundfont-fluid qsynth

Configure QSynth

  1. Launch QSynth.
  2. Go to Setup → Audio tab and select ALSA.
  3. Go to the Soundfonts tab and load FluidR3_GM.sf2.
  4. Click OK. QSynth must remain open while playing for MIDI music to work.
Note: If using PipeWire (the default on most modern distros), try running winetricks sound=alsa first — MIDI may work without QSynth at all.

Troubleshooting

Invisible characters / shadow outlines instead of models

This is usually a Direct3D vertex shader issue. In eqclient.ini, set:

VertexShaders=FALSE

If that does not help, also set:

20PixelShaders=FALSE
14PixelShaders=FALSE
1xPixelShaders=FALSE

As a registry workaround (especially useful on AMD cards), run Wine's regedit and create:

HKEY_CURRENT_USER\Software\Wine\Direct3D

Add a string value: UseGLSL = disabled

"Error in GUI XML files" on launch

The P99 patch files were merged incorrectly — whole folders were replaced instead of merged. Re-apply the patch by copying files individually, preserving the folder structure.

"Your files are out of date" at character select

Almost always caused by the DSETUP.dll case conflict. Return to Step 5 and redo the rename steps.

No servers at server select

See Step 8. The login middleman tool is the reliable fix.

winecfg errors on first run (64-bit Fedora)

If you see /lib/ld-linux.so.2: bad ELF interpreter, install 32-bit glibc:

sudo dnf install glibc.i686

No OpenGL / Direct3D not available

On 64-bit systems you may need 32-bit graphics libraries:

[Fedora/RHEL]

sudo dnf install mesa-libGL.i686 mesa-dri-drivers.i686

[Debian/Ubuntu/Mint]

sudo apt install libgl1:i386

GameLauncherCefChildProcess page fault error

Seen on some Ubuntu/Nvidia combinations. Fix with winetricks:

winetricks corefonts d3dx9 d3dx9_43 dxvk

Mouse stuck in centre of screen / mouselook stops at screen edge

In winecfg → Graphics tab, enable Automatically capture the mouse in full-screen windows. Alternatively, running in windowed mode (which is recommended anyway) avoids this issue entirely.

Game runs slowly / poor performance

Disable desktop compositing effects (Compiz, KWin effects, etc.) while playing. These are known to significantly impact Wine game performance. In GNOME, KDE, or XFCE you can usually toggle effects off in System Settings.

References

This guide was compiled from the following community resources: