вторник, 31 января 2017 г.

Изменение яркости экрана комбинацией клавиш FN+f5/f6

asus x551ma
Mint 17 x64 MATE
Linux thinkbali 3.19.0-32-generic #37~14.04.1-Ubuntu SMP Thu Oct 22 09:41:40 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux


# vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi="
# update-grub

# vi /usr/share/X11/xorg.conf.d/20-intel.conf
Section "Device"
        Identifier  "card0"
        Driver      "intel"
        Option      "Backlight"  "intel_backlight"
        BusID       "PCI:0:2:0"
EndSection

Зависания ноутбука на Bay Trail M на ядрах 4.x

На своем ноутбуке Asus X551MA обнаружил неприятную вещь. После установки свежего Archlinux на ядре 4.x система стала зависать наглухо. Причем, зависания не зависят от температуры процессора или нагрузки на систему. Зависает даже когда на компьютере я не работаю.
Поставил Mint 18 x64. Зависания не прекратились. Работать вообще невозможно. Иногда ноут держится без зависаний по полдня, иногда - по 10 минут.
Перепробовал многое: перешел на ssd диск, ставил Mint 18 i386, разобрал и почистил внутренности ноута от пыли, вынимал зарядку, пробовал разные usb-устройства включать и отключать. Ничего не помогало. Уже думал, что произошел отвал процессора от материнской платы, который проявляется в нестабильности системы.
Потом вспомнил, что до этого у меня на ноутбуке стоял Mint 17 i386 MATE. Никаких проблем с ним не было. После этого поставил как раз Mint 18 i386, т.к. подумал, что дело в разрядности ОС. Но не помогло.

Наконец, поставил Mint 17 x64 MATE. Зависания прекратились. Версия ядра в этом дистрибутиве - 3.19.0-32-generic. Значит, это какая-то программная проблема, а не железячная. Проявляется именно на ядрах 4.x.

Тут надо привести технические характеристики моего asus x551ma (производства 2014 года):
Intel Pentium CPU N3520 @ 2.16GHz (quad core) на платформе Bay Trail M (atom).

Стал гуглить по процессору и версии ядра. Оказывается, такая программная проблема есть! Вот здесь ее обсуждают, предлагают workaround и патчи:
https://bugzilla.kernel.org/show_bug.cgi?id=109051

Я пока ничего из решений не пробовал, т.к. остался на Mint 17. Предлагаются следующие sysctl-параметры:
Основной:
intel_idle.max_cstate=1
или
intel_idle.max_cstate=2
Причем, по отзывам, достаточно только этого параметра.
Если не помогает, то можно попробовать добавить следующий (но, по тем же отзывам, он не особо полезен):
intel_pstate=disable

В Mint 18 или Ubuntu 16 sysctl-параметры можно прописать так:
# vi /etc/sysctl.d/60-intel.conf
intel_idle.max_cstate=1
После этого перечитать новые значения командой:
# sysctl -p