User Tools

Site Tools


games:runescape_native

Information

  • RuneScape 1)
  • NXT 2)

Install

Version Check

RuneScape

  • This extracts the necessary files out of the latest official runescape-launcher-amd64.deb package
  • :!: This currently expects the launcher package to be version 2.2.8, and may need a URL update for updated packages
  • Last tested: 2020/12/01 on openSUSE Tumbleweed
cd ~ && rm -Rf ~/'.runescape' ~/'Jagex/launcher' ~/'Jagex/updater' ~/'Jagex/RuneScape/GlobalSettings.jcache' ~/'Jagex/RuneScape/Settings.jcache' ~/'Jagex/RuneScape/ShaderManager.jcache' ~/'.local/share/icons/hicolor/'*'/apps/runescape.png' ~/'.local/share/applications/RuneScape.desktop' '/tmp/runescape' && mkdir -p ~/'Jagex/updater' '/tmp/runescape' && wget -O '/tmp/runescape/runescape-launcher-amd64.deb' 'https://content.runescape.com/downloads/ubuntu/pool/non-free/r/runescape-launcher/runescape-launcher_2.2.8_amd64.deb' && unar -o '/tmp/runescape' '/tmp/runescape/runescape-launcher-amd64.deb' && unar -o '/tmp/runescape' '/tmp/runescape/runescape-launcher-amd64/data.tar.xz' && cp '/tmp/runescape/data/usr/bin/runescape-launcher' '/tmp/runescape/data/usr/share/games/runescape-launcher/runescape' ~/'Jagex/updater' && cp -R '/tmp/runescape/data/usr/share/icons' ~/'.local/share' && ls ~/'Jagex/updater/runescape' ~/'Jagex/updater/runescape-launcher' > '/dev/null' && rm -Rf '/tmp/runescape' && sync

Launcher

  • :!: Minor changes to the current runescape-launcher from 2.2.8 3)
nano ~/'Jagex/updater/runescape-launcher'
#!/bin/sh

if [ -z $1 ]; then
    configURI=http://www.runescape.com/k=5/l=\$\(Language:0\)/jav_config.ws
else
    configURI=$1
    shift
fi

export PULSE_PROP_OVERRIDE="application.name='RuneScape' application.icon_name='runescape' media.role='game'"
export SDL_VIDEO_X11_WMCLASS="RuneScape"

#export PULSE_LATENCY_MSEC=100
#export MESA_GL_VERSION_OVERRIDE=3.0

# Custom



unset XMODIFIERS
./runescape --configURI $configURI $@

Generic

  • :!: Add under # Custom but above unset XMODIFIERS
# Generic
export MESA_GLSL_CACHE_DIR=~/'Jagex'

Modern AMD Graphics

  • AMD Radeon RX 580
  • :!: Add under # Custom but above unset XMODIFIERS
# Generic
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# Modern AMD Graphics
export MESA_GL_VERSION_OVERRIDE='4.6FC'
export mesa_glthread='true'

Modern Intel Graphics

  • Intel Iris Graphics 5100
  • Intel HD Graphics 6000
  • :!: Add under # Custom but above unset XMODIFIERS
  • MESA_GL_VERSION_OVERRIDE is not required, but without it, the max OpenGL version reported is 3.0, even though the hardware easily supports 4.5 4)
# Generic
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# Modern Intel Graphics
export MESA_GL_VERSION_OVERRIDE='4.5FC'
export mesa_glthread='true'

Old Intel Graphics

  • Intel GMA 4500MHD
  • :!: Add under # Custom but above unset XMODIFIERS
  • The graphics-related environment variables are for a Intel GMA 4500MHD GPU that barely reports OpenGL 2.0
  • :!: MESA_GLSL_VERSION_OVERRIDE is required, and 130 is the lowest NXT will allow
  • :!: MESA_GL_VERSION_OVERRIDE can be 2.1, but renderer in dev console doesn't expose GL extensions 5)
  • :!: This computer requires graphics settings to be Low for any kind of playable FPS
# Generic
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# Old Intel Graphics
export MESA_GLSL_VERSION_OVERRIDE='130'
export MESA_GL_VERSION_OVERRIDE='3.0'
export mesa_glthread='true'

NVIDIA Proprietary

  • :!: Expects use of the NVIDIA proprietary driver, and not nouveau 6)
  • :!: Add under # Custom but above unset XMODIFIERS
# NVIDIA Proprietary
export __GL_SHADER_DISK_CACHE_PATH=~/'Jagex'
export __GL_THREADED_OPTIMIZATIONS='1'

Optimus

  • Optimus 7)
  • :!: Expects PRIME Render Offload, but may work with the old Offloading Graphics Display with RandR method
  • :!: Add under # Custom but above unset XMODIFIERS
# NVIDIA Proprietary
export __GL_SHADER_DISK_CACHE_PATH=~/'Jagex'
export __GL_THREADED_OPTIMIZATIONS='1'

# NVIDIA Proprietary Optimus
export __NV_PRIME_RENDER_OFFLOAD='1'
export __GLX_VENDOR_LIBRARY_NAME='nvidia'

Optimus iGPU

  • Allows use of Intel iGPU on Optimus set-ups
  • Creates a secondary launcher script with modern Intel-specific environment variables
nano ~/'Jagex/updater/runescape-launcher-igpu' && chmod +x ~/'Jagex/updater/runescape-launcher-igpu'
#!/bin/sh

if [ -z $1 ]; then
    configURI=http://www.runescape.com/k=5/l=\$\(Language:0\)/jav_config.ws
else
    configURI=$1
    shift
fi

export PULSE_PROP_OVERRIDE="application.name='RuneScape' application.icon_name='runescape' media.role='game'"
export SDL_VIDEO_X11_WMCLASS="RuneScape"

# Generic
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# Modern Intel Graphics
export MESA_GL_VERSION_OVERRIDE='4.5FC'
export mesa_glthread='true'

unset XMODIFIERS
./runescape --configURI $configURI $@

Debugging

  • :!: Add under # Custom but above unset XMODIFIERS
export MESA_GL_VERSION_OVERRIDE='4.5FC'
export MESA_DEBUG='1'
export LIBGL_DEBUG='verbose'
export vblank_mode='0'
export __GL_SYNC_TO_VBLANK='0'
export mesa_glthread='true'
export GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3,cpu4+cpu5+cpu6+cpu7;cpu8+cpu9+cpu10+cpu11,cpu12+cpu13+cpu14+cpu15;GPU-load,requested-VRAM+VRAM-usage;fps,API-thread-offloaded-slots+API-thread-direct-slots+API-thread-num-syncs'
export GALLIUM_HUD='fps'
export MESA_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export SDL_AUDIODRIVER='alsa'

Settings

Game

Music Player

Camera

  • DB Browser for SQLite → Settings.jcache
  • Browse Data → Table: vt-varc → KEY 1971 → DATA
  • Set DATA for KEY 1971 to NULL and restart client to have default camera distance 8)
  • In-game → Settings → Gameplay → General → Game Interaction → [x] Lock zoom to prevent accidental changes
sqlitebrowser ~/'Jagex/RuneScape/Settings.jcache'

Developer Console

GNOME Keybind

  • Press Alt + ~ to access the console in-game
  • This needs ran with GNOME since it binds Alt + ~ by-default
gsettings set 'org.gnome.desktop.wm.keybindings' 'switch-group' "['disabled']"

Keybind Reset

gsettings reset 'org.gnome.desktop.wm.keybindings' 'switch-group'

Commands

  • Type help to see commands
  • :!: displayfps being displayed lowers performance noticeably, and it may be better to use GALLIUM_HUD if possible for performance statistics
help
displayfps
renderer

Volume

Information

  • For some reason, Runescape's volume is lower than average
  • The following commands boosts RS's volume past 100%
  • :!: This expects PulseAudio to be used

Get Index

  • :!: If playing audio from another source, remove grep, and Properties will present Runescape for the correct sink
pactl list sink-inputs | grep '#'

Set Volume

pactl set-sink-input-volume 'x' '155%'

Ping

nano '/tmp/rs3-ping.sh' && chmod +x '/tmp/rs3-ping.sh' && '/tmp/rs3-ping.sh'
for world in {1..141};
do
    res=$(ping world${world}.runescape.com -c 1 2>&0 | grep "time=" | cut -d' ' -f 8,9 | cut -d'=' -f 2) && echo World ${world}: ${res};
done

Desktop Launcher

RuneScape

nano ~/'.local/share/applications/RuneScape.desktop'
[Desktop Entry]
Name=RuneScape
Comment=A unique MMO set in the vast, fantasy world of Gielinor, brimming with diverse races, guilds and ancient gods battling for dominion. RuneScape now features more ways to play, brand new skills and over 200 gripping story-driven quests.
Categories=Game;AdventureGame;RolePlaying
Exec='/home/CHANGEME/Jagex/updater/runescape-launcher'
Type=Application
StartupNotify=false
Path=/home/CHANGEME/Jagex/updater
Icon=runescape
StartupWMClass=RuneScape
Actions=Kill;Cache;

[Desktop Action Kill]
Exec='/bin/killall' -9 'rs2client' 'runescape' 'runescape-launcher'
Name=Force-close

[Desktop Action Cache]
Exec='/bin/bash' -c "rm -Rf ~/'.runescape' ~/'Jagex/mesa_shader_cache' ~/'Jagex'/GLCache' ~/'Jagex/launcher/instance.lock' ~/'Jagex/RuneScape/ShaderManager.jcache' '/tmp/runescape' && sync && notify-send 'The RuneScape cache has been cleaned.'"
Name=Cache Clean-up
sed -i 's/'CHANGEME'/'$USER'/g' ~/'.local/share/applications/RuneScape.desktop'

Other Launchers

iGPU

Actions=iGPU
[Desktop Action iGPU]
Exec='/home/CHANGEME/Jagex/updater/runescape-launcher-igpu'
Name=Launch RuneScape on Integrated Graphics

Quick Commands

Execute

RuneScape

cd ~/'Jagex/updater' && ~/'Jagex/updater/runescape-launcher'

File Manager

Root

gio open ~/'Jagex'
3)
the launcher is changed to run runescape from it's working directory instead of in /usr/share/..
4)
this allows selecting MSAA, but GPU performance for MSAA is unideal; outside of this there's no known benefit
5)
it's unknown if this causes any issues or improves anything
6)
if using nouveau, adapt Intel or AMD environment variables
7)
Intel/AMD iGPU primary + NVIDIA dGPU on-demand secondary
8)
the default value as of 2020/09/29 is 4730
games/runescape_native.txt · Last modified: 2021/01/28 23:20 by Sean Rhone