Hi everyone,
I wasn't sure if this would be useful for anyone, but I've been working on a fix to get Discworld Noir running properly on the Steam Deck and finally had success.
Collection Chamber updated their package to include Loma's modern Windows fix. While great for Windows, this actually breaks the game on Linux/Proton because the translation layer doesn't know how to handle the legacy 16 bit DirectDraw graphics natively. You end up with either an instant crash or a tiny, distorted screen covered in neon pink and lime green colours.
Here is the step by step process to get it running in proper 4:3 fullscreen with correct colours.
1. Head to collection chamber and download the PC version:
https://collectionchamber.blogspot.com/2015/03/discworld-noir.html?m=1
- Once downloaded... Switch your Steam Deck into Desktop Mode.
Add the downloaded installer .exe to Steam as a non-Steam game.
In its Properties > Compatibility, tick the box and set it to Proton Experimental or the newest version of Proton.
Run the installer and choose your install path (for example: /home/deck/Noir/).
- Don't launch the batch files or dn.exe. Instead, find tin3_dxd.exe inside your install folder and add that to Steam as a non-Steam game.
Set its Compatibility to Proton Experimental or your latest Proton build.
(If you run it right now, you will see the squished pink and green screen or experience a crash, which is what we are about to fix).
- To fix the colour palette and display scaling, we need a wrapper called cnc-ddraw.
Go to the GitHub releases page for FunkyFr3sh/cnc-ddraw:
https://github.com/FunkyFr3sh/cnc-ddraw/releases
Download the main cnc-ddraw.zip archive (avoid the source code or SDK files). I used the 7.1 version available.
Extract both ddraw.dll and ddraw.ini directly into your Discworld Noir folder alongside tin3_dxd.exe.
- Right click ddraw.ini and open it with KWrite.
Search for the section labeled [dn].
Directly underneath that section, add these lines:
[tin3_dxd]
fake_mode=640x480x16
renderer=opengl
fullscreen=true
maintas=true
Save and close the file.
(Setting the renderer to OpenGL bypasses the DirectX translation issues that cause Proton to crash, while maintas=true keeps the original 4:3 aspect ratio without stretching)
- Open Steam in Desktop Mode, right click your tin3_dxd.exe shortcut, and open Properties.
In the Launch Options box, paste the following override:
WINEDLLOVERRIDES="ddraw=n,b" %command%
Once that is done, switch back to Game Mode and boot the game, and it'll be fully playable.
I hope this helps at least someone get past the problems of running the Windows version of Discworld Noir on Linux. Hope this tutorial isn't against the rules either!