Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Не регулируется яркость на нетбуке.  (Прочитано 18715 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kletchatii

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Не регулируется яркость на нетбуке.
« Ответ #15 : 01 Июня 2014, 22:23:29 »
Решена проблема с яркостью на Lenovo B570. Встроенная графика Intel + nVidia 410M.
Проверено на Ubuntu 14.04
(С некоторого времени регулировка яркости дисплея перестала работать)

Выяснил что за изменения яркости отвечает модуль acpid - Advanced Configuration and Power Interface event daemon
.

Оглавление:
1. Поиск эвентов ядра на регулировку яркости
2. Проверка обработчиков эвентов
3. Проверка выполнения скрипта регулировки яркости.

1. Выясняем какие эвенты навешены на клавиши регулировки яркости. Для этого запускаем в терминале команду:
acpi_listen


После этого выпоняем нажатие интересующих нас клавиш регулировки на что в ответ получим:
kletchatii@DDD:~$ acpi_listen
video/brightnessdown BRTDN 00000087 00000000
video/brightnessup BRTUP 00000086 00000000

в нашем случаее "video/brightnessup" и "video/brightnessup" - это эвенты на который идет обвес.
Запомнили их и идем дальше

2.  Acpid при загрузке считывает файлы обработчиков эвентов по следующему пути.
kletchatii@DDD:~$ ls -1 /etc/acpi/events/
asus-keyboard-backlight-down
asus-keyboard-backlight-up
asus-wireless-off
asus-wireless-on
ibm-wireless
lenovo-undock
powerbtn
thinkpad-cmos
tosh-wireless

В моем случае обработчики нажатия клавиш регулировки яркости - это asus-keyboard-backlight-down и asus-keyboard-backlight-up.
пример файла:
kletchatii@DDD:~$ cat /etc/acpi/events/asus-keyboard-backlight-up
# /etc/acpi/events/asus-keyboard-backlight-up
# This is called when the user presses the key brightness
# up button and calls /etc/acpi/asus-keyboard-backlight.sh for
# further processing.

event=video/brightnessup
action=/etc/acpi/asus-keyboard-backlight.sh up

Открываем каждый из файлов по очереди и проверяем чтобы был верно указан эвент в строке:
event=video/brightnessup

Если он отличается от эвента который мы зафиксировали при выполнении первого шага, то следует его исправить. И сохранить файл.
К примеру, используя следующую команду можно открыть для редактирования с правами администратора файл  asus-keyboard-backlight-down:
sudo gedit /etc/acpi/events/asus-keyboard-backlight-down

3. Если после проделанных операций у вас все еще не работает яркость, то требуется проверить правильность выполнения скрипта по обработке эвентом. В моем случае обработчиком эментов является

kletchatii@DDD:~$ cat /etc/acpi/events/asus-keyboard-backlight-up
# /etc/acpi/events/asus-keyboard-backlight-up
# This is called when the user presses the key brightness
# up button and calls /etc/acpi/asus-keyboard-backlight.sh for
# further processing.

event=video/brightnessup
action=/etc/acpi/asus-keyboard-backlight.sh up

файл указанный в параметре action.

kletchatii@DDD:~$ cat /etc/acpi/asus-keyboard-backlight.sh
#!/bin/sh

# this directory is a symlink on my machine:
KEYS_DIR=/sys/class/backlight/intel_backlight

test -d $KEYS_DIR || exit 0

MIN=0
MAX=$(cat $KEYS_DIR/max_brightness)
VAL=$(cat $KEYS_DIR/brightness)

if [ "$1" = down ]; then
VAL=$((VAL-195))
else
VAL=$((VAL+195))
fi

if [ "$VAL" -lt $MIN ]; then
VAL=$MIN
elif [ "$VAL" -gt $MAX ]; then
VAL=$MAX
fi

echo $VAL > $KEYS_DIR/brightness

Переменная KEYS_DIR в баш скрите хранит путь до директории в которой храниться файл отвечающий за яркость дисплея. В моем случае файл яркости храниться в директории /sys/class/backlight/intel_backlight, т.к. вывод изображения в моей модели ПК идет через втроенную графику Intel.

Статья http://followthegeeks.com/how-to-solve-brightness-is-not-changing-issue-in-12-04/ укажет как меня яркость на графике от ATI Radeon.

Привожу листинг директории:
kletchatii@DDD:~$ ls -1 /sys/class/backlight/intel_backlight
actual_brightness
bl_power
brightness
device
max_brightness
power
subsystem
type
uevent

Для нас важны файлы brightness - хранит текущую яркость, max_brightness - хранит значение максимальной яркости.
Можно довольно легко убедиться что правильный ли файл мы выбрали используя команду
(Будьте аккуратны, выбрав слишком маленькое значение яркости вы можете полностью выключить подцветку и ничего не увидеть на экране)
sudo -s &&
echo 100 > /sys/class/backlight/intel_backlight/brightness

или

sudo -s &&
echo 100 > /sys/class/backlight/acpi_video0/brightness

После того как вы обнаружили нужный для вас файл регулировки яркости укажите путь до директории в которой он лежит в файле обработчика эвентов клавиш яркости. Так же рекомендуется отрегулировать шаг изменения яркости
kletchatii@DDD:~$ cat /etc/acpi/asus-keyboard-backlight.sh
#!/bin/sh

# this directory is a symlink on my machine:
# Путь до директории тут
KEYS_DIR=/sys/class/backlight/intel_backlight

test -d $KEYS_DIR || exit 0

MIN=0
MAX=$(cat $KEYS_DIR/max_brightness)
VAL=$(cat $KEYS_DIR/brightness)

if [ "$1" = down ]; then
# 195 - кол-во пунктов на которое будет уменьшаться или увеличиваться яркость
VAL=$((VAL-195))
else
# 195 - кол-во пунктов на которое будет уменьшаться или увеличиваться яркость
VAL=$((VAL+195))
fi

if [ "$VAL" -lt $MIN ]; then
VAL=$MIN
elif [ "$VAL" -gt $MAX ]; then
VAL=$MAX
fi

echo $VAL > $KEYS_DIR/brightness

Надеюсь кому то будет полезно, потому как я лично долго не мог найти решение проблеме с яркостью.
П.С: Мануалы до этого не писал, потому стиль написания может быть несколько неровным, если кто нибудь перепишет мануал и добавит его в вики, либо даст дельные рекомендации в ЛС, то будет чудесно.

Спасибо за внимание

UPDATE
После того как вы внесли все правки в скрипты необходимо перезагрузить acpid демона следующим образом:
sudo service acpid restart
после этого изменение яркости должно заработать в том случае, если все предыдущие действия были выполнены правильно.
Также можно просто перезагрузиться или перелогиниться в систему.

« Последнее редактирование: 10 Января 2015, 02:54:20 от kletchatii »
Lenovo b570, nvidia 410M
Ubuntu 14.04 LTS

Оффлайн slo_nik

  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Re: Не регулируется яркость на нетбуке.
« Ответ #16 : 04 Июня 2014, 17:41:01 »
kletchatii, благодарю за подробное объяснение, всё получилось, клавиши регулировки яркости заработали.
Проверял на Lenovo B570e + Ubuntu 14.04.
Единственное, что меня не очень устроило, так это "шаг" изменения яркости, но это претензия не к Вам, а уже к себе. Пробовал задавать разные значения, но так и не подобрал того, что меня устроило... Ну да ладно, главное, что клавиши работают, а Вам огромная благодарность.
Просьба к админам сайта, добавьте пост в "вики". Пока искал решение проблемы, ничего похожего не видел. Все решения сводились в основном к редактированию grub, но это не давало положительного результата...

Сделал скрин страницы и положил в укромное место, пригодится ещё не раз)))
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн Menlor

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Не регулируется яркость на нетбуке.
« Ответ #17 : 30 Октября 2014, 22:04:01 »
kletchatii, Большое спасибо за подробно написанную инструкцию. Тот же ноутбук, только под Lubuntu.

И ко второму пункту хочется добавить. Если по пути
/etc/acpi/events/
нет файлов эвинтов, как было у меня. То заполучить их можно командой
sudo apt-get install acpi-support
Так же хочу добавить, что мне понадобилась полная перезагрузка для того чтобы клавиши заработали.

Оффлайн Бонька

  • Активист
  • *
  • Сообщений: 346
  • life is purple
    • Просмотр профиля
Re: Не регулируется яркость на нетбуке.
« Ответ #18 : 30 Октября 2014, 22:23:43 »
вставлю альтернативный путь решения проблемы, ибо только вчера с подобным столкнулся - ноут, XFCE, клавиши яркости не работают, настроек яркости дисплея в XFCE нет. Установил xbacklight и привязал на клавиши команды (можно и в терминале это запускать) -

xbacklight -inc 10 - повышения яркости на 10% (шаг любым может быть, в %)
xbacklight -dec 10 - уменьшение яркости, аналогично.

проблема также решена :)
Asus N56VJ, SSD, btrfs, Manjaro 16 (Ellada). x64, XFCE :)

Оффлайн Leere888

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: Не регулируется яркость на нетбуке.
« Ответ #19 : 06 Ноября 2014, 11:58:41 »
вставлю альтернативный путь решения проблемы, ибо только вчера с подобным столкнулся - ноут, XFCE, клавиши яркости не работают, настроек яркости дисплея в XFCE нет. Установил xbacklight и привязал на клавиши команды (можно и в терминале это запускать) -

xbacklight -inc 10 - повышения яркости на 10% (шаг любым может быть, в %)
xbacklight -dec 10 - уменьшение яркости, аналогично.

проблема также решена :)
Видимо, единственное решение моей проблемы с регулировкой яркости. Спасибо.
« Последнее редактирование: 06 Ноября 2014, 12:18:27 от Leere888 »
Эта зелень до небес называется тихо - лесссссс....

Оффлайн Pilot6

  • Старожил
  • *
  • Сообщений: 14037
  • Xubuntu 18.04
    • Просмотр профиля
Re: Не регулируется яркость на нетбуке.
« Ответ #20 : 06 Ноября 2014, 12:37:56 »
Leere888,
Если яркость командами регулируется, то значит можно и на штатные кнопки повесить. Иногда не все чтатные кнопки распознаются ядром. Но это нужно знать модель.
Я в личке не консультирую. Вопросы задавайте на форуме.

 

Страница сгенерирована за 0.071 секунд. Запросов: 25.