Проблема яскравості підсвітки nvidia


8

Проблема

Unity показує контроль, коли я натискаю яскравість Fn + Збільшення / Зниження яскравості, але нічого не відбувається. У консолі яскравість теж не працює, поки працює X-сервер.

Перевірені рішення

Я спробував ВСІ МОЖЛИВІ рішення цієї проблеми в google, і нічого не працює:

  1. написати acpi_backlight у grub
  2. перевстановити драйвери за допомогою apt purge nvidia *
  3. написати "EnableBrightnessControl = 1" в xorg.conf
  4. встановити nvidia-375.66, nvidia-378.13, 381.22, 384.47
  5. "xbacklight -set X" не працює
  6. зміна / sys / class / підсвітка / яскравість
  7. оновити ядро ​​Linux з 4.8 до 4.10 та 4.12
  8. замінити EDID зі старої матриці (вона все ламає)
  9. setpci -v -H1 -s 00: 01.0 3e.W = 0, а потім змінити підсвічування за допомогою клавіш Fn +.
  10. xrandr - вихід DP-0 - яскравість 0,5 --- неправильне рішення

Моя система та ситуація

Раніше я використовував матрицю дисплея N173HHE-G32 у своєму ноутбуці, і все було нормально. Але сьогодні я замінив його на B173HAN01.2, і ця проблема почалася. У Windows 10 я вирішив це шляхом перевстановлення драйверів на nvidia-376 з офіційного веб-сайту MSI.

Отже, я бачу наступну послідовність: при запуску ноутбука яскравість максимальна, тоді вона мінімальна (і працює), а текст "initramfs ..." відображається в консолі. І після запуску сервера X яскравість знову максимальна (порушена). Коли сервер X зупиняється, яскравість знову працює!

MSI GT73VR 7RF, Ubuntu 16.04.2 LTS, NVidia GeForce GTX1080, B173HAN01.2 display matrix

uname -a 
4.8.0-58-generic #63~16.04.1-Ubuntu SMP Mon Jun 26 18:08:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1be0 (rev a1)

Однак!

Але коли я використовую 378 NVIDIA-це ПРАЦЮЄ ! На жаль, 378 має критичні помилки після призупинення режиму в інтерфейсі Unity: (((

Допоможіть, будь ласка, мої очі в крові (це для них дуже яскраво), і я не знаю, що робити ...

Оновлено! Через два роки я зрозумів, що проблема полягає у lightdm (або X сервері). Коли я зупиняю це все нормально ...


Мабуть, найкращий курс - це драйвер 378 та виправлення призупинення / відновлення помилок за допомогою нього. Що таке клопи?
WinEunuuchs2Unix

Помилки з інтерфейсом Unity - деякі артефакти навколо кордонів вікон та меню. Є опис - bugs.launchpad.net/ubuntu/+source/unity/+bug/1675597
Макс Ткаченко

Я думаю, хтось сказав місяць-два тому, що це було зафіксовано у версії 381 чи щось подібне. Я думаю , що це був askubuntu.com/users/15811/rinzwind , хто це сказав , але askubuntu.com/users/167850/pilot6 я вважаю , ще один експерт.
WinEunuuchs2Unix

1
Виправлено помилку з призупиненням, але підсвічування не працює :( я спробував 381..і багато інших версій ..
Макс Ткаченко

Чи можете ви оновити своє запитання результатами:for i in /sys/class/backlight/*; do echo $i; cat $i/brightness; cat $i/actual_brightness; cat $i/max_brightness; done
WinEunuuchs2Unix

Відповіді:


8

Оновлення 16 червня 2019 року

Минулого місяця, через 2 роки після повідомлення про проблему, ОП виявив, що LightDM (Ubuntu Unity Desktop Manager) став джерелом проблеми. Однак, крім списку нижче, є ще один grubпараметр, який можна спробувати:

video.use_native_backlight=1

Детальну інформацію див. У цій відповіді .


Оригінальний відповідь

Кінцева посилання, здається, знаходиться в Arch Linux, який є сайтом, на який я багато разів звертався, щоб вирішити складні проблеми.

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

Дивлячись на ваш cat /proc/cmdline, додаткові параметри ядра не передані. Наведене вище посилання говорить:

Іноді ACPI працює недостатньо добре через різні реалізації материнської плати та примхи ACPI. Сюди входять деякі ноутбуки з подвійною графікою (наприклад, виділений графічний процесор Nvidia / Radeon з інтегрованим графічним процесором Intel / AMD). На ноутбуках Nvidia Optimus параметр ядра nomodeset може перешкоджати можливості регулювання підсвітки. Крім того, ACPI іноді потрібно зареєструвати власну, acpi_video0 backlightнавіть якщо така вже існує (наприклад, intel_backlight), що можна зробити, додавши один із наступних параметрів ядра:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Якщо ви виявите, що зміна acpi_video0підсвітки насправді не змінює яскравість, можливо, вам доведеться скористатися acpi_backlight=none.

Спробуйте кожен із acpi_backlight=xxxxваріантів лінійки пареметрів ядра grub

Коли xbacklightне працює

Ви вже спробували, xbacklightі посилання вище стосується цього:

У деяких системах гарячі клавіші яскравості на вашій клавіатурі правильно змінюють значення інтерфейсу acpi в /sys/class/backlight/acpi_video0/actual_brightness( Як ми намагалися в коментарях ), але яскравість екрана не змінюється. Яскраві аплети з робочих середовищ (тобто повзунок налаштування яскравості Ubuntu ) також можуть показувати зміни без ефекту.

Якщо ви перевірили рекомендовані параметри ядра і xbacklightпрацює лише , можливо, у вас виникне несумісність між вашим BIOS і драйвером ядра.

У цьому випадку єдине рішення - чекати виправлення або від виробника драйверів BIOS або GPU.

Вирішення проблеми полягає у використанні inotifyapi ядра для запуску 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 '%d\n' "$((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 Graphics:


Дякую за таку велику відповідь! 1) Спробуйте кожен із параметрів acpi_backlight = xxxx у рядку параметрів ядра grub --- так, я пробував багато разів без жодного результату.
Макс Ткаченко

На жаль, xbacklight теж не працює :(
Макс Ткаченко

Я думаю, що це помилка з драйверами .. і мені потрібен хтось із команди nvidia dev :)
Макс Ткаченко

Якщо я добре пам’ятаю, команда nVidia, яка зазвичай працювала на драйвері Linux, просто перемкнулася, і в наступні дні може бути не однакова підтримка Linux.
Бен-Набій Деруш

@ ben-NabiyDerush Я пам'ятаю, минулого року Nvidia запустила форум, спеціально спрямований на з'ясування проблем, які виникають у користувачів, і які працюють з ними для їх вирішення. Я вважаю, що їх фокус був Linux. Сьогодні я знову пішов шукати форум, але не зміг його знайти. Хоча я знайшов ще два форуми підтримки та оновив відповідь на них.
WinEunuuchs2Unix

2

Привіт, прошу вибачення, якщо це щось, що розумні люди вже виключили, тому що я далеко не знайомий з командним рядком, але після перевстановлення я потрапив у цю проблему, і всі перераховані вище рішення не працювали для мене (MSI pe706QE nvidia 960m ).

Я редагував /etc/default/grub:

gksudo 'insert editor of choice not in quotes' /etc/default/grub

і помітив, що nomodesetвсе ще сидів у нижній частині файлу (я не пам'ятаю, щоб постійно додавати його) і видалив його.

збережіть файл і запустіть:

sudo update-grub 

усі знову працюють із клавішами швидкого доступу #noobie не сподіваюся, що це може допомогти комусь.


2

У мене ноутбук Sony VPCEH, у мене була така ж проблема. Я спробував це рішення, яке працювало для мене:  http://ubuntuforums.org/showthread.php?t=2221452#6 Коротко: за допомогою кореневих привілеїв створіть файл /usr/share/X11/xorg.conf.d/20- nvidia.conf із наступним змістом

Розділ "Ідентифікатор пристрою" Device0 "Драйвер" nvidia "VendorName" NVIDIA Corporation "BoardName" GeForce 410M "Опція" RegistryDwords "" EnableBrightnessControl = 1 "EndSection

Вийдіть і знову ввійдіть, щоб перевірити. І це обережно додає: "Якщо щось піде не так, просто видаліть цей файл і перезавантажте для відновлення системи". Але я не потребував цього доповнення. Після виходу з системи та входу в систему управління яскравістю знову почав працювати. Я сподіваюся, що це теж допоможе вам ...

або цей після роботи з ubuntu 16.04 під моїм ноутбуком sony VPCEJ2C5E, але з nvidia 378.13 я поки що не використовую драйвери 390,25.

Мені вдалося отримати свої клавіші яскравості, що працюють на моєму Lenovo W530 на Ubuntu 12.04. Ці дні X автоматично налаштовує себе, тому створення файлу xorg.conf може зробити вашу систему негнучкою. Натомість ви можете додати розділ до файлу в /usr/share/X11/xorg.conf.d/, і X включить цей розділ у конфігурацію, яку він автоматично генерує. Отже, щоб отримати клавіші яскравості екрану для роботи з графічною карткою Nvidia, створіть файл у каталозі xorg.conf.d, наприклад: sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf Вставте у файл наступне:

Розділ "Ідентифікатор пристрою" Device0 "Драйвер" nvidia "VendorName" NVIDIA Corporation "BoardName" Quadro K1000M "Опція" RegistryDwords "" EnableBrightnessControl = 1 "EndSection

Вийдіть і увійдіть знову, або перезавантажтесь, і ваші клавіші яскравості тепер повинні працювати!

введіть тут опис зображення


2

На запит wineunuuchs2unix я надсилаю відповідь на подібне запитання тут.

Спробуйте acpi_osi=

Під час оновлення до Bionic кілька днів тому я зіткнувся з подібною проблемою (у мене NVIDIA GeForce GTX 1060 Mobile, але для мене /sys/class/backlightвін відображається як порожній).

Працюючи через процедуру налагодження підсвічування , я виявив вирішення за допомогою параметрів ядра:

  • У розділі "Програмне забезпечення та оновлення" → "Додаткові драйвери" переконайтесь, що у вас nvidia-driver-396вибрано (чи той метапакет є поточним; 396 - останнім на момент написання).
  • Редагувати /etc/default/grub, запустивши команду sudo nano /etc/default/grub(необов’язково замінюючи nanoулюбленим редактором).
  • Знайдіть рядок, який встановлюється GRUB_CMDLINE_LINUX_DEFAULTта додайте acpi_osi=в кінці всередині лапок. У більшості систем це дозволить вам прочитати рядки GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=".
  • Збережіть та вийдіть із редактора.
  • Виконайте команду sudo update-grubта перезавантажте.

(Якщо ці кроки не спрацюють, відновіть налаштування, повторивши процес, але видаливши, acpi_osi=коли ви редагуєте конфігурацію GRUB.)

Ще одним вирішенням, якщо це варіант для вас, є перехід на основне ядро . Зокрема, я не бачу проблеми під основним ядром версії 4.17.

(Про помилку тут повідомляється .)


1
на жаль, це не допомагає :(
Макс Ткаченко

1

клонуйте це репо і вставте сценарій backlight.shу /bin. потім зробіть його виконуваним і після цього відкрийте кореневий термінал і виконайте наступну команду.

sudo backlight.sh "brightness-level-number".

клонувати сховище,

git clone https://github.com/el-beth/backlight.sh.git


Дякую! На жаль, він використовує "echo $ 1> / sys / class / backlight / 0 / яскравість;" і це те саме, що я написав нижче "6. зміна / sys / class / backlight / яскравість"
Макс Ткаченко

це не /sys/class/backlight/0/brightnessправильний шлях/sys/class/backlight/acpi_video0/brightness
endrias

або інший подібний шлях для систем із спеціалізованим графічним обладнанням.
endrias

У будь-якому випадку це не працює :(
Макс Ткаченко

1

Ви можете встановити пакет команд xbacklight у терміналі:

sudo apt-get install - встановіть xbacklight

Після установки ви можете використовувати команду xbacklight наступним чином:

xbacklight -in 20 # збільшити підсвітку на 20%

xbacklight -dec 30 # зменшення на 30%

xbacklight -встановити 80 # 80, встановити 80% максимального значення

xbacklight -get # отримати поточний рівень

Команда xbacklight повинна працювати таким чином.


1
Вибачте, але xbacklight у списку перевірених рішень .. Не працює :(
Макс Ткаченко

1

одна програма для вирішення всієї цієї проблеми !!!

у мене GTX 1060 6Gb настільний ubuntu 16.04

НЕ потрібно нічого робити, просто встановіть контролер яскравості з ppa:

https://launchpad.net/~apandada1/+archive/ubuntu/brightness-controller/

вирішив проблему для мене (див. скріншоти), однак він конфліктує з червоною зміною, тому вам потрібно видалити червону зміну

ви можете додати його до запуску для зручного використання


1
Спасибі за вашу відповідь. Але я вважаю, що це неправильна річ, текст із сайту: "Це програмний димер". Це не контроль вашого заднього освітлення, це лише програмне рішення з кривими RGB :( я спробую трохи пізніше.
Макс Ткаченко

спробуйте, це справді працює :)
Ідіть MasterZero

Я це протестував. Як я вже сказав, це програмне рішення, воно не економить акумулятор і пошкоджує колір зображення. xrandr - вихідний DP-0 - яскравість $ VALUE --- робимо те ж саме.
Макс Ткаченко

дякую за Ваш відгук, хоча все-таки приємно мати графічний інтерфейс
Перейдіть MasterZero

1

Нарешті я виправив це, і жодне з онлайн-рішень, які перераховані в оригіналі плаката, не працювало і для мене. Що вирішило проблему: / etc / default / grub та в рядку: GRUB_CMDLINE_LINUX_DEFAULT

Додавання:

"acpi_osi ="

Але також не використовуйте на ньому "nomodeset". Ppl спочатку додав nomodeset, щоб виправити проблему візуалізації програмного забезпечення, але це фактично змушує Linux не розпізнавати драйвери Nvidia.

Нарешті, переконайтесь, що ви перейдете до менеджера драйверів драйверів меню Linux і оновіть драйвери Nvidia до 430 або новіших.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.