Setting Up Sonic CD in Proton for Steam OS

This game will run great under Proton on Steam OS after some simple tweaks.

I have tested this using the Alienware Core i7 model Steam Machine on Steam OS 2.0 Brewmaster

Fist, if you haven’t already, follow this guide to setup desktop access and superuser.

You will need two DLL files the game relies upon to run.
D3DCompiler_43.dll and D3DX9_43.dll
Make sure to select the 32 bit versions.

You will need to extract these files. Unfortunately, Steam OS doesn’t ship with a file extraction utility. There are two ways to go about this. The easiest is to download them with your computer, extract them then copy them over using a USB stick. The other is to manually add the Debian Jessie repositories to your sources.list file and install file-roller. (advanced)

Note: If you decide to add the Jessie repositories, ensure you remove them once you have finished installing the file and before returning to Steam. If the repositories are still enabled when the machine starts up, it may try to install unsupported updates that can break important drivers and other components of your machine.

Copy those files into the game’s directory in /home/steam/.steam/steam/steamapps/common/Sonic CD/

Note: You will not be able to copy these files using the file browser unless you launch it from the terminal with root permissions using the below command. Alternatively, you can use the cp command to copy them. (advanced)

sudo nautilus

The game should run now, however if like me you have a monitor with a high refresh rate, you will need to setup libstrangle to limit the game to 60.

To do this you will need to install libstrangle by folllowing the instrctions from the GitLab page. I will reproduce them here for your convenience.

First you will need to install the necessary dependencies if you don’t already have them.

You can do this by opening a terminal window and running the following commands:

sudo apt install libc6-dev-i386 gcc-multilib ia32-libs

Once this is done, you will need to create a folder to put the libstrangle files when you’re setting them up. Do this using the following command.
mkdir libstrangle

Now you will need to navigate to that location and checkout the libstrangle sources from the GitLab page. Do that using the following commands.

cd libstrangle
git clone https://gitlab.com/torkel104/libstrangle.git

Now you will need to compile and install libstrangle. Do this by using the following commands.

make
make
sudo make install

Once this finishes, you have libstrangle installed and you will not need the folder you created anymore. You can remove it with the following command.

cd ..
rm libstrangle -R

Next, you will need to select Return to Steam on the desktop.

Now you will need to set the launch options for the game in Steam so it will limit the game’s framerate. Do this by selecting the game in Steam, selecting Manage Game and choosing Set Launch Options. Copy the following lines into the box exactly as written and select OK.

strangle 60 %command%

Once you have followed these steps, the game should run fine, though the video setup will not run; you do not need it. It will default to the best possible resolution.

Setting up Sonic CD in Proton

This game will run great under Proton after some simple tweaks.

I have tested this using Pop!_os 18.04 using a Steam Controller but it should work with any Debian-based distribution (such as Ubuntu or Steam OS) as well. Setting it up in Steam OS requires a few more steps. That guide is coming soon.

Firstly, you will need two DLL files the game relies upon to run.
D3DCompiler_43.dll and D3DX9_43.dll
Make sure to select the 32 bit versions.
Copy those files into the game’s directory in ~/.steam/steam/steamapps/common/Sonic CD/

The game should run now, however if like me you have a monitor with a high refresh rate, you will need to setup libstrangle to limit the game to 60.

To do this you will need to install libstrangle by folllowing the instrctions from the GitLab page. I will reproduce them here for your convenience.

First you will need to install the necessary dependencies if you don’t already have them.

You can do this by opening a terminal window and running the following commands:

sudo apt install libc6-dev-i386 gcc-multilib ia32-libs

Once this is done, you will need to create a folder to put the libstrangle files when you’re setting them up. Do this using the following command.
mkdir libstrangle

Now you will need to navigate to that location and checkout the libstrangle sources from the GitLab page. Do that using the following commands.

cd libstrangle
git clone https://gitlab.com/torkel104/libstrangle.git

Now you will need to compile and install libstrangle. Do this by using the following commands.

make
make
sudo make install

Once this finishes, you have libstrangle installed and you will not need the folder you created anymore. You can remove it with the following command.

cd ..
rm libstrangle -R

Now you will need to set the launch options for the game in Steam so it will limit the game’s framerate. Do this by right-clicking the game in steam, selecting properties and choosing set launch options. Copy the following lines into the box and select OK.

strangle 60 %command%

Once you have followed these steps, the game should run fine, though the video setup will not run; you do not need it. It will default to the best possible resolution.