LINUX.ORG.RU

Boost скрипт для Thinkpad X230. Готово. Забирайте.

 , , , ,


10

2

После того как снес с него винду ужасно не хватало кнопочки «турбо», которая присутствовала в Lenovo Power Manager. Накостылял свой скрипт. При запуске смотрит какой говернор используется в данный момент. Если ondemand, то включаем вентилятор на полную, переключаем говернор в userspace и выкручиваем частоты на максимум. Если userspace, то частоты в минимум, говернор в ondemand, вентилятор в auto. Использую его на Ubuntu 12.04. В принципе без проблем затачивается под любой ноут. Забирайте, если кому интересно. Для включения возможности ручного управления вентилятором в синкпадах делаем так:

To enable fan control, the module parameter fan_control=1 must be given to thinkpad-acpi. For example, in Ubuntu 8.04 (Hardy Heron), add the following to /etc/modprobe.d/options: options thinkpad_acpi fan_control=1

Если у вас другая модель синкпада, то подстройте скорость вентилятора в соответствии с вот этими рекомендациями. Сам скрипт:

#!/bin/bash

# Checking root user
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi
# Checking current state
if [ `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor` = 'userspace' ]
then
	# Lowest speed and ondemand governor for all cores
	for CPU in /sys/devices/system/cpu/*/cpufreq/
	do
  	  echo `cat ${CPU}cpuinfo_min_freq` | tee ${CPU}scaling_setspeed
			echo ondemand | tee ${CPU}scaling_governor
	done
	# Automatic fan control
	echo level auto | tee /proc/acpi/ibm/fan 
else
	# Otherwise full fan speed
	echo level full-speed | tee /proc/acpi/ibm/fan
	# And full speed for all cores
	for CPU in /sys/devices/system/cpu/*/cpufreq/
	do
			echo userspace | tee ${CPU}scaling_governor
  	  echo `cat ${CPU}cpuinfo_max_freq` | tee ${CPU}scaling_setspeed
	done
fi
TEMP=$((`cat /sys/class/thermal/thermal_zone0/temp`/1000))
echo "CPU Temp: ${TEMP}C"

# Developed by gear. You can contact me by misty.g3ar@gmail.com

★★★

Спасибо. Хоть у меня и не Lenovo, все равно очень приветствую такие начинания.

tazhate, на LOR'е есть какая-то библиотека скриптов или что-то типа полезных советов как на Openet, куда бы мы такое могли добавлять?

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

на LOR'е есть какая-то библиотека скриптов или что-то типа полезных советов

На ЛОРе есть WIKI, добавляйте

sdio ★★★★★ ()
Ответ на: комментарий от sdio

Как там новую статью добавить? 5 минут искал - не нашел.

gear ★★★ ()
Ответ на: комментарий от Kroz

Там для заточки под другой ноут нужно только изменить 2 строчки для управления вентилятором. Управление частотой должно работать где угодно в таком виде, ИМХО.

gear ★★★ ()
Ответ на: комментарий от sdio

Ага. Добрался. Разобрался. Чтобы народ охотнее писал нужно на главную вики добавить заметную кнопку «НАПИСАТЬ СТАТЬЮ», которая в свою очередь ведет на мануал по оформлению, где всё это описано. А то в таком виде в каком оно есть, там черт ногу сломит.

gear ★★★ ()

А в чем профит? вроде и на ondemand при нагрузках легко включается турбобуст (T420). Или на Ivy bridge оно так не работает?

anonymous ()
Ответ на: комментарий от anonymous

В дотке фпс на ондеманде и автокулерах 10-40. При железно выставленых макимальной частоте и максимальных оборотах кулера 20-60. В замесах не так сильно проседает фпс.

gear ★★★ ()

Так #!/bin/bash или всё же #!/bin/sh?

Если bash, то ` ` -> $( ), [ ] -> [[ ]], | tee -> > и двойные кавычки везде, разве нет?

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Ясно. У меня почему-то на > говорят access denied, a | tee нормально отрабатывает.

gear ★★★ ()
Ответ на: комментарий от tazhate

Ок, да, видел. Но сразу скажу: вот зашел я туда, поискал глазами ссылку «Добавить статью» и ушел. Я понимаю, что там скорее всего стандартный движок, и для тех, кто регулярно пишет статьи во всякие wiki это очевидно и понятно, но для тех, кто впервые с этим столкнулся, это ужас. То есть чтобы сделать copy-paste своего скрипта я должен гуглить как редактировать wiki? Может вы как-то упростите процедуру, сделаете это не сложнее чем создать топик в форуме? Ведь текущая ситуация реально отпугивает людей.

Kroz ★★★★★ ()
Ответ на: комментарий от WiZ_Ed

Вентиляторы выкручивает на полную, частоту поднимает, но немного ругается:

~$ sudo bin/lenovo_boost.sh 
level full-speed
userspace
tee: /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor: Invalid argument
3600000
tee: /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed: Invalid argument
userspace
tee: /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor: Invalid argument
3600000
tee: /sys/devices/system/cpu/cpu1/cpufreq/scaling_setspeed: Invalid argument
userspace
tee: /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor: Invalid argument
3600000
tee: /sys/devices/system/cpu/cpu2/cpufreq/scaling_setspeed: Invalid argument
userspace
tee: /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor: Invalid argument
3600000
tee: /sys/devices/system/cpu/cpu3/cpufreq/scaling_setspeed: Invalid argument
CPU Temp: 48C

~$ grep MHz /proc/cpuinfo
cpu MHz		: 3507.187
cpu MHz		: 3366.605
cpu MHz		: 3557.031
cpu MHz		: 3563.714

Lenovo X230i, CPU - i7-3520m, Debian Jessie x64

WiZ_Ed ★★★ ()
Ответ на: комментарий от WiZ_Ed

хзхз... дай знать если выяснишь причину.

gear ★★★ ()
Ответ на: комментарий от WiZ_Ed

Кстати! Со мной именно такими матами говорил файл управления скорослью вращения вентилятора. После того как загрузил его с опцией ручного управления всё заработало. Может у тебя как-то не так модуль управления частотой проца загружен?

gear ★★★ ()
Ответ на: комментарий от gear

Возможно.

Может поэтому и апплет mate, показывающий текущую частоту показывает 0 MHz.

Как починить, не подскажешь?

WiZ_Ed ★★★ ()
Ответ на: комментарий от Kroz

Может вы как-то упростите процедуру

Кто вы?

То есть чтобы сделать copy-paste своего скрипта я должен гуглить как редактировать wiki?

Если это представляет проблему, то лучше в мире Linux вам не находится, дяденька.

tazhate ★★★★★ ()
Ответ на: комментарий от tazhate

Кто вы?

Те, кто занимается сайтом.

Если это представляет проблему, то лучше в мире Linux вам не находится, дяденька.

Я сам решу где мне находится.

А касательно моего комментария - я подал идею как улучшить сайт. Это не претензия, не упрек, а совет, который ты/вы можете учесть, а можете игнорировать. А также ответ на вопрос, почему сейчас на LOR Wiki порядка 100 статей, некоторые из которых в достаточно сыром состоянии, а на том же OpenNet только в одной только подкатегории может быть под 80 заметок. Если этот вопрос, конечно, интересует (ведь может не интересовать).

P. S. Я бы создал просто отдельную группу на форуме специально не для вопросов, а чтобы люди постили туда свои советы, как, например, текущий топик. Что-то типа «Полезняшки» или «LOR-советы» (не хочется, конечно, копировать OpenNet).

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

Те, кто занимается сайтом.

А я здесь причем? Я им не занимаюсь.

который ты/вы можете учесть

Так ты пиши владельцам сайта, а не мне. Я коим боком ваще?

tazhate ★★★★★ ()
Ответ на: комментарий от tazhate

Ладно, ладно, сорри, если не по адресу.

Kroz ★★★★★ ()

Чем это отличается от переключения регулятора в performance?

aidaho ★★★★★ ()
Ответ на: комментарий от aidaho

а чем отличается performance от userspace? ну и кулера на максимум вместо дерганины в автоматическом режиме.

gear ★★★ ()
Ответ на: комментарий от aidaho

Вообще мне намного интереснее чем performance отличается от ondemand? Я с этим скриптом завозился из-за того что я не могу играть в игры без более-менее стабильного ФПС. В винде это достигалось только той кнопкой турбо. Выкрутить ползунок в «производительность» не помогало. Тут я тоже начал с того что попробовал performance режим и ФПС прыгал ровно так же как на ondemand. Я думаю что это связано с тем, что для реально максимальной производительности, нужно запретить операционке контролировать скорость вращения вентиляторов и частоту проца для того чтобы проц всегда работал на максимальной частоте и на минимальной температуре, которую может в таких условиях обеспечить охлаждение.

gear ★★★ ()
Ответ на: комментарий от WiZ_Ed

ХЗ. Нужно гуглить, смотреть. В убунте индикатор частоты проца из коробки работает.

gear ★★★ ()
Ответ на: комментарий от gear

performance статически ставит частоту на максимум, userspace предоставляет интерфейс для установки частоты из (внезапно) юзерспейса.

По идее, нормального конфига для fancontrol и установки регулятора в performance должно быть достаточно для достижения того же эффекта.

aidaho ★★★★★ ()
Ответ на: комментарий от aidaho

P.S. ondemand динамически переключает частоту в соответствии с нагрузкой. По определению, это приводит к некоторому падению производительности.

На новых интеловских архитектурах он вообще не особо продуктивно работал, поэтому в 3.9 появился новый драйвер pstate.

aidaho ★★★★★ ()
Ответ на: комментарий от aidaho

performance статически ставит частоту на максимум, userspace предоставляет интерфейс для установки частоты из (внезапно) юзерспейса.

Значит, скорее всего, в performance не удалось стабильной ФПС добиться из-за авторегулировки вентилятора. Попробую на досуге, если не забуду.

gear ★★★ ()

enable fan control

Несовсем понятно, почему такому важному моменту, как включение возможности управления вентилятором в модуле, посвящено так мало материала. У меня Lubuntu 12.04 и способ приведенный для Ubuntu 8.04 не работает. Какие есть рабочие варианты передать параметр модулю? Где указывать этот «thinkpad_acpi fan_control=1» ?

arcman ()

Вот пример программы, которая гудит вентилятором, потребляет много энергии и ничего полезного не делает.

renjumin ★★★★ ()
Ответ на: enable fan control от arcman

У меня в 12.04 работает способ описаный в первом посте. Ты что-то сделал неправильно.

gear ★★★ ()
Ответ на: комментарий от renjumin

если ты не замечаешь пользы это не значит что ее нет

gear ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.