domingo, 11 de marzo de 2018

SOLUCIÓN - Brillo de pantalla bloqueado en Modo Fijo, Dinámico y Discreto

UBR - "UnifL Brightness Resolver" cambiando el valor del FTC.
Muchos son los problemas existentes con respecto al control del brillo de pantalla, pero cuando de gráficos híbridos se trata, lo más común es no poder regularlo bajo el "Modo Fijo" al conmutar los gráficos. Claro está que existen excepciones para el "Modo discreto" y "AMD Enduro".

En esta publicación se tratarán las soluciones al problema mencionado:

Advertencias:
  1. Todas las soluciones ofrecidas son exclusivas para un fallo de software (driver gráfico).
  2. Esta guía se aplica para dGPUs ATI Legacy y AMD Pre-GCN porque con ellos ocurre el problema; aunque las soluciones para "AMD Enduro" y "Modo Discreto" pueden funcionar con los nuevos GPUs AMD.
  3. Las soluciones ofrecidas para el "Modo Fijo" son exclusivas para Windows 7/8.x y portátiles con iGPU Intel + dGPU AMD.
  4. El último driver que soporta el "Modo Fijo" es el Catalyst 14.4 WHQL; además, Windows 10 no lo soporta.
  5. Los problemas mencionados aparecerán si el usuario decide actualizar los drivers de fábrica utilizando los proporcionados por AMD.
  6. Este problema también está presente por fallo de hardware; si este es el caso, el usuario deberá buscar otra solución como el "Reballing" o "Reflow".
  7. La instalación de drivers del fabricante bajo una instalación limpia de Windows no debería presentar este problema, pero si sigue ocurriendo, lo más problable es que sea un problema físico (hardware).
  8. Aplicaciones como "HP On-Screen Display" y de otros fabricantes (Windows 7) sólo muestran un indicador del nivel del brillo, más no lo regulan. El nivel del brillo es controlado exclusivamente por el driver gráfico mediante la intervención del usuario.
  9. El usuario es responsable si aplica las soluciones de esta publicación.
Requisitos:
  1. Drivers gráficos Oficiales instalados correctamente [Modo Dinámico y Discreto].
  2. Drivers gráficos UnifL instalados correctamente [Modo Fijo].
  3. UBR "UnifL Brightness Resolver" - Unifl Download Zone.
Síntomas:
  1. Se puede regular el brillo de pantalla al seleccionar el GPU Intel en Modo Fijo (con las teclas asignadas por el fabricante "F2", "F3", "F11", "F12"; a través de las "Opciones de energía" y "Centro de movilidad de Windows").
  2. Imposibilidad de regular el brillo de pantalla al seleccionar el GPU AMD en Modo Fijo (con las teclas asignadas por el fabricante "F2", "F3", "F11", "F12"; a través de las "Opciones de energía" y "Centro de movilidad de Windows"), el nivel del brillo ()será muy bajo (de 0 a 5%), el usuario podrá distinguir fácilmente una imagen muy débil si se utiliza una linterna.
  3. Imposibilidad de regular el brillo de pantalla en Modo Dinámico y Modo Discreto, el nivel del brillo estará al 100%.
  4. Imposibilidad de regular el brillo de pantalla al despertar del modo de suspensión en Modo Dinámico (Problema de Wakeup), el nivel del brillo será muy bajo (de 0 a 5%), el usuario podrá distinguir fácilmente una imagen muy débil si se utiliza una linterna.
  5. Una pantalla externa por HDMI no presentará este problema.

I. ¿POR QUÉ SE PRESENTAN ESTOS PROBLEMAS?
La respuesta es simple, por actualizar los drivers, ya sea por nuestra intervención o por las actualizaciones automáticas de Windows.
Y ¿Por qué la actualización de drivers genera el problema? La respuesta es que AMD no incluye los dwords necesarios para que nuestros portátiles sean 100% funcionales por el echo de proporcionar drivers genéricos. El fabricante del portátil incluye estos dwors en sus drivers, por tal motivo, los drivers oficiales de AMD y de WinUpdate presentan este problema.
Pero como se sabe, AMD siempre dice que utilicemos los drivers del fabricante, pero cuando vamos a la página del fabricante de nuestro portátil, nos llevamos con la sorpresa que sus drivers son muy antiguos.
En mi caso, mi vieja laptop HP Pavilion g4-2082la del 2012 sólo posee drivers de inicios del 2012. Esto es una vergüenza, por tal motivo no es de extrañar que los usuarios busquemos actualizar los drivers y solucionar los problemas que se generen.

II. SOLUCIÓN PARA EL MODO FIJO
El problema más común para el "Modo Fijo" es la imposibilidad de controlar el brillo en el dGPU con un driver distinto al del fabricante, pero al cambiar al iGPU el problema desaparece. Tener en cuenta que en el dGPU, el brillo puede estar al mínimo, no confundir con una pantalla negra (como en la siguiente fotografía).
Se puede distinguir una imagen en la pantalla. Si se visualiza detenidamente, se darán cuenta que el "Catalyst Control Center" indica que el dGPU AMD está seleccionado.
El "Catalyst Control Center" muestra que el iGPU Intel controla la pantalla; y como pueden observar, no existe un problema del brillo.
Antes de aplicar la solución se debe conocer parte de la teoría porque utilizaremos valores alfanuméricos y estos no funcionan por igual en todas las laptops. Para empezar debemos conocer lo que es el FTC:

¿Qué es el FTC?
FTC significa "FeatureTestControl", es un dword del Registro de Windows (regedit.exe) exclusivo del Modo Fijo con un iGPU Intel y su principal función es:
Controlar el brillo de pantalla, reactivar la pantalla después del modo de suspensión, reactivar la pantalla cuando se conmutan los gráficos, entre otras.
¿Qué valores puede tomar el FTC?
Este es el origen de todo este problema, puede tomar distintos valores dependiendo del driver instalado. Si se asigna un valor equivocado se presentarán los problemas mencionados.

¿Existe un valor de FTC universal o puede variar para cada dGPU?
No existe un valor universal del FTC. Los fabricantes de portátiles al modificar los drivers de AMD, añaden los valores del FTC que funcionarán con los GPUs.
El gran problema de los usuarios es que necesitamos actualizar los drivers (por la página de AMD o algún tercero) y cuando lo hacemos, el valor del FTC ya no es el correcto.

Entonces si cambiamos el valor del FTC del driver actual con el valor del driver del fabricante ¿esto solucionará todos los problemas?
No necesariamente. Recordemos que un valor funcional de FTC en un driver, puede no funcionar en uno más actual. Pero si el driver de fábrica y el driver a actualizar son versiones cercanas, entonces es casi seguro que el valor del FTC de fábrica funcione. Como ejemplo:
  • Laptop: iGPU Intel HD 3000 + dGPU 6700M
  • Versión del Driver 01: 13.251
  • Versión del Driver 02: 13.353
  • Versión del Driver 03: 14.301
Es muy probable que el valor del FTC del "Driver 01" funcione en el "Driver 02", pero no en el "Driver 03".

Además, el valor del FTC para un portátil con un dGPU 6700M puede no funcionar en otro portátil con el mismo dGPU; esto es porque existen muchos modelos distintos de dGPUs 6700M, adicionalmente se debe tener en cuenta el sistema operativo.
Lamentablemente el usuario debe encontrar los valores correctos del FTC para su portátil, generalmente el valor oscila desde el F700-F900.

¿Es posible tener distintos valores del FTC para el iGPU y dGPU?
Claro. Aunque también pueden compartir el mismo valor.

¿Cómo cambiar el valor del FTC?
Existen dos formas, la primera es editar manualmente cada valor de "FeatureTestControl" en el "Registro de Windows", pero hacerlo es dificultoso y se puede cometer el error de editar algún otro dword. La segunda es utilizar la herramienta de Leshcatlabs llamada "UBR (UnifL Brightness Resolver)".

La herramienta UBR puede ser encontrada en:
  1. Todos los instaladores de los drivers UnifL (Leshcatlabs) haciendo clic en "Brightness Resolver".
  2. "UnifL Download Zone" (Sección "Tools Download Zone")
Ingresando a "Brightness Resolver" o "UBR".
NOTA: Se utilizará como ejemplo la versión 7.5 de UBR disponible en "UnifL Download Zone".
Los pasos a realizar son:
1. Obtener el ID de Hardware de ambos GPUs:
    "Encontrar el ID de Hardware de un dispositivo".
2. Buscar el valor del FTC en la base de datos de Leshcatlabs utilizando los ID de Hardware:
    "UnifL UBR Public Database".
NOTA: Para la mayoría de portátiles con iGPU Intel HD 3000 + dGPU AMD 6700M, el valor del FTC de fábrica es F800 y el valor que funciona para el Catalyst 13.1 WHQL es el F940.
NOTA: Los valores F000 y FFFF son valores genéricos con los cuales el brillo de pantalla se encontrará bloqueado al máximo.
3. Abrir UBR (UnifL Brightness Resolver).
Pantalla principal de UBR, se muestra que el FTC para el iGPU Intel y dGPU AMD es el F840.
4. Presionar la tecla específica para seleccionar alguna de las opciones sugeridas cuando aparezca el texto:
    "Waiting for your command:"
NOTA: Tener en cuenta que "Intel" es el iGPU e "Intelkmd" es el dGPU AMD.
Se presionó la tecla [J] para ingresar los valores F840 para el iGPU Intel y F940 para el dGPU AMD.
5. Presionar la tecla "Y" cuando aparezca el texto:
    "Reboot is now required. Would you like to reboot now?[Y\N]:"
Los cambios se realizaron con éxito, se debe reiniciar el equipo.
IMPORTANTE: Al presionar la tecla "Y" el sistema se reiniciará automáticamente, tomar las precauciones según el caso.
IMPORTANTE: "Brightness/Wakeup FIX" es también conocido como "UnifL Brightness Resolver" (UBR).
6. Verificar la funcionalidad después del reinicio.

Bueno, esto es todo lo que necesitan saber sobre el FTC, si llegan a encontrar el valor correcto para sus GPUs entonces se solucionará el problema del brillo de pantalla, el no despertar del modo de suspensión (No Wakeup) y el no despertar de la pantalla al conmutar los gráficos (no pantalla apagada) para el "Modo Fijo".
Para sección deben tener mucha paciencia, suerte.

III. SOLUCIÓN PARA EL MODO DINÁMICO (AMD ENDURO)
En teoría, no debería existir problema alguno respecto al control del brillo en "AMD Enduro", pero en la práctica suelen ocurrir.
Les mencionaré 03 soluciones que deben seguir en orden hasta que el problema se solucione:

[1]. Activar el "Monitor PnP genérico"
Deben asegurarse que el "Monitor PnP genérico" esté activado en el "Administrador de dispositivos", por alguna razón en algunos equipos este se desactiva después de la instalación de drivers, con la consecuencia de no poder controlar el brillo. Debo comentar que este es uno de los varios motivos por el que el brillo no funciona.

Los pasos a realizar son:
[1.1]. Ejecutar "devmgmt.msc":
Ingresando al "Administrador de dispositivos".
[1.2]. Activar el "Monitor PnP genérico":
Administrador de dispositivos con el "Monitor PnP genérico" activado.
[2]. Eliminar "Display1_LVDSSetTimingControlFlags" [Sólo para iGPU Intel + dGPU AMD]
Este es un dword que puede traer consecuencias para algunos equipos, dejó de tener utilidad con Catalyst superiores al 14.4.

Los pasos a realizar son:
[2.1] Ejecutar "regedit.exe":
Ingresando al "Registro de Windows".
[2.2] Buscador y eliminar varias veces los distintos dwords "Display1_LVDSSetTimingControlFlags".
Buscando el dword problemático.
Eliminando el dword problemático.
[2.3] Reiniciar el equipo.

[3]. Realizar una instalación Limpia
"Preparativos y limpieza de drivers gráficos"
"Instalación y verificación de drivers gráficos en AMD Enduro"

IV. SOLUCIÓN PARA EL MODO DISCRETO y APU + dGPU AMD
Muchos notebooks vienen sólo con un dGPU AMD (o poseen la opción de desactivar el iGPU), por lo que dwords como "FeatureTestControl", "Display1_LVDSSetTimingControlFlags", "IntLVDSSwingSetting" no existirán (Estos son exclusivos de la combinación iGPU Intel + dGPU AMD).
Generalmente, existen 02 dwords para notebooks con el modo discreto (y también para APUs + dGPU AMD) que causan problemas (uno de ellos está presente en iGPU Intel + dGPU AMD, y ambos en APU + dGPU AMD):
  • KMD_EnableBrightnesslf2
  • KMD_EnableBrightnessInterface2

Los pasos a realizar son:
[1]. Ejecutar "Regedit.exe"
Ingresando al "Registro de Windows".
[2]. Ir a la siguiente ruta
"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-bfc1-08002BE10318}\0000" [Predeterminada para el modo discreto]
o
"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001" [Predeterminada para APU + dGPU AMD]
[3]. Buscar los siguientes dwords:
        KMD_EnableBrightnesslf2
        KMD_EnableBrightnessInterface2
Si no existen, se deberá crearlos como dwords de 32bits
Mi notebook HP Pavilion G4-2082la con iGPU Intel HD 3000 + dGPU Radeon 7670M, presenta uno de los dwords
[4]. Asignar valores a los dwords:
        "KMD_EnableBrightnesslf2" : 0 en Hexadecimal.
        "KMD_EnableBrightnessInterface2" : 1 en Hexadecimal.

        En lenguaje del "Registro de Windows" sería:
        "KMD_EnableBrightnesslf2"=dword:00000000
        "KMD_EnableBrightnessInterface2"=dword:00000001
NOTA: La asignación de valores a los dwords mostrados puede no funcionar para todos los usuarios, en tal caso se debe tantear con los valores "0" o "1" (Hexadecimal) hasta encontrar la combinación perfecta.
[5]. Reiniciar el equipo y probar la funcionalidad.
NOTA: Si el problema persiste, asegúren que el "Monitor PnP genérico" esté activado en el "Administrador de dispositivos".
3. "Encontrar el ID de Hardware de un dispositivo".
4. "UnifL UBR Public Database".

Palabras finales
Hola a todos, aquí quantum-phy en otra publicación.
Hasta que por fin realicé la corrección a este tema; en el Foro HP no se entendía muy bien el cambio del FTC, pero ahora espero que sí xD. Seguro que existen más errores que se corregirán con el tiempo.
Este tema lo publiqué en el foro HP en el 2013, cuando aún no existía Windows 10 ni el Catalyst 14.4, así que esta publicación sufrió muchos cambios a lo largo de los años hasta su versión final aquí en el blog. Mayormente, estas soluciones sólo son aplicables para usuarios de ATI Legacy y AMD Pre-GCN, aunque no hay nada que impida su aplicación con los nuevos GPUs AMD (al menos para AMD Enduro y el Modo Discreto).
No olviden que para aplicar la solución para el Modo Fijo, es necesario poseer un driver UnifL instalado, caso contrario, no funcionará.
Y es todo, hasta la siguiente publicación.

Espero que esta información sea de ayuda.
Un saludo.

Estado

=======================================
Recomiendo este post donde se recopila mucho contenido útil y en español para jugar en Linux.
-¿Jugar en Linux?, están locos estos pingüinos

[Linux] ¿Fidelity FX Super Resolution (FSR) en cualquier juego?
- Pruebas en el canal de YouTube

[Linux] GalliumToggle publicado en GitHub.
=======================================

quantum-phy (NestorBase11)

Videos Destacados

Entradas recientes