Does it work if you disable the overlay in the game properties?
Its not an overlay issue, ./custom-ticket-to-ride-32 is called from steam, it waits on dlopen a 32bit lib, which breaks in a 64bit JVM causing this hang.
# BridJ: dlopen error = Steam/SteamApps/common/Ticket to Ride/lib/linux-x86/libdowsteam.so: wrong ELF class: ELFCLASS32
Renaming ./custom-ticket-to-ride-64 to ./custom-ticket-to-ride-32 also fails because their script guesses the arch from the filename of the launcher :|
Editing ./custom-ticket-to-ride-32 script gets you into the game, but you cannot get access to the maps because of missing 64bit java steamworks.
This isn't a Steam issue, then? You should report this to the app developers too.
Partially, dev needs to add their ./custom-ticket-to-ride-64 to a 64bit launch option and also ship with 64bit steamworks.
Hi guys, thanks for your answer.
@gdrewb-valve
Does it work if you disable the overlay in the game properties?
Unfortunately I forgot to test this case. Now I don't have an access to my PC, I'll check it in the evening.
@johndrinkwater
I agree, that it is very strange to try launch only 32bit. But, I didn't only rename a script, I also changed a ./custom-ticket-to-ride-32 so, that it launched a *64 one. And I saw in process list, that ./custom-ticket-to-ride-64 was launched, but it didn't help me.
Following this discussion I decided, that the problem could be somewhere in Steam environment. I mean a local variables, libraries etc.
I checked with disabled overlay and T2R launched successful. But anyway I can't play, 'cause I am not authorized and there are no available maps.
btw, as I said I changed ./custom-ticket-to-ride-32 as
#!/bin/sh
./custom-ticket-to-ride-64
My .install4j looks like:
JRE_VERSION /usr 1 7 0 45
JRE_INFO /usr 114
If I launch 32bit script, I have a problem with a splash screen (there is no progress bar and black screen with a word "loading"). If I launch a 64bit one, it seems ok.
Nevertheless, I made a ticket here
I tried it yesterday, but the form didn't work. Today I was more lucky)).
Will wait for their answer)
Context: I'm one of the developper of Ticket to Ride.
The problem is that we can't run the 64 bits version of Ticket to Ride in Steam, because the current Steam sdk doesn't contain the necessary 64 bits library for linux. So we default to the 32 bits version that requires a 32 bits JVM which must be installed on the machine (usually sudo apt-get install default-jre:i386 on ubuntu).
@johndrinkwater you seem to imply there exists a steam sdk for linux 64 bits. Can you please direct me to where we can find this?
@masterzen, do you get the same hang mentioned when running 32-bit? Do you know what that hang is, is it something to do with not having all of the JRE installed?
@gdrewb-valve no, we don't get any hang on our test machines (that means 2 different ubuntu versions, 1 debian, 1 fedora on different hardware).
If you don't have the jre installed, the game just gives you an error telling you need to install one.
We had some reports of hangs coming from people running with dual monitors on ATI cards with the fglrx driver (running in single screen mode solves the issue). I don't really know yet what the issue is.
I'll keep this bug posted with our findings.
Guys, I spent some time juggling with java versions. I made my T2R work from Steam, but it works only without Steam overlay.
I installed 32bit OpenJDK, made a symlink (as @masterzen advised me ) ln -s /usr/lib/jvm/bin32-java-7-openjdk/jre/ ~/.local/share/Steam/SteamApps/common/Ticket\ to\ Ride/jre, then I deleted ~/.install4j and launch the game. Unfortunately, it doesn't work with openjdk at all =( There is a part from ~/.tt/log/output.log :
00:04:03.026 [main] DEBUG log - Physical RAM available: 8359936000 < 266338304
00:04:03.125 [main] ERROR c.d.tt.application.TTApplication - Main: ouch something bad happened - ungraceful exit ahead
java.awt.HeadlessException: null
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207) ~[na:1.7.0_45]
at java.awt.Window.<init>(Window.java:535) ~[na:1.7.0_45]
at java.awt.Frame.<init>(Frame.java:420) ~[na:1.7.0_45]
at java.awt.Frame.<init>(Frame.java:385) ~[na:1.7.0_45]
at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1755) ~[na:1.7.0_45]
at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1830) ~[na:1.7.0_45]
at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1697) ~[na:1.7.0_45]
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863) ~[na:1.7.0_45]
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:667) ~[na:1.7.0_45]
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:638) ~[na:1.7.0_45]
at com.daysofwonder.tt.application.TTApplication.alert(TTApplication.java:935) ~[TicketToRide_application.jar:1.6.2-453-251f323e]
at com.daysofwonder.tt.application.TTApplication.start(TTApplication.java:258) ~[TicketToRide_application.jar:1.6.2-453-251f323e]
at com.daysofwonder.tt.application.TTApplication.main(TTApplication.java:752) ~[TicketToRide_application.jar:1.6.2-453-251f323e]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source) [i4jruntime.jar:na]
at com.install4j.runtime.launcher.Launcher.main(Unknown Source) [i4jruntime.jar:na]
00:04:03.125 [main] WARN c.d.tt.application.TTApplication - Exiting Process
After this fail I installed an Oracle jre, made a symlink in the same way and launched successfully T2R from Steam. But it works only with disabling overlay. I even can see opened maps)) But if I enable an overlay, the game hangs, as I wrote early.
You installed the headless version of openjdk, instead of the "regular" version which explains the error you had.
Regarding the problem with the overlay, can you give us more detail about your graphic environment, including driver, distributions, version and graphic card model.
@masterzen currently the launch script fails to detect openjdk’s jre as a working vm and alerts the user that there’s nothing suitable ‐ good. It then suggests to define INSTALL4J_JAVA_HOME which may lead them to get it loading through their 64bit jvm anyway ‐ less good…
You could include in the zenity message ‘install default-jre:i386’, which should reduce some support requests.
I also don’t know of a 64bit steamworks yet :(
@masterzen Are you sure about headless? Because I see a lot of *.so files in a library directory here /usr/lib/jvm/bin32-java-7-openjdk/jre/lib/i386/, that's why I decided that this package provided me jre.
I'm not expert, so let it be =)
As for system configuration, I left a link to Steam sysinfo above. I hope it can give a full information about my system)
btw, could you add a hint about symlink on jre folder in the FAQ?
@gdrewb-valve do you have any ETA about 64bit steamworks?
By the way, I checked this tricks with java on my laptop ( here is sysinfo ) and the game works even with enabled overlay.
There's no date set for a 64-bit Steamworks.
@gdrewb-valve
Version 1.26 Steamworks SDK released
11/07/13
The Steamworks SDK has been updated with new APIs for Family Sharing, 64-Bit Linux binaries and a new UGC interface to query Workshop items.
via https://partner.steamgames.com/
Does it mean, that now @masterzen could add full support of 64bit OS ? =)
@Alarmfifa yes it's planned for next week.
On gentoo amd64 all you should need to do is
sudo emerge -av emul-linux-x86-java
eselect java-vm set user [number for emul-linux-x86-java-1.6 ]
and it should work.
@masterzen Wow! It's an awesome news!
Good luck in you work!
Hello @Alarmfifa, are you still experiencing this issue?
Hi!
I've just tested, it seems works. Thanks! =)
Thanks for retesting, closing.
Nothing extracted yet.
Ticket to Ride doesn't work from Steam.
If I launch the game manually (without Steam) it works perfectly.
(I mean $ cd ~/.local/share/Steam/SteamApps/common/Ticket\ to\ Ride/ && ./custom-ticket-to-ride-64 )
But when I try to launch it from Steam interface, a java process hangs and the game doesn't start.
Unfortunately, if I launch T2R not from Steam, there are no purchased maps =( consequently, I can't play at all...
My sysinfo is here.