Many GPU issues can be related to driver issues. It is not clear to users that their OS/HW/Driver combination has issues and needs to be updated.
This task will detect the combination and the support level we give.
There are 3 support level
- Fully supported: the combination is known to be working.
- Limited support: the combination can work, but might have some issues.
- Unsupported: the combination is known not to work with Blender.
A popup will be shown to the user (using a OS Message/Dialog Box) about the support level and a link to a docs.blender.org page describing what can be done to get better support.
An unknown driver combination should by default get a fully supported stamp. This might lead to future driver releases to not work correctly, and needs a new blender release for us to update the blacklisting.
IMO this seems to be the best solution, as there are more driver releases then blender releases and gives a more friendly interaction with blender.
- add a callback function that will is passed to the GHOST context creation. This function will return a text and link that will be displayed in an OS specific message box. The needs to be added to the GHOST_CreateOpenGLContext. When Blender is running in background the callback should never display any message box, but display the message in the console.
- add a parameter or logic to WM_opengl_context_create to detect if it is creating it for the main window. If it is it should pass the callback function to GHOST_CreateOpenGLContext otherwise NULL.
- GHOST_CreateOpenGLContext add callback function for support level.
- add a message box/dialog box per OS. Text + Help button that opens an url to a support page
- Add page how to update your driver. These pages will be per os/gpu vendor. Something like https://docs.blender.org/manual/en/latest/troubleshooting/gpu/windows/intel.html