Proton icon indicating copy to clipboard operation
Proton copied to clipboard

Special K DLL injection freezes Steam Deck

Open SaltyBet opened this issue 1 year ago • 6 comments

Software information

  • Any game.

System information

  • Steam Deck OLED.
  • Stable channel.

Quoting Sangeki from the Special K thread:

With anything newer than Proton 9.0-2 Special K causes RAM to fill up to exhaustion on launch of a game. 9.0-3 was recently promoted from RC and is probably causing this issue and your Deck to freeze

Can confirm Special K DLL injection was working before that update.

SaltyBet avatar Sep 26 '24 05:09 SaltyBet

Hello @SaltyBet, please add PROTON_LOG=1 %command% to a couple game's launch options and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.) Also, please explicitly note what OS release you're using as "stable channel" doesn't age well (SteamOS 3.5.19 expected).

kisak-valve avatar Sep 26 '24 12:09 kisak-valve

OS: Arch Linux

Proton Version(s): Working: 8.0-5 Broken: 9.0-3 Last known working version: 9.0-2

Games Tested: NieR:Automata (524220) NieR Replicant ver.1.22474487139... (1113560)

Observed Behavior: Proton 9.0-3: Games launch but run very slowly and immediately start consuming all available RAM and SWAP. Proton 8.0-5: Games launch and appear to function normally.

This isn't on Steam Deck/SteamOS but the issue isn't directly related to either and the outcome is the same.

proton_logs.zip

Sangeki avatar Sep 26 '24 14:09 Sangeki

Software information

Granblue Fantasy: Versus (1090630)

System information

Steam Deck OLED

(deck@steamdeck ~)$ cat /etc/os-release 
NAME="SteamOS"
PRETTY_NAME="SteamOS"
VERSION_CODENAME=holo
ID=steamos
ID_LIKE=arch
ANSI_COLOR="1;35"
HOME_URL="https://www.steampowered.com/"
DOCUMENTATION_URL="https://support.steampowered.com/"
SUPPORT_URL="https://support.steampowered.com/"
BUG_REPORT_URL="https://support.steampowered.com/"
LOGO=steamos
VARIANT_ID=steamdeck
VERSION_ID=3.5.19
BUILD_ID=20240422.1

Steam Beta Branch: Steam Deck Stable Steam Version: 1726683985 Steam Client Build Date: Wed, Sep 18 12:13 UTC -08:00 Steam Web Build Date: Mon, Sep 16 18:12 UTC -08:00 Steam API Version: SteamClient021

Log:

steam-1090630.zip

SaltyBet avatar Sep 27 '24 03:09 SaltyBet

it seems like something happened between valve exp and bleeding edge. when i used exp proton tkg/wine tkg it worked fine, but anything newer than that causes games to crash on a fresh Vanilla Arch install.

s0mebodyhelpme avatar Oct 13 '24 23:10 s0mebodyhelpme

The reason why this breaks is caused by the addition of the (incomplete?) implementation of IAudioSessionEnumerator Inside Special K, we attempt to enumerate all of the Audio Sessions in order to provide audio mixing in-game, however, Wine memory leaks every time we construct the SessionEnumerator, which we do repeatedly until we get the audio session for the current process, the code responsible for that can be found here: https://github.com/SpecialKO/SpecialK/blob/e727014e2b77d38469b6090ba1d8656c8093d9ee/src/sound.cpp#L486 On the meanwhile, the latest Special K nightly has a workaround for this issue, which from my testing seems to be all that is required to get Special K working under Proton again.

MapleHinata avatar Oct 19 '24 03:10 MapleHinata

I can confirm that it does indeed work again, starting with Special K 24.10.19. Awesome!

Sangeki avatar Oct 19 '24 10:10 Sangeki

Thanks @MapleHinata / @Sangeki.

Confirmed fixed here too.

Will close the issue.

Cheers.

SaltyBet avatar Oct 24 '24 01:10 SaltyBet