Jeg har en i grunden ret god bærbar computer (en Acer Aspire S740), der dog det sidste halve års tid har lidt under, at den bliver ganske umanerligt varm. Batteriet holder heller ikke længere så lang tid, som det burde. I nogle måneder har jeg troet, at det var fordi der samles støv ved blæseren, så den ikke ventilerer ordentligt. Men så kom jeg til at zappe ind på OMGUbuntu, hvor det fremgår, at det handler om en fejl i den måde, hvorpå Linux-kernen håndterer strømstyringen for Intel-CPU’er og indbyggede Intel-grafikkort:
As of kernel 2.6.38 up until 3.1 (still present) there has been a problem of power regression but besides this I had slight problem with overheating. Regarding overheating in beginning I tried reporting bugs, tried different Thinkfan configurations, blamed proprietary software such as Adobe Flash for spiking up CPU temperature, however this problem was somewhat solved. After numerous battery calibrations and as these didn’t work in the end for battery life getting poorer with each day, I just blamed the factor that notebook was getting pretty old (~3 years).
Then the consumer woke up inside of me and I thought it was time to get new notebook. I laid my eyes upon ThinkPad X1 thing of beauty except one mayor drawback, its price. I did some reading on X1 and interesting enough, X300 comes with Core Duo 2 L7100 but overheating + power regression was still present even on latest Intel Core I* series. Reading this killed the consumer and woke up the hacker side.
Den korte og ikke-tekniske forklaring er, at der i Ubuntu 11.04 blev introduceret en fejl i kernens måde at håndtere strømstyring for Intel-CPU’er. Denne fejl betyder, at computeren bruger for meget strøm og derfor bliver for varm. Dette betyder selvfølgelig også, at batteriet holder kortere tid pr. opladning. Men hvad kan man gøre ved det?
Det korte svar er, at der er lavet en rettelse i Linux-kernen, som formentlig vil komme med i Ubuntu 12.04, og som løser problemet.
Det lidt længere og mere tekniske svar er, at man kan tvinge kernen til at styre strømmen korrekt ved at introducere nogle parametre til kernen i opstartsmenuen. Hvis du har Ubuntu 11.04 og du har en bærbar med dette problem, kan du gøre som følger:
- Åbn en terminal og åbn filen “/etc/default/grub” i din favorit-editor:
sudo gedit /etc/default/grub
- Erstat den linje, der begynder med GRUB_CMDLINE_LINUX_DEFAULT med denne:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force i915.i915_enable_rc6=1 i915.lvds_downclock=1"
Det, som denne linje gør, er at tvinge systemet til at bruge strømstyring (pcie_aspm=force) og får grafikkortet til at bruge mindre strøm.
- Når du har gjort dette og har gemt filen, kan du i terminalen skrive:
sudo update-grub
Alt. hvad du nu behøver at gøre er at genstarte, og problemet med overophedning vil være løst. På min egen computer faldt det gennemsnitlige strømforbrug i “tomgang” (blank skærm som pauseskærm) fra ca. 17W til ca. 12W, hvilket er en reduktion på mere end 30%. Her et par timer efter mærkes det meget tydeligt: Computeren er overhovedet ikke varm. Og ja, det er lidt en skam at man som forbruger stadig er nødt til at forholde sig til den slags, men det har meget at gøre med den fart, hvormed GNU/Linux-systemerne og især Linux-kernen bevæger sig i disse år.