We had a similiar issue on a machine with two graphic cards. The SkiaRenderer chose a different one and the internal resource sharing didn’t work. So if you have two graphic cards in your machine, try to disable one and see if that solves it.
Interesting - you still have that machine? Indeed we need to create a GL context with a dummy window and then later make the dx11 device available to that context using before mentioned wgl interop extension. Maybe if for some reason that context is on a different device than the directx context things don’t work.
Only one graphics card here.
Actually, it turns out I do have 2 graphics cards. Both AMD. One integrated, and a “proper” one. My mistake.
But I tried everything I could find, and the problem persists. I tried:
- Disabling a graphics card in the device manager (did that with both).
- Changing individual performance settings for vvvv in the Windows 10 graphics settings.
confirmed as dual-gpu issue on my side:
geforce 980 (with all the displays) + 1080 (no displays, used only for python/neuralnets renderings).
skia + stride works only when 1080 is disabled.
is it expected to be fixed?
When trying to patch along to the Reactive Patching workshop from Node I discovered SkiaRenderer (trying to render the ISS data text output in Stride renderer) doesn’t seem to work for me either on a super modern Surface Pro 2 with intel graphics.
Rendering other geometry in the Stride renderer works and if I connect the Text Layer to a Skia renderer the text renders fine.
(edit: running vvvv gamma 2020.3.0-0042-g1a9a5c158d preview seems like there are more recent versions I could try)
@beyon The GL version looks dated to me - compare it to my screenshot further up. Is there a driver update available maybe? Intel HD 4400 is from around 2012, while the HD 530 is from ~2015 - these three years could make quite the difference I fear :/
@Elias desktop of course ::]
Yep. Desktop with two dedicated graphics cards.
@Elias I don’t think I will be able to get any later OpenGL version supported on this computer I’m afraid. Seems it’s not possible or at least cumbersome to even install latest generic Intel drivers and only machine specific ones from Microsoft are allowed (with latest being from 2015).
Hope I have better luck on my equally old desktop with discrete NVidia GPU…
Hi! I had problems with this after updating NVIDIA graphics drivers, and have a laptop with dedicated GPU (1650), running primarily through an eGPU (1080) to monitor setup (no laptop screen).
Previously Skia → Stride, Elementa → Stride worked. After updating graphics drivers, it didn’t.
Checking the NVIDIA GPU Activity app in the task tray, vvvv gamma would load with splash screen (app showed that it was running on eGPU), then as soon as the patching window loaded, it would display that vvvv.exe was running both on eGPU and dedicated internal GPU.
The fix was to open NVIDIA Control Panel → manage 3d settings → program settings → select vvvv gamma (vvvv.exe) → OpenGL Rendering GPU → specifically select the eGPU. Then Skia → Stride, Elementa → Stride worked after that, running fully on the eGPU.
Just to give you all an update on this topic.
The good news is that we now also have access to hardware where this issue pops up. However the bad news is that we weren’t able to find a workaround. It seems the AMD drivers only implement wgl_interop version 1, which doesn’t allow for sharing the backbuffer of the swap chain. So we’d need to remove functionality which is working fine on Nvidia and Intel GPUs. Therefor the idea is to write a second SkiaRenderer which will be based on ANGLE (= OpenGL ES implementation using DirectX - from my understanding this is also how Chromium is doing its Skia rendering). Using ANGLE should also help when having many renderers running.
Hi @Elias do you think this issue with AMD card will be resolved soon ? Just need a heads up so I can change some purchase orders I have made. thanks !
I wouldn’t bet on it. Even if we’d start working on this today there’re just so many thing which can go wrong / potential rabbit holes.
I see… thanks you for the update !
Same problem happening here on my machine, running Windows from a Bootcamp partition with a Radeon Pro 560X. Also already installed the newest version 2021.3.0
We recently spent quite some time (days) on this and there are new insights but nothing official yet. Will need to keep you all waiting :/
Finally some good news :)
In latest previews (>= 2014.4.0-0280) the
SkiaRenderer node uses ANGLE for rendering,
WGL_NV_DX_interop2 is therefor no longer needed. It uses the same Direct3D11 device as provided by Stride and (contrary to what I said further up and in the chat) also renders to the given render target (back buffer of swap chain or texture) directly. There’s no intermediate render target involved (juhu!). Our test hardware was a recent MacBook Pro.
The node will now also be listed in Stride’s performance profiler (F3 -> F5 in render window).