1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Hybrid Graphics Comes To Linux In Crude Form

Linux Kernel

Published on 01 February 2010 08:23 AM EST
Written by Michael Larabel in Linux Kernel
9 Comments

While the support for graphics processors on Linux in the free software stack has improved a lot over Linux, there still are entire areas of support missing, such as with supporting NVIDIA's SLI or AMD's CrossFire technologies. Additionally, NVIDIA and AMD as well as Intel have been plopping dual GPUs into notebooks. This is not to split the rendering workload, but rather to allow one lower-powered GPU to be utilized when not in engaging in any vigorous tasks and then another performance-oriented GPU to be utilized when such speed is needed. This solution basically provides the best of both words of having maximum battery life but fast performance when needed. However, Linux has not supported this hybrid / switchable graphics technology at all.

Going back to 2008 it was an action item to be worked on of supporting mobile GPU switching with X.Org / Linux and there have been talks about it at other times, but it really hadn't amounted to much. David Airlie though has started playing with this switchable graphics technology on a Lenovo ThinkPad, which combines an Intel and ATI GPU. David Airlie has got this graphics switching to work, but in a rather crude form at this time. He has also published his kernel patch to allow this ACPI-based switching support to work.

David got this working in one day, but this is not true switchable graphics like can be found on Windows. With this rudimentary support, the ATI and Intel kernel mode-setting drivers initial both GPUs upon start-up and for now both GPUs continue to run. Neither of the GPUs actually shut off or are otherwise put into any reduced power state, which actually is eliminating most of the benefits of this feature. Additionally, when switching graphics the X.Org Server needs to be killed and restarted, but it's not seamless switching.

There is also not a clean path to do the switching but rather to initiate the ACPI method switch you need to change to a virtual terminal and write to the switch on the kernel's debug file-system and then change back the run-level. This work also depends on not having a xorg.conf (or one that specifies the GPU/driver) to function.

This work by David is a pure kernel patch and is not changing anything with the X.Org Server itself, since it's simply killing and restarting the display server in the process. Ultimately the X.Org Server needs to gain better support to provide a clean and seamless switching experience.

David does know how to power-down the Radeon GPU using ACPI and for the Intel GPU to potentially put it in a suspended state, but that code is not found in today's patch called the vga_switcheroo. Lastly, David is also going to lobby the GDM developers to have a log-out button for GNOME that says "Switch GPU" to provide a bit more transparent experience without having to manually change run-levels and write to the debugfs switch.

In David Airlie's blog post he adds, "I'm really hoping interested community people can make this actually useful to them on other hw, I won't have permanent access to the W500 to keep this all tested in the future."

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. USB Flash Drive File-System Tests On Fedora 21
  2. AMD's Open-Source Radeon Linux Driver: 2014 Was Incredible
  3. ASRock X99 Extreme3 Is An Affordable Choice For Linux Users
  4. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
Latest Linux Articles
  1. Intel Haswell HD Graphics End Of 2013 vs. 2014 Benchmarks
  2. 2014 Year-End NVIDIA Linux Benchmark Comparison
  3. 2014 Catalyst Linux Graphics Benchmarks Year-In-Review
  4. 17-Way Linux Graphics Card Comparison With Civilization Beyond Earth
Latest Linux News
  1. Debian's Top Headlines This Year All Revolved Around systemd
  2. MozJPEG Is Evolving Well For Better Optimized JPEGs
  3. Linux 3.19-rc2 Is A Tiny Release
  4. OpenVZ & Parallels Cloud Server To Merge Into Open-Source Virtuozzo Core
  5. OpenELEC 5.0 Released, Powered By Kodi 14.0
  6. The GNOME Progress & Events That Defined 2014
  7. Raspberry Pi's LXDE Interface Is Being Refined
  8. Sdparm & ddpt Linux Disk Utilities Updated
  9. X.Org & Wayland Can Both Co-Exist & Continue Marching Forward
  10. Hurd & Guix Were Among The GNU Projects Making Progress This Year
Latest Forum Discussions
  1. Driver for NVIDIA Geforce 210 for Ubuntu 14.04 LTS 32 bit
  2. Why is it that Radeon cannot run good old (ancient) Doom 3 engine games?
  3. New build, first Linux PC, what could go wrong? ;)
  4. Linux ignores BIOS overclocks?
  5. Updated and Optimized Ubuntu Free Graphics Drivers
  6. MONITORed values : possible to force the time interval between two measurements ?
  7. Debian init discussion in Phoenix Wright format
  8. Need some hand holding with upgrading xserver