ValveSoftware / Proton

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

No logs generated for game, stuck at "Performing first time setup" #2195

Closed mdeguzis closed 4 years ago

mdeguzis commented 5 years ago

This is a more general issue I think, as I have this happen sometime, but am unsure why I do not get a log generated to try and highlight the issue. I have found this is only for some games, such as Alien Breed 2 (22650), but is a general issue in logging and diagnostics.

Steps:

steam@steamos:~$ rm -rf ~/.local/share/Steam/steamapps/compatdata/22650

steam@steamos:~$ cp "/home/steam/.local/share/Steam/steamapps/common/Proton 3.16 Beta/user_settings.sample.py" "/home/steam/.local/share/Steam/steamapp
s/common/Proton 3.16 Beta/user_settings.py"

uset_settings.py left at default:

#to enable these settings, name this file "user_settings.py"

user_settings = {
    #logs are saved to $HOME/steam-$STEAM_APP_ID.log, overwriting any previous log with that name
    "WINEDEBUG": "+timestamp,+pid,+tid,+seh,+debugstr,+module",

    "DXVK_LOG_LEVEL": "info",

    #Enable DXVK's HUD
#    "DXVK_HUD": "devinfo,fps",

    #Use gl-based wined3d for d3d11 and d3d10 instead of vulkan-based dxvk
#    "PROTON_USE_WINED3D": "1",

    #Disable d3d11 entirely
#    "PROTON_NO_D3D11": "1",

    #Disable in-process synchronization primitives
#    "PROTON_NO_ESYNC": "1",
}

Read in some places that:

Non beta of Proton: WINEDEBUG="+timestamp,+pid,+tid,+seh,+debugstr,+module" %command%

Proton Beta: PROTON_LOG=1 %command% Then there will be a log file of the game in your home directory, named steam-$GAMEID.log.

I tried adding the "beta version" to my settings after clearing the compat data:

user_settings = {
    #logs are saved to $HOME/steam-$STEAM_APP_ID.log, overwriting any previous log with that name
    "WINEDEBUG": "+timestamp,+pid,+tid,+seh,+debugstr,+module",
    "PROTON_LOG": "1",

I also tried setting things via launch options. One would think that from the exact moment you hit play and the "first time setup" happens, some* kind of log will be started. The compatdata folder does start to populate, so I would expect logs.

steam@steamos:~$ ls -ltr ~/.local/share/Steam/steamapps/compatdata/22650/
total 96
-rw-r--r-- 1 steam steam 88933 Jan  5 10:20 tracked_files
drwxr-xr-x 4 steam steam  4096 Jan  5 10:21 pfx
-rw-r--r-- 1 steam steam     7 Jan  5 10:22 version
-rwxr-xr-x 1 steam steam     0 Jan  5 10:22 pfx.lock
ghost commented 5 years ago

"PROTON_LOG=1 %command%" goes into command options for a game (without quotes)

user_settings.py offers an alternative so that when its renamed to this - and if I remember correctly - using it automatically creates a log with the extra specified settings over the command option above. But, the file is in the proton dir so you must have use this tool for all games checked in Steam as well as that proton version selected or you will get no logs.

If you still don't get any logs then one reason today can be that a game doesn't get far enough to produce a log I would think. Possibly, there could be other problems.

mdeguzis commented 5 years ago

I would think the latter reason due to the fact only we games do this. However, if it hits performing first time setup and the compatdata dir is populating, there should be some kind of log. /tmp/dumps/steam* logs show nothing or value.

aeikum commented 5 years ago

The logs are only gathered for the game process itself, not any of the initialization processes. This is because Steam doesn't set the SteamGameId variable during installscript processes. You can hack the proton script to always log to a given log filename, look around the lfile initialization.

nightsky30 commented 5 years ago

I'm not sure if this should go here, but I've run into a situation where the Proton Steam logs are not generated for a game when the correct launch options are used. I added the following by itself without surrounding back ticks or quotes of any kind:

PROTON_LOG=1 %command%

I also tried switching the 1 to a 0 to see if the flag was flipped given #2209. That did not produce a log file either.

The game not producing logs is DAMNOSAUR (974950) #2299.

The same Proton log launch option works and produces a log file for Machinarium (40700).

Note: In my instance I am not setting this game up for the first time. This game has been installed for a while. Nor have I modified user_settings.py. I am simply modifying the launch options through the individual game properties.

peterson432 commented 5 years ago

game logs are gathered in the process list, if you are not getting logs this is because game doesn't get far enough to produce a log.

nightsky30 commented 5 years ago

When I start DAMNOSAUR (974950) I am at the main menu and hear the game music playing. The screen is a full screen pale yellow, and it seems there may be menu items selectable, but the user cannot see anything. The game is also only quit using Alt+F4. If there isn't a game process running at that point I would very surprised.

aeikum commented 5 years ago

Are you sure this game is using Proton? They don't advertise Linux support on their store page, but they do have a Linux depot: https://steamdb.info/app/974950/depots/ You can dig into the game's files to see if you have received Linux binaries or Windows executables.

nightsky30 commented 5 years ago

@aeikum Yep, you are right! Steam is downloading and running the broken, unsupported Linux version of the game without using Proton. If I force Proton 3.16-8 Beta via Steam Play, then it runs great. Menu works and everything.

Seems like the Steam client should not be downloading the Linux version. Not sure why the Windows version isn't enforced.

@kisak Is this a Valve issue that might be further reaching, or is this just a developer issue? Certain store/depot flags not set properly?

kisak-valve commented 5 years ago

@nightsky30, the Steam client using the linux native version sounds like the intended behavior and you should bring that issue to the attention of the game's dev(s).