r/NobaraProject • u/Routine_Substance457 • 19h ago
Support Trying to launch Obscure 1 on Steam on Fedora or Nobara? Here’s the solution, step by step
I recently reinstalled Nobara and could no longer launch Obscure (2004) through Steam.
My symptoms were:
- Steam showed the game as running, but no window appeared.
- Sometimes the game stayed permanently on STOP.
- With some dgVoodoo versions, Proton entered an
EXCEPTION_ACCESS_VIOLATIONloop. - Eventually, the game launched and played audio, but there was still no image.
After testing several Proton and dgVoodoo configurations, this is the exact combination that worked for me:
- GE-Proton7-20
- dgVoodoo2 2.79.3
- All four dgVoodoo DLLs from
MS/x86 - Gamescope
- Gamescope forced to use X11/XWayland instead of its native Wayland backend
My system:
- Nobara 44 KDE
- Wayland
- NVIDIA RTX 4070
- Steam version of Obscure
- Steam AppID:
254460
Step 1: Install GE-Proton7-20
Install ProtonUp-Qt through Discover or your preferred package manager.
Open ProtonUp-Qt and:
- Select Steam.
- Choose GE-Proton7-20.
- Install it.
- Restart Steam.
In Steam:
- Right-click Obscure.
- Select Properties.
- Open Compatibility.
- Enable Force the use of a specific Steam Play compatibility tool.
- Select GE-Proton7-20.
Newer Proton versions may work, but GE-Proton7-20 is the version that worked in this configuration.
Step 2: Close Steam and Obscure
Open a terminal and run:
pkill -f -i 'Obscure.exe' 2>/dev/null || true
/usr/bin/steam -shutdown 2>/dev/null || true
sleep 5
Step 3: Download dgVoodoo2 2.79.3
The newer dgVoodoo 2.87.3 DLL caused an access-violation loop on my system.
dgVoodoo 2.81.3 stopped the crash, but the game remained running without creating a visible window.
Version 2.79.3 was the version that ultimately worked.
Run:
cd "$HOME/Downloads"
rm -f "dgVoodoo2_79_3.zip"
curl -fL \
"https://github.com/masterotaku/dgVoodoo-binaries/raw/refs/heads/main/dgVoodoo2_79_3.zip" \
-o "dgVoodoo2_79_3.zip"
Check that the archive downloaded correctly:
unzip -t "$HOME/Downloads/dgVoodoo2_79_3.zip" | tail -n 3
You should see:
No errors detected in compressed data
Confirm that the required 32-bit DLLs are included:
unzip -Z1 "$HOME/Downloads/dgVoodoo2_79_3.zip" |
grep -iE '^MS/x86/(D3D8|D3D9|D3DImm|DDraw)\.dll$' |
sort
You should see:
MS/x86/D3D8.dll
MS/x86/D3D9.dll
MS/x86/D3DImm.dll
MS/x86/DDraw.dll
Step 4: Install the four x86 dgVoodoo DLLs
Run this entire block:
set -e
GAME="$HOME/.local/share/Steam/steamapps/common/Obscure"
ZIP="$HOME/Downloads/dgVoodoo2_79_3.zip"
BACKUP="$HOME/obscure-backup-2793-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BACKUP"
for FILE in \
d3d8.dll D3D8.dll \
d3d9.dll D3D9.dll \
d3dimm.dll D3DImm.dll \
ddraw.dll DDraw.dll \
dgVoodoo.conf
do
if [ -f "$GAME/$FILE" ]; then
mv -v "$GAME/$FILE" "$BACKUP/"
fi
done
unzip -p "$ZIP" "MS/x86/D3D8.dll" > "$GAME/d3d8.dll"
unzip -p "$ZIP" "MS/x86/D3D9.dll" > "$GAME/d3d9.dll"
unzip -p "$ZIP" "MS/x86/D3DImm.dll" > "$GAME/d3dimm.dll"
unzip -p "$ZIP" "MS/x86/DDraw.dll" > "$GAME/ddraw.dll"
chmod 644 \
"$GAME/d3d8.dll" \
"$GAME/d3d9.dll" \
"$GAME/d3dimm.dll" \
"$GAME/ddraw.dll"
file \
"$GAME/d3d8.dll" \
"$GAME/d3d9.dll" \
"$GAME/d3dimm.dll" \
"$GAME/ddraw.dll"
All four files should be identified as:
PE32 executable
Intel i386
Do not use the files from MS/x64. Obscure is a 32-bit game.
Your Obscure folder should now contain these four files:
d3d8.dll
d3d9.dll
d3dimm.dll
ddraw.dll
I did not need a custom dgVoodoo.conf.
Step 5: Rebuild Obscure’s Proton prefix
This backs up the existing prefix instead of deleting it permanently.
PREFIX="$HOME/.local/share/Steam/steamapps/compatdata/254460"
PREFIX_BACKUP="$HOME/obscure-prefix-backup-$(date +%Y%m%d-%H%M%S)"
pkill -f -i 'Obscure.exe' 2>/dev/null || true
/usr/bin/steam -shutdown 2>/dev/null || true
sleep 5
if [ -d "$PREFIX" ]; then
mv -v "$PREFIX" "$PREFIX_BACKUP"
fi
Steam will automatically create a new prefix the next time you launch the game.
Step 6: Install Gamescope
On Fedora or Nobara:
sudo dnf install -y gamescope
Confirm that it is installed:
gamescope --version
Gamescope was essential in my case. Without it, Obscure launched and played audio, but KDE Wayland never displayed the game window.
Step 7: Add the final Steam launch option
Open Steam and go to:
Obscure → Properties → General → Launch Options
Paste this exact line:
WINEDLLOVERRIDES="d3d8=n,b;d3d9=n,b;d3dimm=n,b;ddraw=n,b" env -u WAYLAND_DISPLAY gamescope -w 1024 -h 768 -W 1280 -H 960 -b -- %command%
What this does:
- Forces Proton to load the four local dgVoodoo DLLs.
- Runs the game through Gamescope.
- Forces Gamescope to use X11/XWayland by removing
WAYLAND_DISPLAY. - Renders the game internally at
1024x768. - Displays it at
1280x960. - Uses a borderless Gamescope window.
Step 8: Launch the game
Press Play in Steam.
The first launch may take slightly longer because Steam is rebuilding the Proton prefix.
The game should now open with both audio and video.
To toggle Gamescope between windowed and fullscreen mode, press:
Super + F
Final working configuration
Obscure Steam AppID 254460
GE-Proton7-20
dgVoodoo2 2.79.3
MS/x86/D3D8.dll
MS/x86/D3D9.dll
MS/x86/D3DImm.dll
MS/x86/DDraw.dll
Gamescope using X11/XWayland
Final Steam launch option:
WINEDLLOVERRIDES="d3d8=n,b;d3d9=n,b;d3dimm=n,b;ddraw=n,b" env -u WAYLAND_DISPLAY gamescope -w 1024 -h 768 -W 1280 -H 960 -b -- %command%
I hope this saves someone else from hours of testing different Proton versions, DLL overrides, DirectX components and dgVoodoo releases.