HarbourMasters / HarbourMasters/Starship

Attempting to set OpenGL in Windows build (under Wine 9.0) reverts config file back to DirectX

Open
#75 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
2.1k
Forks
140
Avg merge
14d 15h
Merged PRs (30d)
2

Description

**System**:

- CPU: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
- GPU: Mesa Intel(R) Xe Graphics (TGL GT2) (0x9a49)
- OS: NixOS 24.11 (using Wine 9.0)

**Steps to reproduce**:

1. Download Starship Windows release and extract assets from ROM as normal.
2. Change `starship.cfg.json` to use Backend ID 3 and Backend Name "OpenGL", as instructed in README
3. Run `starship.exe`

**Expected**:

Starship attempts to use OpenGL

**Actual Behavior**:

Starship switches back to DirectX. The `starship.cfg.json` file is overwritten to set the Backend to DirectX, and logs show attempts to compile DirectX shaders. (It crashes when doing this, but I suspect that's a different problem.)

**Logs**:

```
[2024-12-26 15:06:39.770] [V:\Starship\libultraship\src\resource\archive\ArchiveManager.cpp:165] [info] Reading archive: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\starship.otr
[2024-12-26 15:06:39.773] [V:\Starship\libultraship\src\resource\archive\OtrArchive.cpp:69] [info] Opened mpq file "Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\starship.otr"
[2024-12-26 15:06:39.773] [V:\Starship\libultraship\src\resource\archive\ArchiveManager.cpp:195] [info] Adding Archive Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\starship.otr to Archive Manager
[2024-12-26 15:06:39.773] [V:\Starship\libultraship\src\resource\archive\ArchiveManager.cpp:165] [info] Reading archive: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\sf64.otr
[2024-12-26 15:06:39.800] [V:\Starship\libultraship\src\resource\archive\OtrArchive.cpp:69] [info] Opened mpq file "Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\sf64.otr"
[2024-12-26 15:06:39.817] [V:\Starship\libultraship\src\resource\archive\ArchiveManager.cpp:195] [info] Adding Archive Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\sf64.otr to Archive Manager
[2024-12-26 15:06:44.410] [V:\Starship\libultraship\src\debug\CrashHandler.cpp:72] [critical] Exception: 0xe06d7363
Registers:
RAX: 0x000000000012F608
RCX: 0x000000000012F5D0
RDX: 0x0000000000000000
RBX: 0x000000014060E818
RSP: 0x000000000012F5B0
RBP: 0x000000000012F7E0
RSI: 0x000000000012F740
RDI: 0x0000000019930520
R9: 0x000000000012F6C0
R10: 0x0000000000000000
R11: 0x0000000000161800
R12: 0x0000000000000064
R13: 0x0000000000000000
R14: 0x0000000000000000
R15: 0x0000000140530DD0
RIP: 0x00006FFFFFC1CF07
EFLAGS: 0x00000202
At Addr: 0x00000000FFFFFFFF
In: C:\windows\system32\kernelbase.dll
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: Z:\home\hans\GameSync\Starship-Centauri-Alfa-Windows\Starship.exe
At Addr: 0x00000000FFFFFFFF
In: C:\windows\system32\kernel32.dll
At Addr: 0x00000000FFFFFFFF
In: C:\windows\system32\ntdll.dll
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the Windows build under Wine with Backend ID 3 in starship.cfg.json, then trace backend selection and config rewriting from the reported startup logs. Review libultraship/src/resource/archive/ArchiveManager.cpp, OtrArchive.cpp, and src/debug/CrashHandler.cpp as the available entry points; done means the OpenGL setting is retained and DirectX is not selected unexpectedly.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.