Launched amid great fanfare with the Sandy Bridge platform, Virtu is a software offering developed to deal with the issues resulting from the use of two different brand GPUs within the same machine. Opportunities for such software emerged with Sandy Bridge of course, as Intel added a GPU to all the processors in its range.
Now, while using two GPUs in Windows is nothing new and isn’t an issue – Nvidia’s SLI and AMD’s Crossfire have been managing the situation for years – using two different brand GPUs is a challenge. On XP, loading two different graphics drivers was easy but the option disappeared with version 1.0 of WDDM (the new graphics driver model introduced with Windows Vista). While the option was reintroduced in Windows 7 with WDDM 1.1 (and in Vista via a Service Pack), there are still limitations to the solution, with each GPU managing its own screens. When you want to use, say, the GPU integrated in the processor for the Windows desktop and an additional graphics card for games, you then either have to unplug your screen and restart your system or use a software solution such as Nvidia's Optimus
(or the future Enduro technology from AMD), which is used on laptop platforms. Lucidlogix’s Virtu is also a software solution of this type, designed first and foremost for desktop platforms.
Before going into what distinguishes MVP – version 2 of Virtu – from the previous version, let’s look at the common features.
Mode D, Mode I
Virtu was mainly designed to allow you to use a GPU when the screen is connected to another. From a technical point of view, Virtu introduces a virtual layer between Windows and the WDDM drivers. We’re going to use the example of a machine with an Intel processor and a GeForce graphics card for the purposes of our explanation, in which case the drivers for each card, the Intel IGP and the GeForce, must be loaded. This layer allows you to make the system think, virtually transparently, that it’s running on an alternative to the main GPU. A game’s 3D rendering can thus be launched on the GeForce even when the screen is connected to the IGP via the motherboard. This only solves half of the problem however as the GeForce framebuffer now needs to be taken over to the IGP, which is an operation carried out by the driver which copies the frames processed in the GeForce framebuffer to the IGP framebuffer using the PCI Express interface. This second stage isn’t necessarily required with applications that don’t use 3D rendering, such as, say, a video encoding application that uses CUDA or Quick Sync.
The main Virtu MVP interface
Virtu, then, offers two distinct modes corresponding to how you want to use your machine. In “I” mode, the screen is connected to the motherboard. The IGP is then the main GPU in Windows and the rendering for 3D games is handed to the GeForce. This scenario – similar to what we see on PC laptops – was the first to be made available in Virtu. In theory it offers the advantage of limiting energy consumption on the desktop at the same time as permitting maximum 3D performance.
The other mode, “D” mode, works the other way round. Staying with our example, the screen is this time connected to the GeForce and the IGP is virtualised, say for using the Intel Quick Sync video compression unit. D mode was introduced mainly because the implementation of I mode isn’t completely transparent. In effect, the abstraction afforded by the Lucid application has an impact on both performance and latency (incompressible and due to the transfer of the framebuffer via the PCI Express).
We used the following configuration to check out how these different modes do:
- Asrock Z77 Extreme6 motherboard
- Intel Core i7 2600K processor, HD 3000 V126.96.36.19918 driver
- Radeon HD 6870, Catalyst 12.2
- GeForce GTX 480, GeForce 296.10 drivers
- Lucid Virtu MVP 188.8.131.5241
Virtu is announced as being compatible with all WHQL manufacturer drivers. The version we used – indicated as being the production version – isn’t compatible with the Radeon HD 7000s and the GeForce 680s. It will be interesting to see if future HD 7000 compatibility includes Zero Core Power in I mode as this would in theory allow the graphics card to be turned off on the Windows desktop or during video playback, something that would be very useful indeed! Finally note that Virtu is not compatible with multi GPU solutions from AMD and Nvidia.