W520 - Lüftersteuerung - Nvidia-Optimus - Erfahrungsbericht

woleska

Active member
Themenstarter
Registriert
20 Feb. 2013
Beiträge
920
Zum Thema Stromsparen, Optimus und Lüftersteuerung beim W520 unter Linux wurde ja schon einiges geschrieben und auch kontrovers diskutiert.
Auf dem Woodstock in Hannover am 23.04.2016 meint Linrunner im Gespräch, ich sollte doch mal meine Erfahrungen und Einstellungen beschreiben, vielleicht wäre es ja für den einen oder anderen hilfreich.

Mein Notebook:
Lenovo ThinkPad W520, Modell 428449G

Intel Core i7-2820QM vPro,
BIOS: Phoenix 8BET62WW (1.42) v. 26.07.2013
32 GB DDR3-12800 (4 x Crucial CT102464BF160B.C16), (beim Kauf waren 8 GB verbaut),
Intel HD Graphics 3000, Nvidia Quadro 2000M,
Display: FHD - Lenovo B156HW01 V4,
Festplatten:
Crucial CT250MX200SSD3 (250 GB mSata ), von mir anstelle des WWAN-Modules verbaut
Corsair Force GS (180 GB) im normalen HD-Schacht
ansonsten fehlte bis auf den Smartcardreader nichts – also Vollausstattung :thumbsup:.

Auf der Corsair Force habe ich zur Zeit Windows 7 installiert (nur noch wegen RAW-Konvertierung) und auf der Crucial läuft Linux Mint Cinnamon 17.3 mit der aktuellen Kernelversion 4.2.0-35.


So, jetzt zu den eigentlichen Themen (die Beschreibungen beziehen sich alle auf Linux Mint – also alle Ubuntuversionen und deren Ableger, vieles funktioniert natürlich auch mit anderen Linux-Derivaten):

1. Stromsparen:
Da ist TLP von Linrunner Pflicht, in seiner Signatur hat er einen Link Ubuntu Schnelleinstieg (http://thinkwiki.de/Ubuntu_Schnelleinstieg), wo im Prinzip alles wesentliche aufgeführt, verlinkt und beschrieben ist.
Da bei mir der Stromspareffekt nicht ganz so ausschlaggebend ist (Notebook hängt meistens am Netzteil), nutze ich TLP für die Ladeschwellen und Aktivierungen, bzw. Deaktivierungen einiger Komponenten.

2. Lüftersteuerung:
Durch das BIOS gesteuert dreht der Lüfter im W520 auch beim Nichtstun mit rund 2500 RPM, das ist zwar nicht wirklich laut, aber es stört (mich zumindest).
Da aufgrund des Sandybridge-Chipsatzes TPFanco ja nicht problemlos funktioniert, habe ich mich für Thinkfan entschieden, eine gute und sehr ausführliche Anleitung dazu findet man hier: „http://thinkwiki.de/Thinkfan“.
Da die Ausführungen sehr ausführlich sind, folgt hier die Kurzfassung von dem, was notwendig ist, damit Thinkfan funtioniert.

Hinweis: Der Befehl „sudo“ ist nur bei Ubuntu und Co relevant, bei Debian oder anderen Linux-Derivaten ruft man die Kommandos aus der Root-Shell auf.

Thinkfan installieren:
Über die Paketverwaltung oder im Terminal mit (nachfolgendes erfolgt alles in der Konsole)

sudo apt-get install thinkfan

Danach erzeugt man mit
echo "options thinkpad_acpi fan_control=1" | sudo tee /etc/modprobe.d/thinkfan.conf“ eine notwendige Konfigurationsdatei, damit das Kernel-Modul „thinkpad_acpi“ mit der Option „fan_control=1“ geladen wird.

Den automatischen Start von thinkfan erreicht man, indem man mit Root-Rechten in der Datei
/etc/default/thinkfan“ in der Zeile „Start=no“ das „no“ durch ein „yes“ ersetzt, also „Start=yes“.

Da thinkfan keine GUI hat werden die Temperaturschwellen in der Datei „/etc/thinkfan.conf“ festgelegt, diese Datei kann mit Root-Rechten editiert und den eigenen Vorstellungen angepasst werden.


Wichtig:
Bei den Thinkpadmodellen mit Sandybridge-Chipsatz existiert die Datei „/proc/acpi/ibm/thermal“nicht mehr, die Temperatursensoren befinden sich an einer anderen Stelle im Sysfs.
Damit thinkfan funktioniert, müssen diese erst ermittelt und eingebunden werden.
Zur Ermittlung wird das Paket „lm-sensors“ benötigt, ist bei den aktuellen Ubuntu- und Mint-Versionen bereits installiert, wenn nicht dann

sudo apt-get install lm-sensors

Die Erkennung wird mit

sudo sensors-detect

gestartet, alle Nachfragen des Programms können bis auf die Letzte mit „Enter“ bestätigt werden, die letzte Frage Do you want to add these lines automatically to /etc/modules? (yes/NO)“ beantwortet man mit „yes“ und „Enter“.

Danach führe ich einen Neustart durch, da bei mir der Befehl „sudo start module-init-tools“ zu einer Fehlermeldung führte.

Nach dem Neustart wieder eine Konsole öffnen und sich mit dem Befehl

find /sys/devices -type f -name "temp*_input"

die Temperatursensoren anzeigen lassen

Beispiel: mein W520

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp4_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp5_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon1/temp2_input

Bei meinem W520 ist z.B. nur der erste Eintrag relevant. Diese Werte werden mit einem vorangestellten „hwmon“ in der Datei „/etc/thinkfan.conf“ vor den Temperaturschwellen eingetragen.

Das sieht dann bei mir so aus:

hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input

(0, 0, 45)
(1, 43, 55)
(2, 50, 60)
(3, 53, 65)
(4, 60, 70)
(5, 63, 75)
(7, 70, 80)
(127, 77, 32767)

Die Bedeutung der Werte in den Zeilen ist folgende – von links nach rechts


1. Spalte: Lüfterlevel 0 (aus) bis 7 (max.), 127 bedeutet volle Pulle ohne Regelung („disengaged“)
2. Spalte: Temperatur bei der der Lüfterlevel wieder um 1 verringert wird
3. Spalte: Temperatur bei der der Lüfterlevel um 1 erhöht wird


Wichtig: Ihr müsst feststellen, welcher Sensor bei eurem Notebook relevant ist (bei meinem W520 ist das „temp1“), das geht am einfachsten mit dem Befehl „sensors“, der bei meinem W520 folgendes Ergebnis zeigt (habe gerade ein paar Programme offen und schreibe hier gerade in Libreoffice, hat also nicht viel zu tun)

acpitz-virtual-0
Adapter: Virtual device
temp1: +43.0°C (crit = +99.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0: +46.0°C (high = +86.0°C, crit = +100.0°C)
Core 0: +45.0°C (high = +86.0°C, crit = +100.0°C)
Core 1: +41.0°C (high = +86.0°C, crit = +100.0°C)
Core 2: +46.0°C (high = +86.0°C, crit = +100.0°C)
Core 3: +41.0°C (high = +86.0°C, crit = +100.0°C)

thinkpad-isa-0000
Adapter: ISA adapter
fan1: 0 RPM


Mit thinkfan ist auch die Stufe 1 möglich (~1950 RPM), die die BIOS-Steuerung konsequent überspringt.
Nach dem Einrichten der Schwellen kann man thinkfan auch manuell starten

sudo /etc/init.d/thinkfan start

Ich bevorzuge einen Neustart des Notebooks.


3. Nvidia-Optimus

Ich muss voraus schicken, dass ich kein Zocker bin, mir reicht eigentlich für fast alle Anwendungen die Leistung der integrierten Intel HD3000. Die Nvidia nutze ich eigentlich nur, wenn ich in VMWare Windows als virtuelle Maschine laufen habe (und da ist es eigentlich auch nur optischer Schnickschnack). Nichtsdestotrotz habe ich mich mit der Problematik um Nvidia-Optimus unter Linux beschäftigt.

Bumblebee: ich habe es ums Verrecken nicht ans Laufen bekommen, da es ja auch nicht wirklich weiterentwickelt wird, habe ich diese Variante der Umschaltung auch baldigst ins Nirwana geschickt (im Internet findet man deutlich mehr Einträge über Probleme mit Bumblebee als über erfolgreich Installationen).

Ich habe dann über die „Systemeinstellungen/Systemverwaltung/Treiberverwaltung“ den Treiber von Nvidia installiert (352.63), dieser beinhaltet die Möglichkeit zwischen Intel und Nvidia umzuschalten (Links dazu findet man auch bei Linrunners „Ubuntu Schnelleinstieg“ - ich habe da so einige Umwege gemacht und stundenlang im Internet recherchiert).
Das Umschalten zwischen den beiden Grafikkarten erfordert eine Ab- und Anmeldung, da dabei komplett auf die andere Grafikeinheit umgeschaltet wird. Im Menü von Nvidia muss die Abmeldung noch mit dem Passwort bestätigt werden, diese Vorgang kann man aber durch zwei kleine Skripte vereinfachen.

Das eigentliche Umschalten erfolgt mit dem Befehl

„sudo prime-select intel“, bzw. „sudo prime-select nvidia“

Damit das Umschalten inklusive Abmeldung skripgesteuert und ohne Passwort erfolgen kann, muss zunächst die Konfigurationsdatei „/etc/sudoers.d/50-prime-selectmit dem Inhalt

%sudo ALL= NOPASSWD: /usr/bin/prime-select

## Leerzeile nicht vergessen!

angelegt werden, dadurch können die Benutzer in der Gruppe „sudo“ ohne Passworteingabe zwischen den Grafikchips umschalten.

Jetzt kann man sich zwei kleine Skripte (Textdateien) erstellen, mit denen man per Doppelklick zwischen den Grafikchips umschalten kann. Ich habe die Skripte, die auf der Seite
https://wiki.ubuntuusers.de/Hybrid-...-der-proprietaere-Nvidia-Treiber-nvidia-prime“ aufgeführt sind für mich vereinfacht und bei mir im Homeverzeichnis in dem Ordner Skripte abgelegt.

Skript „enable-intel“ hat folgenden Inhalt

#!/bin/bash
sudo prime-select intel
cinnamon-session-quit --logout --no-prompt


Skript „enable-nvidia“ hat folgenden Inhalt

#!/bin/bash
sudo prime-select nvidia
cinnamon-session-quit --logout –no-prompt


Beide Skripte ausführbar machen, entweder über die Dateieigenschaften oder auf der Konsole mit
„sudo chmod +x /Pfad/enable-intel“, bzw.
„sudo chmod +x /Pfad/enable-nvidia“,
danach kann man sich auf dem Desktop Verknüpfungen anlegen oder wie ich es gemacht habe, im Startmenü von Cinnamon unter „Sonstiges“ die Verknüpfungen erstellen.


Mit der Intelgrafik dümpelt mein W520 im Idle und wenig CPU-Last zwischen 42° und 48° und der Lüfter ist entweder aus oder läuft auf Stufe 1.
Mit der Nvidiagrafik liegt die Temperatur meist zwischen 48° und 52° und der Lüfter läuft meistens auf Stufe 1 und kurzfristig auf den Stufen 2 / 3.


So, genug geschrieben – ich hoffe, meine Ausführungen sind für einige Leute bei der Konfiguration ihres W520 unter Linux hilfreich.

Gruß Wolfgang

 
Zuletzt bearbeitet:
Ich hab thinkfan noch nie wirklich gemocht, es ist recht komplex für das was es macht. Ich habe für mein W520 ein Python Script geschrieben, das recht gut funktioniert, und auch die GPU-Temperatur beachtet, sofern diese aktiv ist. Bei Interesse stell ichs hier mal rein.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben