HarbourMasters / HarbourMasters/Starship
Attempting to set OpenGL in Windows build (under Wine 9.0) reverts config file back to DirectX
- 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