Skip to content

Instantly share code, notes, and snippets.

@ahungry
Last active March 14, 2024 00:37
Show Gist options
  • Save ahungry/b6427ebe04dc6dfbfb0e2122bad0cdab to your computer and use it in GitHub Desktop.
Save ahungry/b6427ebe04dc6dfbfb0e2122bad0cdab to your computer and use it in GitHub Desktop.
Everquest Quarm (TAKP client) Setup

General Notes

Original reference: https://wiki.takp.info/index.php/Getting_Started_on_Linux_(v3)_Wine-Staging_6.0,_vulkan_%26_dxvk

Arch Linux with wine-8.13 and setup_dxvk

EQ Game Files

Download the game files hosted here: https://www.dropbox.com/s/bppy4ebt7vl7hwk/TAKP%20PC%20V2.1c.zip?dl=0

Found via this link: https://wiki.takp.info/index.php/Getting_Started_on_Windows

Compatability files

Download dgvoodoo2 via: http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/ Using version: v2.81.1

Setup commands (build prefix, add dgvoodoo2 etc.)

mkdir -p ~/.quarm  # Your new main area
cd ~/.quarm
mkdir QUARM                       # Hold game files here (so unzip the TAKP zip contents)
mkdir dgvoodoo                    # Hold the dgvoodoo2 files here
ls -l projectquarm_08_05_2023.zip # Ensure you have this from Discord #server-files

# Set up the prefix (these are important for the active shell session - prefix each command
# with these if you don't retain the export in your active env).
export WINEARCH=win32
export WINEPREFIX=~/.quarm/take1
wineboot
setup_dxvk install

# Copy your dgvoodoo2 d3d8.dll and d3d9.dll to the game file directory
cp dgvoodoo/MS/x86/D3D8.dll ./QUARM/d3d8.dll
cp dgvoodoo/MS/x86/D3D9.dll ./QUARM/d3d9.dll
rm QUARM/D3D8.dll QUARM/D3D9.dll                # Incase they were leftover from main unzip

# Tell your wine prefix to use those files sitting in the game file directory
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d8 /d native /f >/dev/null 2>&1
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d9 /d native /f >/dev/null 2>&1

# Add the quarm specific file(s):
cp projectquarm_08_05_2023.zip QUARM/
cd QUARM && unzip projectquarm_08_05_2023.zip # Overwrite (A) - see eqgame.dll replaced

# Try it out and confirm it works:
wine eqgame.exe # Or if using nvidia discrete on a laptop: 'prime-run wine eqgame.exe'

MIDI Support

For MIDI to work, you need to run something like this prior to starting the game (otherwise most town/vendor music is missing):

fluidsynth -s --audio-driver=pulseaudio -m alsa_seq /usr/share/soundfonts/freepats-general-midi.sf2

After ensuring the MIDI server and sound files are installed:

sudo pacman -S fluidsynth freepats-general-midi

Single install command via Lutris

If you don’t like doing things manually (beyond acquiring the files), you can use this installer for Lutris.

# Step 1: Get the game files (see earlier in this gist)
# Step 2: Run the command on the next line
#     lutris -i $(realpath ./eq-quarm.yml)
# Step 3: Enjoy Project Quarm
id: 0
game_id: 0
game_slug: eq-quarm
name: Everquest Quarm
year: 2023
user: ahungry
runner: wine
slug: everquest-quarm
version: Quarm
description: EQ Quarm Installer
notes: Installs EQ Quarm
created_at: 2023-08-08T18:00Z
updated_at: 2023-08-08T18:00Z
draft: true
published: false
steamid: null
gogid: null
gogslug:
humbleid:
humblestoreid:
humblestoreid_real:

script:
  wine:
    # https://github.com/lutris/docs/blob/master/WineBuilds.md
    # version: lutris-fshack-7.2-x86_64
    version: lutris-GE-Proton8-7-x86_64
    dxvk: true
    esync: true

  # With this as single, the EULA never loads - 2+ cpu will work - locally I
  # taskset to 2 when running game manually, but multi seems ok for
  # TAKP client.
  # system:
  #   single_cpu: false

  files:
    # https://www.dropbox.com/s/bppy4ebt7vl7hwk/TAKP%20PC%20V2.1c.zip?dl=0
  - client_zip: N/A:Please select your TAKP client zip file (TAKP PC V2.1c.zip)
  - dgvoodoo2_zip: N/A:Please select your dgvoodoo2 zip file/download (dgVoodoo2_81_1.zip).
  - quarm_zip: N/A:Please select your Quarm zip file from Discord (projectquarm_08_05_2023.zip)

  game:
    prefix: $GAMEDIR
    arch: win32
    exe: $GAMEDIR/client/eqgame.exe
    working_dir: $GAMEDIR/client

  installer:
  - task:
      description: Creating Wine prefix
      name: create_prefix
      prefix: $GAMEDIR
      install_mono: false
      install_gecko: false
  - extract:
      dst: $GAMEDIR/client
      file: client_zip
  - extract:
      dst: $GAMEDIR/dgvoodoo
      file: dgvoodoo2_zip
  - extract:
      dst: $GAMEDIR/quarm
      file: quarm_zip
  - move:
      src: $GAMEDIR/dgvoodoo/MS/x86/D3D8.dll
      dst: $GAMEDIR/client/d3d8.dll
  - move:
      src: $GAMEDIR/dgvoodoo/MS/x86/D3D9.dll
      dst: $GAMEDIR/client/d3d9.dll
  - move:
      src: $GAMEDIR/quarm/eqgame.dll
      dst: $GAMEDIR/client/eqgame.dll
  - task:
      description: Edit registry to set it to use dgvoodoo2 d3d8
      prefix: $GAMEDIR
      name: set_regedit
      path: HKEY_CURRENT_USER\Software\Wine\DllOverrides
      key: d3d8
      value: native
      type: REG_SZ
  - task:
      description: Edit registry to set it to use dgvoodoo2 d3d9
      prefix: $GAMEDIR
      name: set_regedit
      path: HKEY_CURRENT_USER\Software\Wine\DllOverrides
      key: d3d9
      value: native
      type: REG_SZ
@FrostWolf86
Copy link

@ahungry
Copy link
Author

ahungry commented Oct 1, 2023

Nice! Thanks for the video (or linking to it if not yours) 😄

@Dubbbish
Copy link

Having trouble installing on my steam deck. Following all of the steps exactly from the youtube video and no matter what I do or try I get an error during they dgvoodoo step of the yml script. It fails at that point and says, "VaueError( not enough values to unpack (excpected 2, got 0}"

Any help or insight to why i would get this error would be much appreciated. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment