Oh, you can’t? That’s too bad.
It’s okay though, cause Blackmagic cards work in the host no problem and a 4 input one like the Decklink Duo 2 would allow me to do multiple cameras and live switching, and with Looking Glass, allow people to play Windows games while I switch the show on the Host OS, and/or easily switch between consoles and PC games.
What would really be interesting is if the thing @Wendell got from Epiphan with the AVio 4K works on a passed through USB 3.0 controller. UVC I don’t believe needs DMA access. Blackmagic USB 3.0 and the Startech USB 3.0 I think need DMA access to work, since they’re external FPGAs.
Yeah, that’s true.
I’ve got the Intensity Pro as well, I’m mildly frustrated that the drivers aren’t working with 4.15. That said, it’s an excellent piece of kit. Do you have experience with any of their other hardware?
Looked at it and it’s just too expensive for my uses. I’d rather just use CPU to encode raw frames. It’s good kit for people on mobile, but it’s just not my thing.
It works on 4.15 with the latest Desktop Video. I’m running it on 4.15-rc6.
I need to get a Decklink Duo 2 cause I heard those are reliable and all 4 SDI ports for I/O are bi-directional with a reference in.
I’m more curious if UVC devices on a USB 3.0 passed through chipset will work, cause I could then shift to using that if I need to use Windows Discord with video chat.
Hmmm, maybe it was an older version I was trying…
Yeah, I’ve wanted to get into SDI, but I don’t really have the gear for it.
Okay, now I’ve seen how good the Epiphan 4K is… It has a massive heatsink and a fan.
And EEVblog’s full teardown: https://youtu.be/pMqn2o55BmM?t=18m42s (Uses a Xilinx FPGA)
But @wendell, to ease my mind, can you please test this with a passed through PCI-E USB 3.0 controller and report back? I really want to be able to use this in a VM. Do you realize how important this could be if you could run LiveSplit in Windows and overlay the split timer on a capture from this device, then use Looking Glass to transfer that framebuffer to Linux OBS?
Think of a case where you have a mobo with one out of two controllers that behaves bad when IOMMU is turned on (VIA USB3 in this case) so you only have ONE USB 3.0 controller and that’s a Fresco Logic being passed through to the Windows VM. It’s occupied by doing separate interrupt requests to do USB ASIO audio, but your board has no native USB 3.0 (X79) and your only free PCI-E x4 is occupied by your Blackmagic card for facecam.
If you can playback the UVC output on MPC-HC with vertical sync, and overlay your split timer, then use Looking Glass to capture the entire screen to send to OBS, then OBS can combine the facecam and the game feed and split timer together. Console gamers need a 2nd capture card to do facecam and capturing their console game at 60fps.
Need accurate split timings of the recordings? Kdenlive to the rescue!
This is quite cool. I’m interested in how this turns out!
Hi Everyone,
I am sorry for the slow down in development but paid work has to come first over this stuff, have to feed the family
Anyway, unrelated to looking glass, has anyone experienced issues with Vega and mouse input? It seems that if the hardware cursor is enabled, moving the mouse around at any speed higher then a crawl causes the video card to stall. I can replicate this by running glxgears
and then moving the mouse around.
Yo,
I did some testing for my own use case, and I was surprised to see noticeable performance difference between 8x and 16x PCIe speed while gaming at 1080p, figured it was worth sharing. My setup is listed below.
I used R6:Siege as a benchmarking environment and saw a consistent 20%~ difference in UPS (16x the avg was 65, 8x was 54). I was using integrated GPU as the host GPU - this might make a difference.
I was hitting 110fps in-game during the test. Without LG I was hitting 165-170fps in-game and there was only <2% difference in fps between 8x vs 16x (although 16x was always 1-2fps higher). Spice was disabled.
Just wanted to leave this as a friendly reminder if you’re trying to improve the performance of your setup.
The setup:
GTX 970 as the guest GPU
Intel HD530 as the host GPU
6700K @ 4.2GHz
Asus Z170-A
DDR4 3000MHz with some mediocre timings
1080p60 monitor
I will be doing more testing while using another dGPU as the host GPU once I get a replacement fan for my old GTX 770. I’ll be looking to figure out whether there’s a difference between using an iGPU vs dGPU on the host.
Can you share some more info on this? Everything I’ve seen except your post has been pretty solid with the idea that 8x works fine for just about any GPU. That said, we are increasing bandwidth requirements to do framebuffer copy. It’s possible this is accurate.
@Wendell, this might be an interesting L1L video if you have time to do some testing.
Yeah, I was surprised it made any difference.
What I did was I stood in a few spots in R6:Siege Situations, extremely easy to reproduce and extremely consistent over multiple runs. Since I didn’t find a way to set the PCIe speed from 16x to 8x in BIOS, I used a PCIe SSD (not mounted in host, not passed through in client; just idling) to adjust the bandwidth.
I didn’t remember to check whether I was using 100% of my GPU or CPU while I had 16x bandwidth but I know I was at 100% GPU and 80%~ CPU while I was trying to improve the performance earlier (that was at 8x speeds).
I can do some digging once I get bored enough and try this out again by setting the PCIe port to Gen 1/Gen 2/Gen 3 in BIOS and run some synthetic benchmarks + the same gaming scenario. Difference between Gen 2 and Gen 3 should be the same as 8x and 16x…
It obviously could be just Siege. I’ll try some other game, too.
This is a situation where I’d be very interested in the results of synthetics.
I thought I heard Wendell mention that they were getting frames through Looking Glass faster than the card was outputting to the display. Could this be related? Maybe the card is slightly bottlenecking the video output, and the system is using the entire x16 bandwidth? And when you drop it to x8 it makes a noticeable difference.
Frames arrive at the host before the guest display can output them.
This is a combination of things, mostly latency of the monitors. On identical displays, I got them arriving at about the same time, occasionally, the host saw a frame ever so slightly before the guest.
I did some more testing, although I kept it simple. Honestly, it left me even more at a loss.
There’s so much more I could do to make the testing more consistent and actually meaningful - but I did come to the conclusion that the change in my UPS was not due to just reduced bandwidth.
I used part of Unigine Heaven (just to keep it fast), FurMark and Siege.
16x Gen 3
Furmark 69fps 11ups
Siege 64ups
Heaven Extreme 15ups
Heaven Basic 60ups
16x Gen 2
Furmark 67fps 16ups
Siege 64ups
Heaven Extreme 33ups
Heaven Basic 60ups
16x Gen 1
Furmark 67fps 16ups
Siege 65ups
Heaven Extreme 30ups
Heaven Basic 50ups
8x Gen 3
Furmark 64fps 14ups
Siege 54ups
Heaven Extreme 28ups
Heaven Basic 43ups
8x Gen 2
Furmark 64fps 15ups
Siege 54ups
Heaven Extreme 31ups
Heaven Basic 42ups
8x Gen 1
Furmark 63fps 17ups
Siege 54ups
Heaven Extreme 28ups
Heaven Basic 35ups
Gen3 16x and Gen2 8x did not result in same fps nor ups. The Unigine Heaven Basic benchmark showed an upward trend in UPS coming from Gen 1 to Gen 3 but literally nowhere else.
So, I doubt the change in ups in Siege had anything to do with total bandwidth, all the numbers were way too random.
I unfortunately have no other PCIe devices to try if the drop in UPS in Siege is due to the Intel 910 SSD itself for some reason. I will be trying it out once I get the GTX 770 back online.
There does appear to be an ever so slight downward trend as you reduce bandwidth. Not enough for me to worry though.
Thanks for the detailed report!
I am pleased to announce that those using Spice for mouse input now have a fix for the Mouse freeze problem, see https://www.patreon.com/posts/18658431 for more information.
Excellent work! Thanks for solving this. That was the primary blocker to me using LG!
This is really neat, have you done any more experimenting with VM to VM stuff, and do you have any tips for getting it to work?