-
Hi! I am currently testing Apollo with Moonlight in a scenario where I have a powerful GPU (AMD Radeon RX 7900 XT) dedicated solely to 3D rendering, with physical monitors connected to it, and a secondary GPU (Intel Arc A380) intended only for encoding for Apollo/Sunshine. Unfortunately, I have not been successful so far, or if it did work as desired, it might have been due to luck. I have already tested with headless mode on and off to duplicate the displays in Windows or to deactivate the physical monitors. Of course, I also tried specifying the GPU explicitly in Apollo. When I specify the GPU as the display adapter, I always get an error message after restarting Apollo that the GPU or encoder could not be found. Apollo/Sunshine can still use the GPU for encoding when only the virtual display is active and the physical monitors are not active. However, then I have the problem that games are also rendered using this GPU (A380). I then set in Windows graphics settings that only Apollo/Sunshine should use the A380. Indeed, the 7900 XT somehow calculates the game again - but apparently, the data still has to go through the "bottleneck" of the A380, presumably because it is responsible for the virtual display. Is there any way to achieve what I am trying to do are there any ideas? Or is it inherent in Apollo/Sunshine's design that display output must also occur through the GPU, and thus always has to pass through the bottleneck of the smaller A380 GPU (which is only running in 4x PCIe 2.0 mode) when it does the encoding? Thank you in advance! And thanks for all your hard work and dedication. I have been able to solve several problems with Apollo compared to Sunshine and find it very promising. Keep up the great work! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
Tried the same thing with RTX 3080 and ARC 380. In windows settings, somewhere under display there is GPU section where You can choose which GPU is used for applications. So normally stream using ARC, but set there RX as render. But in my case performance was subpar. Uncompressed frame needs to be copied from RX to ARC (additional delay), in higher resolutions/framerate, uncompressed bandwitch hits PCIE 4 8x throughput. A380 has 8x lines, in my tests I was able to get both card into 8x/8x mode, but then RTX had slightly lower performance, and it was still too slow for A380 to deliver more than 4k@100 frames at best. |
Beta Was this translation helpful? Give feedback.
Tried the same thing with RTX 3080 and ARC 380. In windows settings, somewhere under display there is GPU section where You can choose which GPU is used for applications. So normally stream using ARC, but set there RX as render.
But in my case performance was subpar.
Uncompressed frame needs to be copied from RX to ARC (additional delay), in higher resolutions/framerate, uncompressed bandwitch hits PCIE 4 8x throughput. A380 has 8x lines, in my tests I was able to get both card into 8x/8x mode, but then RTX had slightly lower performance, and it was still too slow for A380 to deliver more than 4k@100 frames at best.