Server: Intel HD graphics rendering bug (2.1.0 & 2.2.0)

Created on 18 Apr 2017  Â·  53Comments  Â·  Source: CasparCG/server

20170418t182819
20170418t182748

  • Seen in Win10 with Intel HD530
  • 2.1.0 specific, 2.0.7 renders correctly
  • applies at the channel/MIXER; same result across consumers

UPDATE: My comment about Linux was wrong, this has only been seen on Windows 10 and might be Win10 specific.

Most helpful comment

I am going to take a look at the GPU stuff. I've also encountered some issues that needs resolving.

All 53 comments

Reproduced using an xps 9560: the intel 630 renders the same result as above, the gtx 1050 works flawless. This does not appear to be a performance issue.

Although 2.0.7 is correct were talking about intel opensource drivers in linux could you please post kernel/mesa versions?

uname -a
glxinfo | grep "OpenGL version"

I will test intel HD2500 HD2000 tomorrow which has been a total green shaded screen mess in previous versions of 2.1 up to beta x on Windows 10, however ubuntu 16.04 with opensource intel drivers showed no graphic corruption.

Sorry, I mis-spoke about Linux. I can only confirm this for Win10.

Sorry, we had a small miscommunication there. Let me summarize properly:

On two separate systems with Windows 10 and an intel hd530 and the other with an intel hd630 we saw this bug in Server 2.1.0 but not in Server 2.0.7

Like I posted before, i had the intel hd 630 system switch over to a gtx 1050 and that solved the bug as well.

We did not do any testing on linux, but I should note that I had no issue using the intel hd 400 wih mesa drivers before so it is likely this is windows specific.

The best thing now would be to cross examine a failing Win10 system against a similar Win7.

I'll check the windows 10 with hd2500 hd2000 tomorrow as well, if you have enough free RAM casparcg might work from the USB live sessionin ubuntu linux.

This is a intel driver thing. If you roll back the graphics driver it will disappear. Could be a 2.1 thing, but it is solvable.
I have this on the NUC Skullcandy with wrong driver.

Thank you Soprani. What driver version do you suggest?

Hmm, the system is out doing sports, I will do a check the next time it is connected. I think it is the first or second graphics driver that was available for the scullcandy. Not the latest anyway.

Sent from Earth
/olle

19 apr. 2017 kl. 07:39 skrev Jesper Stærkær notifications@github.com:

Thank you Soprani. What driver version do you suggest?

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Hmm, the system is out doing sports, I will do a check the next time it is connected. I think it is the first or second graphics driver that was available for the scullcandy. Not the latest anyway.

Sent from Earth
/olle

I have not been able to reproduce this on Windows 7 and Intel driver 10.18.14.4578

Tested HD2500 HD2000 works correct with casparcg server 2.07 in windows 10 64 15063 with intel driver 9.17.10.4459 (newest version for this iGPU). With 2.1 beta 2 it gives a green screen in the preview windows and or declink output on windows 10, sometimes with little gray shading of almost visual content but mostly 100% green screen. Sadly I can't test windows 7 anymore.

Again under Ubuntu Linux 16.04 this HD2000 and 2.1 beta 2 using the following kernel and mesa version works correct without artifacts nor greenscreen.

4.4.0-57-generic #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
OpenGL version string: 3.0 Mesa 11.2.0

PS: The HD2000 on the i3-2100 is off course way off under powered igpu but still might be usefull for simple SD compositing and debugging

FWIW, apitrace is usually very good for tracking down these kinds of errors. You can take a trace, optionally trim it to remove everything not relevant to the buggy frame, and then play it back on a different machine (possibly on a different GPU) to verify that it's a driver bug. It also makes for super-easy reproducible bug reports.

Here are multiple apitraces for both versions of CasparCG Server on Windows 10 using intel HD2000 graphics.

Did traces with an empty run (just starting and stopping CasparCG server) and a content run (playing amb and cg1080i50 video clip) both use default casparcg.config. The 2.1beta2 is visual broken, as in a total green screen, however the Topic/Issue starter has different Intel Graphics related artifacts but they might be usefull? Both apitrace32/64 were used because casparcg2.07 is 32bit.

https://wetransfer.com/downloads/5f70be19558f2cc78b9eb3917b9e6bba20170424133939/f71ac34887e534d140d19dfe76eb2e0720170424133939/ffcc10

For ubuntu 16.04 only 2.1beta2 was apitraced but this version of CasparCG Server is visual correct without artifacts so maybe usefull as baseline although were talking Windows here...

https://wetransfer.com/downloads/f9e5a23bb5a7ad2c425d23a2bc398e6620170424135128/64f45ddb45865102bccb8cc091a2f19e20170424135128/00883b

Don't know if these apitraces are correctly made, but if I was than its really easy to create them both under Windows and Linux.

I played back your apitrace using qapitrace. (Seemingly apitrace dump-images doesn't actually output any of the frames to the FBO, since you're possibly not using the screen consumer?) Specifically, I used casparcg-play11amb-play12cg1080i50.trace. It looks fine to me on my GTX 950 on Linux; e.g. can you try opening it in qapitrace, double-clicking on frame 429, then looking in the Surfaces tab on the right and looking at GL_COLOR_ATTACHMENT0? Is that corrupted on your Intel machine? (It's perfectly fine here, although upside-down.)

All traces were done using the screen consumer, also the empty ones.

The file "casparcg-play11amb-play12cg1080i50.trace" was made 3 times, which version (windows 2.07 / 2.1b2 or linux 2.1b2) did you get to look correct on the GTX 950 since the windows 2.1b2 is the broken?

Just ran "qapitrace" on all three traces and the Windows 2.1b2 show black frames (double click shows green screen) compared to the other 2 traces which indeed look fine (2.07 and ubuntu version). Still searching the surface tab and gl_color_attachment0.

PS there were frames drops during these traces will adding the alpha channel based cg1080i50 downscaled to the pal project was probably to much for this intel with screen consumer.

Perhaps I misunderstood the trace, sorry about that. :-) I don't get anything but a green screen on the 2.1b2 frame _outputs_ (which you can also get with dump-images), but it's correctly there in the surface.

In general, if you get the same results when playing back the trace on different GPUs, it is much less likely (although still not impossible) to be a driver bug. I'll need to look some more at it, although it's perhaps easier to look at the corruption case if we can get a trace of that.

OK, the context doing the rendering is always bound to an FBO, so I suppose there's some readback somewhere for rendering into the main context. But the logic is a bit too convoluted for me to see straight away in the trace, so someone with more CasparCG experience than me needs to look at it to see if there's anything funny. (There's glUniform1i(-1, …), which is illegal and will raise an OpenGL error, but I doubt that's the triggering bug.)

Sorry, my test was done on a borrowed machine. I will see if I can run a new test, but not at the moment.

i just ran a trace, but the 1.3gb file is making the adsl line cry.

You can ask apitrace to trim the trace to what's required for a single frame only. (It doesn't always work, but when it does, your ADSL line will thank you.)

Compressing the apitrace to 7z did compress to ~50%, also lowering the duration of the CasparCG Server playback makes the files smaller. I was getting disk is full errors when I got it running to long ;-).

Will try to play all the intel gpu traces on a Nvidia based machine and see if black or green frames will show up, keep you updated.

300mb and a beer later: https://we.tl/cy2gYu3jwo

that's casparcg 2.1.0 b2, windows 10 and a hd 630.

Could this file casparcg-trim.7z @baltedewit be damaged md5 is 2c919e41d12fe12003eaf84215564ef0 ?

Just tested my broken intel apitrace on a AMD HD6290 opensource driver and it also show the black/green broken frames.
OpenGL version string: 3.0 Mesa 12.0.6

44c954b185bb9bb3502ea1cf9bb06bba casparcg-play11amb-play12cg1080i50.trace

Nvidia will follow tomorrow.

casparcg-trim.7z is broken for me, too.

It appears I can't get a definitive answer from casparcg-play11amb-play12cg1080i50.trace, as CasparCG pulls pixel data outside OpenGL. Basically what I see is a good frame being rendered from the mixer, then glReadPixels to the CPU. Then a bit later, CasparCG tries to upload and display a texture whose data comes from the CPU; presumably the same data it read at the earlier point. But at this point, it's all green.

This could mean the readback failed for whatever reason (ie., driver bug), or that CasparCG mangled the data while on the CPU, or probably also a few other things. But it's going to be hard to say just from the trace—at least it's pointed out a direction for possible debugging.

Nvidia gtx560ti proprietary driver 375.39, qapitrace playback of md5 44c954b185bb9bb3502ea1cf9bb06bba "casparcg-play11amb-play12cg1080i50.trace" also shows green screen in maximized "gletrace" window. However inside the little thumbnail view window of the lookup state it shows a correct amb video frame underneath the blackframe before qapitrace gets a Segmentation fault (core dumped).

rearchived, this time confirmed working before uploading. https://we.tl/TqE50ta92p

Playback on qapitrace @baltedewit b2af7c6f0451b705b5511d61c7918770 casparcg-trim.7z on Nvidia gtx560ti prop.driver at frame number 296 shows the exact same visual artifacts/distortion as the upper screenshot from the topic starter.

...meaning?

Maybe @baltedewit could you also try to see if the linux version of CasparCG server 2.1beta2 does work correct on the intel HD 630? At least we know than that the hardware is capable of function correctly but than I still don't know if its a Intel driver bug or CasparCG OS dependent bug.

my Linux installation is unfortunately not working on the xps 9560 right
now.

Op di 25 apr. 2017 13:20 schreef Walter Sonius notifications@github.com:

Maybe @baltedewit https://github.com/baltedewit could you also try to
see if the linux version of CasparCG server 2.1beta2 does work correct on
the intel HD 630? At least we know than that the hardware is capable of
function correctly but than I still don't know if its a Intel driver bug or
CasparCG OS dependent bug.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CasparCG/Server/issues/599#issuecomment-296999187,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJcKmMXsc9i3vwRxh0Hj7LzM8nrjhyaZks5rzdcCgaJpZM4NAwgi
.

...meaning?

Like I said above: apitrace replaying exactly the same on two machines points away from a simple driver bug, but CasparCG's roundtripping of data through the CPU makes it harder to say for sure—it could still be a bug in e.g. glReadPixels. You need to find a machine where this happens, and then start debugging from the glReadPixels point to see what actually comes back from the call.

Maybe @baltedewit could you also try to see if the linux version of CasparCG server 2.1beta2 does work correct on the intel HD 630? At least we know than that the hardware is capable of function correctly but than I still don't know if its a Intel driver bug or CasparCG OS dependent bug.

Checked on Ubuntu 16.04, runs fine.

So it looks like an intel GPU Windows X related build of CasparCG Server, but still unknown if it is the intel driver or CasparCG 2.1b2 that does something different?

Offtopic: @baltedewit is the Nvidia GTX 1050 on the XPS 9560 working for you under ubuntu albeit with or without dynamic GPU switching or is the dell Firmware able to let you choose which GPU to use like the HD630?

I messed around a bit with dynamic switching, and now it's stuck with the
intel. Before that it was stuck on the gtx 1050. Firmware support from Dell
is non-existent on Linux :(

Op zo 30 apr. 2017 om 11:26 schreef Walter Sonius <[email protected]

:

So it looks like an intel GPU Windows X related build of CasparCG Server,
but still unknown if it is the intel driver or CasparCG 2.1b2 that does
something different?

Offtopic: @baltedewit https://github.com/baltedewit is the Nvidia GTX
1050 on the XPS 9560 working for you under ubuntu albeit with or without
dynamic GPU switching or is the dell Firmware able to let you choose which
GPU to use like the HD630?

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CasparCG/Server/issues/599#issuecomment-298221588,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJcKmCqA0x1RLR-Lb11C2ZbM3t5vfb1Aks5r1FPfgaJpZM4NAwgi
.

I can confirm this bug is seen in 2.1 on Windows 7 with Intel HD520.

I can confirm this on 2.1 with HD630 Win10, works well in 2.0.7.

Can @ronag and @5opr4ni consider this for the 2.1 sprint?

Having Intel graphics capabilities is the key for building mITX/Nuc-sized mobile rigs.

Same bug on Intel GPU (P530) in an Lenovo P50 Laptop with Server 2.1 and Win10
No issue with 2.0.7

Can @ronag and @5opr4ni consider this for the 2.2 sprint?

It would be goond to be able to plan future setups around this working or not.

I am going to take a look at the GPU stuff. I've also encountered some issues that needs resolving.

@jesperstarkar: Can @ronag and @5opr4ni consider this for the 2.2 sprint?

@ronag: I am going to take a look at the GPU stuff. I've also encountered some issues that needs resolving.

And if this is not resolved by the GPU lookover thwn it will probablt be fixed in a later release such as a patch in 2.2.x and if it's a minor thing then it will be fixed in >= 2.3.

Best regards,
Armin

I've done some updates on 2.2.0 master which might have resolved this. Please test.

Perfect. Will do, once I have a build

2.2.0 Doesn't work at all, and the log reports missing OpenGL4.5, even though the system reports to have 4.5.
Intel(R) HD Graphics 630 Thursday, February 8, 2018.txt
caspar_2018-02-08.log

Could u run GLEW info?

it's wonderful to dive in to the test, don't you think jesper.
I am allready impressed, but I can confirm the issue that jesper has.
This is just my labrig at home not a production system, but anyway.

[2018-02-08 13:08:51.452] [error] M:server5src\modulesscreen\consumerscreen_consumer.cpp(218): Throw in function void __cdecl caspar::screen::screen_consumer::init(void)
[2018-02-08 13:08:51.452] [error] Dynamic exception type: class boost::exception_detail::clone_impl
[2018-02-08 13:08:51.452] [error] [struct caspar::tag_msg_info * __ptr64] = Missing OpenGL 4.5 support.

Intel HD580 Watch attached image to see specs for that one.
screen shot 2018-02-08 at 13 13 21

Anyone with the problem that can give me teamviewer access?

If it's anything like on Linux, you'll need to be in OpenGL core mode to get modern OpenGL on Intel.

give me a minute Robert

411530667 / qgc782

Check your Skype @ronag

Works very well in d10b52254e8dffa7cc514a6c517ab40363421a2f

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dotarmin picture dotarmin  Â·  44Comments

Punkley picture Punkley  Â·  24Comments

grahamspr86 picture grahamspr86  Â·  26Comments

premultiply picture premultiply  Â·  25Comments

super-ienien picture super-ienien  Â·  24Comments