Page MenuHome

Ghost: Blacklist known bad OpenGL drivers
AbandonedPublic

Authored by Ray Molenkamp (LazyDodo) on Sep 20 2019, 2:22 AM.

Details

Summary

This is an initial stab at blacklisting functionality to warn
users about drivers with known issues or just plain bad drivers
that prevent blender from starting.

validation can lead to one of 4 results

OK : No known issues, start blender normally.

Warn: Driver has known minor issues, warn the user but still allow them to start blender.

Block: Known bad driver that will crash blender, user will not be allowed to start blender.

Unsupported: This hardware is unsupported, there is no known 'good' driver that will work, user will not be allowed to start blender.

It is designed to be generic enough that all platforms can maintain
the blacklist in a single code file, however the actual notifying
of the user is currently only implemented on windows.

What is still lacking however is a way to mark a certain triplet
(renderer/vendor/version) as warned so the user will not be bugged
every time they start blender.

I was thinking of storing a text file in the user profile folder
with the hashes of the triplets that have been warned about but
given ghost has no hashing functions and i wasn't sure if i was
allowed to drag in BLI i left this part unimplemented for now
while we make up our minds.

The codestyle in ghost is somewhat confusing, I just kinda winged
it based on the other code around it.

Diff Detail

Repository
rB Blender
Branch
tmp_driver_blacklist (branched from master)
Build Status
Buildable 5045
Build 5045: arc lint + arc unit

Event Timeline

intern/ghost/GHOST_Types.h
139

can this be moved to GHOST_DriverValidation.cpp or must it be in a header?

I would suggest to implement the os/gpu/driver compatibility level in GPU_extensions.

intern/ghost/intern/GHOST_ContextWGL.cpp
702

We should add a link so we the users can read what is expected them to do.

703

Use more descriptive titles Blender - Unsupported Graphics Card or Driver

intern/ghost/intern/GHOST_DriverValidation.cpp
28

HD4000 might be unsupported by documentation, but to my knowledge when installing the latest Intel driver it works and we should not limit it.
HD 4000 can be the have multiple renderers 4200, 4600 etc. We should just limit specific drivers.

Ray Molenkamp (LazyDodo) planned changes to this revision.Sep 20 2019, 11:01 PM

bubbling up the native system dialog from ghost is somewhat of a hairy mess, i'll deal with that in a separate diff and come back to this one once that has landed.

@Ray Molenkamp (LazyDodo) I would like to make it known that with the Radeon HD GPUs from 2006 to 2016 on linux now they work very well, I have investigated, it is necessary to start blender with some enviorment settings for the mesa drivers, I don't know if it is possible to do it, but it could be started blender with these settings when there are these GPUs ...
I wrote the descriptions at this link and I did a demonstration video ... I tested both a gpu radeon hd 7670m and a laptop with a radeon hd 2600 XT with 512 mb from 2007!

https://devtalk.blender.org/t/amd-r600-radeon-hd-mesa-linux-driver-workaround-that-solves-the-problem-scroll-through-the-comments/9294/2?u=nokipaike

Jeroen Bakker (jbakker) resigned from this revision.Oct 5 2019, 4:50 PM