nictuku / stardew-rocks

Share your Stardew Valley save games and see how your farm looks like, on the web!
Apache License 2.0
60 stars 16 forks source link

Running on Linux in Wine #70

Open Kodiologist opened 8 years ago

Kodiologist commented 8 years ago

Can I get this to run in Wine on Ubuntu 15.10? Let's find out! One complication is that I use WINEARCH=win32 WINEPREFIX=~/.wine32 for running Stardew Valley itself, whereas Stardew Farm only has a 64-bit executable for now.

When I say wine /tmp/stardew_rocks.exe, I get:

 fixme:process:SetProcessPriorityBoost (0xffffffffffffffff,1): stub
 fixme:virtual:create_view out of memory in virtual heap for 0xc000000000-0xc882002000
 fixme:virtual:create_view out of memory in virtual heap for 0x7f8c1e430000-0x7f94a0432000
 fixme:virtual:create_view out of memory in virtual heap for 0x1c000000000-0x1c882002000
 fixme:virtual:create_view out of memory in virtual heap for 0x7f8c1e430000-0x7f94a0432000
 fixme:virtual:create_view out of memory in virtual heap for 0x2c000000000-0x2c882002000
 fixme:virtual:create_view out of memory in virtual heap for 0x7f8c1e430000-0x7f94a0432000
 fixme:virtual:create_view out of memory in virtual heap for 0x3c000000000-0x3c882002000
 fixme:virtual:create_view out of memory in virtual heap for 0x7f8c1e430000-0x7f94a0432000
 fixme:virtual:create_view out of memory in virtual heap for 0x4c000000000-0x4c882002000
 fixme:virtual:create_view out of memory in virtual heap for 0x7f8c1e430000-0x7f94a0432000
 [ And so on, counting in hex, up to ]
 fixme:virtual:create_view out of memory in virtual heap for 0x7dc000000000-0x7dc882002000
 fixme:virtual:create_view out of memory in virtual heap for 0x7f8c1e430000-0x7f94a0432000
 fixme:virtual:create_view out of memory in virtual heap for 0x7ec000000000-0x7ec882002000
 fixme:virtual:create_view out of memory in virtual heap for 0x7f8c1e430000-0x7f94a0432000
 fixme:virtual:create_view out of memory in virtual heap for 0x7fc000000000-0x7fc882002000
 fixme:virtual:create_view out of memory in virtual heap for 0x7f8c1e430000-0x7f94a0432000
 fixme:file:SetFileCompletionNotificationModes 0xa0 3 - stub
 fixme:file:SetFileCompletionNotificationModes 0xac 3 - stub
 fixme:file:SetFileCompletionNotificationModes 0xb8 3 - stub

Those last three could be important: does Wine implement whatever file-watching system calls Stardew Farm needs?

Regardless of these messages, I do get an icon for Stardew Farm in my system tray (LXPanel). The URL from "Copy Link to Clipboard", namely http://127.0.0.1:58727, just stalls forever when I try to open it in Firefox. wget says just HTTP request sent, awaiting response.... I tried sudo WINEPREFIX=/root/.wine wine /tmp/stardew_rocks.exe in case it was an issue of Stardew Farm not having the permissions for using that port, but now the connection is refused entirely.

nictuku commented 8 years ago

Thanks for the detailed report.

The "out of memory in virtual heap" messages are kinda scary looking, but I don't know what to do about them.

Not sure how your wine is setup, but the client needs access to your AppData directory with the game. If it doesn't, I'm not sure what would happen. So that's one possible cause. You'd have to make sure it can find the game data.

The log should be available in a directory like this: C:\Users\Yves\AppData\Local\nictuku\stardew.rocks\log.tx

Not sure if wine uses the same path structure, but I guess so.

If the logs are empty, you can try getting a stack dump. Send the process a SIGQUIT (kill -QUIT ). It will produce a very large stack trace. You can paste that on http://gist.github.com or so, then I can have look.

Thanks for helping with the testing!

Kodiologist commented 8 years ago

I tried adding a symlink to my Stardew Valley save directory (~/.wine32/drive_c/users/hippo/Application Data/StardewValley) to ~/.wine/drive_c/users/hippo/Application Data/StardewValley, but that didn't make a difference. Is there a way to manually set the location of the save directory?

Here's the log file:

2016-04-05T19:00:06.081-04:00 Starting stardew.rocks
2016-04-05T19:00:06.081-04:00 runOnStartup open key failure: File not found.
2016-04-05T19:00:13.95-04:00 Starting stardew.rocks
2016-04-05T19:00:13.95-04:00 runOnStartup open key failure: File not found.
2016-04-11T13:26:46.052-04:00 Starting stardew.rocks
2016-04-11T13:26:46.052-04:00 Configured to startup automatically
2016-04-11T13:33:47.966-04:00 Starting stardew.rocks
2016-04-11T13:42:35.883-04:00 Starting stardew.rocks
2016-04-12T14:58:46.111-04:00 Starting stardew.rocks
2016-04-12T14:58:46.111-04:00 Configured to startup automatically
2016-04-12T14:58:46.111-04:00 Exiting..
2016-04-12T15:01:43.994-04:00 Starting stardew.rocks
2016-04-12T15:02:53.961-04:00 Starting stardew.rocks
2016-04-12T15:04:22.885-04:00 Starting stardew.rocks
2016-04-12T15:04:48.637-04:00 Starting stardew.rocks
2016-04-12T15:07:08.662-04:00 Starting stardew.rocks

Sending SIGQUIT makes the taskbar icon disppear, but doesn't produce a stack trace or core dumb.

It may be easier to compile the core parts of the program for Linux rather than get the program to work with Wine. You don't need to implement things like automatically launching at system startup or watching the save directory for changes; the user can do that with a shell script, if they want to.