Add OpenGL/ANGLE warnings to show in Display settings and make ANGLE default for Intel
ClosedPublic

Authored by alvinhochun on Dec 20 2017, 4:38 PM.

Details

Summary

Adds the ability to show some warning messages in the Display settings, and also make ANGLE the default renderer with Intel graphics drivers. This only affects Windows.

This is a bit like D8459, but implemented a bit differently.

The messages I wrote aren't very intuitive. The UI and styles probably also need a bit of polish.

Available warning messages:

  • "The graphics driver in use does not meet the OpenGL requirements." -- native OpenGL doesn't meet required OpenGL 2.1 / OpenGL 3 with deprecated features support. (No warning for when ANGLE is not usable, which is not likely to happen.)
  • "The graphics driver in use may not work well with OpenGL." -- native OpenGL is available but Qt's internal detection favours ANGLE over native OpenGL.
  • "ANGLE is using a software Direct3D renderer, which is not hardware-accelerated and may be very slow. This can happen if the graphics drivers are not properly installed, or when using a Remote Desktop session." -- ANGLE Direct3D is using the fallback software renderer for whatever reasons.
  • "The Intel graphics driver in use is known to have issues with OpenGL." -- known broken Intel OpenGL drivers that is not already blacklisted by Qt
  • "Intel graphics drivers tend to have issues with OpenGL so ANGLE will be used by default. You may manually switch to OpenGL but it is not guaranteed to work properly." -- any other Intel OpenGL drivers that isn't already known to be buggy, including those which are known to very likely work fine.

Screenshot:

Diff Detail

Repository
R37 Krita
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
alvinhochun edited the summary of this revision. (Show Details)Dec 20 2017, 5:00 PM

The patch compiles and runs fine on Linux. I didn't test it on Windows though :)

rempt accepted this revision.Dec 21 2017, 10:50 AM
This revision is now accepted and ready to land.Dec 21 2017, 10:50 AM
alvinhochun edited the summary of this revision. (Show Details)Dec 21 2017, 1:43 PM
alvinhochun planned changes to this revision.Dec 21 2017, 4:08 PM

Make the strings translatable. Had to use ki18n because the strings are created before KisApplication is created and languages are not set.

This revision is now accepted and ready to land.Dec 22 2017, 9:33 AM
alvinhochun requested review of this revision.Dec 22 2017, 10:46 AM

Actually missed something, now included

Apparently also missed an include...

Just checked it can be cherry-picked to krita/3.3 though the ui file needs manual reordering.

rempt accepted this revision.Dec 22 2017, 1:02 PM
This revision is now accepted and ready to land.Dec 22 2017, 1:02 PM
This revision was automatically updated to reflect the committed changes.