masalah kecerahan backlight nvidia

8

Masalah

Unity menunjukkan kontrol saat saya menekan Fn + Increase / Descrese brightness, tetapi tidak ada yang terjadi. Kecerahan konsol tidak berfungsi juga saat X server berjalan.

Solusi yang diperiksa

Saya telah mencoba SEMUA solusi MUNGKIN dari masalah ini di google dan tidak ada yang berhasil:

  1. tulis acpi_backlight di grub
  2. instal ulang driver dengan apt purge nvidia *
  3. tulis "EnableBrightnessControl = 1" di xorg.conf
  4. instal nvidia-375.66, nvidia-378.13, 381.22, 384.47
  5. "xbacklight -set X" tidak berfungsi
  6. mengubah / sys / class / backlight / brightness
  7. perbarui kernel linux dari 4,8 ke 4,10 dan 4,12
  8. ganti EDID dari matriks lama (itu merusak segalanya)
  9. setpci -v -H1 -s 00: 01.0 3e.W = 0 dan kemudian ubah cahaya latar menggunakan tombol Fn +.
  10. xrandr - output DP-0 - kecerahan 0,5 --- solusi buruk

Sistem dan situasi saya

Saya menggunakan N173HHE-G32 display matrix di laptop saya sebelumnya dan semuanya baik-baik saja. Tapi hari ini saya sudah menggantinya ke B173HAN01.2 dan masalah ini telah dimulai. Pada Windows 10 saya telah menyelesaikannya dengan menginstal ulang driver pada nvidia-376 dari situs web MSI resmi.

Jadi, saya bisa melihat urutan berikutnya: di laptop mulai kecerahan maksimum, maka minimum (dan berfungsi) saat teks "initramfs ..." ditampilkan di konsol. Dan setelah X server mulai kecerahan maksimal (rusak) lagi. Ketika X server berhenti, kecerahan kembali berfungsi!

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)

Namun!

Tetapi ketika saya menggunakan nvidia-378 itu BEKERJA ! Sayangnya 378 memiliki bug penting setelah mode tunda di antarmuka Unity: ((

Tolong bantu, mata saya berlumuran darah (sangat terang bagi mereka) dan saya tidak tahu harus berbuat apa ...

Diperbarui! Setelah dua tahun saya mengerti bahwa masalahnya ada di dalam lightdm (atau X server). Ketika saya menghentikannya semuanya ok ...

Max Tkachenko
sumber
Mungkin jalan terbaik adalah driver 378 dan memperbaiki bug yang ditangguhkan / dilanjutkan dengannya. Apa bugnya?
WinEunuuchs2Unix
Antarmuka Bug dengan Persatuan - beberapa artefak di sekitar batas jendela dan menu. Ada deskripsi - bugs.launchpad.net/ubuntu/+source/unity/+bug/1675597
Max Tkachenko
Saya pikir seseorang mengatakan satu atau dua bulan yang lalu telah diperbaiki dalam versi 381 atau sesuatu seperti itu. Saya pikir itu askubuntu.com/users/15811/rinzwind yang mengatakannya tetapi askubuntu.com/users/167850/pilot6 Saya percaya adalah pakar lain.
WinEunuuchs2Unix
1
Bug dengan penangguhan sudah diperbaiki, tetapi lampu latar tidak berfungsi :( saya telah mencoba 381..dan banyak versi lainnya ..
Max Tkachenko
Bisakah Anda memperbarui pertanyaan Anda dengan output:for i in /sys/class/backlight/*; do echo $i; cat $i/brightness; cat $i/actual_brightness; cat $i/max_brightness; done
WinEunuuchs2Unix

Jawaban:

8

Pembaruan 16 Juni 2019

Bulan lalu, 2 tahun setelah masalah dilaporkan, OP menemukan LightDM (Ubuntu Unity Desktop Manager) adalah sumber masalah. Yang mengatakan, selain daftar di bawah ini, ada grubparameter lain yang bisa dicoba:

video.use_native_backlight=1

Lihat jawaban ini untuk lebih lanjut.


Jawaban Asli

Referensi utama tampaknya ada di Arch Linux yang merupakan situs yang telah saya kunjungi berkali-kali untuk memperbaiki masalah yang sulit.

Parameter Kernel

Melihat Anda, cat /proc/cmdlinetidak ada parameter kernel tambahan yang diteruskan. Tautan di atas menyatakan:

Terkadang, ACPI tidak berfungsi dengan baik karena implementasi motherboard yang berbeda dan kebiasaan ACPI. Ini termasuk beberapa laptop dengan grafik ganda (misalnya GPU khusus Nvidia / Radeon dengan GPU terintegrasi Intel / AMD). Pada laptop Nvidia Optimus, parameter kernel nomodeset dapat mengganggu kemampuan untuk menyesuaikan cahaya latar. Selain itu, ACPI kadang-kadang perlu mendaftarkan sendiri acpi_video0 backlightbahkan jika sudah ada (seperti intel_backlight), yang dapat dilakukan dengan menambahkan salah satu dari parameter kernel berikut:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Jika Anda menemukan bahwa mengubah acpi_video0cahaya latar tidak benar-benar mengubah kecerahan, Anda mungkin perlu menggunakannya acpi_backlight=none.

Coba masing-masing acpi_backlight=xxxxopsi pada baris paremeters kernel grub Anda

Kapan xbacklighttidak bekerja

Anda sudah mencoba xbacklightdan tautan di atas membahas ini:

Pada beberapa sistem, tombol pintas kecerahan pada keyboard Anda dengan benar mengubah nilai antarmuka acpi di /sys/class/backlight/acpi_video0/actual_brightness( Seperti yang kami coba dalam komentar ) tetapi kecerahan layar tidak berubah. Applet Brigthness dari lingkungan desktop (yaitu bilah geser pengaturan kecerahan Ubuntu ) juga dapat menunjukkan perubahan tanpa efek.

Jika Anda telah menguji parameter kernel yang disarankan dan hanya xbacklightberfungsi, maka Anda mungkin menghadapi ketidakcocokan antara BIOS dan driver kernel Anda.

Dalam hal ini satu-satunya solusi adalah menunggu perbaikan baik dari BIOS atau pabrikan driver GPU.

Solusinya adalah dengan menggunakan inotifyapi kernel untuk memicu xbacklightsetiap kali nilai /sys/class/backlight/acpi_video0/actual_brightnessperubahan.

Pertama-tama instal alat yang tidak sah. Kemudian buat skrip seputar inotify yang akan diluncurkan pada setiap boot atau melalui autostart.

Di bawah ini adalah skrip yang perlu Anda buat dengan nama: /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

Ada banyak lagi di tautan di atas tetapi langkah-langkah ini adalah tempat yang baik untuk memulai.


Forum khusus

Untuk dukungan tambahan ada forum Linux Graphics khusus:

WinEunuuchs2Unix
sumber
Terima kasih atas jawaban yang begitu besar! 1) Coba masing-masing opsi acpi_backlight = xxxx pada baris paremeters kernel grub Anda --- ya, saya sudah mencobanya berkali-kali tanpa hasil apa pun.
Max Tkachenko
Sayangnya, xbacklight tidak berfungsi juga :(
Max Tkachenko
Saya pikir itu adalah bug driver .. dan saya butuh seseorang dari tim dev nvidia :)
Max Tkachenko
Jika saya ingat dengan benar, tim nVidia yang biasanya bekerja pada driver linux baru saja beralih, dan mungkin tidak ada dukungan linux yang sama di masa mendatang.
ben-Nabiy Derush
@ ben-NabiyDerush Saya ingat tahun lalu Nvidia meluncurkan forum yang khusus ditujukan untuk mencari tahu masalah yang dialami pengguna dan bekerja dengan mereka untuk menyelesaikannya. Linux adalah fokus mereka, saya percaya. Saya pergi mencari forum lagi hari ini tetapi tidak dapat menemukannya. Saya menemukan dua forum dukungan lain dan memperbarui jawabannya.
WinEunuuchs2Unix
2

Hai Saya minta maaf jika ini adalah sesuatu yang orang pintar telah mengesampingkan, karena saya jauh dari terbiasa dengan baris perintah, tetapi setelah menginstal ulang saya mengenai masalah ini dan semua solusi di atas tidak bekerja untuk saya (MSI pe706QE nvidia 960m ).

Saya mengedit /etc/default/grubdengan:

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

dan perhatikan nomodesetitu masih duduk di bagian bawah file (saya tidak ingat menambahkannya secara permanen) dan menghapusnya.

simpan file dan jalankan:

sudo update-grub 

semua bekerja kembali dengan tombol pintas #tidak gagal harap ini bisa membantu seseorang.

harta
sumber
2

Saya memiliki notebook Sony VPCEH, saya memiliki masalah yang sama. Saya mencoba solusi ini yang berfungsi untuk saya:  http://ubuntuforums.org/showthread.php?t=2221452#6 Secara singkat: Dengan hak akses root, buat file /usr/share/X11/xorg.conf.d/20- nvidia.conf dengan konten berikut

Bagian "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce 410M" Opsi "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Logout dan kembali lagi untuk menguji. Dan dengan lembut menambahkan: "Jika terjadi kesalahan, cukup hapus file itu dan reboot untuk memulihkan sistem." Tapi aku tidak butuh tambahan itu. Setelah keluar dan masuk, kontrol kecerahan mulai bekerja lagi. Saya harap ini membantu Anda juga ...

atau yang ini setelah bekerja dengan ubuntu 16.04 di bawah laptop sony saya VPCEJ2C5E tetapi dengan nvidia 378.13 saya tidak menggunakan driver 390.25 untuk saat ini.

Saya dapat mengaktifkan kunci kecerahan pada Lenovo W530 di Ubuntu 12.04. Saat ini X secara otomatis mengkonfigurasi sendiri, sehingga membuat file xorg.conf mungkin membuat sistem Anda tidak fleksibel. Sebagai gantinya, Anda dapat menambahkan bagian ke file di /usr/share/X11/xorg.conf.d/ dan X akan menyertakan bagian itu dalam konfigurasi yang dihasilkan secara otomatis. Jadi, agar kunci kecerahan layar berfungsi dengan kartu grafis Nvidia Anda, buat file di direktori xorg.conf.d, misalnya: sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf Rekatkan yang berikut ke dalam file:

Bagian "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "Quadro K1000M" Opsi "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Logout dan log in kembali, atau reboot, dan kunci kecerahan Anda sekarang akan berfungsi!

masukkan deskripsi gambar di sini

Ubuntu1304XFCE
sumber
2

Per permintaan wineunuuchs2unix , saya memposting ulang jawaban saya untuk pertanyaan serupa di sini.

Mencoba acpi_osi=

Saat memutakhirkan ke Bionic beberapa hari yang lalu, saya mengalami masalah yang sama (Saya memiliki NVIDIA GeForce GTX 1060 Mobile, tetapi bagi saya /sys/class/backlightterlihat kosong).

Dalam bekerja melalui prosedur debugging backlight , saya menemukan solusi melalui parameter kernel:

  • Dalam "Perangkat Lunak & Pembaruan" → "Driver Tambahan", pastikan bahwa Anda telah memilih nvidia-driver-396(atau metapackage mana pun; 396 adalah yang terbaru pada saat penulisan) dipilih.
  • Edit /etc/default/grubdengan menjalankan perintah sudo nano /etc/default/grub(secara opsional mengganti nanodengan editor favorit Anda).
  • Temukan baris yang menetapkan GRUB_CMDLINE_LINUX_DEFAULTdan tambahkan acpi_osi=di bagian dalam tanda kutip. Pada kebanyakan sistem ini akan membuat Anda membaca garis GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=".
  • Simpan dan keluar dari editor.
  • Jalankan perintah sudo update-grubdan reboot.

(Jika langkah-langkah ini tidak berhasil, pulihkan pengaturan Anda dengan mengulangi prosesnya, tetapi hapus acpi_osi=ketika Anda mengedit konfigurasi GRUB.)

Solusi lain, jika itu pilihan bagi Anda, adalah beralih ke kernel utama . Secara khusus, saya tidak melihat masalah di bawah kernel versi utama 4.17.

(Bug dilaporkan di sini .)

Tamu
sumber
1
sayangnya itu tidak membantu :(
Max Tkachenko
1

mengkloning repo ini dan paste script backlight.shke dalam /bin. kemudian membuatnya dapat dieksekusi dan setelah ini buka terminal root dan jalankan perintah berikut.

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

untuk mengkloning repositori,

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

endrias
sumber
Terima kasih! Sayangnya, ia menggunakan "echo $ 1> / sys / class / backlight / 0 / brightness;" dan itu sama dengan yang saya tulis di bawah ini "6. changing / sys / class / backlight / brightness"
Max Tkachenko
itu bukan /sys/class/backlight/0/brightnessjalan yang benar/sys/class/backlight/acpi_video0/brightness
endrias
atau jalur serupa lainnya untuk sistem dengan perangkat keras grafis khusus.
endrias
Dalam hal apapun itu tidak berhasil :(
Max Tkachenko
1

Anda dapat menginstal paket perintah xbacklight di terminal:

sudo apt-get install --reinstall xbacklight

Setelah instalasi, Anda dapat menggunakan perintah xbacklight sebagai berikut:

xbacklight -inc 20 # meningkatkan backlight sebesar 20%

xbacklight -dec 30 # berkurang 30%

xbacklight -set 80 # diatur ke 80% dari nilai maks

xbacklight -get # dapatkan level saat ini

Perintah xbacklight seharusnya bekerja dengan cara ini.

dschinn1001
sumber
1
Maaf, tetapi xbacklight dalam daftar solusi yang dicentang .. Tidak berfungsi :(
Max Tkachenko
1

satu program untuk menyelesaikan semua masalah ini !!!

saya punya GTX 1060 6Gb desktop ubuntu 16.04

TIDAK perlu melakukan apa pun, cukup instal kecerahan-controller dengan ppa:

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

memecahkan masalah untuk saya (lihat tangkapan layar) namun konflik dengan pergeseran merah sehingga Anda harus menghapus pergeseran merah

Anda dapat menambahkannya ke startup agar mudah digunakan

Pergi MasterZero
sumber
1
Terima kasih atas jawaban Anda. Tapi saya pikir ini bukan hal yang benar, teks dari situs: "Ini adalah perangkat lunak berbasis redup". Ini bukan kontrol daya lampu belakang Anda, itu hanya solusi perangkat lunak dengan kurva RGB :( Saya akan mencobanya sedikit nanti.
Max Tkachenko
coba, itu benar-benar bekerja :)
Go MasterZero
Saya sudah mengujinya. Seperti yang saya katakan itu solusi perangkat lunak, tidak menghemat baterai dan merusak warna gambar. xrandr --output DP-0 --brightness $ VALUE --- lakukan hal yang sama.
Max Tkachenko
terima kasih atas tanggapan Anda, GUI masih bagus untuk dimiliki
Go MasterZero
1

Saya akhirnya memperbaikinya dan tidak ada solusi online yang disediakan oleh poster asli untuk saya. Apa yang memecahkan masalah akan ke / etc / default / grub dan di baris: GRUB_CMDLINE_LINUX_DEFAULT

Menambahkan:

"acpi_osi ="

Tetapi juga jangan gunakan "nomodeset" di atasnya. Ppl menambahkan nomodeset awalnya untuk memperbaiki masalah render perangkat lunak, tetapi ini sebenarnya menyebabkan Linux tidak mengenali driver Nvidia.

Terakhir pastikan Anda pergi ke Linux Start Menu Driver Manager dan perbarui driver Nvidia Anda ke 430 atau yang lebih baru.

Stephen Wong
sumber