Do rzeczy.
Rozwiązanie testowane było na:
Laptop: HP Compaq nx9105 z procesorem Mobile AMD Sempron 2800+
System: Ubuntu 6.10 Edgy Eft
Kernel: dystrybucyjny 2.6.17-10-generic
Wymagane pakiety: gnome-applets laptop-mode-tools acpi-support
Powyższe paczki powinny znajdować się w systemie po standardowej instalacji, jeżeli jednak ich nie posiadamy to oczywiście:
Kod: Zaznacz cały
sudo apt-get install gnome-applets laptop-mode-tools acpi-support
Wcześniej jednak musimy się dowiedzieć jakie częstotliwości i zarządców obsługuje nasz procesor.
Aby sprawdzić obsługiwane częstotliwości wpisujemy w terminalu:
Kod: Zaznacz cały
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies
Kod: Zaznacz cały
1600000 800000
Kod: Zaznacz cały
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors
Kod: Zaznacz cały
powersave userspace ondemand conservative performance
Teraz możemy przejść do modyfikacji pliku laptop-mode.conf korzystając z wartości podanych przez wypisane wyżej polecenia:
Kod: Zaznacz cały
sudo gedit /etc/laptop-mode/laptop-mode.conf
Kod: Zaznacz cały
# Enable laptop mode when on battery power.
ENABLE_LAPTOP_MODE_ON_BATTERY=1
Kod: Zaznacz cały
# Enable laptop mode when on AC power.
ENABLE_LAPTOP_MODE_ON_AC=1
Kod: Zaznacz cały
# Should laptop mode tools control the maximum CPU frequency?
CONTROL_CPU_FREQUENCY=1
Poniższe opcje modyfikujemy wstawiając wartości podane nam wcześniej przez polecenia:
Kod: Zaznacz cały
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors
Kod: Zaznacz cały
BATT_CPU_MAXFREQ=800000
BATT_CPU_MINFREQ=800000
BATT_CPU_GOVERNOR=powersave
LM_AC_CPU_MAXFREQ=1600000
LM_AC_CPU_MINFREQ=800000
LM_AC_CPU_GOVERNOR=userspace
NOLM_AC_CPU_MAXFREQ=1600000
NOLM_AC_CPU_MINFREQ=1600000
NOLM_AC_CPU_GOVERNOR=performance
np.
Kod: Zaznacz cały
CONTROL_READAHEAD=0
CONTROL_HD_IDLE_TIMEOUT=0
Teraz sprawiamy by skrypt laptop-mode urochamiał się podczas bootowania systemu:
Kod: Zaznacz cały
sudo update-rc.d laptop-mode multiuser
Kod: Zaznacz cały
sudo gedit /etc/default/acpi-support
Kod: Zaznacz cały
ENABLE_LAPTOP_MODE=true
Kod: Zaznacz cały
sudo /etc/init.d/acpi-support stop
sudo /etc/init.d/acpi-support start
Kod: Zaznacz cały
cat /proc/sys/vm/laptop_mode
Jeżeli nie, proponuje po prostu zrestartować system.
Ok. Teraz aby móc monitorować na bieżąco i ręcznie ustawiać częstotliwość procka za pomocą apletu gnome wpisujemy:
Kod: Zaznacz cały
sudo dpkg-reconfigure gnome-applets
Potem już tylko:
prawy przycisk myszy na penelu->dodaj do panelu->monitor częstotliwości procesora
W preferencjach ustawiamy: wyświetlanie menu->zarządcy i częstotliwości
I w zasadzie to wszystko. Teraz przy podłączeniu do zasilania, GNOME pracuje, w moim przypadku, przy prędkości procka 1,6 GHz (max.prędkość) a przy korzystaniu z baterii 800 MHz. Oczywiście, automatycznie się przełączając, przy podłączaniu/odłączaniu zasilania.
Jest jeszcze jedna sprawa, która nie dawała mi spokoju. Przy takiej konfiguracji laptop-mode, podczas uruchomienia GNOME, procesor ustawiany jest na połowę "mocy" (800MHZ-nawet przy podłączonym zasilaniu). Oczywiście można to zmienić za pomocą apletu gnome, ale drażniło mnie to, że musiałem to robić przy każdym restarcie systemu. Aby to ominąć możemy stworzyć "mini-skrypt", który będzie ustawiał procesor na max prędkości, w końcowej fazie bootowania systemu.
Kod: Zaznacz cały
sudo gedit /etc/init.d/cpufreq.sh
Kod: Zaznacz cały
#!/bin/sh
/usr/bin/cpufreq-selector -g performance $@
Nadajemy mu prawa do wykonywania:
Kod: Zaznacz cały
sudo chmod +x /etc/init.d/cpufreq.sh
Kod: Zaznacz cały
sudo update-rc.d cpufreq.sh start 90 2 3 4 5 . stop 90 0 1 6 .
I to chyba wszystko. Może komuś się to przyda. Oczywiście jestem otwarty na wszelkie uwagi i poprawki.
Pozdrawiam.