


Installed custom launcher as described.
You need to change the launcher as described, and then launch the game configuration tool and change the input settings to use the controller. Note that changing the launcher does not affect the achievements, you can still get those normally.

Both the native Steam Deck controls as well as a bluetooth controller (tried on a DualShock 4 and a 8Bitdo Ultimate C2) are not recognized. You can use the mouse mode to navigate within the menu but the controls themselves are not recognized, even when opening the supplied Configure controls tool or choosing a different control profile such as the recommended by the community within Steam.

Needed to use the launch option PROTON_NO_ESYNC=1
to fix audio.
Putting my opinions on the game aside for a moment, after patching with the GitHub repository linked, the game ran flawlessly. I did encounter audio issues, but PROTON_NO_ESYNC=1 fixed it for me and it ran pretty much as it should on Windows.
Should be noted that without replacing the launcher from GitHub, you will run into a Jave Runtime error.

You will need to download the Sonic 4 Launcher (I used the GCC version) as others have also pointed out and replace the original sonic 4 launcher with this new one, once done game works perfectly

Replace the launcher executable with one that doesn't require Java
Some stuttering
This game, as shipped, has a launcher that depends on an old version of Java. However, the actual game does not require Java at all. Go to https://github.com/darealshinji/sonic-4-launcher and download the latest (either GCC or MSVC will work), and replace ~/.steam/steam/steamapps/common/Sonic\ the\ Hedgehog\ 4\ EP\ 1/SonicLauncher.exe with the one from GitHub. Once you do that, it works fine.
It's worth noting that this is a tweak would need to be done on Windows 10 and 11 as well.
If you have audio problems, putting this in the launch options should help: PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command%

Not tried any of the workarounds suggested here, your milage may vary.
Download "sonic-4-launcher_r4_gcc.zip" and replace "SonicLauncher.exe" in the game's local files with the one in "sonic-4-launcher_r4_gcc.zip" https://github.com/darealshinji/sonic-4-launcher/releases
Then set the game's Proton version to 7.0-6

Didn't work with latest Proton versions while using the right SonicLauncher.exe file linked in other comments below. I needed the 7.06.
Need to use the SonicLauncher linked in other comments below
You need to lauch the configuration windows first and go to Player 1 and then select Gamepad. Save and you're good to go
Follow the steps on other comments here, and use Proton 7.06, otherwise it won't launch.
Currently unplayable, even after testing a few versions of Proton (including GE)

Similar experience as on Windows, so the controlling scheme of Sonic is just as unresponsive as on other platforms than Linux ;-)
The 'gamepad' input method needs to be selected manually on the 'Player 1' tab of the configuration tool that needs to be selected the first time you run/boot the game.
Error message: "This application requires a Java Runtime Environment 1.6.0"

Unplayable through Proton.
When running the game, it gives out the error "This application requires a Java Runtime Environment 1.6.0"

The game gives the error message and does not let you play it.
The error message is "This application requires a Java Runtime Environment 1.6.0"
Used the cracked exe mentioned in other reports
Used a patched .exe file
The game plays fine with the patched executable people have linked below.
Replace with exe file by downloading the sonic-4-launcher_r4_gcc zip from https://github.com/darealshinji/sonic-4-launcher/releases/tag/r4
Replace with exe file by downloading the sonic-4-launcher_r4_gcc zip from https://github.com/darealshinji/sonic-4-launcher/releases/tag/r4
Extract the SonicLauncher exe file and replace the same exe file name in the main Sonic 4 directory.

Replace with exe file by downloading the sonic-4-launcher_r4_gcc zip from https://github.com/darealshinji/sonic-4-launcher/releases/tag/r4
Extract the SonicLauncher exe file and replace the same exe file name in the main Sonic 4 directory.
When I run the game, there were no performance or sound issues that I noticed. Seems like you don't need to do the launch commands if nothing's wrong.
Works out of the box

Steps to prepare Sonic 4 ep1 if you're on Flatpak
If you haven't installed Protontricks for Flatpak yet, copy and paste into a terminal as follows:
flatpak install flathub com.github.Matoking.protontricks
Then, all you have to do is this:
wget -O ~/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/compatdata/202530/pfx/drive_c/java.exe https://javadl.oracle.com/webapps/download/AutoDL?BundleId=245477_4d5417147a92418ea8b615e228bb6935
flatpak run com.github.Matoking.protontricks -c "wine C:\java.exe /s" 202530
Game requiers a java runtime.

The game gets a error and does not start.
This application requires a Java Runtime Environment 1.6.0
and i have install msxml3/ d3dx9 / vcrun2010
jeu très lent a cause de d3dx9 et ESYNC desactivé
je deconseille de l'utilisé sur linux

I had to run
protontricks 202530 msxml3 d3dx9 vcrun2010
to install dependencies required by the game
Sound is completely borked without "PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command%" (without quotes) in startup options
The game launcher, as downloaded on Steam, depends on an old version of Java that is no longer supported. The game itself does not need Java. Replace SonicLauncher.exe with the one from here to avoid the Java requiement: https://github.com/darealshinji/sonic-4-launcher
Once I did all of this, the game works.

Very bad sound, to fix add in properties, Startup options: PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 %command%
To function, make the following configuration:
protontricks 202530 msxml3 d3dx9 vcrun2010
protontricks -c "wine ~/.cache/winetricks/vcrun2010/vcredist_x86.exe" 202530
mkdir -p $HOME/.steam/debian-installation/steamapps/compatdata/202530/pfx/drive_c/users/steamuser/AppData/LocalLow/Sun
protontricks -c " wine ~/Downloads/jre-8u291-windows-i586.exe /s" 202530
My GPU doesn't support Vulkan. Disabling Esync and Fsync fixed some sound issues.
I had to install msxml3, vcrun2010, and d3dx9 through Protontricks to get the game working.
I also had to replace the included configuration tool with this one: https://github.com/darealshinji/sonic-4-launcher
Certain levels (Casino Street Act 2 and EGG Station) suffer from heavy slowdown. The game will also freeze for a few seconds sometimes.
Owning both this and Episode 2 gets you Episode Metal, which works fine.

This game can run without java by downloading the modified exe file from this site: https://github.com/darealshinji/sonic-4-launcher
Once you've downloaded and extracted the file, copy the modified exe and replace the original one.
Use protontricks to use the following commands: protontricks 202530 msxml3 vcrun2010 d3dx9
Lastly, you'll have to disable esync (PROTON_NO_ESYNC=1) and fsync (PROTON_NO_FSYNC=1) if you're using that too.
Without esync disabled, the game suffered from the same audio distortion as Sonic Generations.
The game has a vast amount of dependencies that aren't installed before the game actually boots. Protontricks can/should be used to install msxml3, vcrun2010, and d3dx9. The Java 1.6 runtime environment needs to be installed as well - "jre-6u45-windows-i586.exe" - and after that the game seems to work.
Was terrible until after disabling esync, after that it worked properly.
Tested using Steam Controller. It worked once but then never worked again, at least as a gamepad. However, using the controller configurator and a community "keyboard emulation" script, it worked fine afterwards.
The game sometimes failed to close, and would needed to be force-quit. Other times it would take a very very long time to close.
The config tool is slow and a bit buggy, so have some patience when configuring it.
PROTON_NO_ESYNC=1
: This fixes a strange audio stutter glitch, similar to those you'd find in the likes of Sonic Generations or LEGO Star Wars without this parameter. When you set it, the game's audio will work normally
Replace $LIB
with the path to your Steam library folder where is saved. For example /home/gaben/.steam/steam/steamapps
winetricks
- msxml3: Microsoft XML Parser
- vcrun2010: A set of runtime libraries the game requires
- d3dx9: DirectX DLL that some games need
To install, run WINEPREFIX="$LIB/compatdata/202530/pfx" winetricks msxml3 vcrun2010 d3dx9
Not Listed
- JRE 1.6.0: Unsupported version of Java, so you need an Oracle account for an official download. You could find a mirror, or try
wget
. On Oracle's downloads page, look forjre-6u45-windows-i586.exe
. To install this into your Proton prefix, run this in the same folder as the installer:WINEPREFIX="$LIB/compatdata/202530/pfx" wine jre-6u45-windows-i586.exe
You may need to restart for everything to work properly
If you put in the effort, this game will work nearly perfectly. A few extra notes:
- Launcher works, even launching the game from the launcher still works
- Game actually detected my second monitor and could be launched directly to it, unlike other games I've tried via Proton. Very minor thing overall though
- Tested with a Steam Controller. Remember to set your input type to "Gamepad" from the launcher, otherwise it won't work. Also ensure that the game is not set to use a keyboard binding for your controller, as it defaulted to this for me and it caused quite a headache
- If you don't close the game from the menu, it will run in the background even if the window closes. The process (
Sonic_vis.exe
) can be killed manually however
The game requires JRE >= 1.6.0.

Java1.6, msxml3, vcrun2010 and d3dx9 need to be installed. Most of the fixes here install these dependencies by using the wine installed in your system. I tried this way too but it didn't work. However, it worked when I used the same wine that proton uses. The following is the two commands I had to execute. Note that my steam library is at /volumes/SteamRepository/Steam and that the wine used by Proton 4.11-4 is located in my system at /volumes/SteamRepository/Steam/steamapps/common/Proton 4.11/dist/bin/wine.
Install Java 1.6
WINEPREFIX="/volumes/SteamRepository/Steam/steamapps/compatdata/202530/pfx" WINEARCH=win64 "/volumes/SteamRepository/Steam/steamapps/common/Proton 4.11/dist/bin/wine" ~/Downloads/jre-6u45-windows-i586.exe
Install msxml3, vcrun2010 and d3dx9
WINE="/volumes/SteamRepository/Steam/steamapps/common/Proton 4.11/dist/bin/wine" WINEPREFIX="/volumes/SteamRepository/Steam/steamapps/compatdata/202530/pfx" WINEARCH=win64 winetricks msxml3 vcrun2010 d3dx9
I hope it helps!


Still Requires the tweaks mentioned below but after that runs like a charm, gamepad works out of the box.


This game requires a bit of work to get going but seems to run fine after installing its dependencies and disabling esync. First, you need to find and download "jre-6u45-windows-i586.exe" Next, I had to run WINEPREFIX="$HOME/.steam/debian-installation/steamapps/compatdata/202530/pfx" WINEARCH=win64 wine ~/Downloads/jre-6u45-windows-i586.exe
followed by WINEPREFIX="$HOME/.steam/debian-installation/steamapps/compatdata/202530/pfx" WINEARCH=win64 winetricks msxml3 vcrun2010 d3dx9
and disable esync. You'll probably need to adjust these for your distro, since I'm on Ubuntu 19.04 at the moment. It does run fine after all this though.


As others mentioned install jre-6u45-windows-i586 first, then msxml3, vcrun2010, and d3dx9 using winetricks


This game doesn't open and show a window like that
Launch4j This aplication requires a java Runtime Enviroment 1.6

I needed to install Java 1.6 (jre-6u45-windows-i586, and jre8u wouldn't install), then install msxml3, vcrun2010, and d3dx9 using winetricks. The commands for this were WINEPREFIX="/home/username/.steam/steamapps/compatdata/202530/pfx" WINEARCH=win64 wine jre-6u45-windows-i586.exe
and WINEPREFIX="/home/username/.steam/steamapps/compatdata/202530/pfx" WINEARCH=win64 winetricks msxml3 vcrun2010 d3dx9
respectively. Finally, I had to disable Esync.

The crashes soon after launch and asks to install JAVA

I was able to manage to get this game running. First, you have to google and download the specific java version that is required (at least the 1.6.0 version). Then once it's downloaded, go to where the java download is at and right click the outside of the download folder and click the open in terminal option. Type in the terminal for example: (WINEPREFIX="/home/username/.steam/steamapps/compatdata/202530/pfx" WINEARCH=win64 wine jre-6u45-windows-i586.exe) and install java. After that, use the terminal again to type for example: (WINEPREFIX="/home/username/.steam/steamapps/compatdata/202530/pfx" WINEARCH=win64 winetricks) From there, install msxml3, vcrun2010, and maybe d3dx9. Disable esync (PROTON_NO_ESYNC=1 %command%). Once done, the game should work.


Doesn't start. Needs (at least) JRE installed.



i can't get passed the java error
