Today i just solved the big mystery of why OpenGL don't work correctly
in Linux and possibly other UNIX systems too.
The issue was that the "java" binary was not properly linked to its own libraries.

The solution was to just add the java lib folder to the LD_LIBRARY_PATH before launching java, this fix is now added to all the preferedjava settings option in the Runescape Unix Client!

soo here is the changelog!

#### Version 2.9 ####
* Made a fix for Software and OpenGL display modes in Java7 and OpenJDK7
 No settings needed! This is entirely automatic!
 
* Made the runescape script follow symlinks to the binary file in order
 to add the java library path to fix OpenGL issues when using Java7/OpenJDK7

#### Version 2.8 ~ R2#update-runescape-client ####
* Made the update-runescape-client ASK if it is ok to download and compile
 p7zip-full if it is not detected, this was done by request from one of the
 players who were concerned that it happened without permission.
 I guess i focused so much on compability that i forgot my manners.
 I am sorry that it happened, hope you all can forgive me :)
 
* update-runescape-client script now gives more info if the 7z binary is not found,  this will make it easier to know what packages are missing! :)

- HikariKnight
 


Paul
13/05/2012 13:30

http://pastebin.com/RJCSa3H1

Something is not quite right here. ;^)

13/05/2012 14:18

sent you an email with some steps that might give me a clue on what went wrong so I can fix it ASAP when I wake up ;)
anyway for now just go to settings.conf and add a custom preferredjava value like /usr/lib/jvm /java-6-openjdk/bin/java

15/05/2012 09:32

Client updated which have a workaround for this issue now :P

Ker
17/05/2012 16:22

Hey, just posting as you suggested :)

Jondice
12/08/2012 20:09

HI,

Runescape newb here trying to run it on a Solaris 11 machine. Everything works well except I seem to be stuck in safe mode. I originally tried this with jdk-6 and had the same issue, now I'm trying with jdk-7. The only relevant error I can see is this:

Executing the RuneScape Client!
You are now in the hands of Jagex.

######## End Of Script ########
######## Jagex client output will appear below here ########

sh[1]: /usr/jdk/instances/jdk1.7.0/jre/lib/i386/jli/libjli.so: cannot create [Permission denied]
Trying to load icon file: /home/brandon/runescape/share/jagexappletviewer.png
Loader init
Init 1
Init 2
...


Now if I rune the runescape script with sudo, it will mess up /usr/jdk/instances/jdk1.7.0/jre/lib/i386/jli/libjli.so.

12/08/2012 21:34

I havent been able to make opengl or software mode work on solaris myself, the rsu script was made as a linux port of the windows port of the game client.

And since i lack proper knowledge of solaris there is not much i can do. OpenGL works in Linux though.

Sorry for the lack of proper solaris support :/

Jondice
13/08/2012 07:10

Thanks for the quick reply. I'm always amazed at how non-cross platform java turns out to be at times, especially on *this* OS, where java at least should be fairly polished considering the heritage.

One thing that doesn't seem specific to the RSU script is the stack trace generated by an exception when I try to change rendering opttion (also tried a different simple script from the runescape wiki):
java.lang.RuntimeException:
at xk.<init>(xk.java:224)
at cw.r(cw.java:13)
at fq.x(fq.java:57)
at r.l(r.java:50)
at u.ez(client.java:1834)
at eu.et(eu.java:1795)
at aau.ek(aau.java:1788)
at ds.ajd(ds.java:10118)
at ajl.w(ajl.java:723)
at r.a(r.java:312)
at lv.z(lv.java:223)
at py.x(po.java:161)
at er.fa(er.java:2771)
at client.du(client.java:1302)
at client.as(client.java:1214)
at ml.v(ml.java:583)
at ml.w(ml.java:559)
at ml.run(ml.java:516)
at java.lang.Thread.run(Thread.java:662)

It is my understanding that Jagex is open source, so it should be possible to dig in to the code to investigate?

13/08/2012 07:34

Yes and no...
Yes the game client LAUNCHER is opensource
however the game and client itself is not opensource.
And that stack trace is from jagexappletviewer.jar which is the game client itself. That part is not opensource so i cant do much with that.

All i do know is that specific stack trace mentions a missing library, we just do not know which and if it even exists for solaris.


Comments are closed.