User Tools

Site Tools


games:wine:old_school_runescape_jagex_launcher_c

Information

  • This allows running the Jagex Launcher and the C++ OSRS clients through wine
  • Jagex Launcher can be closed after pressing Play and the OSRS client window appears 4)

Prerequisites

Notes

  • 2023/07/23: The C++ client reacts oddly to wmctrl fullscreen toggling; use the in-game option for it
  • 2023/09/16: This works best on GNOME on Xorg on Intel UHD 630 5)
  • On the first OSRS client launch, it may start an invisible game window; Close osclient.exe and re-launch it from Jagex Launcher 6)
  • 2023/09/16: Jagex Launcher doesn't respond from GNOME system tray with gnome-shell-extension-appindicator and requires the separate Wine system tray (see keybase/client/#25823)

Install

Initial

mkdir -p ~/'.wine' && WINEPREFIX=~/'.wine/Old School RuneScape' WINEARCH='win64' wineboot && WINEPREFIX=~/'.wine/Old School RuneScape' winetricks 'discord_game_sdk=disabled' && sync

Jagex Launcher

  • :!: You need to supply your own Jagex Launcher files as the installer doesn't work 7)

Google Drive

  • Google Drive link to a clean Jagex Launcher folder with SHA256 below
  • Use this if at all unsure
sha256sum ~/'Downloads/20230920-Jagex-Launcher.zip' | grep 'c2005f0504fcb24a631ab60b2ead81e0e13931ef2c4651ff4a41032da631685a' > '/dev/null' && unzip -b -o -qq ~/'Downloads/20230920-Jagex-Launcher.zip' -d ~/'.wine/Old School RuneScape/drive_c/Program Files' && sync

Manual

  • Expects something like ~/Downloads/20230920-Jagex-Launcher.zip with any date
unzip -b -o -qq ~/'Downloads/'*'Jagex'*'Launcher.zip' -d ~/'.wine/Old School RuneScape/drive_c/Program Files' && sync
gio open ~/'.wine/Old School RuneScape/drive_c/Program Files'

Official Installer

  • :!: 2023/09/16: The installer doesn't launch a GUI and seemingly can't be silently-installed
  • See Jagex Launcher Installer notes for testing

Old School RuneScape

  • Update launcher if prompted, log-in, select OSRS → New Official Client → Install
mkdir -p ~/'.wine/Old School RuneScape/dxvk_shader_cache' && cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' DXVK_STATE_CACHE_PATH=~/'.wine/Old School RuneScape/dxvk_shader_cache' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer

Clean Up

rm -f ~/'Downloads/Jagex Launcher Installer.exe' ~/'Downloads/'*'Jagex Launcher.zip' && cd ~ && sync

Libraries

DXVK

ls ~/'Downloads/dxvk-master-'*'.zip' && rm -Rf '/tmp/dxvk-master' && mkdir -p '/tmp/dxvk-master' && unzip ~/'Downloads/dxvk-master-'*'.zip' -d '/tmp/dxvk-master/' && cp --backup '/tmp/dxvk-master/x64/'*'.dll' ~/'.wine/Old School RuneScape/drive_c/windows/system32/' && cp --backup '/tmp/dxvk-master/x32/'*'.dll' ~/'.wine/Old School RuneScape/drive_c/windows/syswow64/' && WINEPREFIX=~/'.wine/Old School RuneScape' winetricks 'd3d9=native' 'd3d10core=native' 'd3d11=native' 'dxgi=native' && mkdir -p ~/'.wine/Old School RuneScape/dxvk_shader_cache' && sync

Settings

  • FpsLimit is ideal for Wayland sessions in order to prevent uncapped framerate and unnecessary power usage; set 1Hz above refresh rate
mkdir -p ~/'.wine/Old School RuneScape/drive_c/users/'$USER'/AppData/Local/Jagex/Old School Runescape' && nano ~/'.wine/Old School RuneScape/drive_c/users/'$USER'/AppData/Local/Jagex/Old School Runescape/preferences_client.dat'
DisplayBuildInfo 1
FpsLimit 75

Defaults

  • 1080p fullscreen, max draw distance, MSAA x4, W416, Nearest-neighbour
  • Last updated: 2023/09/23
mkdir -p ~/'.wine/Old School RuneScape/drive_c/users/'$USER'/AppData/Local/Jagex/Old School Runescape' && nano ~/'.wine/Old School RuneScape/drive_c/users/'$USER'/AppData/Local/Jagex/Old School Runescape/preferences_client.dat'
AntiAliasingSampleLevel 2
Brightness 0
DefaultWorldId 416
DisplayBuildInfo 0
DisplayFps 0
DrawDistance 90
FpsLimit 75
Fullscreen 1
HideUserName 0
LastWorldId 416
MasterVolume 100
TitleVolume 100
UIQuality 0
WindowHeight 1080
WindowMode 2
WindowTopmost 0
WindowWidth 1920

Desktop Launcher

  • TODO: Kill and Cache clean-up is behind bash -c and presumably don't need CHANGEMEs; can be modernized like Exec
rm -f ~/'.local/share/applications/wine/Programs/OSClient.desktop' && mkdir -p ~/'.local/share/applications/wine/Programs/Jagex' && ln --symbolic --force '/dev/null' '/home/espionage724/.local/share/applications/wine/Programs/OSClient.desktop' && nano ~/'.local/share/applications/wine/Programs/Jagex/Old School RuneScape.desktop' && sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/wine/Programs/Jagex/Old School RuneScape.desktop'
[Desktop Entry]
Name=Old School RuneScape
Categories=Game;AdventureGame;RolePlaying
Exec='/bin/bash' -c "cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' vblank_mode='3' DXVK_STATE_CACHE_PATH=~/'.wine/Old School RuneScape/dxvk_shader_cache' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer"
Type=Application
StartupNotify=true
Icon=D0C9_osclient.0
StartupWMClass=osclient.exe
Actions=Zink;Cache;Kill;Notes;

[Desktop Action Zink]
Exec='/bin/bash' -c "cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer"
Name=Launch with Zink renderer

[Desktop Action Cache]
StartupNotify=false
Exec='/bin/bash' -c "rm -Rf '/home/CHANGEME/.wine/Old School RuneScape/drive_c/users/CHANGEME/AppData/Local/Jagex/Old School Runescape/'* '/home/CHANGEME/.wine/Old School RuneScape/drive_c/'*'.log' '/home/CHANGEME/.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.dxvk-cache' '/home/CHANGEME/.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/Client/osclient.dxvk-cache' '/home/CHANGEME/.wine/Old School RuneScape/drive_c/users/CHANGEME/AppData/Local/Jagex Launcher/logs/'* '/home/CHANGEME/.wine/Old School RuneScape/mesa_shader_cache'* && sync && notify-send 'The Old School RuneScape cache has been cleaned.'"
Name=Cache Cleanup

[Desktop Action Kill]
Exec='/bin/bash' -c "WINEPREFIX=~/'.wine/Old School RuneScape' wineserver --kill"
Name=Force-close

[Desktop Action Notes]
StartupNotify=false
Exec='/bin/bash' -c "gio open 'https://wiki.realmofespionage.xyz/games:wine:old_school_runescape_jagex_launcher_c'"
Name=Installation Notes

# End

Icon

  • Requires wrestool
mkdir -p ~/'.local/share/icons/hicolor/64x64/apps' && cd ~/'.local/share/icons/hicolor/64x64/apps' && wrestool --output='D0C9_osclient.0.png' --extract --type='14' ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/Client/osclient.exe' && cd ~

Quick Commands

Winecfg

WINEPREFIX=~/'.wine/Old School RuneScape' winecfg

Winetricks

WINEPREFIX=~/'.wine/Old School RuneScape' winetricks

Registry Editor

WINEPREFIX=~/'.wine/Old School RuneScape' regedit

Kill

WINEPREFIX=~/'.wine/Old School RuneScape' wineserver --kill

Execute

Jagex Launcher

cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' DXVK_STATE_CACHE_PATH=~/'.wine/Old School RuneScape/dxvk_shader_cache' WINEDEBUG='' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer

Zink

  • MESA_LOADER_DRIVER_OVERRIDE=zink
  • MESA_VK_WSI_PRESENT_MODE=immediate
cd ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher' && MESA_LOADER_DRIVER_OVERRIDE='zink' MESA_VK_WSI_PRESENT_MODE='immediate' PULSE_LATENCY_MSEC='400' MESA_SHADER_CACHE_DIR=~/'.wine/Old School RuneScape' DXVK_STATE_CACHE_PATH=~/'.wine/Old School RuneScape/dxvk_shader_cache' WINEDEBUG='' WINEPREFIX=~/'.wine/Old School RuneScape' wine ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/JagexLauncher.exe' --disable-gpu --disable-software-rasterizer

Troubleshooting

  • Wine's virtual desktop may be necessary with certain desktop/window managers and with Wayland
explorer /desktop='Jagex-Launcher','1280x720'

File Manager

Jagex Launcher

gio open ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/'

Old School RuneScape

gio open ~/'.wine/Old School RuneScape/drive_c/Program Files/Jagex Launcher/Games/Old School RuneScape/Client/'
3)
Frame drops seen in the video do not happen locally
4)
the log-in session carries over through world switches and even log-outs; Jagex Launcher only needs to be re-opened if you close the OSRS client window
5)
Xorg session has tearing unless Disable unredirect fullscreen windows is used; Wayland sessions have notably higher input latency with any vsync method, and requires the usage of Zink to workaround an odd 45-50 FPS cap
6)
on Windows this seems to manifests as a visible game window that doesn't appear in the taskbar; OSRS defies typical window-management logic :p presumably when it tries to define a default window position on first-launch
7)
install Jagex Launcher on a Windows machine first, and then the Jagex Launcher folder in Program Files can be copied over as-is to the Wine prefix; you don't need to log-in but ideally run it once after installation for it to update to the latest version
8)
need to be signed into GitHub, and select the latest master artifacts package
9)
notes here for completeness, to cover obscure distros that don't package DXVK alongside Wine, and the dxvk_shader_cache folder
10)
2023/09: openSUSE Tumbleweed and Fedora 38 are known to not need this
11)
required to fix audio glitches present in music even on Fedora 38 where PipeWire is used
/var/www/wiki/data/pages/games/wine/old_school_runescape_jagex_launcher_c.txt · Last modified: 2023/09/23 04:44 by Sean Rhone