rockerbacon / modorganizer2-linux-installer

An easy-to-use Mod Organizer 2 installer for Linux
GNU General Public License v3.0
968 stars 78 forks source link

Steam Runtime Engine blocks access to certain directories #285

Closed KnightJeffrey closed 3 months ago

KnightJeffrey commented 2 years ago

The program of MO2 does not work unless installed on the boot drive I'm on Pop OS/ Ubuntu and would love MO2 to open when installed on the secondary drive. The program opens a dialogue box for half a second then closes and steam says skyrim has stopped running. I also keep getting a EnableNonClientDpiScaling error this is minor however since everything else is functional. One more thing is there a way to reduce the lag in MO2 at all the response time is super low.

rockerbacon commented 2 years ago

Is the game installed on the boot drive? If yes, can you launch MO2 from the secondary drive after also moving the game to the secondary drive?

The EnableNonClientDpiScaling error can be ignored. There's nothing this project can do to fix it, as far as I can tell this would require pushing changes to Wine itself.

I experience no performance issues on my end and there have been no reports of such problems by any of the testers. Whatever is causing the problem for you is likely to be very specific to your system and it will be difficult to provide much help.

KnightJeffrey commented 2 years ago

The game is already on my secondary drive.

BisexualBard commented 2 years ago

Got the same issue, installed on an external drive and Mod Organizer didn't launch. Skyrim itself is also installed there. Reinstalled to my main drive and voilà, Mod Organizer launches.

TheDrifter363 commented 2 years ago

Wanted to report same issue. works fine if i load it manually through a protontricks command line. i'm not sure what the issue is. a tiny black box appears, then disappears.

rockerbacon commented 2 years ago

Can you check if the path to Mod Organizer 2 is accessible from the drive Z: within Wine?

kleshas commented 2 years ago

Same issue here. skyrimse and mo2 installed on non-OS drive, /mnt/veracrypt4 wineprefix=/..../compatdata/489830 winecfg shows / for z:

Running steam steam://rungameid/489830 from command line shows nothing useful (just in case there were any relevant errors, but it returns to the prompt before the game even tries to run, with no errors)

3.1.0 installed worked fine for me - even full nexus integration. Why are we moving on from that method?

rockerbacon commented 2 years ago

3.1.0 installed worked fine for me - even full nexus integration. Why are we moving on from that method?

275

TheDrifter363 commented 2 years ago

Alright here's my steam log, on trying to launch Fallout New Vegas.

Could not connect to X session manager: None of the authentication protocols specified are supported Could not connect to X session manager: None of the authentication protocols specified are supported Could not connect to X session manager: None of the authentication protocols specified are supported Could not connect to X session manager: None of the authentication protocols specified are supported Could not connect to X session manager: None of the authentication protocols specified are supported GameAction [AppID 22380, ActionID 1] : LaunchApp changed task to ProcessingInstallScript with "" pressure-vessel-adverb[710096]: W: Unable to generate locales: Child process exited with code 1 esync: up and running. wine: RLIMIT_NICE is <= 20, unable to use setpriority safely WARNING: radv is not a conformant Vulkan implementation, testing use only. skipping config: /home/USER/.config/MangoHud/wine-explorer.conf [ not found ] skipping config: /data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental/files/bin/MangoHud.conf [ not found ] skipping config: /home/USER/.config/MangoHud/wine64-preloader.conf [ not found ] parsing config: /home/USER/.config/MangoHud/MangoHud.conf [ ok ] WARNING: radv is not a conformant Vulkan implementation, testing use only. skipping config: /home/USER/.config/MangoHud/wine-explorer.conf [ not found ] skipping config: /data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental/files/bin/MangoHud.conf [ not found ] skipping config: /home/USER/.config/MangoHud/wine64-preloader.conf [ not found ] parsing config: /home/USER/.config/MangoHud/MangoHud.conf [ ok ] GameAction [AppID 22380, ActionID 1] : LaunchApp changed task to SynchronizingCloud with "" GameAction [AppID 22380, ActionID 1] : LaunchApp changed task to SynchronizingControllerConfig with "" Opted-in Controller Mask for AppId 22380: 1 GameAction [AppID 22380, ActionID 1] : LaunchApp changed task to SiteLicenseSeatCheckout with "" GameAction [AppID 22380, ActionID 1] : LaunchApp changed task to CreatingProcess with "" GameAction [AppID 22380, ActionID 1] : LaunchApp waiting for user response to CreatingProcess "" GameAction [AppID 22380, ActionID 1] : LaunchApp continues with user response "CreatingProcess" /bin/sh\0-c\0/home/USER/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=22380 -- '/data/DESKTOP/Stuff/Games/PC/Steam/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental'/proton waitforexitandrun '/data/DESKTOP/Stuff/WinGames/PC/Steam/steamapps/common/Fallout New Vegas/FalloutNVLauncher.exe'\0 Game process added : AppID 22380 "/home/USER/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=22380 -- '/data/DESKTOP/Stuff/Games/PC/Steam/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental'/proton waitforexitandrun '/data/DESKTOP/Stuff/WinGames/PC/Steam/steamapps/common/Fallout New Vegas/FalloutNVLauncher.exe'", ProcID 710202, IP 0.0.0.0:0 chdir /data/DESKTOP/Stuff/WinGames/PC/Steam/steamapps/common/Fallout New Vegas ERROR: ld.so: object '/home/USER/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. GameAction [AppID 22380, ActionID 1] : LaunchApp changed task to WaitingGameWindow with "" ERROR: ld.so: object '/home/USER/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. ERROR: ld.so: object '/home/USER/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/USER/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/USER/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. pid 710207 != 710204, skipping destruction (fork without exec?) GameAction [AppID 22380, ActionID 1] : LaunchApp changed task to Completed with "" pressure-vessel-adverb[710372]: W: Unable to generate locales: Child process exited with code 1 esync: up and running. wine: RLIMIT_NICE is <= 20, unable to use setpriority safely Game process updated : AppID 22380 "/home/USER/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=22380 -- '/data/DESKTOP/Stuff/Games/PC/Steam/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental'/proton waitforexitandrun '/data/DESKTOP/Stuff/WinGames/PC/Steam/steamapps/common/Fallout New Vegas/FalloutNVLauncher.exe'", ProcID 710381, IP 0.0.0.0:0 Setting breakpad minidump AppID = 22380 Steam_SetMinidumpSteamID: Caching Steam ID: 76561197985287214 [API loaded no] WARNING: radv is not a conformant Vulkan implementation, testing use only. skipping config: /home/USER/.config/MangoHud/wine-explorer.conf [ not found ] skipping config: /data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental/files/bin/MangoHud.conf [ not found ] skipping config: /home/USER/.config/MangoHud/wine64-preloader.conf [ not found ] parsing config: /home/USER/.config/MangoHud/MangoHud.conf [ ok ] WARNING: radv is not a conformant Vulkan implementation, testing use only. skipping config: /home/USER/.config/MangoHud/wine-explorer.conf [ not found ] skipping config: /data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental/files/bin/MangoHud.conf [ not found ] skipping config: /home/USER/.config/MangoHud/wine64-preloader.conf [ not found ] parsing config: /home/USER/.config/MangoHud/MangoHud.conf [ ok ] pid 710383 != 710382, skipping destruction (fork without exec?) Game process removed: AppID 22380 "/home/USER/.steam/debian-installation/ubuntu12_32/reaper SteamLaunch AppId=22380 -- '/data/DESKTOP/Stuff/Games/PC/Steam/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental'/proton waitforexitandrun '/data/DESKTOP/Stuff/WinGames/PC/Steam/steamapps/common/Fallout New Vegas/FalloutNVLauncher.exe'", ProcID 710381 Game 22380 created interface STEAMAPPLIST_INTERFACE_VERSION001 / AppList Game 22380 created interface STEAMAPPS_INTERFACE_VERSION008 / Apps Game 22380 created interface STEAMHTMLSURFACE_INTERFACE_VERSION_004 / HTMLSurface Game 22380 created interface STEAMHTTP_INTERFACE_VERSION002 / HTTP Game 22380 created interface STEAMINVENTORY_INTERFACE_V002 / Inventory Game 22380 created interface STEAMMUSICREMOTE_INTERFACE_VERSION001 / MusicRemote Game 22380 created interface STEAMMUSIC_INTERFACE_VERSION001 / Music Game 22380 created interface STEAMPARENTALSETTINGS_INTERFACE_VERSION001 / ParentalSettings Game 22380 created interface STEAMREMOTESTORAGE_INTERFACE_VERSION014 / RemoteStorage Game 22380 created interface STEAMSCREENSHOTS_INTERFACE_VERSION003 / Screenshots Game 22380 created interface STEAMUGC_INTERFACE_VERSION010 / UGC Game 22380 created interface STEAMUSERSTATS_INTERFACE_VERSION011 / UserStats Game 22380 created interface STEAMVIDEO_INTERFACE_V002 / Video Game 22380 created interface SteamController006 / Controller Game 22380 created interface SteamFriends015 / Friends Game 22380 created interface SteamMatchMaking009 / Matchmaking Game 22380 created interface SteamMatchMakingServers002 / MatchmakingServers Game 22380 created interface SteamNetworking005 / Networking Game 22380 created interface SteamUser019 / User Game 22380 created interface SteamUtils009 / Utils Game 22380 method call count for IClientAppManager::GetAppInstallState : 1 Game 22380 method call count for IClientUtils::RecordSteamInterfaceCreation : 22 Game 22380 method call count for IClientUtils::GetSteamUILanguage : 1 Game 22380 method call count for IClientUtils::GetAppID : 24 Game 22380 method call count for IClientUser::GetSteamID : 1 Uploaded AppInterfaceStats to Steam No cached sticky mapping in ActivateActionSet.Fossilize INFO: Setting autogroup scheduling.

This is me running the game from a protontricks command line shell.

USER@USERdesktop:/data/DESKTOP/Stuff/WinGames/PC/Steam/SteamApps/common/Fallout New Vegas$ wine FalloutNVLauncher.exe pressure-vessel-adverb[740145]: W: Unable to generate locales: Child process exited with code 1 wineserver: using server-side synchronization. wine: RLIMIT_NICE is <= 20, unable to use setpriority safely INFO: read executable location 'Z' Launching 'Z' WARNING: radv is not a conformant Vulkan implementation, testing use only. skipping config: /home/USER/.config/MangoHud/wine-explorer.conf [ not found ] skipping config: /data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental/files/bin/MangoHud.conf [ not found ] skipping config: /home/USER/.config/MangoHud/wine64-preloader.conf [ not found ] parsing config: /home/USER/.config/MangoHud/MangoHud.conf [ ok ] WARNING: radv is not a conformant Vulkan implementation, testing use only. skipping config: /home/USER/.config/MangoHud/wine-explorer.conf [ not found ] skipping config: /data/DESKTOP/Stuff/Games/PC/Steam/common/Proton - Experimental/files/bin/MangoHud.conf [ not found ] skipping config: /home/USER/.config/MangoHud/wine64-preloader.conf [ not found ] parsing config: /home/USER/.config/MangoHud/MangoHud.conf [ ok ] 00ec: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. 00ec:fixme:file:RtlDosPathNameToRelativeNtPathName_U_WithStatus Unsupported parameter 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063FCA0 63 ) semi-stub 00ec:fixme:msvcp:localeLocimpMakexloc (000000000063FCA0 63 00000000002E8ED0 0000000000000000) semi-stub 00ec:fixme:msvcp:localeLocimpMakewloc (000000000063FCA0 63 00000000002E8ED0 0000000000000000) semi-stub 00ec:fixme:msvcp:localeLocimpMakeushloc (000000000063FCA0 63 00000000002E8ED0 0000000000000000) semi-stub 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063FCA0 1 C) semi-stub 00ec:fixme:win:RegisterPowerSettingNotification (000000000002006A,{02731015-4510-4526-99e6-e5a17ebd1aea},0): stub 00ec:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION 00ec:fixme:wgl:X11DRV_wglGetPixelFormatAttribivARB unsupported 2008 WGL Attribute 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063F590 1 C) semi-stub [2022-01-11 22:00:03.900 D] timing: MOApplication() 0 ms [2022-01-11 22:00:03.901 D] timing: main() multiprocess 177 ms 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063F520 1 C) semi-stub [2022-01-11 22:00:03.901 D] command line: 'Z:\data\DESKTOP\Stuff\WinGames\PC\Mods\mod-organizer-2-newvegas\modorganizer2\ModOrganize r.exe' [2022-01-11 22:00:03.901 I] starting Mod Organizer version 2.4.4 revision 1df1ea5e in Z:/data/DESKTOP/Stuff/WinGames/PC/Mods/mod-org anizer-2-newvegas/modorganizer2, usvfs: 0.5.6.0 [2022-01-11 22:00:03.902 I] data path: Z:/data/DESKTOP/Stuff/WinGames/PC/Mods/mod-organizer-2-newvegas/modorganizer2 [2022-01-11 22:00:03.902 I] working directory: Z:/data/DESKTOP/Stuff/WinGames/PC/Steam/steamapps/common/Fallout New Vegas [2022-01-11 22:00:03.902 D] timing: MOApplication setup() 1 ms 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063F100 1 C) semi-stub 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063EF20 1 C) semi-stub 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063EE30 1 C) semi-stub 00ec:err:seh:dispatch_exception Fatal EXCEPTION_WINE_CXX_EXCEPTION exception (code=e06d7363) raised 00ec:err:seh:dispatch_exception Fatal EXCEPTION_WINE_CXX_EXCEPTION exception (code=e06d7363) raised 00ec:fixme:hnetcfg:fwpolicy2_get_FirewallEnabled 0000000000415F10 4 000000000063F690 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063ED40 1 C) semi-stub 00ec:fixme:netprofm:list_manager_GetConnectivity 00000000001D1590, 0000000000452B30 00ec:fixme:netprofm:connection_point_Advise 00000000001D15D0, 0000000000524F10, 0000000000524F34 - semi-stub 00ec:fixme:netprofm:list_manager_GetConnectivity 00000000001D1590, 000000000063F6F0 00ec:fixme:netprofm:list_manager_GetConnectivity 00000000001D1810, 0000000000452A90 00ec:fixme:netprofm:connection_point_Advise 00000000001D1850, 0000000000525390, 00000000005253B4 - semi-stub 00ec:fixme:netprofm:list_manager_GetConnectivity 00000000001D1810, 000000000063F560 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063F060 1 C) semi-stub 00ec:err:seh:dispatch_exception Fatal EXCEPTION_WINE_CXX_EXCEPTION exception (code=e06d7363) raised 00ec:err:seh:dispatch_exception Fatal EXCEPTION_WINE_CXX_EXCEPTION exception (code=e06d7363) raised 00ec:fixme:thread:GetThreadUILanguage : stub, returning default language. 00ec:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 000000000063C10C, 0000000000000000 000000000063C168 00ec:fixme:nls:get_dummy_preferred_ui_language (0x38 000000000063C10C 0000000000000000 000000000063C168) returning a dummy value (current locale) 00ec:fixme:nls:RtlGetThreadPreferredUILanguages 00000038, 000000000063C10C, 00000000104619C0 000000000063C168 00ec:fixme:nls:get_dummy_preferred_ui_language (0x38 000000000063C10C 00000000104619C0 000000000063C168) returning a dummy value (current locale) 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063EAD0 1 C) semi-stub 0184:fixme:seh:NtSetInformationThread Can't set other thread's platform description 00ec:fixme:process:GetActiveProcessorCount semi-stub, returning 16 00ec:fixme:process:GetActiveProcessorCount semi-stub, returning 16 00ec:fixme:vcruntime:telemetry_main_invoke_trigger (0000000016E50000) 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063EAD0 1 C) semi-stub [2022-01-11 22:00:07.225 I] using game plugin 'New Vegas' ('FalloutNV', variant (none), steam id '22380') at Z:/data/DESKTOP/Stuff/W inGames/PC/Steam/steamapps/common/Fallout New Vegas 00ec:fixme:system:EnableNonClientDpiScaling (000000000002007E): stub [2022-01-11 22:00:07.343 E] EnableNonClientDpiScaling() failed for HWND 0x2007e (120) (Call not implemented.) 00f4:fixme:imm:ImeSetActiveContext (0x1d03d0, 0): stub 00f4:fixme:imm:ImmReleaseContext (0000000000010020, 00000000001D03D0): stub 00ec:fixme:imm:ImeSetActiveContext (0x211c50, 1): stub 00ec:fixme:imm:ImmReleaseContext (000000000002007E, 0000000000211C50): stub 00ec:fixme:ntdll:EtwEventRegister ({d2d578d9-2936-45b6-a09f-30e32715f42d}, 00000000020E9B60, 00000000062370F0, 00000000062370F0) stub. 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063E2F0 1 C) semi-stub 00ec:fixme:msvcp:_LocinfoLocinfo_ctor_cat_cstr (000000000063E070 1 C) semi-stub 00ec:fixme:msvcp:_Locinfo__Locinfo_ctor_cat_cstr (000000000063DEA0 1 C) semi-stub [232:236:0111/170007.527:ERROR:dxva_video_decode_accelerator_win.cc(1399)] DXVAVDA fatal error: could not LoadLibrary: msmpeg2vdec.) [232:236:0111/170007.539:ERROR:dxva_video_decode_accelerator_win.cc(1407)] DXVAVDA fatal error: could not LoadLibrary: msvproc.dll:) 01fc:fixme:netprofm:connection_GetAdapterId 000000001E200350, 000000001B27BB40 01fc:fixme:netprofm:connection_GetAdapterId 000000001E2003D0, 000000001B27BB40 01fc:fixme:netprofm:connection_point_Advise 000000001E2A0240, 000000001E280290, 000000001E2802C4 - semi-stub 00ec:fixme:winsock:WSALookupServiceBeginW (0x63e3e0 0x00000ff0 0x63e3d8) Stub! [232:236:0111/170007.642:ERROR:network_change_notifier_win.cc(142)] WSALookupServiceBegin failed with: 8 00ec:fixme:iphlpapi:NotifyAddrChange (Handle 0x63e700, overlapped 0x21d850): stub 00ec:fixme:win:GetPointerDevices (000000000063E260 0000000000000000): partial stub 00ec:fixme:system:GetDisplayConfigBufferSizes (0x2 000000000063E120 000000000063E128): semi-stub 00ec:fixme:system:QueryDisplayConfig (00000002 000000000063E120 00000000175DD910 000000000063E128 00000000175F70D0 0000000000000000): semi-stub 00ec:fixme:system:DisplayConfigGetDeviceInfo Unimplemented packet type: 11 00ec:fixme:win:GetPointerDevices (000000000063E260 0000000000000000): partial stub 00ec:fixme:system:GetDisplayConfigBufferSizes (0x2 000000000063E120 000000000063E128): semi-stub 00ec:fixme:system:QueryDisplayConfig (00000002 000000000063E120 00000000175DD910 000000000063E128 00000000175F70D0 0000000000000000): semi-stub 00ec:fixme:system:DisplayConfigGetDeviceInfo Unimplemented packet type: 11 0218:fixme:wtsapi:WTSRegisterSessionNotification Stub 000000000001008E 0x00000001 00ec:fixme:service:I_ScRegisterDeviceNotification Notification filters are not yet implemented. [2022-01-11 22:00:08.328 W] Unable to enumerate family ' "Noto Sans Inscriptional Parthian" ' 00ec:fixme:nls:get_dummy_preferred_ui_language (0x8 000000000063ED50 000000000063ECA0 000000000063ED58) returning a dummy value (current locale) 00ec:fixme:system:EnableNonClientDpiScaling (00000000000100A4): stub [2022-01-11 22:00:08.689 E] EnableNonClientDpiScaling() failed for HWND 0x100a4 (120) (Call not implemented.) 00ec:fixme:shell:SHGetStockIconInfo (0, 0x101, 0x63e820) semi-stub 00ec:fixme:shell:SHGetStockIconInfo flags 0x101 not implemented [2022-01-11 22:00:08.693 E] QPixmap::fromWinHICON(), failed to GetIconInfo() (Invalid cursor handle.) 00ec:fixme:shell:SHGetStockIconInfo (0, 0x100, 0x63e820) semi-stub 00ec:fixme:shell:SHGetStockIconInfo flags 0x100 not implemented [2022-01-11 22:00:08.693 E] QPixmap::fromWinHICON(), failed to GetIconInfo() (Invalid cursor handle.) 00ec:fixme:shell:SHGetStockIconInfo (3, 0x101, 0x63e820) semi-stub 00ec:fixme:shell:SHGetStockIconInfo flags 0x101 not implemented [2022-01-11 22:00:08.694 E] QPixmap::fromWinHICON(), failed to GetIconInfo() (Invalid cursor handle.) 00ec:fixme:shell:SHGetStockIconInfo (4, 0x101, 0x63e820) semi-stub 00ec:fixme:shell:SHGetStockIconInfo flags 0x101 not implemented [2022-01-11 22:00:08.694 E] QPixmap::fromWinHICON(), failed to GetIconInfo() (Invalid cursor handle.) 00ec:fixme:shell:SHGetStockIconInfo (3, 0x100, 0x63e820) semi-stub 00ec:fixme:shell:SHGetStockIconInfo flags 0x100 not implemented [2022-01-11 22:00:08.695 E] QPixmap::fromWinHICON(), failed to GetIconInfo() (Invalid cursor handle.) 00ec:fixme:shell:SHGetStockIconInfo (4, 0x100, 0x63e820) semi-stub 00ec:fixme:shell:SHGetStockIconInfo flags 0x100 not implemented [2022-01-11 22:00:08.695 E] QPixmap::fromWinHICON(), failed to GetIconInfo() (Invalid cursor handle.) 0258:fixme:netprofm:connection_GetAdapterId 0000000026BE0350, 0000000026BCBB40 0258:fixme:netprofm:connection_GetAdapterId 0000000026BE03D0, 0000000026BCBB40 0258:fixme:netprofm:connection_point_Advise 0000000026C80240, 0000000026C60290, 0000000026C602C4 - semi-stub [2022-01-11 22:00:08.868 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.869 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.869 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.869 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.869 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.870 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.870 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.870 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.870 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.871 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.871 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.871 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.872 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.872 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.872 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.872 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.873 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.873 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.873 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.873 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.874 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.874 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.874 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.874 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.875 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.875 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.875 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.875 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.876 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.876 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.876 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.876 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.877 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.877 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.877 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.877 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.878 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.878 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.878 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.878 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.879 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.879 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.879 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.879 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.880 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.880 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.880 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.880 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.881 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.881 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.881 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.882 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.882 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.882 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.882 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.883 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.883 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.884 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.884 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.884 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.885 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.885 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.885 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.885 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.886 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.886 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.886 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.886 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.887 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.887 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.887 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.888 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.888 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.888 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.888 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.889 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.889 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.889 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.890 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.890 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.890 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.890 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.891 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.891 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.891 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.891 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.892 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.892 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.892 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.893 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.893 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.893 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.893 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.894 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.894 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.894 W] Unsupported flags (9) used in QCollator [2022-01-11 22:00:08.894 W] Unsupported flags (9) used in QCollator 00ec:fixme:system:EnableNonClientDpiScaling (00000000000100B6): stub [2022-01-11 22:00:08.954 E] EnableNonClientDpiScaling() failed for HWND 0x100b6 (120) (Call not implemented.) 0260:fixme:win:RegisterPowerSettingNotification (00000000000200C2,{02731015-4510-4526-99e6-e5a17ebd1aea},0): stub 00ec:fixme:uiautomation:UiaRaiseAutomationPropertyChangedEvent provider 00000000004B38A8, id 30047, old 000000000063B0B0 {VT_EMPTY}, new 000000000063B090 {VT_R8: 108.000000} stub. 0260:fixme:win:UnregisterPowerSettingNotification (00000000DEADBEEF): stub 00ec:fixme:win:GetPointerDevices (000000000063B080 0000000000000000): partial stub 00ec:fixme:system:GetDisplayConfigBufferSizes (0x2 000000000063AF40 000000000063AF48): semi-stub 00ec:fixme:system:QueryDisplayConfig (00000002 000000000063AF40 00000000175DEB10 000000000063AF48 00000000214CC2F0 0000000000000000): semi-stub 00ec:fixme:system:DisplayConfigGetDeviceInfo Unimplemented packet type: 11 00ec:fixme:win:GetPointerDevices (000000000063B080 0000000000000000): partial stub 00ec:fixme:system:GetDisplayConfigBufferSizes (0x2 000000000063AF40 000000000063AF48): semi-stub 00ec:fixme:system:QueryDisplayConfig (00000002 000000000063AF40 00000000175DEB10 000000000063AF48 00000000214CC2F0 0000000000000000): semi-stub 00ec:fixme:system:DisplayConfigGetDeviceInfo Unimplemented packet type: 11

Here's me running the application from protontricks' explorer command. It just doesn't run through Steam. Everything else, manually, is fine. Screenshot from 2022-01-11 17-13-06

rockerbacon commented 2 years ago

Ran a few tests and couldn't reproduce the issue. When I checked the file explorer on my machine it seems the Steam runtime does not give applications access to a few folders, including /mnt.

Can you all check if the location you were trying to install MO2 is reachable from MO2's file explorer?

rockerbacon commented 2 years ago

So long as it is confirmed the Steam runtime blocks access to directories, additional development will be required.

For now I'd recommend users to either symlink or bind mount a blocked folder to their home directory.

rockerbacon commented 2 years ago

The solution to this might be simple. A symlink to the install location is always created in ~/.config/instances, if someone can confirm symlinks are a viable workaround I can simply change the installer to set the redirector to use this symlinked location instead of the real path.

TheDrifter363 commented 2 years ago

Wait a minute. Everything I created is in a custom directory under root and steam has no issues accessing those games. Like "/data/DESKTOP/Stuff/WinGames/PC/Steam/common/blah". MO2 is installed under "/data/DESKTOP/Stuff/WinGames/PC/Mods/blah".

rockerbacon commented 2 years ago

Wait a minute. Everything I created is in a custom directory under root and steam has no issues accessing those games. Like "/data/DESKTOP/Stuff/WinGames/PC/Steam/common/blah". MO2 is installed under "/data/DESKTOP/Stuff/WinGames/PC/Mods/blah".

Steam having access to a file is very different from the game having access to that same file. The game having access to folder /data/DESKTOP/Stuff/WinGames/PC/Steam/common/ does not guarantee it will also have access to folder /data/DESKTOP/Stuff/WinGames/PC/Mods.

Everything so far points to the issue being in the Steam Runtime:

Can you all check if the location you were trying to install MO2 is reachable from MO2's file explorer?

If I can have the answer to this question I will know with 100% certainty whether that is the issue or not. If the MO2 executable isn't accessible from within the environment, it can't be run by the redirector and that causes the CTD.

kleshas commented 2 years ago

Got an error with 4.2

/home/kleshas/.cache/protontricks/proton/Proton 6.3/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message "pressure-vessel-adverb[87775]: W: Unable to generate locales: Child process exited with code 1"

Any way to revert/uninstall 4.2 back to default settings for the game?

TheDrifter363 commented 2 years ago

Can you all check if the location you were trying to install MO2 is reachable from MO2's file explorer?

If I can have the answer to this question I will know with 100% certainty whether that is the issue or not. If the MO2 executable isn't accessible from within the environment, it can't be run by the redirector and that causes the CTD.

Alright, so how do I test this out? I'm probably not understanding how you phrased the question. Is this a wine prefix thing? Let me know.

Edit: So like launch MO2 through the wine prefix/protontricks command shell, and see if I can access MO2's own files? Alright, I think I can try that.

Edit2: Alright, so launching MO2 through protontricks' explorer subcommand, I was able to access MO2's own directory. I clicked on install mod in MO2 and navigated to the MO2 installation directory. That worked. I'm still not sure what you're asking, but there's that. Maybe you want me to launch MO2 through Steam some way, that's not working though.

Edit3: Alright, so I tried installing MO2 directly INSIDE new vegas' steam directory. It launched then. That's not a good location though, since it has spaces, so MO2 crashes because there are spaces in the path. So it looks like you were right, something about Steam not being able to access directories under /. Even though my user has access to them. I'll try installing MO2 in my home directory, and see if that works. Right now I do have symlinks from everything inside "Stuff" in my home directory, but that doesn't seem to matter to MO2. Still won't launch, if I use the symlink path from my home directory to MO2. As long as MO2 resides on the external ssd, or not in new vegas' folder, it won't launch through Steam. I'll keep you updated.

Edit4: Ok sure enough, installing in my home directory, which is the same as the OS, works fine. I'm not entirely sure what to do now. You see, I created the WinGames directory, with case sensitivity turned off. A lot of windows games and mods, have the same name for their files, just their cases are different. That's caused issues with modding before. Certain files would get copied twice and whatnot, wouldn't apply. So New Vegas is in that case insensitive directory, but not MO2. I'm not sure how this would with mods then. Any ideas? I really would've preferred to have everything under WinGames.

Edit5: Just wanted to reply, I fixed the issue. I just reorganized my external ssds. I run zfs so I have two zpools, one on a nvme, and another on a sata ssd. I consolidated my home directory under the sata, instead of the nvme. From there I had no issues, as only / is on the nvme, while /home is on the sata. It's a workaround.

kleshas commented 2 years ago

/mnt/veracrypt4/mo2-sse is the 4.2 installer's path for MO2.
/mnt/veracrypt4/ is the drive for all steam games, including skyrim

I tried this too. MO2 ran from protontricks, but asked for an install folder (wasn't it already installed from 4.2?). Installed in /mnt/veracrypt4/mo2-sse (same folder as it was installed to). Same issue - running Skyrim from steam resulted in a quick black window appearing before it crashed.. protontricks can see all mounted drives (/, and all 4 veracrypt drives).

Ran the 4.2 installer again, this time installing to the compatdata c:\mo2. Succeeded, and skyrim from steam launched MO2. This time though, no mounted drives seen. (only /mnt/veracrypt4). nxm stuff works great.

rockerbacon commented 2 years ago

Alright, so the tests seem to confirm the issue. I also gave the Steam Runtime repo a quick search and there is indeed an open issue for external drive access: https://github.com/ValveSoftware/steam-runtime/issues/470. From here there are a few options you can choose from:

  1. Use the environment variable for allowing the runtime access to other mounts, as described in https://github.com/ValveSoftware/steam-runtime/issues/393. Setting this variable in $HOME/.profile might work if you don't want to set it as a launch option (could someone confirm this, please?);
  2. Bind mount directories from your second drive to somewhere within your home folder, should be very simple to do. Don't forget to add the bind mount to your fstab. This is a good option if you already use symlinks to your secondary drive like @TheDrifter363 does;
  3. Run MO2 outside of Steam using protontricks-launch. There are some instructions for it in the post installation doc. I'd only recommend doing this if you are unable to use any of the previous methods, for some odd combination of reasons, or if you were already going to do it anyway;

I'll add some instructions on this issue to the readme and adjust the installer to show a warning if the user choses a possibly "problematic" folder during the install process.

kleshas commented 2 years ago
  1. Use the environment variable for allowing the runtime access to other mounts, as described in...

This worked for me when using it in the properties of Skyrim game in Steam - didn't work when using EXPORT STEAM_COMPAT_MOUNTS=/mnt/veracrypt1 in ~/.bash_profile

There is a crash (/path/to/MO2/crashdumps) every time I close MO2. Also, I don't see a way to get the FPS counter back in-game. With lutris, there was a way to use the env. var. in lutris game settings: right-click configure, system options, environment variables, new key: DXVK_HUD with FPS as the value.

error on closing MO2 when steam 2>&1 run:

wine: Unhandled page fault on execute access to 0000000000000000 at address 0000000000000000 (thread 0224), starting debugger... pid 33145 != 33144, skipping destruction (fork without exec?) Game process removed: AppID 489830 "STEAM_COMPAT_MOUNTS=/mnt/veracrypt1:/mnt/veracrypt4 /home/kleshas/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=489830 -- '/mnt/veracrypt4/SteamLibrary/steamapps/common/SteamLinuxRuntime_soldier'/_v2-entry-point --verb=waitforexitandrun -- '/mnt/veracrypt4/SteamLibrary/steamapps/common/Proton 6.3'/proton waitforexitandrun '/mnt/veracrypt4/SteamLibrary/steamapps/common/Skyrim Special Edition/SkyrimSELauncher.exe'", ProcID 33143 Game 489830 created interface STEAMAPPLIST_INTERFACE_VERSION001 / AppList Game 489830 created interface STEAMAPPS_INTERFACE_VERSION008 / Apps Game 489830 created interface STEAMHTMLSURFACE_INTERFACE_VERSION_004 / HTMLSurface Game 489830 created interface STEAMHTTP_INTERFACE_VERSION002 / HTTP Game 489830 created interface STEAMINVENTORY_INTERFACE_V002 / Inventory Game 489830 created interface STEAMMUSICREMOTE_INTERFACE_VERSION001 / MusicRemote Game 489830 created interface STEAMMUSIC_INTERFACE_VERSION001 / Music Game 489830 created interface STEAMPARENTALSETTINGS_INTERFACE_VERSION001 / ParentalSettings Game 489830 created interface STEAMREMOTESTORAGE_INTERFACE_VERSION014 / RemoteStorage Game 489830 created interface STEAMSCREENSHOTS_INTERFACE_VERSION003 / Screenshots Game 489830 created interface STEAMUGC_INTERFACE_VERSION010 / UGC Game 489830 created interface STEAMUSERSTATS_INTERFACE_VERSION011 / UserStats Game 489830 created interface STEAMVIDEO_INTERFACE_V002 / Video Game 489830 created interface SteamController006 / Controller Game 489830 created interface SteamFriends015 / Friends Game 489830 created interface SteamMatchMaking009 / Matchmaking Game 489830 created interface SteamMatchMakingServers002 / MatchmakingServers Game 489830 created interface SteamNetworking005 / Networking Game 489830 created interface SteamUser019 / User Game 489830 created interface SteamUtils009 / Utils Game 489830 method call count for IClientAppManager::GetAppInstallState : 1 Game 489830 method call count for IClientUtils::RecordSteamInterfaceCreation : 22 Game 489830 method call count for IClientUtils::GetSteamUILanguage : 1 Game 489830 method call count for IClientUtils::GetAppID : 24 Game 489830 method call count for IClientUser::GetSteamID : 1 Uploaded AppInterfaceStats to Steam No cached sticky mapping in ActivateActionSet.^C

rockerbacon commented 2 years ago

didn't work when using EXPORT STEAM_COMPAT_MOUNTS=/mnt/veracrypt1 in ~/.bash_profile

The correct file would be ~/.profile, not ~/.bash_profile.

kleshas commented 2 years ago

Doesn't work there either. MO2 doesn't see the drive.

kleshas commented 2 years ago

New month, new OS install.

Things now work with 4.3.0, installing to the pfx of 489830. I need STEAM_COMPAT_MOUNTS=/mnt/veracrypt1:/mnt/veracrypt4 %command% in SSE's Launch Options in steam. It does not work when using in .profile or even .bash_profile as specified above. veracrypt1 being where my downloads are (slow spinning rust) and veracrypt4 being where the mod folder is (I want to keep it on a separate folder to the 489830 folder just in case I need to reset that folder and forget to copy it out first).

rockerbacon commented 2 years ago

@kleshas regarding adding the environment variable to .profile, I'd like to confirm a couple things:

  1. .profile is only loaded at login. Did you remember to logout and back in after editing the file?
  2. Are you using a flatpak version of Steam?
kleshas commented 2 years ago

OK, things are now working using .profile. I guess you really DO need to logout, even though a source of .bash_profile shows the new path using printenv (system will only run .bash_profile if it exists and won't run .profile so I have a [[ -f ~/.profile ]] && . ~/.profile line at the top of .bash_profile) .

In fact when I don't logout and back in, STEAM_COMPAT_MOUNTS=/mnt/veracrypt1:/mnt/veracrypt4 , when in .bash_profile or in .profile, then sourcing .bash_profile will allow MO2 to see veracrypt1 AND veracrypt4 (from within tools/settings/paths) but it won't display the mods (it will display the saves, profiles and downloads which are all in veracrypt1). Weird behaviour.

kylecarow commented 2 years ago

When adding the line STEAM_COMPAT_MOUNTS=/mnt/md0/ %command% to the launch options in Steam I'm able to run everything normally, but deleting that and placing STEAM_COMPAT_MOUNTS=/mnt/md0/ at the end of .profile doesn't work. Any idea what I'm doing wrong?

smcv commented 2 years ago

Starting from pressure-vessel version 0.20220803.0 in today's "Steam Linux Runtime - soldier" and "Steam Linux Runtime - sniper" betas, more top-level directories are available to games by default, reducing the need to use STEAM_COMPAT_MOUNTS.

If you want to try using a beta version, the procedure to opt-in to a beta is the same as for any Steam game, except instead of looking for a game in your Steam library, you'd look for "Steam Linux Runtime - soldier" and choose the client_beta branch. If this version works well, the change will be copied into the default branch at some point in the future (I can't make any promises about timing, but it's usually 1 or 2 months between updates). Please report any regressions to the Steam Runtime issue tracker.

The affected paths are the typical paths for removable media:

and some FHS locations where people often put the mount points for non-removable but non-OS drives and partitions, such as a secondary SSD or HDD:

Custom top-level directories like the /data mentioned in this issue are not shared by default, and still require use of STEAM_COMPAT_MOUNTS, because we can't automatically classify unknown top-level directories into things you would expect to be shared (/storage, /games, /large-disk-drive) and things you would not expect to be shared (future OS components, /lost+found, /corporate-secrets).

However, most of the comments here seem to be about /mnt, for which the need to use STEAM_COMPAT_MOUNTS would be avoided by this change.

Technical details

smcv commented 2 years ago

If this version works well, the change will be copied into the default branch at some point in the future

Please subscribe to https://github.com/ValveSoftware/steam-runtime/issues/470 if you would like to be notified when this happens (I don't intend to spam this issue further).

rockerbacon commented 3 months ago

All install location issues are now grouped in #656