ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.46k stars 1.07k forks source link

Reaxxion (15950) #5402

Open DanielR-I opened 2 years ago

DanielR-I commented 2 years ago

Compatibility Report

System Information

I confirm:

steam-15950.zip

Symptoms

Reaxxion has stopped working. During Loading/Initializing dialog a second dialog opens stating "OLE Error 8000FFFF".

Reproduction

I did not find Reaxxion in Protondb... but searches there lead to anther title (Dead Space 2) where others reported the same OLE error ... referencing "msxml6" as the solution. i.e. "protontricks msxml6" for "Dead Space 2"

Reaxxion worked with earlier versions of Proton Experimental.... but now all Proton versions I've tried (as a troubleshooting measure) fail to successfully load the game; presenting the same "OLE Error 8000FFFF" dialog over top of the game's initial "Initialization" dialog.

kisak-valve commented 2 years ago

Hello @DanielR-I, err:module:find_forwarded_export module not found for forward 'msxml3.DllGetClassObject' used by L"C:\\windows\\system32\\msxml4.dll" looks like a line of interest from your log.

DanielR-I commented 2 years ago

Hello, and thank you for your reply @kisak-valve

Are there any steps I can take that would address this... or is it best resolved by a future proton update?

alasky17 commented 2 years ago

@DanielR-I Do you remember approximately when it was working well with experimental? The last game update looks like it was in June - is it possible you haven't played it since then?

DanielR-I commented 2 years ago

I transitioned from Windows to Manjaro on or about July 13, 2021. All games that I've installed and played since then (including Reaxxion) have been via Steam/Proton.

I know Reaxxion worked when I first installed it between July/Aug... and played it sporadically until ~Sept.

What prompted me to run it again was to retest the moving of many games over to a new Steam Library on a second nvme disk. All games launched successfully except Reaxxion.

I did try moving Reaxxion back to the default $HOME library, but it made no difference. I don't think moving the game is what broke it... unless perhaps something has changed with the overall "install package" that might have overwrote some of the previously installed files? Unfortunately all I have are guesses.

From my personal experience, I have only ever had/seen Reaxxion run on Proton Experimental. And when I look at the change log @ https://steamdb.info/patchnotes/7856446/... I see references to various msi files being added and/or removed... and was hopeful that my report here might help identify an msi that was removed to be readded to restore the missing/required "msxml" objects that must have existed to launch Reaxxion successfully previously.

alasky17 commented 2 years ago

Hmmm ... I tried an experimental version from back in July (0719) and one from August (0823) just in case, but I'm running into this same error, which should rule out a Proton regression. It is possible that if you used a workaround like protontricks or some other means to add things to your prefix back in July/August to get the game working, those changes could have gotten lost in the move. Do you remember if you initially had to do anything extra to get it working?

Obviously Steam and Steam Linux Runtime - Soldier have also both updated since then, but I can't point to anything specific with those updates that could have caused this.

DanielR-I commented 2 years ago

In the beginning, I was pretty structured on writing down any/all "hoops" or things I learned I needed to do "migrate" my save files or add-ons. Here is a snippette from my LibreOffice document... and note that there are no "instructions" for Reaxxion.

        ◦ Games Installed
            ▪ ESO (cloud account/characters & local addons/data)
                • needs Proton 4.11-13 set initially after first install to get the launcher up and running, then remove the override so it follows “other titles”
                • /home/<userid>/.local/share/Steam/steamapps/compatdata/306130/pfx/drive_c/users/steamuser/My Documents/Elder Scrolls Online/
            ▪ Grim Dawn (local saves/data)
                • /home/<userid>/.local/share/Steam/steamapps/compatdata/219990/pfx/drive_c/users/steamuser/My Documents/My Games/Grim Dawn/
            ▪ Wolcen (cloud & local saves/data)
                • /home/<userid>/.local/share/Steam/steamapps/compatdata/424370/pfx/drive_c/users/steamuser/Saved Games/wolcen/
            ▪ Warhammer 40K: Inquisitor (cloud saves/data)
            ▪ Krater
            ▪ Ori (x2)  (cloud saves/data)
            ▪ Hollow Knight
            ▪ World of Goo  (cloud saves/data)
            ▪ Shatter (cloud saves/data)
            ▪ Reaxxion
            ▪ Swarm Arena
            ▪ Plants vs Zombies (cloud saves/data)
                • run the game
                • copy the steamapps/compatdata/3590/pfx/drive_c/ProgramData/PopCap Games/PlantsVsZombies/popcapgame1.exe file
                • use the copy to overwrite steamapps/common/Plants Vs Zombies/PlantsVsZombies.exe
            ▪ Torchlight II
                • launch command to make it work… LD_PRELOAD=/usr/lib/libfreetype.so.6 %command%
                • Mods/saves in the following folders under ~/.local/share/Runic Games/Torchlight 2/
                    ◦ save (cloud sync?)
                    ◦ mods
                    ◦ modsave
            ▪ Victor Vran (cloud saves/data)
            ▪ The Incredible Adventures of Van Helsing 
            ▪ Titan Quest (cloud saves/data)

But to be fair... I installed Reaxxion a while ago, if there was a workaround I needed, I might have forgotten to write it down; however, I had a pretty steep learning curve initially and was pretty good about writing everything down.

I have never used protontricks (or winetricks for that matter), but mentioned it in my discovery @ ProtonDB for "Dead Space 2" where posters experienced the same "OLE Error 8000FFFF" as I am.

Perhaps I am misguided in my reliance on "things just working" in Steam/Proton... but it was that initial experience with some of my top favorite games (ESO, Wolcen, Grim Dawn, Warhammer 40K, Van Helsing) that helped me take the GNU/Linux plunge. Also referring to my notes above, you'll see that TorchLight 2 is the only game where I needed to touch/modify Launch Options.

DanielR-I commented 2 years ago

Hello @DanielR-I, err:module:find_forwarded_export module not found for forward 'msxml3.DllGetClassObject' used by L"C:\\windows\\system32\\msxml4.dll" looks like a line of interest from your log.

Is this potentially related to "msxml3.dll" in the games "pfx/drive_c/windows/system32/" folder being a symlink to proton's "files/lib64/wine/fakedlls/msxml3.dll"... where the header of the file reads "Wine placeholder DLL" and one folder up (with the "real dll's") there is only an "msxml3.dll.so" file?

So basically the error message is spot on... a valid/working "msxml3.dll" is not in play, so the game can't find the method/object it's looking for? What stars had to line up for this to have working initially for me?

I have another question... Under wine, the default "OS" is Win7... what does proton use?

DanielR-I commented 2 years ago

I appears that with Proton 7.0 and Proton (7.1) Experimental that Reaxxion successfully now makes it passed the initialization stage and even launches (although unsuccessfully) full screen... which is great progress from the original initialization "OLE Error 8000FFFF".

The lava icon/splash blips in and out very briefly (once or twice) as I hear the games initial loading "static" intro sound... but the screen stays blank after that, and no more audio is heard. It came so close, but something prevented it from fully loading up to the main menu screen, and I eventually tabbed back to Steam and "Stopped" Reaxxion to close/abort the blank screen.

Here is a fresh copy of a new Proton Log... https://gist.github.com/DanielR-I/99463db7e7d2f87ac9e2bb26a6e0654c, hopefully something useful in this log like @kisak-valve found in the initial log.

What stood out to me in the log are the "timeouts" near the bottom of the log, but I'm sure it contains lots I don't know to look for. Might there be a launcher command that might help, or does this point to more Proton/Wine changes/growth being required?

DanielR-I commented 2 years ago

Interesting experience with a Steam Deck... 1) If I launch Reaxxion via desktop mode, I get the same "black screen"... also while trying to use launch commands for set resolutions or forced windowed mode 2) If I launch Reaxxion via Steam mode though, the game launches perfectly!

Not sure if this is something in the Steam Deck's new "big picture mode" replacement interface that is doing something different... but it would be interesting to know if it can be boiled down to a set of launch commands that would work with desktop mode (on and off the Steam Deck).

alasky17 commented 1 year ago

@DanielR-I Interesting! It seems like it is some windowing bug causing the failure. I just tried the game with gamescope on my desktop, and it launched just fine. I then tried Wayland+Plasma (instead of my usual X11+Plasma) and it also launched correctly. This leads me to believe that the problem on desktop is an X11 bug. Unfortunately, I don't think we have the resources to devote to fixing this right now, but I hope you enjoy playing it on your deck :D

DanielR-I commented 1 year ago

gamescope, eh? I found and installed it from the manjaro "official repositories" on my desktop PC.

After reading the first page of https://github.com/Plagman/gamescope, I thought all i needed to do was add it to the Reaxxion launch options gamescope -- %command%... this however generated a segfault (x11+plasma) and dumped core.

However, https://github.com/Plagman/gamescope/wiki suggested another path which looked like launching steam itself via gamescope... gamescope -e -- steam -tenfoot -steamos

This seemed to be a successful launch (of steam), although Reaxxion still loaded blank/black (launch option removed)... however, relooking at the terminal output, I think the last line indicates an error...

$ gamescope -e -- steam -tenfoot -steamos No CAP_SYS_NICE, falling back to regular-priority compute and threads. Performance will be affected. wlserver: [backend/headless/backend.c:82] Creating headless backend vulkan: selecting physical device 'AMD Radeon RX 6800 XT (RADV NAVI21)': queue family 1 vulkan: physical device supports DRM format modifiers vulkan: supported DRM formats for sampling usage: vulkan: 0x34325241 vulkan: 0x34325258 vulkan: 0x3231564E wlserver: Running compositor on wayland display 'gamescope-0' wlserver: [backend/headless/backend.c:18] Starting headless backend wlserver: [xwayland/sockets.c:63] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use wlserver: [xwayland/server.c:92] Starting Xwayland on :1 wlserver: [types/wlr_surface.c:748] New wlr_surface 0x564eb2cff470 (res 0x564eb341f500) wlserver: [xwayland/server.c:250] Xserver is ready pipewire: stream state changed: connecting pipewire: stream state changed: paused pipewire: stream available on node ID: 75 pipewire: renegotiating stream params (size: 1280x720) steam.sh[3623946]: Running Steam on manjarolinux 22.0.0 64-bit steam.sh[3623946]: STEAM_RUNTIME is enabled automatically setup.sh[3624020]: Steam runtime environment up-to-date! steam.sh[3623946]: Steam client's requirements are satisfied (EE) failed to read Wayland events: Broken pipe

So I'm still unclear if I just need to launch steam via gamescope, or if the game launch options also need the gamescope override... but that may be taking a back seat to the error message launching steam.