У меня есть новый zenbook 15, который поставляется с дополнительным дисплеем на сенсорной панели. Ubuntu прекрасно это распознает, если я использую Xorg и Intel GPU. Однако проблема в том, что яркость на нем не установлена на максимум. Поскольку ASUS предоставляет драйверы для Windows, я могу регулировать подсветку через приложение. В Linux все не так.
Вот как это выглядит в Ubuntu:
И в Windows:
Это то, что xrandr
показывает дисплей следующим образом:
HDMI-1 connected 2160x1080+0+1080 right (normal left inverted right x axis y axis) 66mm x 134mm
1080x2160 50.03*+
504x1000 50.03
Я пытаюсь установить яркость через xrandr --output HDMI-1 --brightness 1.5
(т.е. выше 1), но это только делает экран более насыщенным. Вроде не управляет собственно подсветкой.
Есть подсказки? Я попытался возиться с ddcutil, используя sudo ddcutil detect, чтобы получить (обратите внимание, что i2c-3 - это экранная панель):
Invalid display
I2C bus: /dev/i2c-3
EDID synopsis:
Mfg id: TSB
Model: ScreenXpert-
Serial number: Unspecified
Manufacture year: 2011
EDID version: 1.3
DDC communication failed
Invalid display
I2C bus: /dev/i2c-8
EDID synopsis:
Mfg id: BOE
Model: Unspecified
Serial number: Unspecified
Manufacture year: 2018
EDID version: 1.4
DDC communication failed
Я не был уверен, как установить подсветку, поэтому я загрузил графический интерфейс для ddccontrol (gddccontrol) и когда я пытался изменить настройки i2c-3, я вижу следующее:
Проверьте это исправление для модуля ядра asus-wmi от Plippo (хорошо задокументировано, легко устанавливается). Это текущие инструкции, но, пожалуйста, проверьте, были ли они обновлены.
Чтобы установить и использовать этот модуль с помощью dkms:
Убедитесь, что вы используете ядро, для которого хотите установить модуль. Поэтому, если вы обновили ядро, сначала перезагрузитесь, чтобы при установке использовалась правильная версия ядра.
Установите DKMS, используя метод вашего дистрибутива. Debian/Ubuntu/и др.:
sudo apt install dkms
Кроме того, у вас должны быть установлены заголовки для ваших текущих ядер. Большинство дистрибутивов предоставляют пакет для этого. Например. Ubuntu:
sudo apt install linux-headers-$(uname -r)
Создайте каталог для модуля и загрузите исходный код
sudo mkdir /usr/src/asus-wmi-1.0 компакт-диск /usr/src/asus-wmi-1.0 sudo wget 'https://github.com/Plippo/asus-wmi-screenpad/archive/master.zip' sudo распаковать master.zip sudo mv asus-wmi-screenpad-master/* . sudo rmdir asus-wmi-screenpad-master sudo rm master.zip
Теперь исходный код должен находиться в
/usr/src/asus-wmi-1.0
.Важно, чтобы папка называлась именно так, потому что DKMS ожидает именно этого. В качестве альтернативы вы, конечно, также можете клонировать этот репозиторий git в эту папку.Если не используется ядро 5.4: вызовите следующий скрипт для загрузки и исправления файлов, соответствующих вашей версии ядра
sudo sh prepare-for-current-kernel.sh
Зарегистрируйте модуль в DKMS
sudo dkms add -masus-wmi -v 1.0
Соберите и установите модуль в текущее ядро
sudo dkms build -m asus-wmi -v 1.0 sudo dkms установить -m asus-wmi -v 1.0
С этого момента DKMS будет автоматически пересобирать модуль при каждом обновлении ядра.
После перезагрузки вы должны найти новое устройство в
/sys/class/leds/asus::screenpad
. Чтобы установить яркость экрана, просто вызовитеecho XXX | sudo tee '/sys/class/leds/asus::screenpad/brightness'
где
XXX
— значение от 0 до 255 (0 полностью отключает экран, 255 устанавливает максимальную яркость). Чтобы позволить каждому пользователю устанавливать яркость без использованияsudo
, вызовитеsudo chmod a+w '/sys/class/leds/asus::screenpad/brightness'
Теперь вы можете установить яркость, просто выполнив
echo XXX > '/sys/class/leds/asus::screenpad/brightness'
chmod
необходимо выполнять снова после каждой перезагрузки, поэтому рекомендуется добавить вызов в загрузочный скрипт, например/etc/rc.local
.Теперь вы также можете использовать функциональные возможности среды рабочего стола для сопоставления функциональных клавиш на клавиатуре с действиями по вашему выбору.Например, вы можете создать скрипт, который переключает состояние экранной панели и сопоставить его с клавишей «Переключить экранную панель».
Удаление или переустановка
Если вы хотите повторно загрузить и переустановить модуль ядра (возможно, из-за изменений в коде), вы должны сначала удалить старый, вызвав
sudo dkms remove - м asus-wmi -v 1.0 --все sudo rm -r /usr/src/asus-wmi-1.0
Затем повторите шаги, описанные выше, начиная с шага 2.
В этой проблеме GitHub обсуждаются некоторые другие обходные пути.
asus-wmi
отлично работал у меня до последнего обновления . Только что нашел регулятор яркости, добавил поддержку нескольких окон, запустите
sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt update
sudo apt install brightness-controller
Чтобы установить, затем его 2 переключателя, по одному на каждый экран при запуске программы. Должен появиться, если вы его ищете.