Backlight (Форум)

maine Новости

Что такое автояркость в смартфоне

Во всех телефонах есть функция «Автояркость экрана», которая автоматически настраивает яркость дисплея в зависимости от уровня освещенности. По идее, в солнечную погоду яркость должна увеличиться, а если вы находитесь в темноте, то уменьшиться. В большинстве случаев функция работает неправильно, чем вызывает гнев пользователей и дальнейшее отключение в настройках.

Функция работает за счет сенсора освещенности, который расположен рядом с разговорным динамиком и фронтальной камерой. Самые топовые смартфоны оснащают более продвинутой версией этого датчика — RGB сенсором, который способен не только менять яркость, но и считывать интенсивность основных цветов, настраивая качество изображения и корректируя баланс цвета фотографий.

Brightness (форум)

Добрый день всем,

переехал на 8ой дебин. Всё завелось замечательно и без каких-либо проблем, кроме яркости дисплея ноутбука.

Модель ноутбука lenovo z500 (intel graphics 4000), на всякий случай, вот что даёт lspci:

Согласно рекомендациям в сети добавил опцию в конфиг GRUB’a:

ну и переконфигурировал командой update-grub, однако это не помогло.

Драйвера обновлял, сейчас стоит такое:

Смущает только, что поиск по mesa ничего не выдаёт:

нужно поставить mesa или есть какое-нибудь готовое решение, о котором я не знаю?

Файлики max_brightness и brightness говорят, что у меня всё на максимуме, одна дисплей явно не на полную яркость работает. При этом рядом стоит подключенный к этому ноуту монитор и там с яркостью всё замечательно, видно всё отлично. Сама яркость не регулируется: уменьшаю и ничего.

Кто сталкивался, прошу помочь =) заранее спасибо

Cannot change backlight brightness ubuntu 14.04

So I’ve just solved this problem in my Dell XPS 15 7590 (Ubuntu 18.04) with OLED screen after setting up dual boot with it.

The screen can dim (for example power-saving dimming) so it’s definitely capable, and using brightness buttons operates the visual slider, so those are definitely recognised. But it was at full intensity and nothing I tried would control it.

I tried lots of other fixes I’ve seen here including: grub editing with acpi_backlight=vendor, installing brightness controllers, echoing values into backlight files, even tinkering with intel vs nvidia drivers in case that was the issue etc. No joy.

I came across this info on setting up my model (XPS 15 7590, OLED screen) with Arch Linux where the brightness was an issue there, and tried following that method: https://wiki.archlinux.org/index.php/Dell_XPS_15_7590#Backlight
There was a script based on that (https://github.com/lurwas/oled-brightness-ubuntu) which looked helpful but didn’t work for me.

Until I realised that in the ArchLinux page it mentions

Please note: If you are using the xf86-video-intel driver, you will need to replace ‘eDP-1’ in the script above with ‘eDP1’

Sure enough, my system seemed to be looking for instructions relating to ‘eDP1’ and everything else was telling it to change ‘eDP-1’. The dash made all the difference.

I set up that script as a start-up program, checking I had ‘bc’ and ‘inotify-tools’ installed as mentioned in the Arch Linux instructions (though note that page refers to ‘itnotify-tool’, and ubuntu required the ‘s’ on the end to find/install it!) and made sure it had run permissions, and BOOM – “let there be LESS light!”.

The script is run at start-up, and my backlight keys now actively change the screen brightness.

Hope this might be helpful, in case you have a similar underlying problem. I’m not sure if this fix is possibly just for an OLED-specific issue, so your milage may vary.

А теперь, как это все программируется

publicvoid ledControl(String name, int brightness) {<br>
try {<br>
FileWriter fw = new FileWriter("/sys/class/leds/" name "/brightness");<br>
fw.write(Integer.toString(brightness));<br>
fw.close();<br>
} catch (Exception e) {<br>
// Управление LED недоступно<br>
}<br>
}<br>
<br>
// Включим пурпурный индикатор<br>
ledControl("amber", 255);<br>
ledControl("blue",  255);<br>
<br>
// Сделаем дисплей темнее<br>
ledControl("lcd-backlight", 30);<br>
<br>
// Выключим подсветку кнопок<br>
ledControl("button-backlight", 0);<br>
<br>
// Организуем фонарик средней яркости<br>
ledControl("flashlight", 128);<br>

Автояркость: плюсы и минусы

Функция не всегда работает правильно, но в большинстве случаев очень полезно ей пользоваться. На это есть несколько весомых причин. Система автоматически выбирает оптимальный показатель яркости дисплея. Если сейчас солнечно, а через час появятся тучи, то датчик поймет, что необходимо уменьшить яркость дисплея. Благодаря автояркости и автоматической адаптации дисплея не меняется качество изображения на экране.

Автояркость положительно влияет на время автономной работы смартфона. Казалось бы, в чем отличие между ручной настройкой и автоматической? Эксперты из компании Battery Universe в своем исследовании пришли к выводу, что ручное регулирование уровня яркости снижает время работы.

Все из-за того, что при солнечном свете пользователи увеличивают яркость до 100%, забывая вовремя его отключить, когда пропадает необходимость. В результате этого смартфон начинает нагреваться и разряжается гораздо быстрее. Функция автояркости также подбирает оптимальные параметры яркости дисплея для просмотра видео при минимальной нагрузке на батарею.

У функции есть и явные недостатки. Например, в солнечную погоду смартфон не дает достаточного уровня яркости дисплея, чтобы не убивать батарею. С одной стороны, это полезно для самого смартфона, с другой — начинаешь испытывать дискомфорт, потому что ничего не видишь на экране.

Исходный ответ

Окончательная ссылка, кажется, находится в Дуге Linux, который является сайтом, к которому я обращался много раз для решения трудных проблем.

Как откалибровать автояркость на android

Не все знают, но эту функцию можно настроить, в результате чего она должна начать работать корректнее на любом Android-смартфоне. Рассказываем, как это сделать.

  • Разблокируйте устройство, прикрыв датчик освещенности пальцем (рядом с динамиком)
  • Отключите автояркость в настройках смартфона
  • Держите датчик закрытым. Установите яркость на минимум
  • Быстро включите автояркость и сразу же отключите
  • Держите смартфон напротив источника света или выйдите, где достаточно солнечного света, и уберите палец с датчика освещенности
  • Установите яркость на максимум и активируйте автояркость

Датчик должен начать работать адекватно. Почитать о других полезных лайфхаках можно в нашем канале в Яндекс.Дзен — не забудьте подписаться!

Когда xbacklight не работает

Вы попробовали xbacklight уже и ссылка выше обращается к этому:

В некоторых системах горячие клавиши яркости на Вашей клавиатуре правильно изменяют значения интерфейса acpi в /sys/class/backlight/acpi_video0/actual_brightness (Когда мы попробовали в комментариях), но яркость экрана не изменяется.

Если Вы протестировали рекомендуемые параметры ядра и только xbacklight работы, затем можно сталкиваться с несовместимостью между BIOS и драйвером ядра.

В этом случае единственное решение состоит в том, чтобы ожидать фиксации или от BIOS или от производителя драйверов GPU.

Обходное решение должно использовать inotify API ядра для инициирования xbacklight каждый раз значение /sys/class/backlight/acpi_video0/actual_brightness изменения.

Первые inotify-инструменты установки. Затем создайте сценарий вокруг inotify, который будет запущен после каждой начальной загрузки или через автоматический запуск.

Ниже сценарий, который необходимо создать названный: /usr/local/bin/xbacklightmon

#!/bin/sh

path=/sys/class/backlight/acpi_video0

luminance() {
    read -r level < "$path"/actual_brightness
    factor=$((100 / max))
    printf '%dn' "$((level * factor))"
}

read -r max < "$path"/max_brightness

xbacklight -set "$(luminance)"

inotifywait -me modify --format '' "$path"/actual_brightness | while read; do
    xbacklight -set "$(luminance)"
done

Существует намного больше в ссылке выше, но эти шаги являются хорошим местом для запуска.

Ложка дегтя в бочке меда linux mint: или как я яркость поборол

Доброго времени суток хабравчане!

На хабре было много обзоров и статей с впечатлениями от перехода на ОС Linux, в которых раскрывались все плюсы и минусы, мнения и решения некоторых проблем при работе с данной ОС. Не оказался исключением и я. О том, как я перешел на Linux Mint и о том, как решал проблему с яркостью подсветки, читайте под катом.

В жизни каждого айтишника порой наступает момент, когда он решает попробовать что-то новое и, собравшись с волей, сделав бэкап всего важного, записывает на болванку или флешку образ с так долго отобранным дистрибутивом (в моем случае я выбрал Linux Mint 17 x64 Cinnamon) Linux. И с ожиданием чуда загружается с нее.

Не буду описывать процесс установки, он и так везде описан по несколько раз. Скажу лишь что установка, на удивление прошла безболезненно. После перезагрузок меня встретил экран приветствия с приглашением ввода ввести логин и пароль пользователя, что я незамедлительно и проделал. После входа меня встретил приятных тонов рабочий стол и на мгновенье мне показалось, что я им пользовался сто лет! Все такое родное и понятное, что заставляет забыть о существовании Windows.

Первое впечатление оказалось весьма позитивными, я потихоньку начал осваивать новую для меня ОС. Прочитал руководство, заглянул на тематический форум, начал исследовать систему. На хабре были обзоры этого дистрибутива и у меня было представление о ней. Все компоненты ноутбука заработали с первого раза, wifi, bluetooth, веб-камера, даже USB-модем без установки драйверов сразу же определился системой, и после простых действий по указанию точки доступа заработал в полной мере.

Понравилась идея репозиториев, Менеджер программ с тысячами программ в одном месте. Так я начал осваиваться. Первым делом поставил нужное ПО, чтобы не было скучно; я включил музыку в плейере (кстати, Audacious заменил мне AIMP) и в какой-то момент захотел увеличить громкость. Нажал заветную комбинацию Fn курсор вправо и задел пальцем клавишу курсор вниз, то есть понижение яркости. На мое удивление, это не оказало никакого эффекта на уровень подсветки. Я попробовал еще раз, индикатор показал изменение, но яркость не поменялась.

Начал гуглить это явление. Из результатов поиска понял, что не у меня одного не меняется яркость и стал искать решение. К слову, конфигурацию ноутбука Lenovo B570e с процессором Core i5 2450m/ 4Gb RAM/ 500Gb HDD/ Intel HD Graphics 3000. Как оказалось, другие модели ноутбуков данного и других производителей также имеют проблему с регулированием яркости подсветки. Первым решением, которое я испробовал, было редактирование файла загрузчика grub. Выполнялось это таким порядком действий:

В терминале набирал команду:

sudo gedit /etc/default/grub

И в открывшемся окне текстового редактора нашел две строчки и привел их в такой вид:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
GRUB_CMDLINE_LINUX="acpi_osi=Linux"

Сохранил произведенные мною изменения и выполнил обновление загрузчика:

sudo update-grub

После этого перезагрузился и попробовал. После перезагрузки клавиши все также отказывались управлять яркостью, плюс ко всему пропал индикатор яркости, но получилось изменить яркость с помощью апплета управления яркостью.

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

sudo setpci -s 00:02.0 F4.B=xx

Где хх является значение от нуля до 100. На эту команду ноутбук не среагировал никак.

И, наконец, третий способ, заключался в том, чтобы изменить первые две строчки, но уже до такого вида:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="acpi_backlight=vendor"

В этом случае на экране отображается индикатор изменения яркости, но самого изменения яркости все также не происходило. Также и не получалось изменить яркость через апплет управления яркостью. После этих манипуляций вернул все как было и продолжил искать другие решения.

Вторым решением, которое нашлось на просторах интернета, было следующее.

В домашнем каталоге нужно было создать файл, с любым именем, но с форматом *.sh и внутри его прописать следующие значения:

#!/bin/bash
sudo echo -n 0 >/sys/class/backlight/acpi_video1/brightness 

Где 0 – яркость, а /sys/class/backlight/acpi_video1/brightness – путь к файлу, в котором сохраняется текущее значение яркости из параметров системы. После сохранения файла нужно было настроить его права доступа таким образом:

chmod  x ~/bin/brightness.sh

И запускать данный скрипт из терминала:

sudo sh ~/bin/brightness.sh

В результате значение яркости изменялось, но это решение не удовлетворило меня своей сложностью и лишними телодвижениями. Было найдено еще одно решение, уже на хабре , которое тоже не подошло. Под конец я наткнулся на еще одно решение, но из зарубежного сайта, которое и устроило меня в полной мере. В ней указывалось, что это решение для ноутбуков с графическими решениями от Intel, что мне более чем полностью подходило. Привожу это решение:

Запустить терминал и выполнить следующую команду:

ls /sys/class/backlight/

В результате мы увидим такой вывод команды:

kibis@kibis-Lenovo-B570e ~ $ ls /sys/class/backlight/
acpi_video0  intel_backlight

После чего создать конфигурационный файл, если его не существует, следующей командой в терминале:

sudo touch /usr/share/X11/xorg.conf.d/20-intel.conf

Открываем только что созданный нами файл для редактирования:

sudo gedit /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

Сохраняем. Перезагружаем. И — вуаля! В результате клавиши управления яркостью подсветки работают, индикатор уровня яркости отображается.

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

Нужно ли пользоваться автояркостью

Ручная регулировка зачастую удобна для нас, но вредит смартфону. По этой причине аккумулятор садится быстрее, а дисплей со временем начинает выцветать. С этой проблемой должен справиться датчик освещенности, который для этого и существует.

Стоит ли пользоваться этой функцией? Конечно, стоит. Почти всегда по умолчанию она работает некорректно, но попробуйте наш лайфхак, чтобы автояркость перестала трепать вам нервы.

Обновление 16 июня 2021

В прошлом месяце спустя 2 года после того, как о проблеме сообщили, OP обнаружила, что LightDM (среда рабочего стола Единицы Ubuntu) был источником проблемы. Тем не менее в дополнение к списку ниже, существует другой grub параметр, который можно попробовать:

video.use_native_backlight=1

См. этот ответ для больше.

Параметры ядра

Взгляд на Ваш cat /proc/cmdline нет никаких дополнительных переданных параметров ядра. Вышеупомянутые состояния канала:

Иногда, ACPI не работает хорошо из-за различных реализаций материнской платы и причуд ACPI. Это включает некоторые ноутбуки с двойной графикой (например, Nvidia/Radeon выделила GPU с Intel/AMD, интегрированным GPU). На ноутбуках Optimus Nvidia параметр ядра nomodeset может вмешаться в способность скорректировать подсветку.

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Если Вы находите то изменение acpi_video0 подсветка на самом деле не изменяет яркость, Вы, возможно, должны использовать acpi_backlight=none.

Попробуйте каждый из acpi_backlight=xxxx опции на Вашей строке параметров ядра личинки

Специализированные форумы

Для дополнительной поддержки существуют выделенные форумы Графики Linux:

Заключение


Все! Теперь телефон светится, как новогодняя елка. Код проверялся только на HTC Desire под управлением Android 2.2, но, вероятно, может работать и на других устройствах. Напишите мне, получится или не получится фокус на Вашем телефоне.

Оцените статью
Huawei Devices
Добавить комментарий