DescentDevelopers/Descent3

[Runtime Issue]: OpenGL ChangeDisplaySettings error when launching

Closed this issue · 9 comments

Build Version

4795388

Operating System Environment

  • Microsoft Windows (32-bit)
  • Microsoft Windows (64-bit)
  • Mac OS X
  • Linux (specify distribution and version below)

CPU Environment

  • x86 (32-bit Intel/AMD)
  • x86_64 (64-bit Intel/AMD)
  • ARM (32-bit)
  • ARM64 (64-bit; sometimes called AArch64)
  • Other (RISC V, PPC...)

Game Modes Affected

  • Single player
  • Anarchy
  • Hyper-Anarchy
  • Robo-Anarchy
  • Team Anarchy
  • Capture the Flag
  • Bounty
  • Entropy
  • Hoard
  • Monsterball
  • Cooperative

Game Environment

No response

Description

After following usage instructions in the readme, D3-open-source\Descent3.exe fails to launch with error:
Descent 3 Error
Error: OGL: ChangeDisplaySettings failed. Make sure your desktop is set to 16bit mode!

Regression Status

I don't know

Steps to Reproduce

Expected behavior: game launches as normal.
Steps to reproduce: follow "usage" section here and then try to launch the game.
Frequency: happens every time.

The game needs to be run in Windows 95 compatibility mode

The game needs to be run in Windows 95 compatibility mode

Setting the default BPP to 32 will fix this fyi.

The game needs to be run in Windows 95 compatibility mode

This works for the 32 bit build, but is not an option for the 64 bit build.
Launching the 32 bit exe, setting the graphics bit setting to 32, then replacing the 32 bit build with the 64 bit build also results in the same error message, so it seems like the default BPP being 16 means only the 32 bit build works for now?

The game needs to be run in Windows 95 compatibility mode

This works for the 32 bit build, but is not an option for the 64 bit build. Launching the 32 bit exe, setting the graphics bit setting to 32, then replacing the 32 bit build with the 64 bit build also results in the same error message, so it seems like the default BPP being 16 means only the 32 bit build works for now?

That's correct. The 64bit build only has compatibility modes going back to Vista. To resolve this, the default BPP in the renderer code needs to be 32, not 16. There is practically zero use case for 16 BPP in modern times.

The game needs to be run in Windows 95 compatibility mode

Setting the default BPP to 32 will fix this fyi.

Would you mind creating a PR with these changes? I would love to see this fixed this way.

The game needs to be run in Windows 95 compatibility mode

Setting the default BPP to 32 will fix this fyi.

Would you mind creating a PR with these changes? I would love to see this fixed this way.

Sorry, won't be doing that. Not only might this be the "wrong" way to go about it (tbh it's best to just remove 16 bit depth entirely imo), I am not ready to contribute back to the parent repository yet. I gave the hints above to let the maintainers know how I ended up resolving it--just a lead.

Also, the incoming SDL2 windows stuff from @Lgt2x as a continuation of icculus' recent fbo pr may trounce it.

This can be closed I assume.

Yepyep, 64 bit build works now with that change!