Hello everyone,
Linux users, has anyone tried the new Steam Play feature to play Stonehearth on linux?
I have not tried it yet, but I hope it works!
Hello everyone,
Linux users, has anyone tried the new Steam Play feature to play Stonehearth on linux?
I have not tried it yet, but I hope it works!
One of my coworkers was just discussing this. Sounds very promising
Not a full Linux user (95% of time using W10), but I like to try game ports for it.
Honestly, I just got to your thread because of the newsletter on my mail
Now, about the main question:
First, you need to check the option on Steam in order to enable the download/play button in your library.
I was a little skeptical that Stonehearth will run without too much trouble. What a foolish thought ^-^
The game runs fine at the moment (still don’t tested it for a long time).
Gonna update my comment as I make some advancement.
Just in case, my specs are:
OS: Ubuntu 18.04 x64
CPU: AMD Ryzen 5 1400
GPU: Nvidia 1060 6 GB Zotac Mini
RAM: 8 GB 2400 MHz
Here’s an screenshot
Update 1: Played for ~20 minutes. Nothing advanced, just building shared quarters, with a trapper working and the rest mining. Opened the Mason workshop and, for some reason, the UI locked. Couldn’t close the dialog, pressing something else did nothing, had to kill the process (yeah, the game keeps running background because of Wine. Linux things ).
Update 2: Me again, had to sleep xD. Loaded the game from the screenshot (‘Snow Fighters’, SF), it didn’t had any problems. UI locked again, but this time I noticed a weird movement in the cursor, just 1 second before the mason workshop open again. Tried to replicate that but couldn’t find the way. Better enable auto-save because you have to kill the process every time the lock happens.
Update 3: Yeah, too fast. The UI locked again, just after selecting a new mining area (4x4 tool), hovered on the hotbar and the lock happened. Now I’m waiting for the auto-saving before kill the process again Update for this update: the UI doesn’t rescale with the window (when it’s locked). F5 doesn’t work like it should. Thankfully, F6 works and I can save the game without wait the auto-save
Update 4: Alright, now, being a little more careful, only got 1 UI lock (after that, just quick-save the game, kill process, open again, load). There are moments where the FPS drops (sometimes like W10, I’m not gonna lie) but the rest seems to be fine. Something I should say before is that I’m playing with Trapper+ (first times playing with mods, this one is great ).
Another screenshot (keep in mind I lost my progress multiple times because of the UI lock & I’d been playing others games)
Update 5: Hello again, here with another update. Trying to fight the cold and get a carpenter (almost get it, just a little more). Noticed that LUA was using a lot of power and the FPS went from 60 to 10 multiple times. Turns out that the game speed was set to 2 (two arrows, 3 is disabled). One UI lock and that’s it (most of the time, I close the game only when that happens).
Update 6: Not too much to say…There’s a point where the game becomes barely playable because of the performance and remember that Steam Play isn’t perfect (yet?). UI locks became kinda weird (or maybe I was being mroe careful than before). I had a good time with SF, finally got an archer and meat was easier to obtain and my farmers got their job again (be nice, Winter).
Anyways, I’m going back to WIndows 10 until Linux has another surprise for me. Hope my experience gave you some insights about how Stonehearth runs on Linux.
Some screenshots ^-^
PS: Whoever had the idea for those little falls…I REALLY LOVE IT!
PPS: Didn’t tried multiplayer. If someone wants to test it with me (you don’t need to be using Linux, I think. Add me on Steam), I’ll be glad to add another update.
Thanks for the review, @Anerak!
If there are any other Linux users who haven’t given up on the game already (and I couldn’t blame them) please try this out and report bugs while we still can! Obviously some of them are going to be Linux/Wine/Steam problems that can’t be fixed on SH’s end but… now that completing the cross-platform promise is no longer out of the question, I’m hoping it gets as good as possible for you.
Hi all,
after seeing the promising results from this thread, I decided to give it a shot again for myself.
First time launching, the game just immediately locked up. It would play the main menu background music, it would should a barely visible Radiant logo, but nothing else. So I tried just calling wine
myself (which is used internally by Steam too, but with a lot of patches on top). And behold, it just worked! A multi-hour play session without any problems whatsoever, except that it was eventually interrupted by a UI lockup.
I found out that the loading error is actually caused by some missing font (though I’m not sure which one exactly). Standard Windows fonts are not shipped with Wine due to licensing reasons. Manually downloading and installing them into the prefix (i.e. virtual windows C: drive) makes the game run smoothly under SteamPlay, just as well as under Windows.
These are the commands you need:
export WINEPREFIX="$HOME/.local/share/Steam/steamapps/compatdata/253250/pfx"
winetricks corefonts
If you installed Stonehearth into a different path than the default, you’ll have to adjust the prefix path here. Also you’ll have to install winetricks
, which does the hard work.
One odd thing I noticed is that the game seems to leak memory. I noticed my RAM gradually filling up, and investigated to find out that Stonehearth was holding some large files open on /tmp
(which is a ramdisk). The files in question are actually created by the Wine Esync patches, to implement thread/process synchronization. I haven’t seen this kind of problem with other programs in Wine-esync before, so I assume it’s the game leaking references to these objects. After one or two hours of playing, it already sums up to a few Gigabytes.
Monitoring opened files of the Stonehearth.exe
processes showed that it’s definitely leaking somewhere. Immediately after loading into the game, opened files (including mentioned synchronization objects) were less than 100, but during these two hours it went up to over 300. The game (especially the UI) has become incredibly slow towards the end, taking about a second to process a button click, and often the game would freeze completely for multiple seconds. SH’s Total RAM usage went from ~1.5GB to well over 8GB.
Another odd one: Very first thing after launching the game, the crash_reporter.exe
dies on a null pointer. It’s quite possible that this kind of random crash is caused by an API function behaving slightly differently under Wine, or a DLL not being present/loaded. These are usually considered bugs in Wine.
Here’s the crash dump, maybe someone can find out what’s wrong:
Unhandled exception: page fault on read access to 0x00000000 in 64-bit code (0x000000014002aae2).
Register dump:
rip:000000014002aae2 rsp:000000000023fb40 rbp:000000000023fbb0 eflags:00010206 ( R- -- I - -P- )
rax:0000000000000001 rbx:ffffffffffffffff rcx:00000000000100a8 rdx:0000000000000000
rsi:000000000023fc78 rdi:000000000024a610 r8:0000000000240d18 r9:000000000000006a r10:0000000000000002
r11:0000000000240d20 r12:000000000023fcc8 r13:0000000000000000 r14:000000000023fc58 r15:000000000023fc38
Stack dump:
0x000000000023fb40: ffffffffffffffff ffffffffffffffff
0x000000000023fb50: 000000000023fc78 00000001403a6780
0x000000000023fb60: 0000000000000005 fffffffffffffffe
0x000000000023fb70: 0000000000240000 0000000000000000
0x000000000023fb80: 0000000000000000 0000000000000007
0x000000000023fb90: 0000000000000000 0000000000000000
0x000000000023fba0: 0000000000000000 000000000000000f
0x000000000023fbb0: 0000000000000000 0000000000000000
0x000000000023fbc0: 0000000000000000 0000000000000000
0x000000000023fbd0: 000000000023fce0 000000014002ae47
0x000000000023fbe0: 0000000140000000 0000000000000000
0x000000000023fbf0: 000000000023fe00 0000000000000000
Backtrace:
=>0 0x000000014002aae2 in crash_reporter (+0x2aae2) (0x000000000023fbb0)
1 0x000000014002ae47 in crash_reporter (+0x2ae46) (0x000000000023fce0)
2 0x0000000140030f57 in crash_reporter (+0x30f56) (0x000000000023ffd0)
3 0x00000001401aca6b in crash_reporter (+0x1aca6a) (0x000000000023ffd0)
4 0x000000007b4777ce start_process+0xfd() in kernel32 (0x000000000023ffd0)
0x000000014002aae2: cmpw $0,(%rdx)
Modules:
Module Address Debug info Name (62 modules)
ELF 7b400000- 7b811000 Export kernel32<elf>
\-PE 7b420000- 7b811000 \ kernel32
ELF 7bc00000- 7bd32000 Deferred ntdll<elf>
\-PE 7bc20000- 7bd32000 \ ntdll
ELF 7c000000- 7c003000 Deferred <wine-loader>
PE 140000000- 1403d9000 Export crash_reporter
PE 180000000- 180059000 Deferred tbb
ELF 7f4e77a86000- 7f4e77a9b000 Deferred api-ms-win-core-localization-l1-2-1<elf>
\-PE 7f4e77a90000- 7f4e77a9b000 \ api-ms-win-core-localization-l1-2-1
ELF 7f4e77a9b000- 7f4e77aaf000 Deferred api-ms-win-core-fibers-l1-1-1<elf>
\-PE 7f4e77aa0000- 7f4e77aaf000 \ api-ms-win-core-fibers-l1-1-1
ELF 7f4e77aaf000- 7f4e77ac4000 Deferred api-ms-win-core-synch-l1-2-0<elf>
\-PE 7f4e77ab0000- 7f4e77ac4000 \ api-ms-win-core-synch-l1-2-0
ELF 7f4e77ac4000- 7f4e77aed000 Deferred imm32<elf>
\-PE 7f4e77ad0000- 7f4e77aed000 \ imm32
ELF 7f4e77e18000- 7f4e77e21000 Deferred libuuid.so.1
ELF 7f4e77e21000- 7f4e77e5d000 Deferred libexpat.so.1
ELF 7f4e77e5d000- 7f4e77ea4000 Deferred libfontconfig.so.1
ELF 7f4e77ea4000- 7f4e78116000 Deferred libpcre.so.1
ELF 7f4e78116000- 7f4e7813b000 Deferred libgraphite2.so.3
ELF 7f4e7813b000- 7f4e7825e000 Deferred libglib-2.0.so.0
ELF 7f4e7825e000- 7f4e78344000 Deferred libharfbuzz.so.0
ELF 7f4e78344000- 7f4e7855b000 Deferred libz.so.1
ELF 7f4e7855b000- 7f4e78593000 Deferred libpng16.so.16
ELF 7f4e78593000- 7f4e785a6000 Deferred libbz2.so.1.0
ELF 7f4e785a6000- 7f4e7886f000 Deferred libfreetype.so.6
ELF 7f4e7886f000- 7f4e788b1000 Deferred ws2_32<elf>
\-PE 7f4e78880000- 7f4e788b1000 \ ws2_32
ELF 7f4e788b1000- 7f4e788e1000 Deferred iphlpapi<elf>
\-PE 7f4e788c0000- 7f4e788e1000 \ iphlpapi
ELF 7f4e788e1000- 7f4e78971000 Deferred shlwapi<elf>
\-PE 7f4e788f0000- 7f4e78971000 \ shlwapi
ELF 7f4e78971000- 7f4e78c5f000 Deferred shell32<elf>
\-PE 7f4e78990000- 7f4e78c5f000 \ shell32
ELF 7f4e78c5f000- 7f4e78c7a000 Deferred version<elf>
\-PE 7f4e78c60000- 7f4e78c7a000 \ version
ELF 7f4e78c7a000- 7f4e78d0c000 Deferred advapi32<elf>
\-PE 7f4e78c90000- 7f4e78d0c000 \ advapi32
ELF 7f4e78d0c000- 7f4e78e8a000 Deferred gdi32<elf>
\-PE 7f4e78d20000- 7f4e78e8a000 \ gdi32
ELF 7f4e78f8a000- 7f4e791ea000 Deferred user32<elf>
\-PE 7f4e78fb0000- 7f4e791ea000 \ user32
ELF 7f4e792ea000- 7f4e792ff000 Deferred libnss_files.so.2
ELF 7f4e7a9de000- 7f4e7aa9a000 Deferred libgldispatch.so.0
ELF 7f4e7aa9a000- 7f4e7acac000 Deferred libxext.so.6
ELF 7f4e7acac000- 7f4e7adeb000 Deferred libx11.so.6
ELF 7f4e7adeb000- 7f4e7ae1e000 Deferred libglx.so.0
ELF 7f4e7ae20000- 7f4e7ae25000 Deferred libdl.so.2
ELF 7f4e7ae25000- 7f4e7ae2f000 Deferred librt.so.1
ELF 7f4e7ae2f000- 7f4e7aec2000 Deferred libgl.so.1
ELF 7f4e7aec2000- 7f4e7b0c8000 Deferred libxdmcp.so.6
ELF 7f4e7b0c8000- 7f4e7b2cc000 Deferred libxau.so.6
ELF 7f4e7b2ce000- 7f4e7b453000 Deferred libm.so.6
ELF 7f4e7b453000- 7f4e7b617000 Deferred libc.so.6
ELF 7f4e7b617000- 7f4e7b638000 Deferred libpthread.so.0
ELF 7f4e7b638000- 7f4e7b9de000 Export libwine.so.1
ELF 7f4e7b9de000- 7f4e7bc19000 Deferred gameoverlayrenderer.so
ELF 7f4e7bc19000- 7f4e7bc3b000 Deferred libgpg-error.so
ELF 7f4e7bc3d000- 7f4e7bc67000 Deferred libxcb.so.1
ELF 7f4e7bc67000- 7f4e7bc81000 Deferred libgcc_s.so.1
ELF 7f4e7be12000- 7f4e7be3e000 Deferred ld-linux-x86-64.so.2
ELF 7ffd1435d000- 7ffd1435e000 Deferred [vdso].so
Threads:
process tid prio (all id:s are in hex)
0000000c services.exe
00000022 0
0000001f 0
0000001a 0
00000016 0
00000013 0
00000012 0
00000011 0
0000000e 0
0000000d 0
0000000f winedevice.exe
00000017 0
00000015 0
00000014 0
00000010 0
00000018 plugplay.exe
0000001c 0
0000001b 0
00000019 0
0000001d winedevice.exe
00000023 0
00000021 0
00000020 0
0000001e 0
00000024 explorer.exe
00000028 0
00000027 0
00000026 0
00000025 0
00000029 Stonehearth.exe
0000002a 0
0000002b (D) Z:\home\wuestengecko\.local\share\Steam\steamapps\common\Stonehearth\x64\crash_reporter.exe
0000002c 0 <==
System information:
Wine build: wine-3.7
Platform: x86_64
Version: Windows 7
Host system: Linux
Host version: 4.19.12-1-ck