Налаштовуємо Linux для максимального продовження життя ноутбука від батареї

  1. Зміст статті Зізнайся, скільки разів ти хотів плюнути в обличчя тому маркетологу, який придумує ці...
  2. відеокарта
  3. гібридна графіка
  4. процесор
  5. Продовження доступно тільки передплатникам
  6. Варіант 2. Купи один матеріал

Зміст статті

Зізнайся, скільки разів ти хотів плюнути в обличчя тому маркетологу, який придумує ці нереальні цифри в десять-дванадцять годин автономної роботи ноутбука? Шість-сім - це вже ближче до істини, та й то лише тоді, коли ОС має бути встановлена. А ось як її правильно налаштувати - це вже дійсно цікаве питання. Адже все далеко не так однозначно, як вважають розробники дистрибутивів.

Отже, маємо працюючий від акумулятора ноутбук з Лінукс на борту. Ми використовуємо його найбільш тривіальним чином: слухаємо музику, дивимося кінофільм, час від часу пописую статті в свій блог і серф в інеті. За бортом залишаємо редагування відео і високопродуктивні гри. Для подібних витівок без мережі 220 В навряд чи вдасться обійтися. Хочемо, щоб час автономної роботи було максимальним.

яскравість екрану

Почнемо з підсвічування. У більшості ноутбуків гарячі клавіші управління яскравістю посилають сигнал безпосередньо контролеру ACPI, тому працюють однаково добре в будь-яких операционках і навіть в настройках BIOS. Також яскравість екрану можна контролювати за допомогою xbacklight. Після установки досить виконати команду

$ Xbacklight -set 50

і рівень яскравості складе 50%.

Щоб не мучитися з ручним регулюванням, можна налаштувати автоматичне регулювання яскравості при підключенні зарядника до ноутбука і при його відключенні. Для цього нам знадобиться простенький скрипт:

#! / Bin / sh echo $ 1> / sys / class / backlight / intel_backlight / brightness

Збережи його в файл /etc/backlight.sh і дай права на виконання:

$ Chmod + x /etc/backlight.sh

Також необхідно написати правило для системи управління обладнанням udev, яке буде запускати наш скрипт. Створи файл /etc/udev/rules.d/backlight.rules:

SUBSYSTEM == "power_supply", ENV {POWER_SUPPLY_ONLINE} == "1", RUN + = "/ etc / backlight.sh 3253" SUBSYSTEM == "power_supply", ENV {POWER_SUPPLY_ONLINE} == "0", RUN + = "/ etc /backlight.sh 2324 "

Далі перезавантажити правила udev:

$ Sudo udevadm control -R

Тепер при підключенні до зарядник яскравість буде виставлятися в значення 3253 (це 70% від максимальної 4648), а при відключенні знижуватися до 50% (2324). Зверни увагу, що скрипт працює тільки з драйвером Intel, для інших адаптерів шлях в каталозі / sys і значення будуть іншими.

Скрипт гарний також і тим, що вирішує знайому багатьом линуксоидов проблему скидання яскравості до максимальної при підключенні / відключенні кабелю живлення.

відеокарта

Вважається, що не менше 80% інформації людина отримує через зір. Не дивно, що чимала частка енергії батареї ноутбука витрачається на генерування зображення на екрані.

Використання легких робочих оточень, які споживають мінімум ресурсів ноутбука, позитивно позначається на економії заряду батареї. В принципі, можна працювати і з командного рядка, але в XXI столітті таких любителів знайдеться небагато.

Тому іноді досить буде відключити графічні ефекти робочого столу, а вивільнені ресурси використовувати в додатках, що підтримують апаратне прискорення декодування відео, щоб розвантажити процесор. Заодно не зайвим буде позбутися від різних фонових процесів типу індексації файлів.

Апаратне прискорення дозволяє перенести виконання завдання по декодуванню відео з процесора на відеокарту. VLC, MPV, MPlayer і засновані на них відеопрогравачі, а також браузери Chromium, Firefox, Opera вміють це робити, тим самим знижуючи енергоспоживання.

Налаштування апаратного прискорення в програвачі VLC

Перевірити, чи включено апаратне прискорення в Chrome, можна, запровадивши в адресний рядок chrome: // gpu. У моєму випадку результат виглядав так:

Статус підтримки апаратного прискорення після інсталяції Chrome

Як бачимо, задіяні не всі компоненти апаратного прискорення. Нижче на цій же сторінці наведено список виявлених проблем. Для їх вирішення необхідно перейти за адресою chrome: // flags і змінити такі настройки:

  1. Включити перевизначення списку програмного рендеринга.
  2. Включити апаратну растеризування.
  3. Встановити число потоків растрового зображення в значення 4.

Ці настройки відносяться до категорії експериментальних і за замовчуванням вимкнені розробниками, оскільки ті не можуть оцінити якість цільових GPU-драйверів при великій різноманітності дистрибутивів Linux.

Потім слід запустити Chrome з прапором -enable-native-gpu-memory-buffers. Користувачі KDE можуть дописати цей прапор в команду запуску Chrome, відредагувавши ярлик програми за допомогою kmenuedit.

Статус підтримки апаратного прискорення після настройки Chrome

гібридна графіка

Щасливі власники гібридної графіки стикаються ще з однією проблемою економії енергії. Гібридна графіка має на увазі наявність в ноутбуці двох відеокарт - інтегрованої і дискретної. Остання - повноцінний відеоадаптер, тому дуже ненажерлива. Рішення проблеми очевидно. Працюючи від батареї, доцільно вимкнути дискретну карту і повністю покластися на інтегроване рішення.

Перш ніж відключати дискретну графіку, необхідно встановити пакет acpi_call і завантажити відповідний модуль ядра:

# Modprobe acpi_call

Після завантаження модуля слід запустити від імені адміністратора сценарій такого змісту (в Arch Linux він вже присутній в /usr/share/acpi_call/examples/turn_off_gpu.sh):

#! / Bin / bash if lsmod | grep -q acpi_call; then methods = "_SB.PCI0.P0P1.VGA._OFF _SB.PCI0.P0P2.VGA._OFF _SB_.PCI0.OVGA.ATPX _SB_.PCI0.OVGA.XTPX _SB.PCI0.P0P3.PEGP._OFF _SB.PCI0.P0P2 .PEGP._OFF _SB.PCI0.P0P1.PEGP._OFF _SB.PCI0.MXR0.MXM0._OFF _SB.PCI0.PEG1.GFX0._OFF _SB.PCI0.PEG0.GFX0.DOFF _SB.PCI0.PEG1.GFX0.DOFF _SB .PCI0.PEG0.PEGP._OFF _SB.PCI0.XVR0.Z01I.DGOF _SB.PCI0.PEGR.GFX0._OFF _SB.PCI0.PEG.VID._OFF _SB.PCI0.PEG0.VID._OFF _SB.PCI0.P0P2. DGPU._OFF _SB.PCI0.P0P4.DGPU.DOFF _SB.PCI0.IXVE.IGPU.DGOF _SB.PCI0.RP00.VGA._PS3 _SB.PCI0.RP00.VGA.P3MO _SB.PCI0.GFX0.DSM._T_0 _SB. PCI0.LPC.EC.PUBS._OFF _SB.PCI0.P0P2.NVID._OFF _SB.PCI0.P0P2.VGA.PX02 _SB_.PCI0.PEGP.DGFX._OFF _SB_.PCI0.VGA.PX02 _SB.PCI0.PEG0.PEGP .SGOF _SB.PCI0.AGP.VGA.PX02 "for m in $ methods; do echo -n "Trying $ m:" echo $ m> / proc / acpi / call result = $ (cat / proc / acpi / call) case "$ result" in Error *) echo "failed" ;; *) Echo "works!" # Break # try out outher methods too ;; esac done else echo "The acpi_call module is not loaded, try running 'modprobe acpi_call' or 'insmod acpi_call.ko' as root" exit 1 fi

В результаті має з'явитися щось подібне:

... Trying _SB.PCI0.PEG1.GFX0._OFF: failed Trying _SB.PCI0.PEG0.GFX0.DOFF: failed Trying _SB.PCI0.PEG1.GFX0.DOFF: failed Trying _SB.PCI0.PEG0.PEGP._OFF: works! ...

Рядок, позначений "works!", Знаменує собою успішне виявлення дискретної відеокарти і її відключення до наступного перезавантаження.

процесор

Розвантаження процесора за допомогою деяких кроків, зроблених в попередньому розділі, відкриває можливість знизити енергоспоживання CPU. Тут нам на допомогу прийде консольна утиліта cpupower. Вірніше, цілий набір консольних утиліт під одним ім'ям.

Можливості інструмента дозволяють оперувати частотою процесора, налаштовувати режими його роботи, керуючись вимогами ситуації, а також проводити діагностику поточного стану.

Продовження доступно тільки передплатникам

Варіант 1. Оформи передплату на «Хакер», щоб читати всі матеріали на сайті

Підписка дозволить тобі протягом зазначеного терміну читати ВСЕ платні матеріали сайту. Ми приймаємо оплату банківськими картами, електронними грошима і перекладами з рахунків мобільних операторів. Детальніше про підписку

Варіант 2. Купи один матеріал

Зацікавила інформація, але немає можливості оплатити підписку? Тоді цей варіант для тебе! Зверни увагу: цей спосіб покупки доступний тільки для матеріалів, опублікованих більше двох місяців тому.


Новости