Possible backport to solve OpenGL problems in 5.7 with Intel graphic cards?

On a new Lenovo T590 notebook with Intel UHD Graphics 620, the volume representation is not any more working in PV 5.7. When I showed this in the general PV support forum (here) I was told by Cory Quamman that a) this is now common and b) no solution right now available.

Just to be sure, I downloaded now also a PV 5.6.2 on that same computer and did the same test - and everything works fine.

Now I spent just almost 3 months full time to port my entire PV based software project to the new, much more modular project setup architecture of 5.7, so simply switching back to 5.6 is not really an option!

Anyway, I need a solution somehow. One point is that while maybe for many “typical PV users” the maximum graphic power comes first, so going for a separate graphic card is indeed a solution. However, my customers are mostly working with notebook computers where 1) a separate graphic card is not an option and 2) Intel graphic is rather common.

My question is thus: where can I put hands on for some kind of quick and dirty workaround. I am asking this in the developer forum because I hope that somebody can give me some hints where in the PV code I should have a look:

  • Option a) Simply disable volume representation altogether - or at least as a global option. My customers are probably not using it too often, so it might be affordable. However, I have seen that there are also other less “rude” display errors, like lines being visible that should be hidden in a “surface with edges” representation.

  • Option b) Use the OpenGL code from version 5.6 and drop it into 5.7. This might be the “cleanest” solution, but also I can imagine that it is not as simple as that because maybe many other parts of the code are now changed as well that are referring to the new rendering engine.

  • Option c) Wait for another month or two and hope that somebody else solves the problem :wink:

  • Others?

Many thanks for hints, tipps and opinions!
Cornelis

One second, the problem we identified is not specific to Volume Representation. See the issue I linked in your other topic.

You may want to diagnose this in more depth first.

I added the info!

If it is just “one second” I am of course happy with option c) :wink:

But of course I will also be happy to support by running tests on my affected hardware.

Just tested on my system Intel UHD 630 (so not far off from yours) and it seems fine. Is your graphics driver up to date?

For reference, here are the issues :
ParaView : https://gitlab.kitware.com/paraview/paraview/issues/19364#note_653058
VTK : https://gitlab.kitware.com/vtk/vtk/issues/17727

The ParaView resolution is quite obvious, go back to using QVTKOpenGLNativeWidget, as sad as it sounds.

I downloaded whatever newest Intel graphic driver from the Lenovo website, and when I tried to install I was told that my driver is already the most recent that they can provide!

Is the failing system a highDPI system? like a laptop with a great than 1980x1200 pixel display? That seems to be where we are seeing the issue.

No, it’s not a high DPI system, but normally I am working with three screens (notebook plus two external).

Resolution notebook: 1920x1080
Resolution external screens: 1920x1200

So all nothing special.

In order to make sure that it is not the multi-screen setup that causes trouble, I detached the external monitors and did my “test run” once more with only the “plain notebook” - and it happened in exactly the same way.

Driver version, just in case you have not seen it in my previous post: 16.20.100.6999, provided through the notebook manufacturer (Lenovo)

@martink : This issue was noted on multiple systems without HiDpi. No idea why you do not reproduce though.

Another test - maybe no “miracle” for the experts: In pqQVTKWidgetBase.h I made sure that the first alternative is being used that is still there for Apple computers:

using pqQVTKWidgetBase = QVTKOpenGLNativeWidget;

I concluded this of course from the forum discussions here, and then with a little code research… Then a quick recompile - and now the issue is gone indeed: I can do my “mini tests” - and nothing happens any more.

At least for me this is obviously a solution, but I also understood that this turns off some viewing features such as stereo.

And of course I stay with my word above: If there would be some other “solution candidate”, please tell me if I should give it a try on my affected hardware!

This is more or less the solution currently discussed in the ParaView issue.