nvidia problema de brillo de luz de fondo

8

Problema

La unidad muestra control mientras presiono el brillo Fn + Increase / Descrese, pero no sucede nada. En la consola, el brillo no funciona también mientras se ejecuta el servidor X.

Soluciones comprobadas

He intentado TODAS LAS POSIBLES soluciones de este problema en google y nada funciona:

  1. escribir acpi_backlight en grub
  2. reinstalar controladores con apt purge nvidia *
  3. escriba "EnableBrightnessControl = 1" en xorg.conf
  4. instalar nvidia-375.66, nvidia-378.13, 381.22, 384.47
  5. "xbacklight -set X" no funciona
  6. cambio / sys / clase / luz de fondo / brillo
  7. actualizar kernel de linux de 4.8 a 4.10 y 4.12
  8. reemplazar EDID de la matriz anterior (lo rompe todo)
  9. setpci -v -H1 -s 00: 01.0 3e.W = 0 y luego cambia la luz de fondo usando las teclas Fn +.
  10. xrandr --output DP-0 --brightness 0.5 --- mala solución

Mi sistema y situacion

Utilicé la matriz de pantalla N173HHE-G32 en mi computadora portátil antes y todo estaba bien. Pero hoy lo he reemplazado por B173HAN01.2 y este problema ha comenzado. En Windows 10 lo resolví reinstalando los controladores en nvidia-376 desde el sitio web oficial de MSI.

Entonces, puedo ver la siguiente secuencia: al inicio del portátil, el brillo es máximo, luego es mínimo (y funciona) mientras se muestra el texto "initramfs ..." en la consola. Y después de que X server se inicia, el brillo vuelve a ser máximo (roto). Cuando el servidor X se detiene, el brillo funciona de nuevo.

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)

¡Sin embargo!

Pero cuando uso nvidia-378 ¡ FUNCIONA ! Desafortunadamente, 378 tiene errores críticos después del modo de suspensión en la interfaz de Unity: ((((

Por favor ayuda, mis ojos están llenos de sangre (es muy brillante para ellos) y no sé qué hacer ...

¡Actualizado! Después de dos años, entendí que el problema está dentro de lightdm (o servidor X). Cuando lo detengo todo está bien ...

Max Tkachenko
fuente
Quizás el mejor curso es el controlador 378 y corrige los errores de suspensión / reanudación con él. ¿Qué son los errores?
WinEunuuchs2Unix
Errores con la interfaz de Unity: algunos artefactos alrededor de los bordes de las ventanas y los menús. Hay una descripción: bugs.launchpad.net/ubuntu/+source/unity/+bug/1675597
Max Tkachenko
Creo que alguien dijo hace un mes o dos que se ha solucionado en la versión 381 o algo así. Creo que fue askubuntu.com/users/15811/rinzwind quien lo dijo, pero askubuntu.com/users/167850/pilot6 creo que es otro experto.
WinEunuuchs2Unix
1
Se solucionó el error con la suspensión, pero la luz de fondo no funciona :( he intentado 381..y muchas otras versiones ..
Max Tkachenko
¿Puede actualizar su pregunta con la salida de:for i in /sys/class/backlight/*; do echo $i; cat $i/brightness; cat $i/actual_brightness; cat $i/max_brightness; done
WinEunuuchs2Unix

Respuestas:

8

Actualización 16 de junio de 2019

El mes pasado, 2 años después de que se informara el problema, OP descubrió que LightDM (Ubuntu Unity Desktop Manager) era la fuente del problema. Dicho esto, además de la lista a continuación, hay otro grubparámetro que se puede probar:

video.use_native_backlight=1

Vea esta respuesta para más.


Respuesta original

La referencia final parece estar en Arch Linux, que es un sitio al que he recurrido muchas veces para solucionar problemas difíciles.

Parámetros del kernel

Mirando a su cat /proc/cmdlineno hay parámetros de kernel adicionales pasados. El enlace anterior dice:

A veces, ACPI no funciona bien debido a diferentes implementaciones de placa base y peculiaridades de ACPI. Esto incluye algunas computadoras portátiles con gráficos duales (por ejemplo, GPU dedicada Nvidia / Radeon con GPU integrada Intel / AMD). En las computadoras portátiles Nvidia Optimus, el parámetro del núcleo nomodeset puede interferir con la capacidad de ajustar la luz de fondo. Además, ACPI a veces necesita registrar su propio acpi_video0 backlightincluso si ya existe uno (como intel_backlight), lo que puede hacerse agregando uno de los siguientes parámetros del kernel:

acpi_backlight=video
acpi_backlight=vendor
acpi_backlight=native

Si encuentra que cambiar la acpi_video0luz de fondo no cambia realmente el brillo, es posible que deba usarlo acpi_backlight=none.

Pruebe cada una de las acpi_backlight=xxxxopciones en su línea de parámetros de kernel grub

Cuando xbacklightno funciona

Ya lo has intentado xbacklighty el enlace de arriba trata esto:

En algunos sistemas, las teclas de acceso rápido de brillo en su teclado modifican correctamente los valores de la interfaz acpi en /sys/class/backlight/acpi_video0/actual_brightness( Como lo intentamos en los comentarios ) pero el brillo de la pantalla no cambia. Los applets de brillo de los entornos de escritorio (es decir , la barra deslizante de configuración de brillo de Ubuntu ) también pueden mostrar cambios sin efecto.

Si ha probado los parámetros recomendados del kernel y solo xbacklightfunciona, entonces puede estar enfrentando una incompatibilidad entre su BIOS y el controlador del kernel.

En este caso, la única solución es esperar una solución ya sea del fabricante del BIOS o del controlador de la GPU.

Una solución alternativa es utilizar la inotifyAPI del núcleo para activar xbacklightcada vez que el valor de los /sys/class/backlight/acpi_video0/actual_brightnesscambios.

Primero instale inotify-tools. Luego, cree un script alrededor de inotify que se iniciará en cada arranque o mediante el inicio automático.

A continuación se muestra el script que debe crear llamado: /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

Hay mucho más en el enlace de arriba, pero estos pasos son un buen lugar para comenzar.


Foros dedicados

Para soporte adicional hay foros dedicados de Gráficos de Linux:

WinEunuuchs2Unix
fuente
Gracias por una gran respuesta! 1) Pruebe cada una de las opciones acpi_backlight = xxxx en su línea de parámetros de kernel de grub --- sí, lo he intentado muchas veces sin ningún resultado.
Max Tkachenko
Desafortunadamente, xbacklight no funciona también :(
Max Tkachenko
Creo que es un error de los conductores ... y necesito a alguien del equipo de desarrollo de nvidia :)
Max Tkachenko
Si no recuerdo mal, el equipo de nVidia que normalmente trabajaba en el controlador de Linux acaba de cambiar, y puede que no haya el mismo soporte de Linux en los próximos días.
ben-Nabiy Derush
@ ben-NabiyDerush Recuerdo que el año pasado Nvidia lanzó un foro específicamente destinado a descubrir los problemas que los usuarios tenían y trabajar con ellos para resolverlos. Linux fue su enfoque, creo. Hoy volví a buscar el foro, pero no pude encontrarlo. Sin embargo, encontré otros dos foros de soporte y actualicé la respuesta con ellos.
WinEunuuchs2Unix
2

Hola, pido disculpas si esto es algo que las personas inteligentes ya han descartado, ya que estoy lejos de estar familiarizado con la línea de comandos, pero después de una reinstalación me topé con este problema y todas las soluciones anteriores no funcionaron para mí (MSI pe706QE nvidia 960m )

Estaba editando /etc/default/grubpor:

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

y noté que nomodesettodavía estaba en la parte inferior del archivo (no recuerdo haberlo agregado permanentemente) y lo eliminé.

guarda el archivo y ejecuta:

sudo update-grub 

todos trabajando de nuevo con teclas de acceso directo #noobie fail espero que esto pueda ayudar a alguien.

tesoro
fuente
2

Tengo un portátil Sony VPCEH, tuve el mismo problema. Probé esta solución que funcionó para mí:  http://ubuntuforums.org/showthread.php?t=2221452#6 Brevemente: con privilegios de root, cree el archivo /usr/share/X11/xorg.conf.d/20- nvidia.conf con el siguiente contenido

Sección "Dispositivo" Identificador "Dispositivo0" Controlador "nvidia" Nombre del vendedor "NVIDIA Corporation" Nombre de la placa "GeForce 410M" Opción "RegistryDwords" "EnableBrightnessControl = 1" EndSection

Cierre sesión y vuelva a iniciarla para probar. Y agrega suavemente: "Si algo sale mal, simplemente elimine ese archivo y reinicie para recuperar el sistema". Pero no necesitaba esa adición. Después de cerrar sesión e iniciar sesión, el control de brillo comenzó a funcionar nuevamente. Espero que te ayude a ti también...

o este después funciona con ubuntu 16.04 bajo mi laptop sony VPCEJ2C5E pero con nvidia 378.13 no tengo uso por el momento de los controladores 390.25.

Pude hacer que mis teclas de brillo funcionaran en mi Lenovo W530 en Ubuntu 12.04. En estos días, X se configura automáticamente, por lo que crear un archivo xorg.conf puede hacer que su sistema sea inflexible. En su lugar, puede agregar una sección a un archivo en /usr/share/X11/xorg.conf.d/ y X incluirá esa sección en la configuración que genera automáticamente. Entonces, para que las teclas de brillo de la pantalla funcionen con su tarjeta gráfica Nvidia, cree un archivo en el directorio xorg.conf.d, por ejemplo: sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf Pegue lo siguiente en el archivo:

Sección "Dispositivo" Identificador "Dispositivo0" Controlador "nvidia" Nombre del proveedor "NVIDIA Corporation" Nombre de la placa "Quadro K1000M" Opción "RegistryDwords" "EnableBrightnessControl = 1" EndSection

¡Cierre sesión y vuelva a iniciar sesión, o reinicie, y sus teclas de brillo ahora deberían funcionar!

ingrese la descripción de la imagen aquí

Ubuntu1304XFCE
fuente
2

Por solicitud de wineunuuchs2unix , estoy volviendo a publicar mi respuesta a una pregunta similar aquí.

Tratar acpi_osi=

Al actualizar a Bionic hace unos días, encontré un problema similar (tengo una NVIDIA GeForce GTX 1060 Mobile, pero para mí /sys/class/backlightse muestra como vacía).

Al trabajar a través del procedimiento de depuración de la luz de fondo , descubrí una solución alternativa a través de los parámetros del kernel:

  • En "Software y actualizaciones" → "Controladores adicionales", asegúrese de haber seleccionado nvidia-driver-396(o el metapaquete actual; 396 es el último al momento de la escritura).
  • Edite /etc/default/grubejecutando el comando sudo nano /etc/default/grub(opcionalmente reemplazando nanocon su editor favorito).
  • Encuentre la línea que establece GRUB_CMDLINE_LINUX_DEFAULTy agregue acpi_osi=al final dentro de las comillas. En la mayoría de los sistemas, esto lo dejará con una lectura lineal GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=".
  • Guarde y salga del editor.
  • Ejecute el comando sudo update-gruby reinicie.

(Si estos pasos no funcionan, restaure su configuración repitiendo el proceso, pero eliminándola acpi_osi=cuando edite la configuración de GRUB).

Otra solución alternativa, si es una opción para usted, es cambiar a un núcleo de línea principal . En particular, no veo el problema en mainline kernel versión 4.17.

(Error reportado aquí ).

Invitado
fuente
1
desafortunadamente no ayuda :(
Max Tkachenko
1

clone este repositorio y pegue el script backlight.shen /bin. luego hágalo ejecutable y luego abra un terminal raíz y ejecute el siguiente comando.

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

para clonar el repositorio,

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

endrias
fuente
¡Gracias! Desafortunadamente, usa "echo $ 1> / sys / class / backlight / 0 / brillo;" y es lo mismo que escribí a continuación "6. cambio / sys / clase / luz de fondo / brillo"
Max Tkachenko
no es /sys/class/backlight/0/brightnessel camino correcto es/sys/class/backlight/acpi_video0/brightness
endrias
o alguna otra ruta similar para sistemas con hardware gráfico especializado.
endrias
En cualquier caso, no funciona :(
Max Tkachenko
1

Puede instalar el paquete del comando xbacklight en la terminal:

sudo apt-get install --reinstalar xbacklight

Después de la instalación, puede usar el comando xbacklight de la siguiente manera:

xbacklight -inc 20 # aumenta la retroiluminación en un 20%

xbacklight -dec 30 # disminución en un 30%

xbacklight -set 80 # establecido en 80% del valor máximo

xbacklight -get # obtiene el nivel actual

El comando xbacklight debería funcionar de esta manera.

dschinn1001
fuente
1
Lo sentimos, pero xbacklight en la lista de soluciones comprobadas. No funciona :(
Max Tkachenko
1

¡Un programa para resolver todo este problema!

Tengo GTX 1060 de escritorio de 6 Gb ubuntu 16.04

NO es necesario hacer nada, solo instale el controlador de brillo con el ppa:

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

resolvió el problema por mí (ver capturas de pantalla), sin embargo, entra en conflicto con el desplazamiento al rojo, por lo que debe eliminar el desplazamiento al rojo

puede agregarlo al inicio para un uso conveniente

Go MasterZero
fuente
1
Gracias por su respuesta. Pero creo que esto no es lo correcto, el texto es del sitio: "Es un atenuador basado en software". No es el control de su potencia de luz de fondo, es solo una solución de software con curvas RGB :( Lo intentaré un poco más tarde.
Max Tkachenko
pruébalo, realmente funciona :)
Go MasterZero
Lo he probado Como dije, es una solución de software, no ahorra la batería y daña el color de la imagen. xrandr --output DP-0 --brightness $ VALUE --- haz lo mismo.
Max Tkachenko
gracias por sus comentarios, una GUI todavía es agradable tener
Go MasterZero
1

Finalmente arreglé esto y ninguna de las soluciones en línea que el póster original enumeró funcionó para mí. Lo que resolvió el problema fue ir a / etc / default / grub y en la línea: GRUB_CMDLINE_LINUX_DEFAULT

Agregando:

"acpi_osi ="

Pero tampoco use "nomodeset" en él. Ppl agregó nomodeset originalmente para solucionar el problema de representación del software, pero esto en realidad hace que Linux no reconozca los controladores de Nvidia.

Por último, asegúrese de ir al Administrador de controladores del menú de inicio de Linux y actualice sus controladores Nvidia a 430 o más nuevos.

Stephen Wong
fuente