Has anyone gotten 7th Heaven to work with Linux?
I know there are instructions for the Steam Deck floating around so I'm hoping someone here might be able to point me in the direction of some instructions for Linux.
I couldn't find anything relevant from a few searches but I did get Memoria and Moguri working pretty easily for FFIX by just running the exe using protontricks-launch, tried that with the 7th Heaven installer and it crashes out with the following error and output from the terminal.
Internal error: Failed to expand shell folder constant "userpf"
[x@archlinux FFVII]$ protontricks-launch --appid 39140 7thHeaven-v3.9.9.33_Release.exe
pressure-vessel-wrap[12440]: W: Not sharing path --filesystem="/etc" with container because "/etc" is reserved by the container framework
pressure-vessel-wrap[12440]: W: Not sharing path --filesystem="/sbin" with container because "/sbin" is reserved by the container framework
wine: using kernel write watches, use_kernel_writewatch 1.
fsync: up and running.
wine: using kernel write watches, use_kernel_writewatch 1.
002c:fixme:winediag:loader_init wine-staging 9.0 is a testing version containing experimental patches.
002c:fixme:winediag:loader_init Please mention your exact version when filing bug reports on winehq.org.
wine: using kernel write watches, use_kernel_writewatch 1. wine: using kernel write watches, use_kernel_writewatch 1. wine: using kernel write watches, use_kernel_writewatch 1.
0070:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 0070:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 0070:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 0070:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005 0090:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
wine: using kernel write watches, use_kernel_writewatch 1.
0090:fixme:xinput:pdo_pnp IRP_MN_QUERY_ID type 5, not implemented! 0090:fixme:xinput:pdo_pnp IRP_MN_QUERY_ID type 5, not implemented! 0090:fixme:xinput:pdo_pnp IRP_MN_QUERY_ID type 5, not implemented! 0090:fixme:xinput:pdo_pnp IRP_MN_QUERY_ID type 5, not implemented! wine: using kernel write watches, use_kernel_writewatch 1.
002c:fixme:ver:GetCurrentPackageId (000000000021FEA0 0000000000000000): stub
wine: using kernel write watches, use_kernel_writewatch 1. wine: using kernel write watches, use_kernel_writewatch 1. wine: using kernel write watches, use_kernel_writewatch 1.
0024:fixme:thread:GetThreadUILanguage : stub, returning default language. 0024:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 005DD99C, 00000000 005DD9C4 0024:fixme:nls:get_dummy_preferred_ui_language (0x38 0x409 005DD99C 00000000 005DD9C4) returning a dummy value (current locale)
0024:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 005DD99C, 016CA680 005DD9C4 0024:fixme:nls:get_dummy_preferred_ui_language (0x38 0x409 005DD99C 016CA680 005DD9C4) returning a dummy value (current locale)
0114:fixme:oleacc:find_class_data unhandled window class: L"#32769" 0114:fixme:uiautomation:uia_get_providers_for_hwnd Override provider callback currently unimplemented. 0114:fixme:uiautomation:default_uia_provider_callback Default ProviderType_NonClientArea provider unimplemented.
0114:fixme:oleacc:find_class_data unhandled window class: L"#32769" 0114:fixme:uiautomation:base_hwnd_fragment_get_FragmentRoot 0000000000817EE8, 000000000021F9D0: stub!
0114:fixme:uiautomation:base_hwnd_fragment_GetEmbeddedFragmentRoots 0000000000817EE8, 000000000021F9E0: stub!
wine: using kernel write watches, use_kernel_writewatch 1. 012c:fixme:thread:GetThreadUILanguage : stub, returning default language. 012c:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 00A0D9E8, 00000000 00A0DA10 012c:fixme:nls:get_dummy_preferred_ui_language (0x38 0x409 00A0D9E8 00000000 00A0DA10) returning a dummy value (current locale)
012c:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 00A0D9E8, 019FA680 00A0DA10 012c:fixme:nls:get_dummy_preferred_ui_language (0x38 0x409 00A0D9E8 019FA680 00A0DA10) returning a dummy value (current locale)
012c:fixme:wtsapi:WTSRegisterSessionNotification Stub 000100A8 0x00000000 012c:fixme:uxtheme:BufferedPaintInit Stub () 012c:fixme:win:DisableProcessWindowsGhosting : stub 012c:fixme:graphics:ShutdownBlockReasonDestroy (000100A8): stub 012c:fixme:graphics:ShutdownBlockReasonCreate (000100A8, L"Installing"): stub 012c:fixme:rstrtmgr:RmStartSession 006BFB40, 0, 006BFB44 stub! 012c:fixme:exec:SHELL_execute flags ignored: 0x00000100 wine: using kernel write watches, use_kernel_writewatch 1. wine: using kernel write watches, use_kernel_writewatch 1. 0138:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFA, 007CFEB8 012c:fixme:exec:SHELL_execute flags ignored: 0x00000100 wine: using kernel write watches, use_kernel_writewatch 1. 0148:fixme:ver:GetCurrentPackageId (000000000021FEA0 0000000000000000): stub wine: using kernel write watches, use_kernel_writewatch 1. 0154:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 000000000019FE80 012c:fixme:graphics:ShutdownBlockReasonDestroy (000100A8): stub 012c:fixme:graphics:ShutdownBlockReasonCreate (000100A8, L"Installing 7th Heaven."): stub 012c:fixme:msg:ChangeWindowMessageFilterEx 000300D6 c051 1 00000000 012c:fixme:msg:ChangeWindowMessageFilterEx 000400D6 c051 1 00000000 012c:fixme:msg:ChangeWindowMessageFilterEx 000200DC c051 1 00000000 0164:fixme:ver:GetCurrentPackageId (000000000021FEA0 0000000000000000): stub 012c:fixme:msg:ChangeWindowMessageFilterEx 000300DC c051 1 00000000 012c:fixme:shell:SHAutoComplete stub 0120:fixme:oleacc:find_class_data unhandled window class: L"Button" 0120:fixme:uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002 0120:fixme:uiautomation:base_hwnd_provider_GetPatternProvider 000000000083D0F0, 10002, 000000000181F8A0: stub
0120:fixme:oleacc:find_class_data unhandled window class: L"Button" 0120:fixme:uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002 0120:fixme:uiautomation:base_hwnd_provider_GetPatternProvider 0000000000827610, 10002, 000000000181F8A0: stub
0120:fixme:oleacc:find_class_data unhandled window class: L"#32770" 0120:fixme:oleacc:find_class_data unhandled window class: L"#32769" 0120:fixme:uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002 0120:fixme:uiautomation:base_hwnd_provider_GetPatternProvider 000000000083D0F0, 10002, 000000000181F8A0: stub
0120:fixme:oleacc:find_class_data unhandled window class: L"#32769" 0120:fixme:oleacc:find_class_data unhandled window class: L"#32769" 0120:fixme:uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002 0120:fixme:uiautomation:base_hwnd_provider_GetPatternProvider 0000000000827610, 10002, 000000000181F8A0: stub
0120:fixme:oleacc:find_class_data unhandled window class: L"#32769" 0120:fixme:oleacc:find_class_data unhandled window class: L"Button" 0120:fixme:uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002 0120:fixme:uiautomation:base_hwnd_provider_GetPatternProvider 000000000083C320, 10002, 000000000181F8A0: stub
0120:fixme:oleacc:find_class_data unhandled window class: L"Button" 0120:fixme:uiautomation:msaa_provider_GetPatternProvider Unimplemented patternId 10002 0120:fixme:uiautomation:base_hwnd_provider_GetPatternProvider 000000000083D0F0, 10002, 000000000181F8A0: stub
012c:fixme:rstrtmgr:RmEndSession 3735928559 stub! 012c:fixme:graphics:ShutdownBlockReasonDestroy (000100A8): stub 012c:fixme:wtsapi:WTSUnRegisterSessionNotification Stub 000100A8 012c:fixme:uxtheme:BufferedPaintUnInit Stub ()
Either that or enforce an equal share rule/law.
All profit recorded by the end of the year must be equally split amongst all employees next year pay increase. No bonuses to any employees regardless of their standing in the company. No stocks, no cutting corners to make it look like there was only losses. No fire/re-hire at a different level, not transfers into a higher paying "position" or any other fucky business.
If you make a billion in profit, that profit should be used for two purposes, keep the business afloat and provide everyone with an equal share. Like straight up equal. For example, company has 500 employees, makes 500k for the year, needs 250k for standard business expenses, the other 250k gets allocated to the 500 employees salaries.
It doesn't seem like a lot but if everyone is at the same level in terms of salary it changes things A LOT.
That being said it's not perfect, there will always be someone trying to exploit every loophole. To make more than someone else.
But I feel like that takes the "investment" (the market) part of things and basically destroys it. Lets get rid of investors for companies that provide basic goods/services. While allowing for the profit to benefit the employees.