User Tools

Site Tools


games:runescape_native

This is an old revision of the document!


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.6, and may need a URL update for updated packages
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.6_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.6 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"



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

Generic

  • :!: Add between SDL_VIDEO_X11_WMCLASS and unset XMODIFIERS
  • PULSE_LATENCY_MSEC fixes a possible audio issue with PulseAudio, and may need adjusted
# Generic
export MESA_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export MESA_GLSL_CACHE_DIR=~/'Jagex'

NVIDIA Proprietary

  • :!: Expects use of the NVIDIA proprietary driver, and not nouveau 4)
  • :!: Add between SDL_VIDEO_X11_WMCLASS and unset XMODIFIERS
# Generic
export PULSE_LATENCY_MSEC='100'

# NVIDIA Proprietary
export __GL_SHADER_DISK_CACHE_PATH=~/'Jagex'
export __GL_THREADED_OPTIMIZATIONS='1'

Optimus

  • Optimus 5)
  • :!: Expects PRIME Render Offload, but may work with the old Offloading Graphics Display with RandR method
  • :!: Add between SDL_VIDEO_X11_WMCLASS and unset XMODIFIERS
# Generic
export PULSE_LATENCY_MSEC='100'

# 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_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# Modern Intel Graphics
export MESA_GL_VERSION_OVERRIDE='4.5FC'
export MESA_LOADER_DRIVER_OVERRIDE='iris'

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

Modern AMD Graphics

  • AMD Radeon RX 580
  • :!: Add between SDL_VIDEO_X11_WMCLASS and unset XMODIFIERS
  • :!: Using nir (last checked 2019/08/03) was assumed to prevent black-screen issues, but it happened once even with that option; maybe it reduces the frequency of them?
# Generic
export MESA_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# Modern AMD Graphics
export NIR_VALIDATE='0'
export MESA_GL_VERSION_OVERRIDE='4.5FC'
export AMD_DEBUG='unsafemath,sisched,gisel,nir'

# Benchmarking
#export GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;GPU-load,requested-VRAM+VRAM-usage;fps'

Modern Intel Graphics

  • Intel Iris Graphics 5100
  • Intel HD Graphics 6000
  • :!: Add between SDL_VIDEO_X11_WMCLASS and 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 6)
# Generic
export MESA_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export MESA_GLSL_CACHE_DIR=~/'Jagex'

# Modern Intel Graphics
export MESA_GL_VERSION_OVERRIDE='4.5FC'

Old Intel Graphics

  • Intel GMA 4500MHD
  • :!: Add between SDL_VIDEO_X11_WMCLASS and 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 7)
  • :!: This computer requires graphics settings to be Low for any kind of playable FPS
# Generic
export MESA_NO_ERROR='1'
export PULSE_LATENCY_MSEC='100'
export MESA_GLSL_CACHE_DIR=~/'Jagex'

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

Debugging

  • :!: Append after PULSE_LATENCY_MSEC
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 GALLIUM_HUD='cpu0+cpu1+cpu2+cpu3;cpu4+cpu5+cpu6+cpu7;GPU-load,requested-VRAM+VRAM-usage;fps'

Settings

Game

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'

Rendering Quality

  • DB Browser for SQLite → Settings.jcache
  • Browse Data → Table: Config → KEY GameRenderScale → DATA
  • Set DATA for KEY GameRenderScale to 33 or above 9)
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' '135%'

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=iGPU;Kill;Cache;

[Desktop Action iGPU]
Exec='/home/CHANGEME/Jagex/updater/runescape-launcher-igpu'
Name=Use Integrated GPU (Optimus)

[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'

Quick Commands

Execute

RuneScape

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

File Manager

Root

gio open ~/'Jagex'
3)
MESA_GL_VERSION_OVERRIDE is removed, and the launcher is changed to run runescape from it's working directory instead of in /usr/share/..
4)
if using nouveau, adapt Intel or AMD environment variables
5)
Intel/AMD iGPU primary + NVIDIA dGPU on-demand secondary
6)
this allows selecting MSAA, but GPU performance for MSAA is unideal; outside of this there's no known benefit
7)
it's unknown if this causes any issues or improves anything
8)
the default value as of 2019/12/19 is 4730
9)
100 is native, 200 is double
/var/www/wiki/data/attic/games/runescape_native.1584266032.txt.gz · Last modified: 2020/03/15 05:53 by Sean Rhone