Mobile GPU Faceoff: AMD Dynamic Switchable Graphics vs. NVIDIA Optimus Technology
by Jarred Walton on September 20, 2011 6:40 AM ESTHow AMD’s Dynamic Switchable Graphics Works
One of the things we discussed with AMD was the technical details of their dynamic switchable graphics. At a high level, things might appear similar to NVIDIA’s Optimus, but dig a little deeper and you start to find differences. To recap how switchable graphics works, let’s start at the top.
The original switchable graphics technologies used the IGP and dedicated GPU as discrete devices. Both were connected to the necessary display outputs, with some hardware muxes that could select the active device. This requires more cost in the motherboard, and switching results in a blanking of the display as one device is deactivated and the other comes online. In the earliest implementations, you had to reboot when switching, and the system would start with either the IGP or dGPU active. Later implementations moved to software controlled muxes and dynamic switching, which required Windows Vista to work properly (since the IGP driver would unload, the GPU driver would start, and then the display content would activate on the GPU).
NVIDIA’s Optimus changes things quite a bit, as there are no longer any muxes. The display ports are always linked to the IGP output, and NVIDIA’s drivers simply look for calls to applications that the dedicated GPU can help accelerate. When they detect such an application—and the user can add their own custom apps—the drivers wake up the GPU and send it the rendering commands. The GPU does all of the necessary work, and then the result is copied directly into the IGP framebuffer, omitting any flickering or other undesirable effects as the IGP is constantly connected to the display output. The GPU can wake up in a fraction of a second, and when it’s no longer needed it will power down completely. NVIDIA even demonstrated this by removing the dGPU from a test system while it was powered on. The only catch is that the drivers need to have some knowledge of the applications/games in order to know when to use the GPU.
The details of AMD’s Dynamic Switchable Graphics are similar in practice to Optimus, but with a few differences. First, AMD always has both the IGP and GPU driver loaded, with a proxy driver funneling commands to the appropriate GPU. Where NVIDIA is able to completely power off the GPU under Optimus, AMD has modified their GPUs so that the PCI-E bus is isolated from the rest of the chip. Now when the GPU isn’t needed, everything powers down except for that PCI-E connection, so Windows doesn’t try to load/unload the GPU driver. The PCI-E link state gets retained, and a small amount (around 50mW) is needed to keep the PCI-E state active, but as far as Windows knows the GPU is still ready and waiting for input. AMD also informed us that their new GPUs use link adapter mode instead of multi adapter mode, and that this plays a role in their dynamic switchable graphics, but we didn’t receive any additional details on this subject.
As far as getting content from the dGPU to the display, the IGP always maintains a connection to the display ports, and it appears AMD’s drivers copy data over the PCI-E bus to the IGP framebuffer, similar to Optimus. Where things get interesting is that there are no muxes in AMD’s dynamic switchable graphics implementations, but there is still an option to fall back to manual switching. For this mode, AMD is able to use the display output ports of the Intel IGP, so their GPU doesn’t need separate output ports (e.g. with muxes). With the VAIO C, both dynamic and manual switching are supported, and you can set the mode as appropriate. Here are some static shots of the relevant AMD Catalyst Control Center screens.
In terms of the drivers, right now you get a single large driver package that includes a proxy driver, an Intel IGP driver, and AMD’s GPU driver all rolled into one. Long-term, AMD says they have plans to make their GPU driver fully independent from Intel’s IGP driver. They say this will only require some packaging updates and that they should make this change some time in 2012, but for now they continue to offer a monolithic driver package. OEMs apparently get this driver on a monthly basis (or can at least request it), but it’s up to the OEMs to validate the driver for their platform and release it to the public.
In the case of non-switchable graphics, AMD has a monthly driver update that we refer to as “reference drivers” that is publicly available. At present, you download a utility that will check your laptop GPU ID to see if the laptop is officially supported by the reference driver. Right now certain OEMs like to maintain control of the drivers so the AMD utility will refuse to download the full driver suite. In such cases, users have to wait for the manufacturers to roll out updates (Sony, Toshiba, and Panasonic all fall into this category). In the past, we have been able to download the reference driver using a “sanctioned” laptop (e.g. something from Acer), and we were able to install the reference driver on a non-sanctioned laptop. However, this does not work with switchable graphics laptops; you need the monolithic driver package for such systems.
That takes care of the high-level overview of how AMD’s Dynamic Switchable Graphics works, as well as a few other related items. The details are a little light, but that at least gives us an introduction to AMD’s current switchable graphics solutions. With the hardware and software discussions out of the way, let’s turn to our gaming results first and see how the two solutions and GPUs compare in performance as well as compatibility.
91 Comments
View All Comments
tipoo - Tuesday, September 20, 2011 - link
"The bigger issue of course is that AMD needs to get their laptop partners—Sony in this case—to release regular driver updates, and to use up-to-date driver builds when laptops launch."AMD now lets you get laptop drivers from their own site, and they are always as up to date as the desktop ones. Unless Sony opted out of that for whatever reason?
OCedHrt - Tuesday, September 20, 2011 - link
These drivers do not work for switchable graphics. nVidia had the same issue before Optimus.orangpelupa - Wednesday, September 21, 2011 - link
the driver is work for switchable graphic.my acer laptop with switchable intel + HD Mobility 5650 is updateable.
use the 11-8_mobility_vista_win7_64_dd_ccc.exe
not the a few KB .exe auto detector from ATi. This app is useless.
but if failed to install using the main almost 100MB .exe, usually it stil can be isntalled using modded .inf.
just make sure to Switch to dGPU mode before running any installation driver.
orangpelupa - Wednesday, September 21, 2011 - link
modded inf and the download link for mobility 11.8 generic ATihttp://wp.me/pyhfN-m1
The0ne - Wednesday, September 21, 2011 - link
I wouldn't say useless as the full package download refuses to installed properly on my M17xR2 and the only way for the driver to work is for me to use their auto detector and downloader. This for some reason downloads a slightly different package (size is less I believe) but it works.mfenn - Tuesday, September 20, 2011 - link
Did you even read the article? Jarred mentioned that they did on several occasions. Hell, he even devoted an entire page to the issue!mczak - Tuesday, September 20, 2011 - link
I'm wondering if you can still "make your own driver". This is exactly what I did for a Thinkpad T400 with switchable graphics, since the provided driver was so old and buggy. The "monolithic" driver isn't really all that monolithic, it basically consists of a standard AMD mobility driver (which you just can download if you have the real download link) plus a standard intel driver in the same package. Though the .inf file needs to be hacked up.(So I used an old switchable driver to see what the .inf looked like, plus a new intel and amd mobility driver to make up the new version - worked quite ok except some driver signing warnings, and some bogus mux-switching upon suspend/resume with multimon though I don't think this worked before neither.)
I'd venture a guess and suspect this would still work with the muxless solutions, but it's a huge pain in the ass obviously and AMD really needs to fix this and just have drivers which work on all mobile gpus, the OEMs will NEVER get it right otherwise, they won't care if AMD gives them new drivers monthly or not they will simply not bother to supply updated drivers.
bjacobson - Tuesday, September 20, 2011 - link
even if they up to date, that's no guarantee that they're going to work for the first 6 or so months. I've never had much luck getting everything on AMD to work the first time-- crossfire with dual monitors doesn't work on 2x 5770 with Quake Wars : Enemy Territory (had to disable the 2nd display); alt-tab still doesn't work in Unreal Tournament 3 without crashing the game (not in crossfire, just 1x4890); and it took them several months after switching their user interface to that new one to package back in the under/overscan ability on the embedded graphics that came on the motherboard we used for our HTPC...just lots of stuff that's always 95% complete with 5% broken that ends up being really annoying.IE, I wouldn't be surprised if somewhere in between suspend, hibernate, plugging in an external monitor, and this dynamic GPU solution, that something won't work quite right for about 6 months...but that's just my gut speaking judging by what I've seen before. I'm a big fan of underdogs and still cheer for AMD, but I do have to say Nvidia's drivers (since about 8800GT which is as early as my experience goes) have simply worked with all those quirky setups we needed and didn't end up breaking later when installing an updated driver.
OCedHrt - Wednesday, September 21, 2011 - link
I've always had to overscan/underscan available as an option for integrated graphics for the last 2 years+. Yet I've always had problems with nVidia, especially on stability. I don't think the stability is always tied directly to the gpu and drivers.Aloonatic - Tuesday, September 20, 2011 - link
Is that just for more recent mobility radeon systems?Just the other day, I was looking to update a laptop with a 4570, but it wouldn't update anything other than the good old CCC.
(I was a Dell Studio 17, by the way :o) )