Problem z jasnością podświetlenia NVIDIA

8

Problem

Unity pokazuje kontrolę, kiedy naciskam Fn + Zwiększ / Zmniejsz jasność, ale nic się nie dzieje. W konsoli jasność nie działa również podczas działania serwera X.

Sprawdzone rozwiązania

Wypróbowałem WSZYSTKIE MOŻLIWE rozwiązania tego problemu w Google i nic nie działa:

  1. napisz acpi_backlight w grub
  2. zainstaluj ponownie sterowniki za pomocą apt purge nvidia *
  3. napisz „EnableBrightnessControl = 1” w xorg.conf
  4. zainstaluj NVIDIA-375,66, NVIDIA-378,13, 381,22, 384,47
  5. „xbacklight -set X” nie działa
  6. zmiana / sys / klasa / podświetlenie / jasność
  7. zaktualizuj jądro Linuksa z 4.8 do 4.10 i 4.12
  8. zastąp EDID ze starej matrycy (wszystko psuje)
  9. setpci -v -H1 -s 00: 01.0 3e.W = 0, a następnie zmień podświetlenie za pomocą klawiszy Fn +.
  10. xrandr --output DP-0 - jasność 0,5 --- złe rozwiązanie

Mój system i sytuacja

Wcześniej korzystałem z macierzy wyświetlania N173HHE-G32 w moim laptopie i wszystko było w porządku. Ale dzisiaj zastąpiłem go B173HAN01.2 i ten problem zaczął się. W systemie Windows 10 rozwiązałem go, ponownie instalując sterowniki na nvidia-376 z oficjalnej strony MSI.

Widzę więc następną sekwencję: na początku laptopa jasność jest maksymalna, następnie minimalna (i działa), podczas gdy tekst „initramfs ...” wyświetla się w konsoli. A po uruchomieniu serwera X ponownie jasność jest maksymalna (zepsuta). Gdy serwer X przestaje działać, jasność znów działa!

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)

Jednak!

Ale kiedy używam NVIDIA-378, DZIAŁA ! Niestety 378 ma krytyczne błędy po trybie zawieszenia w interfejsie Unity: (((

Proszę pomóżcie, moje oczy są we krwi (to dla nich bardzo jasne) i nie wiem co robić ...

Zaktualizowano! Po dwóch latach zrozumiałem, że problem tkwi w lightdm (lub serwerze X). Kiedy przestaję, wszystko jest w porządku ...

Max Tkachenko
źródło
Być może najlepszym rozwiązaniem jest sterownik 378 i naprawianie błędów zawieszenia / wznawiania. Jakie są błędy?
WinEunuuchs2Unix
Błędy w interfejsie Unity - niektóre artefakty wokół granic okien i menu. Jest opis - bugs.launchpad.net/ubuntu/+source/unity/+bug/1675597
Max Tkachenko
Myślę, że ktoś powiedział miesiąc lub dwa lata temu, że zostało to naprawione w wersji 381 lub coś takiego. Myślę, że to był askubuntu.com/users/15811/rinzwind, który to powiedział, ale askubuntu.com/users/167850/pilot6 Uważam, że to kolejny ekspert.
WinEunuuchs2Unix
1
Błąd zawieszania został naprawiony, ale podświetlenie nie działa :( próbowałem 381 .. i wielu innych wersji ..
Max Tkachenko
Czy możesz zaktualizować swoje pytanie o dane wyjściowe:for i in /sys/class/backlight/*; do echo $i; cat $i/brightness; cat $i/actual_brightness; cat $i/max_brightness; done
WinEunuuchs2Unix

Odpowiedzi:

8

Aktualizacja 16 czerwca 2019 r

W zeszłym miesiącu, 2 lata po zgłoszeniu problemu, OP odkryło, że źródłem problemu był LightDM (Ubuntu Unity Desktop Manager). Oprócz poniższej listy grubmożna wypróbować jeszcze jeden parametr:

video.use_native_backlight=1

Zobacz tę odpowiedź, aby uzyskać więcej.


Oryginalna odpowiedź

Ostatecznym odniesieniem wydaje się być Arch Arch, strona, do której wielokrotnie odwiedzałem, aby naprawić trudne problemy.

Parametry jądra

Patrząc na ciebie, cat /proc/cmdlinenie przekazano żadnych dodatkowych parametrów jądra. Powyższy link stanowi:

Czasami ACPI nie działa dobrze z powodu różnych implementacji płyt głównych i dziwactw ACPI. Dotyczy to niektórych laptopów z podwójną grafiką (np. Dedykowany procesor graficzny Nvidia / Radeon ze zintegrowanym procesorem graficznym Intel / AMD). W laptopach Nvidia Optimus nomodeset parametrów jądra może zakłócać możliwość regulacji podświetlenia. Dodatkowo ACPI czasami musi zarejestrować swój własny, acpi_video0 backlightnawet jeśli już istnieje (np. intel_backlight), Co można zrobić, dodając jeden z następujących parametrów jądra:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Jeśli okaże się, że zmiana acpi_video0podświetlenia w rzeczywistości nie zmienia jasności, może być konieczne użycie acpi_backlight=none.

Wypróbuj każdą z acpi_backlight=xxxxopcji w linii parametrów jądra grub

Kiedy xbacklightnie działa

Próbowałeś xbacklightjuż i powyższy link rozwiązuje ten problem:

W niektórych systemach klawisze skrótu jasności na klawiaturze poprawnie modyfikują wartości interfejsu acpi w /sys/class/backlight/acpi_video0/actual_brightness( Jak próbowaliśmy w komentarzach ), ale jasność ekranu się nie zmienia. Aplety Brigthness ze środowisk pulpitu (tj. Suwak ustawienia jasności Ubuntu ) mogą również pokazywać zmiany bez efektu.

Jeśli przetestowałeś zalecane parametry jądra i xbacklightdziała tylko , być może masz do czynienia z niekompatybilnością systemu BIOS i sterownika jądra.

W takim przypadku jedynym rozwiązaniem jest oczekiwanie na poprawkę od producenta systemu BIOS lub sterownika karty graficznej.

Obejściem tego problemu jest użycie inotifyinterfejsu jądra do wyzwalania za xbacklightkażdym razem wartości /sys/class/backlight/acpi_video0/actual_brightnesszmian.

Najpierw zainstaluj narzędzia inotify. Następnie utwórz skrypt wokół inotify, który będzie uruchamiany przy każdym rozruchu lub przez autostart.

Poniżej znajduje się skrypt do utworzenia o nazwie: /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

W powyższym linku jest o wiele więcej, ale te kroki to dobry początek.


Dedykowane fora

Aby uzyskać dodatkowe wsparcie, istnieją dedykowane fora poświęcone grafice Linux:

WinEunuuchs2Unix
źródło
Dziękuję za tak wielką odpowiedź! 1) Wypróbuj każdą z opcji acpi_backlight = xxxx na linii parametrów jądra gruba --- tak, próbowałem wiele razy bez żadnego rezultatu.
Max Tkachenko
Niestety xbacklight też nie działa :(
Max Tkachenko
Myślę, że to błąd sterowników .. i potrzebuję kogoś z zespołu deweloperów NVIDIA :)
Max Tkachenko
Jeśli dobrze pamiętam, zespół nVidia, który normalnie pracował nad sterownikiem linux, właśnie się zmienił i może nie być takiej samej obsługi linuksa w nadchodzących dniach.
ben-Nabiy Derush
@ ben-NabiyDerush Pamiętam, że w zeszłym roku Nvidia uruchomiła forum specjalnie po to, aby znaleźć problemy, z jakimi borykają się użytkownicy, i współpracować z nimi w celu ich rozwiązania. Uważam, że Linux był ich celem. Dzisiaj znowu szukałem forum, ale nie mogłem go znaleźć. Znalazłem jednak dwa inne fora wsparcia i zaktualizowałem odpowiedź.
WinEunuuchs2Unix
2

Cześć, przepraszam, jeśli jest to coś, co sprytni ludzie już wykluczyli, ponieważ nie jestem zaznajomiony z linią poleceń, ale po ponownej instalacji trafiłem w ten problem i wszystkie powyższe rozwiązania nie działały dla mnie (MSI pe706QE nvidia 960m ).

Edytowałem /etc/default/grub:

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

i zauważyłem, że nomodesetwciąż siedział na dole pliku (nie pamiętam, aby go na stałe dodać) i usunąłem.

zapisz plik i uruchom:

sudo update-grub 

wszystko działa ponownie z klawiszami skrótu #noobie nie ma nadziei, że to może komuś pomóc.

skarb
źródło
2

Mam notebook Sony VPCEH, miałem ten sam problem. Wypróbowałem to rozwiązanie, które działało dla mnie:  http://ubuntuforums.org/showthread.php?t=2221452#6 Krótko: Z uprawnieniami roota utwórz plik /usr/share/X11/xorg.conf.d/20- nvidia.conf z następującą zawartością

Sekcja „Identyfikator urządzenia” „Device0” Sterownik „NVIDIA” Nazwa dostawcy „NVIDIA Corporation” Nazwa płyty głównej „GeForce 410M” Opcja „RegistryDwords” „EnableBrightnessControl = 1” EndSection

Wyloguj się i zaloguj ponownie, aby przetestować. I delikatnie dodaje: „Jeśli coś pójdzie nie tak, po prostu usuń ten plik i uruchom ponownie, aby odzyskać system”. Ale nie potrzebowałem tego dodatku. Po wylogowaniu i zalogowaniu kontrola jasności znów zaczęła działać. Mam nadzieję, że to też ci pomoże ...

lub ten po działa z Ubuntu 16.04 pod moim laptopem Sony VPCEJ2C5E, ale z nvidią 378.13 nie używam na razie sterowników 390.25.

Udało mi się uzyskać klucze jasności działające na moim Lenovo W530 na Ubuntu 12.04. Obecnie X automatycznie się konfiguruje, więc utworzenie pliku xorg.conf może uczynić twój system nieelastycznym. Zamiast tego możesz dodać sekcję do pliku w /usr/share/X11/xorg.conf.d/, a X uwzględni tę sekcję w konfiguracji, którą automatycznie generuje. Aby klucze jasności ekranu działały z kartą graficzną Nvidia, utwórz plik w katalogu xorg.conf.d, np .: sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf Wklej następujące elementy do pliku:

Sekcja „Identyfikator urządzenia” „Device0” Sterownik „NVIDIA” Nazwa dostawcy „NVIDIA Corporation” Nazwa płyty „Quadro K1000M” Opcja „RegistryDwords” „EnableBrightnessControl = 1” EndSection

Wyloguj się i zaloguj ponownie lub uruchom ponownie, a klawisze jasności powinny teraz działać!

wprowadź opis zdjęcia tutaj

Ubuntu1304XFCE
źródło
2

Za wineunuuchs2unix żądanie „s, mam przeksięgowanie moją odpowiedź na podobne pytanie tutaj.

Próbować acpi_osi=

Podczas aktualizacji do Bionic kilka dni temu napotkałem podobny problem (mam NVIDIA GeForce GTX 1060 Mobile, ale dla mnie /sys/class/backlightpokazuje się jako pusty).

Podczas pracy z procedurą debugowania podświetlenia odkryłem obejście za pomocą parametrów jądra:

  • W „Oprogramowaniu i aktualizacjach” → „Dodatkowe sterowniki” upewnij się, że nvidia-driver-396wybrano (lub którykolwiek metapakiet jest aktualny; 396 to najpóźniej w momencie pisania).
  • Edytuj /etc/default/grub, uruchamiając polecenie sudo nano /etc/default/grub(opcjonalnie zastępując nanoulubionym edytorem).
  • Znajdź linię, która ustawia GRUB_CMDLINE_LINUX_DEFAULTi dodaj acpi_osi=na końcu w cudzysłowie. W większości systemów pozostawia to czytanie linii GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=".
  • Zapisz i zamknij edytor.
  • Uruchom polecenie sudo update-grubi uruchom ponownie.

(Jeśli te kroki nie działają, przywróć ustawienia, powtarzając proces, ale usuwając je acpi_osi=podczas edycji konfiguracji GRUB).

Innym obejściem, jeśli jest to dla ciebie opcja, jest przejście do jądra głównego . W szczególności nie widzę problemu w głównym jądrze wersji 4.17.

(Błąd zgłoszony tutaj .)

Gość
źródło
1
niestety to nie pomaga :(
Max Tkachenko
1

sklonuj to repozytorium i wklej backlight.shdo niego /bin. następnie wykonaj go, a następnie otwórz terminal główny i wykonaj następujące polecenie.

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

sklonować repozytorium,

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

endrias
źródło
Dziękuję Ci! Niestety używa „echo $ 1> / sys / class / backlight / 0 / bright;” i to samo napisałem poniżej „6. Zmiana / sys / klasa / podświetlenie / jasność”
Max Tkachenko
to nie /sys/class/backlight/0/brightnessjest właściwa ścieżka/sys/class/backlight/acpi_video0/brightness
endrias
lub inna podobna ścieżka dla systemów ze specjalistycznym sprzętem graficznym.
endrias
W każdym razie to nie działa :(
Max Tkachenko
1

Możesz zainstalować pakiet komendy xbacklight w terminalu:

sudo apt-get install - reinstall xbacklight

Po instalacji możesz użyć polecenia xbacklight w następujący sposób:

xbacklight -inc 20 # zwiększ podświetlenie o 20%

xbacklight -dec 30 # spadek o 30%

xbacklight -set 80 # ustawiony na 80% maksymalnej wartości

xbacklight -get # pobierz aktualny poziom

Polecenie xbacklight powinno działać w ten sposób.

dschinn1001
źródło
1
Przepraszamy, ale xbacklight na liście sprawdzonych rozwiązań .. To nie działa :(
Max Tkachenko
1

jeden program do rozwiązania tego problemu !!!

Mam GTX 1060 6Gb Desktop Ubuntu 16.04

NIE musisz nic robić, po prostu zainstaluj kontroler jasności z ppa:

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

rozwiązałem problem dla mnie (patrz zrzuty ekranu), jednak jest on w konflikcie z redshift, więc musisz usunąć redshift

możesz dodać go do uruchamiania w celu wygodnego użycia

Idź MasterZero
źródło
1
Dziękuję za Twoją odpowiedź. Ale myślę, że to nie jest właściwe, tekst pochodzi ze strony: „To ściemniacz oparty na oprogramowaniu”. To nie jest kontrola mocy podświetlenia, to tylko oprogramowanie z krzywymi RGB :( Spróbuję trochę później.
Max Tkachenko
spróbuj, to naprawdę działa :)
Idź MasterZero
Przetestowałem to. Jak powiedziałem, to rozwiązanie programowe, nie oszczędza baterii i niszczy kolor obrazu. xrandr --output DP-0 - jasność WARTOŚĆ $ --- zrób to samo.
Max Tkachenko
dzięki za opinie, GUI nadal jest fajne
Go MasterZero
1

W końcu naprawiłem to i żadne z rozwiązań internetowych, które wymieniono na oryginalnym plakacie, również nie działało. Rozwiązaniem problemu było przejście do / etc / default / grub i w linii: GRUB_CMDLINE_LINUX_DEFAULT

Dodawanie:

„acpi_osi =”

Ale także nie używaj na nim „nomodeset”. Ppl pierwotnie dodał nomodeset, aby naprawić problem z renderowaniem oprogramowania, ale w rzeczywistości powoduje to, że Linux nie rozpoznaje sterowników Nvidii.

Na koniec upewnij się, że idziesz do Linux Start Menu Driver Manager i zaktualizuj sterowniki Nvidia do wersji 430 lub nowszej.

Stephen Wong
źródło