CasparCG / server

CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 broadcast production since 2006. Ready-to-use downloads are available under the Releases tab https://casparcg.com.
GNU General Public License v3.0
904 stars 269 forks source link

Open GL error with server 2.1 and higher #952

Closed TKooijmans closed 6 years ago

TKooijmans commented 6 years ago

I have a Open GL problem on 2 different laptops with the following specs Intel i7 CPU with Nvidia GTX 860M with Windows 7-64 with latest updates intel i5 CPU with Nvidia GTX 860M with Windows 10

Both laptops report Open GL errors with CasperCG 2.1 and the latest CasperCG 2.2 CasperCG 2.1 can be used after reporting this error, but CasperCG 2.2 can not be used. Performance seems bad however, crossfades between clips, even MXF clips causes dropped frames. (While CPU load is low) (running the server with only a PAL preview screen)

Expected Behaviour

Should work ok with this kind of hardware

Current Behaviour

Dropped frames with transistions. Same hardware works fine with CasperCG 2.07 caspar_2018-03-27.log

start CasperCG server on a laptop with combination of Intel graphics and Nvidia graphics Sometimes it goes fine most of the time it goes wrong, please see attached log.

Environment

see log

Attachments

dotarmin commented 6 years ago

@TKooijmans Both laptops report Open GL errors with CasperCG 2.1 and the latest CasperCG 2.2

CasparCG Server v2.2 Requires OpenGL 4.5. If you update your graphics drivers it should work.

CasparCG Server v2.1 Same here, try to update your graphic drivers. OpenGL 4.5 is not required by this version as far as I know. Also, v2.1 is not actively developed anymore, just so you know.

Did it solve you issue?

drakmor commented 6 years ago

May be it's "nVidia Optimus" problem. Try disable Intel video card in bios.

dotarmin commented 6 years ago

@drakmor May be it's "nVidia Optimus" problem

Didn't even think of that, thanks! 👍

drakmor commented 6 years ago

nVidia:

http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf

Starting with the Release 302 drivers, application developers can direct the Optimus driver at runtime to use the High Performance Graphics to render any application–even those applications for which there is no existing application profile. They can do this by exporting a global variable named NvOptimusEnablement. The Optimus driver looks for the existence and value of the export. Only the LSB of the DWORD matters at this time. A value of 0x00000001 indicates that rendering should be performed using High Performance Graphics. A value of 0x00000000 indicates that this method should be ignored.

Example Usage:

extern "C" {
 _declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001;
}

AMD https://community.amd.com/thread/169965

extern "C"
{
  __declspec(dllexport) int AmdPowerXpressRequestHighPerformance = 1;
}
TKooijmans commented 6 years ago

I tried Nvidia updates, but that didn't solve the problem. I tried Cinebench to test open GL rendering and that worked fine and it used open GL 4.6. On a laptop with only Intel HD 3000 graphics I don't get errors and it switches to Open GL 3.1

drakmor commented 6 years ago

Try this manual - https://support.serato.com/hc/en-us/articles/202305784

TKooijmans commented 6 years ago

I tried tips from the manual too, but this does not solve the open GL errors. I tried to disable the Intel graphics, but then you don't see your desktop anymore. So with laptops, the Intel driver should always be running. With Cinebench I get a desent score with open GL 4.4

TKooijmans commented 6 years ago

Just tested the latest 2.2 beta build but the Open GL error remains on a laptop with combined graphics from Intel and Nvidia. Please see attachment, it also shows errors when I disable Nvidia to force Intel only. It should switch back to Open GL 3.3 or something?

caspar_2018-04-04.log

dotarmin commented 6 years ago

I can test this on my laptop, it's an Dell XPS 15" 9550. I'll update you.

dotarmin commented 6 years ago

I just tried this on my Dell XPS 15" 9550 and it works well when using the Nvidia GPU. By default it tries to use the integrated GPU (which didn't work in my case) when you execute casparcg.exe.

What I did to make it work is simply right-clicked at casparcg.exe and selected Nvidia GPU. I have also tried to add casparcg.exe in Nvidia Control Panel to under Manage 3D Settings so CasparCG is executed with Nvidia GPU by default.

I can also confirm that I got same error message as you got in your log when it tried to use the integrated GPU.

Can you try this? 😄

/Armin

TKooijmans commented 6 years ago

On Windows 7 I can select with CasperCG.exe to start with (GTX860) Nvidia card. If I set this in the Nvidia panel, I still get these errors. We also tried on an Acer with MX 150 Nvidia card.

We get the same errors in the log and casperCG shutsdown. [2018-04-14 15:55:24.667] [info] ############################################################################ [2018-04-14 15:55:24.667] [info] CasparCG Server is distributed by the Swedish Broadcasting Corporation (SVT) [2018-04-14 15:55:24.668] [info] under the GNU General Public License GPLv3 or higher. [2018-04-14 15:55:24.668] [info] Please see LICENSE.TXT for details. [2018-04-14 15:55:24.668] [info] http://www.casparcg.com/ [2018-04-14 15:55:24.668] [info] ############################################################################ [2018-04-14 15:55:24.668] [info] Starting CasparCG Video and Graphics Playout Server 2.2.0.4 555d0386 Beta 1 [2018-04-14 15:55:24.672] [info] Initialized ffmpeg module. [2018-04-14 15:55:24.672] [info] Initialized oal module. [2018-04-14 15:55:24.673] [info] Initialized decklink module. [2018-04-14 15:55:24.673] [info] Initialized screen module. [2018-04-14 15:55:24.719] [info] Initialized html module. [2018-04-14 15:55:24.775] [info] Initialized flash module. [2018-04-14 15:55:24.775] [info] Initialized newtek module. [2018-04-14 15:55:24.776] [info] Initialized bluefish module. [2018-04-14 15:55:24.776] [info] Initialized image module. [2018-04-14 15:55:24.776] [info] "E:/Software\CasparCG\CASPERCG 2.2\casparcg-server-V2.2 4-4-2018-windows\casparcg.config": [2018-04-14 15:55:24.776] [info] ----------------------------------------- [2018-04-14 15:55:24.776] [info] <?xml version="1.0" encoding="utf-8"?> [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] media/ [2018-04-14 15:55:24.776] [info] log/ [2018-04-14 15:55:24.776] [info] data/ [2018-04-14 15:55:24.776] [info] template/ [2018-04-14 15:55:24.776] [info] font/ [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] secret [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] 720p5000 [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] 5250 [2018-04-14 15:55:24.776] [info] AMCP [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] localhost [2018-04-14 15:55:24.776] [info] 8000 [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] [2018-04-14 15:55:24.776] [info] ----------------------------------------- [2018-04-14 15:55:25.386] [info] Initializing OpenGL Device. [2018-04-14 15:55:25.397] [info] [asio] Shutting down global io_service. [2018-04-14 15:55:25.397] [info] [asio] Global io_service uninitialized. [2018-04-14 15:55:25.404] [error] Exception: C:\Program Files (x86)\Jenkins\workspace\casparcg-server-dep\master\src\accelerator\ogl\util\device.cpp(89): Throw in function __cdecl caspar::accelerator::ogl::device::impl::impl(void) [2018-04-14 15:55:25.404] [error] Dynamic exception type: class boost::exception_detail::clone_impl [2018-04-14 15:55:25.404] [error] [struct caspar::tag_msg_info __ptr64] = Your graphics card does not meet the minimum hardware requirements since it does not support OpenGL 4.5 or higher. [2018-04-14 15:55:25.404] [error] [struct caspar::tag_stacktrace_info __ptr64] = 0# 0x000000013F7892CE in casparcg [2018-04-14 15:55:25.404] [error] 1# 0x000000013F7B7B00 in casparcg [2018-04-14 15:55:25.404] [error] 2# 0x000000013F7E72BD in casparcg [2018-04-14 15:55:25.404] [error] 3# 0x000000013F7E61D0 in casparcg [2018-04-14 15:55:25.404] [error] 4# 0x000000013F7BE934 in casparcg [2018-04-14 15:55:25.404] [error] 5# 0x000000013F7BE8B6 in casparcg [2018-04-14 15:55:25.404] [error] 6# 0x000000013F7B4E1D in casparcg [2018-04-14 15:55:25.404] [error] 7# 0x000000013F7B7BC2 in casparcg [2018-04-14 15:55:25.404] [error] 8# 0x000000013F78C7D3 in casparcg [2018-04-14 15:55:25.404] [error] 9# 0x000000013F78FF98 in casparcg [2018-04-14 15:55:25.404] [error] 10# 0x000000013FB6A8A8 in casparcg [2018-04-14 15:55:25.404] [error] 11# BaseThreadInitThunk in kernel32 [2018-04-14 15:55:25.404] [error] 12# RtlUserThreadStart in ntdll [2018-04-14 15:55:25.404] [error]
[2018-04-14 15:55:25.404] [error] [2018-04-14 15:55:25.404] [error] 0# 0x000000013F7892CE in casparcg [2018-04-14 15:55:25.404] [error] 1# 0x000000013F788BFF in casparcg [2018-04-14 15:55:25.404] [error] 2# 0x000000013FC0F1FA in casparcg [2018-04-14 15:55:25.404] [error] 3# _C_specific_handler in VCRUNTIME140 [2018-04-14 15:55:25.404] [error] 4# _TypeMatch in VCRUNTIME140 [2018-04-14 15:55:25.404] [error] 5# RtlRestoreContext in ntdll [2018-04-14 15:55:25.404] [error] 6# 0x000000013F78FF98 in casparcg [2018-04-14 15:55:25.404] [error] 7# 0x000000013FB6A8A8 in casparcg [2018-04-14 15:55:25.404] [error] 8# BaseThreadInitThunk in kernel32 [2018-04-14 15:55:25.404] [error] 9# RtlUserThreadStart in ntdll [2018-04-14 15:55:25.404] [error]
[2018-04-14 15:55:25.458] [fatal] Please check the configuration file (casparcg.config) for errors.

dotarmin commented 6 years ago

@TKooijmans Can you verify that your OpenGL version is 4.5 using e.g. OpenGL Viewer? 😕

TKooijmans commented 6 years ago

I got this with OpenGL test, I can't get higher then 4.4 afbeelding

TKooijmans commented 6 years ago

should CasperCG not automatic switch to a lower version of Open GL when 4.6 is not available?

dotarmin commented 6 years ago

should CasperCG not automatic switch to a lower version of Open GL when 4.6 is not available?

No? Amd I think you mean OpenGL 4.5 because that's what v2.2 requires. :)

TKooijmans commented 6 years ago

Hi Armin, How can we get Casper Server working on laptops then? On my own laptop I can't update to get OpenGL 4.5 working, I can't get higher then 4.2. On another new Acer laptop (i5 CPU with MX150 Nvidia and Windows 10) we can't get casper server 2.2 working either.....

dotarmin commented 6 years ago

Hi @TKooijmans,

How can we get Casper Server working on laptops then?

I honestly do not know what to answer on this? You have to take into consideration that CasparCG Server is a professional playout system and graphics system, and with v2.2 we decided to upgrade to OpenGL 4.5 to clean up the code (and to improve performance with reservation). As the time goes on and it's more requirements we also need to upgrade stuff the server depends on (which will be updated in the Wiki as well).

On another new Acer laptop (i5 CPU with MX150 Nvidia and Windows 10) we can't get casper server 2.2 working either.....

According to Nvidia, MX150 should support OpenGL 4.5. Have you tried to update your graphics drivers? After talked with @Julusian he said it could be a chance that MX150 is caught in bug #782 but we're not sure.

dotarmin commented 6 years ago

I'm closing this issue because I consider original question answered. OpenGL 4.5 is required for Server v.2.2 and CasparCG Server does not switch automatically to a lower OpenGL version when 4.5 is not present.

If you still have issues with MX150 (which I assume you have) I have to refer you to issue #782 and continue the discussion there. @Julusian have done a PR that potentially could be a solution for your MX150 problem.

/Armin