Linux-to-Mac translation (Stardew Valley)

Questions about Wine on macOS.
Locked
Cespinarve
Level 1
Level 1
Posts: 9
Joined: Mon Sep 28, 2015 3:57 pm

Linux-to-Mac translation (Stardew Valley)

Post by Cespinarve »

I'm an utter wine novice - I know how to run CrossOver (which makes it easy), and I know how to use Wineskin Winery (which is slightly more complicated). I am trying to get a new Steam game to run on a Mac, and the answer I have been given is as follows:

I'm on Linux, but I got the game working by creating a new win32 wine prefix, using winetricks to install dotnet40 and xna40, and setting winecfg to XP mode and emulate desktop (at my full native resolution). I used steamcmd with

Code:
@sSteamCmdForcePlatformType "windows"
force_install_dir /home/wormzy/Downloads/StardewValley

to override platform and download location, then logged in and ran

Code:
app_update 413150

Following that, I exited steamcmd and ran

Code:
wine /home/wormzy/Downloads/StardewValley/Stardew\ Valley.exe

Which is super useful for that person, but not so helpful for the person who really only knows how to get winetricks working using a Winery bottle and can't figure out how to make a bottle win 32-bit using Winery (if it's even possible.

I was able to create a new 32-bit wine prefix from the terminal WINEARCH=win32 WINEPREFIX=[path] winecfg but I don't know where to go from there. Is there a way I can do all this in a bottle? If not, is anyone willing to hold an idiot's hand to recreate the above process on my Mac? And finally - is the thing that is doable on Linux POSSIBLE on a Mac?

Your faithfully,

A Student hoping to learn.
User avatar
dimesio
Moderator
Moderator
Posts: 13367
Joined: Tue Mar 25, 2008 10:30 pm

Re: Linux-to-Mac translation (Stardew Valley)

Post by dimesio »

Third party apps, including Wineskin and Crossover, are not supported here. They have their own forums.

Using plain Wine, the commands for winetricks and installing apps/games should be the same on a Mac as on Linux. Just specify the WINEPREFIX in the command line when you install anything to it, the same way you did when you created it. (You don't need to specify WINEARCH any more.)
Cespinarve
Level 1
Level 1
Posts: 9
Joined: Mon Sep 28, 2015 3:57 pm

Re: Linux-to-Mac translation (Stardew Valley)

Post by Cespinarve »

dimesio wrote:Third party apps, including Wineskin and Crossover, are not supported here. They have their own forums.

Using plain Wine, the commands for winetricks and installing apps/games should be the same on a Mac as on Linux. Just specify the WINEPREFIX in the command line when you install anything to it, the same way you did when you created it. (You don't need to specify WINEARCH any more.)
I never updated this yesterday - I abanodened trying to get either Winery or CrossOver to work and just started wrangling wine directly. The general problem seems to be that wine won't emulate XNA4.0 Framework despite installing it at least semi-successfully. Linux machines have found success running in a 32-bit configuration, but Macs don't seem to work either way, you either get

err:module:import_dll Library mscoree.dll (which is needed by L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe" failed, status c0000135
err:service:service_send_command service protocol error - failed to write pipe!
fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v4.0.30319_32" failed to start: 1053
Dynamic session lookup supported but failed: launchd did not provide a socket path, verify that org.freedesktop.dbus-session.plist is loaded!
err:service:service_send_command service protocol error - failed to write pipe!
fixme:service:scmdatabase_autostart_services Auto-start service L"UMWdf" failed to start: 1053
err:module:import_dll Library mscoree.dll (which is needed by L"D:\\Users\\~\\.wine-stardew\\drive_c\\Program Files\\StardewValley\\Stardew Valley.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"D:\\Users\\~\\.wine-stardew\\drive_c\\Program Files\\StardewValley\\Stardew Valley.exe" failed, status c0000135

or, if you manage to overcome that, the game refuses to open by giving you the error:

"No suitable graphics card found.
Could not find a Direct3D device that supports the XNA Framework HiDef profile
Verify that a suitable graphics device is installed.
Make sure the desktop is not locked , and that no other application is runing in full screen mode.
Avoid running under Remote Desktop or as a windows service.
Check to display properties to make sure hardware acceleration is set to Full."

For the record, this is a 2D sprite game that could have been handled by the SNES, which I know has no real effect on its underlying architecture, but it's not like we're trying to run Crysis 3 here or anything. It doesn't even have 3D graphics!
User avatar
dimesio
Moderator
Moderator
Posts: 13367
Joined: Tue Mar 25, 2008 10:30 pm

Re: Linux-to-Mac translation (Stardew Valley)

Post by dimesio »

Cespinarve wrote: I never updated this yesterday - I abanodened trying to get either Winery or CrossOver to work and just started wrangling wine directly. The general problem seems to be that wine won't emulate XNA4.0 Framework despite installing it at least semi-successfully.
How did you install it, and what exactly do you mean by "semi-successfully"? If you didn't install it with winetricks, it probably wasn't installed properly.
Cespinarve
Level 1
Level 1
Posts: 9
Joined: Mon Sep 28, 2015 3:57 pm

Re: Linux-to-Mac translation (Stardew Valley)

Post by Cespinarve »

dimesio wrote:
Cespinarve wrote: I never updated this yesterday - I abanodened trying to get either Winery or CrossOver to work and just started wrangling wine directly. The general problem seems to be that wine won't emulate XNA4.0 Framework despite installing it at least semi-successfully.
How did you install it, and what exactly do you mean by "semi-successfully"? If you didn't install it with winetricks, it probably wasn't installed properly.
Here is everything I did to try and get it to run in a fresh Wineprefix (i.e. without using Wineskin Winery or CrossOver and everything). The name of the program is Starwdew Valley, 32STAR is the name of the new wine prefix, and I’ve replaced the name of my hard drive with ~ for privacy purposes, unless I messed up and failed to do that somewhere.

Commands

WINEPREFIX=/Users/~/Desktop/32STAR/prefix32 WINEARCH='win32' wine 'wineboot'

[wine: created the configuration directory '/Users/~/Desktop/32STAR/prefix32'
err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
err:ole:get_local_server_stream Failed: 80004002
err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
err:ole:get_local_server_stream Failed: 80004002
fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
err:mscoree:LoadLibraryShim error reading registry key for installroot
fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x6a07afa1, context 0xa33b80, init_notify 0, handle 0x130f454): stub
fixme:iphlpapi:CancelMibChangeNotify2 (handle 0x0): stub
wine: configuration in '/Users/~/Desktop/32STAR/prefix32' has been updated.]

[Despite the errors, it seems to have installed okay]

winetricks dotnet4

[Executing w_do_call dotnet40
dotnet40 already installed, skipping]

winetricks xna40

[Executing w_do_call xna40
xna40 already installed, skipping]

winetricks steam

[whole lot of stuff happens on the terminal but Steam installs and launches automatically. I’ve written the console log down anyway if anyone want to see it]

I install Stardew Valley (no issues there), press play, it performs its First Time Setup routines (every time you hit play) - Microsoft .NET Framework 4.0.cmd, and the word ‘Running’ appears next to the game, and then it does;t launch. Here’s what the console tells me:

fixme:exec:SHELL_execute flags ignored: 0x00000100
fixme:ver:GetCurrentPackageId (0x33f850 0x0): stub
err:module:import_dll Library mscoree.dll (which is needed by L"C:\\Program Files\\Steam\\steamapps\\common\\Stardew Valley\\Stardew Valley.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program Files\\Steam\\steamapps\\common\\Stardew Valley\\Stardew Valley.exe" failed, status c0000135
Cespinarve
Level 1
Level 1
Posts: 9
Joined: Mon Sep 28, 2015 3:57 pm

Re: Linux-to-Mac translation (Stardew Valley)

Post by Cespinarve »

[I just discerned that wine did not install steam in the newly created prefix but in my usual .wine Mac directory in the home drive. Can I just drag the Steam folder from there to the new prefix and run it using 'wine steam.exe' or do i need to do something else?]
Cespinarve
Level 1
Level 1
Posts: 9
Joined: Mon Sep 28, 2015 3:57 pm

Re: Linux-to-Mac translation (Stardew Valley)

Post by Cespinarve »

Having checked elsewhere as to how I can install things into my prefered winbottle, I have reinstalled everything and am now getting the

'"No suitable graphics card found.
Could not find a Direct3D device that supports the XNA Framework HiDef profile
Verify that a suitable graphics device is installed.
Make sure the desktop is not locked , and that no other application is runing in full screen mode.
Avoid running under Remote Desktop or as a windows service.
Check to display properties to make sure hardware acceleration is set to Full."

Error.
Cespinarve
Level 1
Level 1
Posts: 9
Joined: Mon Sep 28, 2015 3:57 pm

Re: Linux-to-Mac translation (Stardew Valley)

Post by Cespinarve »

Here's what I get when I try to run the exe independantly of Steam:

err:service:service_send_command service protocol error - failed to write pipe!
fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v4.0.30319_32" failed to start: 1053
fixme:thread:SetThreadStackGuarantee (0x32fc74): stub
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework.Game"
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework"
fixme:shell:URL_ParseUrl failed to parse L"xTile"
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework.Xact"
fixme:shell:URL_ParseUrl failed to parse L"System"
fixme:shell:URL_ParseUrl failed to parse L"System.Core"
fixme:shell:URL_ParseUrl failed to parse L"System.Xml"
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework.Graphics"
fixme:nls:GetUserPreferredUILanguages stub: 0 0x32d074 0x0 0x32d070
fixme:thread:GetThreadPreferredUILanguages 0, 0x32d074, 0x0 0x32d070
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework.Input.Touch"
fixme:shell:URL_ParseUrl failed to parse L"System.Drawing"
fixme:shell:URL_ParseUrl failed to parse L"System.Windows.Forms"
fixme:shell:URL_ParseUrl failed to parse L"Accessibility"
fixme:win:EnumDisplayDevicesW ((null),0,0x32cbb8,0x00000000), stub!
fixme:d3d9:D3DPERF_SetOptions (0x2) : stub
fixme:advapi:RegisterTraceGuidsW (0xb70ad2, 0x0, {8e9f5090-2d75-4d03-8a81-e5afbf85daf1}, 1, 0x32e510, (null), (null), 0xebf620): stub
fixme:advapi:RegisterTraceGuidsW register trace class {8e9f5090-2d75-4d03-8a81-e5afbf85daf1}
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework.Game.resources"
fixme:shell:URL_ParseUrl failed to parse L"Microsoft.Xna.Framework.Game.resources"
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded
fixme:gdiplus:GdipCreateHalftonePalette stub
fixme:process:FlushProcessWriteBuffers : stub
fixme:advapi:UnregisterTraceGuids deadbeef: stub
fixme:msvcrt:__clean_type_info_names_internal (0x45c9264) stub
fixme:msvcrt:__clean_type_info_names_internal (0x3d73980) stub
fixme:msvcrt:__clean_type_info_names_internal (0x100a6028) stub
Viomi
Newbie
Newbie
Posts: 1
Joined: Wed Mar 02, 2016 2:51 am

Re: Linux-to-Mac translation (Stardew Valley)

Post by Viomi »

User avatar
dimesio
Moderator
Moderator
Posts: 13367
Joined: Tue Mar 25, 2008 10:30 pm

Re: Linux-to-Mac translation (Stardew Valley)

Post by dimesio »

Locked