I have tried this game on a Steam Deck running on the preview channel and it does seem to work. Strange it doesn't work on Arch Linux which SteamOS is closely based on. I don't know if its some newer library fricking messing up something with the games code or not. I don't know if Denuvo has anything to do with it but I got to the black screen so hopefully Denuvo has registered a hardware key for me.. I remember seeing something here about them not using LLVM 16+ because of tcmalloc messing up stuff in games but I did try a LLVM 15 + Mesa 24 compile and I pointed the ICD to that prefix and it didn't seem to change anything.
@fries1234 I couldn't reproduce your issue, tried proton 8, 9 and experimental, and they all launched fine with a rx 6600 card on mesa 24.0.2 and llvm 16
I had a similar issue with it, but in a flatpak environment, so this would be the first report of the issue outside a flatpak environment (since someone else also reproduced it on Heroic's flatpak), and as you have mentioned, it does run fine on the Steam Deck.
I tried to dig in deeper using Proton's full DEBUG output and at best I was only able to see the game trying to create and open certain files and failing to do so, which makes me wonder if it could be related to the filesystem or certain characters in the game's install folder. (EDIT: I finally went around and got a basic ext4 partition for it, no dice)
If you are experiencing this bug, make sure to remove $XDG_DATA_HOME from your environment variable. Distros do not set environment variable by default, but some user dot files or configs export this to their shell/environment. Sonic Colors uses a bespoke Blind Squirrel engine forked from Godot. Perhaps the Godot base is why it understands XDG paths?
Sonic Colors Ultimate breaks and freezes if there is an $XDG_DATA_HOME variable present. $XDG_DATA_HOME interferes with the path for this game. The save file and settings is normally pathed in the Wine Prefix located at Z:/../AppData/Roaming/SEGA.
(If you enable XDG_DATA_HOME="" PROTON_LOG=1 %command%, search for crashpad. It will try to use a path involving an exported Unix $XDG_DATA_HOME path instead of Wine path like Z:)
Here are some screenshots to substantiate the issue:
No $XDG_DATA_HOME variable exported to environment in ~/.bashrc
Steam Launch option set to default
Steam Launch option set to XDG_DATA_HOME="CHILLI-DOGS" %command%
Fix if you don't want to disable the global values.
env -u XDG_DATA_HOME -u XDG_CONFIG_HOME -u XDG_CACHE_HOME -u XDG_STATE_HOME %command%
Should unset the values at runtime.
Yes, you can expect a good experience playing Sonic Colors: Ultimate at a 3840x2160 (4K) resolution on Linux using Proton. Based on user reports and gameplay videos, the PC version of the game is well-equipped to handle high resolutions and frame rates, and this generally translates to a solid performance on Linux through Valve's Proton compatibility layer.
Sonic Colors Ultimate Windows on Linux Sonic 35th Anniversary
PROTON_LOG=1x1 2024-12XDG_DATA_HOME="CHILLI-DOGS" %command%x1 2025-01XDG_DATA_HOME="" PROTON_LOG=1 %command%x1 2024-12
Compatibility Report
System Information
I confirm:
steam-2055290.log
Symptoms
When you start up the game, the screen is black and thats all that happens, and you can see the games custom cursor. If you press alt+enter, you can see a loading spinner in the top right corner, but that goes away after a while and it stays at a black screen.
Reproduction
Just start the game. I'd say try an Arch Linux system with a RADV-supported graphics card, preferably an RDNA 3 card but I think any RADV-supported card would work.