Display Method

This setting is only available on Linux.

Shotcut uses OpenGL technology to draw its user interface and display video. OpenGL is typically implemented in the GPU of your computer and its driver in the operating system. These two pieces (Shotcut and the UI library it uses) and the OpenGL implementation need to communicate using a complex protocol. Sometimes, they do not communicate well and have compatibility or interoperability problems. Thus, there are some workarounds:

  • use only software using a library called Mesa 3D. While this is known to be very compatible, it is much slower since it is not hardware-accelerated.
  • on Windows, convert the OpenGL protocol to DirectX (Direct3D) using a library called ANGLE. While this is typically hardware-accelerated, Microsoft provides an automatic software fallback of its own called WARP.

If you choose Automatic, Shotcut’s UI library chooses one of the options based on the model of your GPU, and usually that is OpenGL. You can see what Shotcut is using by looking in View > Application Log… from the main menu. Then, after about 100 lines, look for the lines start with

[Info ] Mlt::GLWidget::initializeGL

If you see the following, then it is using DirectX:

[Info ] Mlt::GLWidget::initializeGL OpenGL vendor “Google Inc.”
[Info ] Mlt::GLWidget::initializeGL OpenGL renderer "ANGLE…

If you see the following, then it is using Software:

[Info ] Mlt::GLWidget::initializeGL OpenGL vendor “VMware, Inc.”
[Info ] Mlt::GLWidget::initializeGL OpenGL renderer “Gallium 0.4 on llvmpipe (LLVM 3.4, 256 bits)”

This setting corresponds to the key opengl in the configuration file or registry.

See also

Here are some Shotcut Display Method Registry files for Windows. After you extract or open this zip file, there are 3 files:

  • Shotcut use DirectX.reg
  • Shotcut use OpenGL.reg
  • Shotcut use Software GL.reg

Double-click any of them to set the Shotcut registry setting for Display Method to the corresponding value. This is very helpful if Shotcut is unable to startup because you changed it to an incompatible mode, or the default mode is incompatible.

1 Like

Can somebody tell which is the case when it displays this?
(and consequense, wether installing ANGLE helps the viewer with hardware acceleration or not?)
[Info ] Mlt::GLWidget::initializeGL OpenGL vendor “NVIDIA Corporation”
[Info ] Mlt::GLWidget::initializeGL OpenGL renderer “GeForce GTX 760M/PCIe/SSE2”
[Info ] Mlt::GLWidget::initializeGL OpenGL threaded? true
[Info ] Mlt::GLWidget::initializeGL OpenGL ES? false
[Info ] Mlt::GLWidget::initializeGL OpenGL maximum texture size = 16384
[Info ] Mlt::GLWidget::initializeGL OpenGL maximum viewport size = 16384 x 16384

And is there a risk, that after installing ANGLE it interferes with other video-software or gaming-software which are now running well?

That means it is using OpenGL. That should work fine. You do not need to install ANGLE to use it in Shotcut as it is bundled. And there should be no advantage to using it over OpenGL when it comes to NVIDIA, but I guess that GPU is somewhat old now and your mileage may vary.

Thank you! The amazing thing is that simple video player (Windows media player or FastStone Image Viewer) plays 2k7 or 4k videos smoothly, with CPU load about 10%, without any settings to select,while shotcut uses 100% CPU load and still stuttering the same vidos, from only 1 track, no effects and with 360p preview scaling. I wonder why such a big difference. GPU is NVIDIA Getforce GTX 760M and seconde one is Intel HD graphic 4600.

Preview scaling makes it slower for simple playback because you are giving it extra work (scaling). Shotcut does not do hardware decoding like a media player. You also need to ensure the Video Mode matches the video or again it has to scale. Automatic video mode will only avoid extra work like scaling if you are certain that you start by using that one video. Your computer is probably old and weak for working with (not simply playing) video over HD.

I tested again, ensuring matched video mode, with 2k7 60p footage. With preview scaling set to ‘360p’ it slows down to about 1/3 of real speed, longest stuttering is about 0.3 second, but at least somehow usable. Preview scalong ‘none’ worsens the stuttering. It takes 6 seconds for each frame (!) and mostly skipping frames. Of course I can’t avoid all scaling, since the player window is smaller than original.
There is 11,9 GB RAM, of which about 10.1 GB were free before starting Shotcut. While showing the the video, still 9,5 GB free. Can this be a hint for the problem?
CPU load is at 100% If a weak CPU would be the reason, it would have to work 6 x 60 times = 360 times faster to render smoothly? this seems impossible to acheive anyway.
Do I understand rightly that GPU is used for preview but not for the decoding during preview? (VLC player plays the same video in any window size with 60p, even while sharpening filter is active).

I really appreciate to solve this. Thank you!

Have you tried Proxy Editing. That was developed for cases such as yours. See:

Thank you. Proxy is convenient in some cases, not in all.
It would be very valuable to find out where is the real problem.
Also if my specific questions could be answered.

Perhaps it’s best to make a new post for help.
You’re posting to a documentation section for Shotcut.
Your original question was answered.

Thank you. I do it.

Did you remove the option to switch to OpenGL i can’t find “Display Method” anymore.

As of version 23.05 there is no Settings > Display Method on Windows and macOS. On Windows, it uses the Windows-native GPU technology Direct3D (unless that fails, then there is an automatic fallback to OpenGL). On macOS, it uses the macOS-native GPU technology Metal.