I have a ubuntu 10.04 OS running on 2.6.32 version of the linux kernel. I was told that the kernel runs the GPU at full speed at any point of time, hence degrading the power effeciency of the system. This is one of the main reasons why linux offers less battery life when compared to windows.
First of all, is this true? I tried looking up drivers/video/intelfb/*.c (because I have an intel GM965 VGA controller), but couldn't find out where the kernel enables the GPU to run at full speed.
Also, if t开发者_JAVA技巧his is true, is it possible to tweak the kernel so that we enable to GPU to run at full speed ONLY when required, like when playing a video or some graphic intensive operation? If so, what do I need to do, i.e. where and what changes do I need to make?
The questions might seem a little vague, but I want to know if it is possible to do so, so that I can save up a bit of my battery life.
Thanks and Regards, Hrishikesh Murali
With an intel chip there is a reasonable chance Linux is doing some power management.
The first thing would be to try running a mainline kernel, 2.6.32 is getting old, 2.6.36 is out, but for best results try the latest git tree, or even Dave Airlie's next branch.
AFAIK GM965 is handled by the i915 driver, which has at least two power related module parameters. One is powersave
and the other is lvds_downclock
, the latter at least is not enabled by default, so experimenting with them would be a good place to start.
See http://intellinuxgraphics.org for more info.
The kernel does NOT enable full speed GPUs anywhere, that's the default of the GPU when turned on. With a proper driver (Such as NVIDIA's propietary driver), the kernel can tune the GPU speed acoording to some parameters. But that's HW specific.
精彩评论