Невозможно изменить яркость в ноутбуке Lenovo


43

Клавиши регулировки яркости < Fn+ / > не действуют (хотя они распознаются средой), и я не могу также изменить яркость с помощью инструментов GUI. Это кажется проблемой в самом Linux, а не в среде рабочего стола.

Я могу изменить яркость в ОС Windows, так что это не какая-то аппаратная ошибка.

Подробности:
          Lenovo B570 (название модели: 20093)
          Интегрированная видеокарта Intel HD
          Kubuntu 11.04 (универсальная версия Linux 2.6.38-10, KDE 4.7.0), все в актуальном состоянии.
          Никаких проприетарных графических драйверов (только Wi-Fi один)

Что я пробовал:

  • Edit /etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT: acpi_osi=Linux, acpi_backlight=vendor, nomodeset. И да, я сделалupdate-grub
  • Изменить /etc/X11/xorg.conf(нет такого файла, даже после sudo dpkg-reconfigure xserver-xorg)
  • Изменить /proc/acpi/video/VGA/LCD/brightness(нет такого файла)
  • sudo setpci -s 00:02.0 F4.B=XX (нет эффекта)
  • xbacklight -set XX(" No outputs have backlight property")

Как я могу исправить эту проблему?


1
Это было исправлено в Ubuntu 11.10!
Олег Припин

5
Это кажется сломанным снова в Ubuntu 12.04.
Mittenchops

И Ubuntu 16.04 еще.
Диего

Ответы:


10

Попробуй это . Это работало для моей Ubuntu 14, Lenovo B570, Intel Graphics.

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

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

Сохрани это. Выйдите и войдите обратно.


Спасибо - Это также работало на нетбуке Samsung N220 с интегрированной графикой Intel (GMA 3150) под управлением Xubuntu 15.04 "vivid"
Эндрю

1
Нет, это убило мой X. пришлось снова удалить файл в консоли восстановления.
Towi

Это не работает на Lenovo P500.
Гален

2
Это сработало для меня на Thinkpad T460 с Ubuntu 17.04, мне просто нужно было выйти, а затем войти.
Эллиот Гороховский,

Чтобы проверить идентификатор шины PCI, запустите lspci -nn. Тем не менее, это не работает для меня в Thinkpad E490.
Энрико

38

Если инструменты GUI не работают, попробуйте использовать терминал для него.

  1. Откройте терминал

  2. Run: ls /sys/class/backlight/*/brightness. Пример вывода будет:

    /sys/class/backlight/acpi_video0/brightness
    
  3. Если ничего не найдено, ядро ​​не поддерживает управление яркостью (отсутствуют драйверы?). В противном случае вы можете использовать следующие команды (заменить acpi_video0соответственно):

    • Получить текущий уровень яркости:

      cat /sys/class/backlight/acpi_video0/brightness
      
    • Получить максимальный уровень яркости:

      cat /sys/class/backlight/acpi_video0/max_brightness
      

    Эти команды возвращают уровни яркости в диапазоне от нуля до максимальной яркости (см. Выше).

  4. Чтобы изменить уровень яркости, вам нужно записать число в brightnessфайл. Это не может быть сделано редактором, как gedit. Скажем, вы хотите изменить яркость на 5, вам нужно запустить:

    echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
    

    В качестве альтернативы, если вы просто хотите установить максимальный уровень яркости:

    sudo tee /sys/class/backlight/acpi_video0/brightness < /sys/class/backlight/acpi_video0/max_brightness
    

5
Конечно, есть проблемы с драйверами! Если бы это работало из командной строки, GUI тоже работал бы. Но, конечно, это не работает - _
Олег Припин

@Lekensteyn: [не работал, 11.04 использует Ubuntu] - я много пробовал, но в реальном времени это не сработало. Вы имели в виду, что при изменении этого он будет отображаться вживую или после перезагрузки?

2
Изменения в реальном времени.
Лекенштейн

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

@Galen Если вы не ошиблись при записи в файл, то это может быть проблема, связанная с моделью. Попробуйте сообщить об этом как об ошибке или поищите модель своего ноутбука и "подсветку linux".
Лекенштейн

10
  1. Install linux-kamal-mjgbacklight- патч для ядра Linux.

    • Проверьте, будет ли это работать у вас: должно появиться
      lsmod | grep ^i915
      что-то подобное i915 331519 3. Если нет вывода, это не будет работать.
    • sudo add-apt-repository ppa:kamalmostafa/linux-kamal-mjgbacklight
    • Установить обновления ( sudo apt-get update; sudo apt-get upgrade)
  2. Перезагружать.

  3. Теперь вы можете использовать терминал для регулировки яркости, как и предложил по Lekensteyn .
    Если вы можете изменить яркость с помощью терминала + sudo, это конец ответа.
    Если вы работаете на рабочем столе GNOME, яркость может даже полностью функционировать.

  4. Загрузите мой сценарий изменения яркости , разрешите его выполнение и поместите в / usr / local / bin / :
    wget -O brightness http://ideone.com/plain/yPlo5
    chmod +x brightness
    sudo mv brightness /usr/local/bin

  5. Мы должны разрешить редактирование файла яркости, чтобы sudoон не был необходим везде.
    Кроме того, мы хотим, чтобы настройка яркости вернулась к предыдущей настройке при загрузке системы (к сожалению, она не сохраняется по умолчанию).

    Упомянутый brightnessскрипт может обрабатывать все это (с restoreпараметром), просто добавьте его в автозапуск.
    Для этого мы отредактируем /etc/rc.local ( sudo nano /etc/rc.localили любой редактор вместо nano).
    Добавьте следующую строку перед exit 0строкой:
    /usr/local/bin/brightness restore

  6. Лучше всего перезагрузить сейчас.

  7. Так что brightnessскрипт работает. Вы можете зайти в терминал в любое время и набрать:

    • brightness - получить текущие настройки яркости
    • brightness value- установить яркость на значение
    • brightness inc step, - увеличить или уменьшить яркость шаг за шагом (если она не указана, из файла конфигурации используется значение по умолчанию, обычно 10% от максимальной яркости)brightness dec step
  8. Теперь вы можете захотеть отобразить изменение яркости на ваши горячие клавиши.

    • Установите XF86BrightnessUp вbrightness inc
    • Установите для XF86BrightnessDown значениеbrightness dec
  9. Если вы хотите что-то настроить, посмотрите на /etc/bx_brightness.conf.
    Вы можете изменить шаг изменения яркости с помощью brightness inc/dec


Спасибо Toz за его бесценную помощь в этой теме .


1
Это больше не нужно в Ubuntu 11.10
Олег Припин

4

Я думаю, что нашел легкий и наименьший эффект в способе существующих вещей для настройки intel_backlight с использованием правил udev.

Я заметил действие «изменить» подсистемы «подсветки», когда нажимаю Fn+ Up/ Downна моем ноутбуке Lenovo G360 с ядром 3.2. Итак, я написал правила /etc/udev/rules.d/99-writeintelbacklight.rulesкак ниже:

ACTION=="change", SUBSYSTEM=="backlight", RUN+="/usr/sbin/writeintelbacklight.sh"

Сделать сценарий оболочки, /usr/sbin/writeintelbacklight.shсодержащий:

#!/bin/bash

intelmaxbrightness=`cat /sys/class/backlight/intel_backlight/max_brightness`
acpimaxbrightness=`cat /sys/class/backlight/acpi_video0/max_brightness`
scale=`expr $intelmaxbrightness / $acpimaxbrightness`
acpibrightness=`cat /sys/class/backlight/acpi_video0/brightness`
newintelbrightness=`expr $acpibrightness \* $scale`
curintelbrightness=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ "$newintelbrightness" -ne "$curintelbrightness" ]
then
  echo $newintelbrightness > /sys/class/backlight/intel_backlight/brightness
fi
exit 0

Конечно, вам нужно сделать sudo chmod +x /usr/sbin/writeintelbacklight.sh.


1
Добавлены "acpi_backlight = vendor acpi_osi = linux video.brightness_switch_enabled = 1" в параметры ядра загрузки grub, "Fn + Up / Down" для изменения работоспособности на моем G360. Нет необходимости писать правила Udev, как указано выше.
Littlebat

Кажется, добавление только одного параметра ядра «acpi_backlight = vendor» также работает на моем G360. Но оба метода добавления параметров ядра будут иногда останавливаться. Подробности моего случая см .: Ошибка 44809 - [Подсветка Аррандейла] Яркость через RANDR не влияет на Sony VAIO VPCYA1V9E: bugs.freedesktop.org/show_bug.cgi?id=44809
littlebat

4

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

Я попробовал несколько из этих решений, но у меня ничего не получалось, пока я не нашел эту маленькую индикаторную программу http://codevanrohde.nl/wordpress/?p=128 . С его помощью вы можете настроить горячие клавиши для управления яркостью, использовать колесо мыши или выбрать из выпадающего списка на индикаторе. Я заменил «Fn» на «Win + Alt», что очень похоже на мои руки, и теперь я также могу использовать его с внешней клавиатурой!

Чтобы добавить PPA и установить:

sudo add-apt-repository ppa:indicator-brightness/ppa
sudo apt-get update && sudo apt-get install indicator-brightness

Горячие клавиши должны быть назначены:

/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --up

а также

/opt/extras.ubuntu.com/indicator-brightness/indicator-brightness-adjust --down

Сноска. Из коробки индикатор родимости распознает 7 уровней яркости в моей системе. Добавив acpi_backlight=vendorк линии GRUB_CMDLINE_LINUX_DEFAULTв /etc/default/grub, что число врезались до 16!


4

У меня есть Lenovo IdeaPad Z400.

Я попробовал все СОВЕТЫ, перечисленные выше, безуспешно.

Поэтому я нашел другой, который работал очень хорошо:

Поместите следующую строку в / etc / default / grub

GRUB_CMDLINE_LINUX="acpi_backlight=vendor acpi_osi=Linux resume=/dev/sdYY"

YY = область подкачки, используйте swapon -s, чтобы увидеть ваше устройство подкачки.

Запустите update-grub от имени пользователя root

После перезагрузки проблема была решена.


Это сработало для меня, однако случилось нечто любопытное. Когда яркость установлена ​​на максимум, экран не показывает яркость (полностью темный), есть какие-либо предложения? Спасибо
Адриано Риволли

2

У меня есть Thinkpad T450s с графикой Nvidia и бинарными драйверами на Ubuntu 14.04. Чтобы заставить работать подсветку, мне пришлось отредактировать файл /etc/X11/xorg.conf, добавив следующую строку в определение устройства intel (xorg.conf-файл создается при установке бинарных драйверов):

Option      "Backlight"  "intel_backlight"

Полный раздел теперь:

Section "Device"
    Identifier "intel"
    Driver "intel"
    BusID "PCI:0@0:2:0"
    Option "Backlight" "intel_backlight"
    Option "AccelMethod" "SNA"
EndSection

1

Это не работает для пользователей KDE, как написано в https://launchpad.net/~kamalmostafa/+archive/linux-kamal-mjgbacklight

ЗАМЕЧАНИЯ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ KDE DESKTOP

Пользователи рабочего стола KDE: этот PPA НЕ МОЖЕТ исправить горячие клавиши управления подсветкой: для этого исправления требуется модуль ядра для обеспечения нового /sys/class/backlight/intel_backlightинтерфейса (который будет работать независимо от вашего рабочего стола), а также модуль рабочего стола для доступа к этому интерфейсу. Для Gnome, обновленный gnome-power-manager в этом PPA обеспечивает это, но аналог для KDE еще не разработан ".

Однако вы можете попробовать найти решение, найденное здесь .

Это говорит о том, чтобы ввести в терминале, echo XXX | sudo tee /sys/class/backlight/intel_backlight/brightnessгде XXX является целочисленным значением.

В моем случае XXX может быть значением от 0 до 4882, но будьте осторожны: если вы напишите 0, экран будет полностью черным, и вы ничего не увидите.


1

Вот патч, который вы можете сделать.

Создайте этот скрипт с именем .modificarBrillo.sh (в моем случае я создал его в своей домашней папке: ~ / .modificarBrillo.sh)

#!/bin/bash
if [ -z "$1" ]; then
    echo "ERROR: Tiene que introducir un parámetro: \"a\" para aumentar o \"d\" para disminuir"
    exit
else
    if [ "$1" != "a" ] && [ "$1" != "d" ]; then
        echo "ERROR: el parámetro de entrada sólo puede ser o \"a\" para aumentar el brillo o \"d\" para disminuirlo"
        exit
    fi
fi
MAX_BRILLO=`cat /sys/class/backlight/intel_backlight/max_brightness`
MIN_BRILLO_ABSOLUTO="0"
MIN_BRILLO="100" #el brillo mínimo puede ser 0 pero eso deja la pantalla completamente a oscuras
INTERVALO=`expr $MAX_BRILLO - $MIN_BRILLO_ABSOLUTO`
INTERVALO=`expr $INTERVALO / 10`
brillo=`cat /sys/class/backlight/intel_backlight/actual_brightness`
if [ "$1" = "a" ]; then
    let "brillo = brillo + INTERVALO"
    if [ "$brillo" -gt "$MAX_BRILLO" ]; then
    let "brillo = MAX_BRILLO"
    fi
else
    let "brillo = brillo - INTERVALO"
        if [ "$brillo" -lt "$MIN_BRILLO" ]; then
            let "brillo = MIN_BRILLO"
        fi
fi
echo "$brillo" | tee /sys/class/backlight/intel_backlight/brightness

Однако, поскольку предыдущий сценарий требует разрешения на выполнение, и / sys / class / backlight / intel_backlight / bright может редактироваться только пользователем root, и вы должны выполнить его в терминале:

chmod a+x ~/.modificarBrillo.sh
sudo chmod a+w /sys/class/backlight/intel_backlight/brightness`

Последняя команда должна выполняться при каждом запуске, так как права доступа к файлу яркости обновляются при запуске. Для этого sudo vim /etc/rc.localдобавьте команду sudo chmod a+w /sys/class/backlight/intel_backlight/brightnessперед строкой «exit 0».

Наконец, вы должны установить xbindkeys, чтобы назначить функциональную клавишу для выполнения скрипта.

В моем случае я добавляю строки в файл конфигурации ~ / .xbindkeysrc

#Aumentar brillo
"/home/alvaro/.modificarBrillo.sh a"
    m:0x0 + c:233
    XF86MonBrightnessUp 

#Disminuir brillo
"/home/alvaro/.modificarBrillo.sh d"
   XF86MonBrightnessDown

Но вы также можете установить программу xbindkeys-config для графического выполнения процесса.


1

Отредактируйте /etc/default/grubфайл и добавьте
pcie_aspm=force acpi_backlight=vendorпосле
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Тогда вся строка будет выглядеть так:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_aspm=force acpi_backlight=vendor"

Для более подробной информации посетите эту ссылку .


1

У меня была такая же проблема, я использую Gnome3.10 в Ubuntu 14.04 (Unity). Я установил tlp для контроля температуры в моем ноутбуке. Я просто удалил «tlp» и перезагрузил свою систему, и я могу регулировать яркость экрана, используя функцию (fn) + клавиши со стрелками.

Это может помочь проверить это один раз.


1

Была такая же проблема (видимо) с Lenovo IP G50-70. - На самом деле, ни одна из функциональных клавиш «не появилась» для работы. В итоге в биосе я обнаружил функцию включения / выключения «горячей клавиши». Как это ни парадоксально, он был «включен», но на самом деле это позволяет нажать одну клавишу для функциональных клавиш. Фактически, если вы используете традиционную технику «Fn + Function keyX», они не работают.

Если вы отключите функцию горячих клавиш в BIOS, то функциональные клавиши будут работать «как положено» (Fn + функциональная клавиша). - После этого все функциональные клавиши работали нормально. Так много для прогресса


1

Мне пришлось добавить эти строки в Grub:

acpi_backlight=vendor acpi_osi=linux thinkpad-acpi.brightness_enable=1

Обратите внимание, что последний. Это было то, что заставило работать клавиши яркости.


0

Вы можете использовать этот пакет для работы с яркостью из командной строки (терминала), с помощью xbacklightкоманды.

xbacklightУстановить xbacklight можно установить в Центре программного обеспечения. Или в Терминале:

sudo apt-get update && sudo apt-get install xbacklight

вы можете использовать

  • xbacklight -inc <range from 0 to 100> увеличить яркость со значением < ... >

  • xbacklight -dec <range from 0 to 100> уменьшить яркость со значением < ... >


Этот работал для меня, используя Thinkpad E490. Благодарность!
Энрико

0

У меня была проблема на Thinkpad W510 под управлением kubuntu 18.04.

Я нашел это на форуме Lenovo:

tpb - программа для использования специальных ключей IBM ThinkPad (tm)

sudo apt-get install tpb

Вуаля! Клавиши регулировки яркости теперь работают отлично! Мне даже не нужно было выходить из системы и обратно.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.