Как изменить интенсивность / яркость подсветки внешнего дисплея ASUS Screenpad

У меня есть новый 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, я вижу следующее:

0
задан 3 January 2020 в 14:47

2 ответа

Проверьте это исправление для модуля ядра asus-wmi от Plippo (хорошо задокументировано, легко устанавливается). Это текущие инструкции, но, пожалуйста, проверьте, были ли они обновлены.

Чтобы установить и использовать этот модуль с помощью dkms:

  1. Убедитесь, что вы используете ядро, для которого хотите установить модуль. Поэтому, если вы обновили ядро, сначала перезагрузитесь, чтобы при установке использовалась правильная версия ядра.

  2. Установите DKMS, используя метод вашего дистрибутива. Debian/Ubuntu/и др.:

    sudo apt install dkms
    

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

    sudo apt install linux-headers-$(uname -r)
    
  3. Создайте каталог для модуля и загрузите исходный код

    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 в эту папку.

  4. Если не используется ядро ​​5.4: вызовите следующий скрипт для загрузки и исправления файлов, соответствующих вашей версии ядра

    sudo sh prepare-for-current-kernel.sh
    
  5. Зарегистрируйте модуль в DKMS

    sudo dkms add -masus-wmi -v 1.0
    
  6. Соберите и установите модуль в текущее ядро

    sudo dkms build -m asus-wmi -v 1.0
    sudo dkms установить -m asus-wmi -v 1.0
    

    С этого момента DKMS будет автоматически пересобирать модуль при каждом обновлении ядра.

  7. После перезагрузки вы должны найти новое устройство в /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.

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

Удаление или переустановка

Если вы хотите повторно загрузить и переустановить модуль ядра (возможно, из-за изменений в коде), вы должны сначала удалить старый, вызвав

sudo dkms remove - м asus-wmi -v 1.0 --все
sudo rm -r /usr/src/asus-wmi-1.0

Затем повторите шаги, описанные выше, начиная с шага 2.

В этой проблеме GitHub обсуждаются некоторые другие обходные пути.

0
ответ дан 26 June 2020 в 10:26

asus-wmi отлично работал у меня до последнего обновления . Только что нашел регулятор яркости, добавил поддержку нескольких окон, запустите

sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt update
sudo apt install brightness-controller

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

1
ответ дан 11 January 2021 в 13:44

Другие вопросы по тегам:

Похожие вопросы: