Bug #2049
Inadequate minimum OpenGL version detection/handling (Windows)
Description
The default display driver on Windows 7 does not support OpenGL 2.0 (or later) resulting in the Doomsday client failing to start. The client either does not display an error dialog or, the standard Windows "An error has occurred" dialog is displayed instead. At the very least a native dialog should be displayed, presenting a user friendly description of the problem and allowing the user to terminate the client gracefully.
Furthermore, it is not possible to use QtCreator to debug this issue because the IDE itself requires OpenGL to function at all.
Associated revisions
Fixed|Windows|libgui: Crash during startup if display driver doesn't support OpenGL 2
Entrypoints were null, calls were still being made.
IssueID #2049
History
#1
Updated by danij almost 10 years ago
- File doomsday.out doomsday.out added
#2
Updated by skyjake almost 10 years ago
If the minimum OpenGL version check fails, the current behavior is to show an error dialog box (using nativeui.cpp
). I take it this isn't working on Windows (7)?
danij wrote:
standard Windows "An error has occurred" dialog is displayed instead
That would mean it crashes before/during Doomsday's dialog is shown.
#3
Updated by skyjake almost 10 years ago
- Subject changed from Inadequate minimum OpenGL version detection/handling to Inadequate minimum OpenGL version detection/handling (Windows)
#4
Updated by danij almost 10 years ago
Doomsday's dialog is not shown and no error is printed in the log, on Windows 7 64-bit.
#5
Updated by skyjake almost 10 years ago
- Status changed from New to In Progress
- Assignee set to skyjake
- Target version set to 1.15
- % Done changed from 0 to 100
The problem was that a number of calls were attempted to the OpenGL 2+ entrypoints that were all nullptr
because of the old driver. These occurred when the window first appears and tries to get itself painted.
It is good to note that the OpenGL context is not available before the window has appeared. It would make sense to delay drawing anything in the window before the OpenGL checks have been made.
(I used Windows 8.1 Pro 64-bit with the Nvidia driver uninstalled, MSVC for debugging.)
#6
Updated by skyjake almost 10 years ago
- Status changed from In Progress to Closed
#7
Updated by danij almost 10 years ago
Very glad to hear this is now fixed.
(Trying to debug anything using Qt Creator on Windows is a complete nightmare and given the IDE won't even start up without OpenGL - I gave up in sheer frustration trying to address this).
Fixed|Windows|libgui: Crash during startup if display driver doesn't support OpenGL 2
Entrypoints were null, calls were still being made.
IssueID #2049