jueves, 29 de marzo de 2018

SOLUCIÓN - (iGPU Intel + dGPU ATI Mobility 5xxx / AMD 6xxxM) Pantalla negra al conmutar los gráficos en Modo Fijo

El equipo UnifL publicó un gran aporte para solucionar uno de los problemas más grandes del "Modo Fijo".
Como ya se mencionó en la publicación "SOLUCIÓN - Brillo de pantalla bloqueado en Modo Fijo, Dinámico y Discreto", existen muchos problemas con la reactivación de la pantalla (control del brillo) y uno de ellos es la "Pantalla negra al comnutar los gráficos en Modo Fijo".
Lamentablemente, la solución expuesta en dicha publicación no es aplicable para el problema específico que únicamente está presente en cierta configuración de hardware (aunque los síntomas sean muy similares).

En esta publicación se tratarán las soluciones a la "Pantalla negra" para los GPUs ATI Mobility 5xxx y AMD 6xxxM.

NOTA: Windows 10 NO SOPORTA la instalación del Catalyst 14.4 (BIOS en Modo Fijo), sólo son instalables versiones superiores.
NOTA: Windows 10 bloqueó parcialmente el Modo Fijo (para dGPU ATI Mobility 5xxx), es decir, en algunos casos es posible la instalación de los drivers de fábrica (2011/2012) en modo compatibilidad.

Solución aplicable a:
  1. iGPU Intel HD (1ra gen) + dGPU ATI Mobility 5450/5470/5650/5730/5850/6370/6550.
  2. iGPU Intel HD 3000 (2da gen) + dGPU AMD 6850M.
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 Mobility 5xxx / AMD 6xxxM porque con ellos ocurre el problema.
  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.
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 ATI/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 al despertar del modo de suspensión en Modo Fijo (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.
  4. Una pantalla externa por HDMI no presentará este problema.
I. ¿EN QUÉ CONSISTE EL PROBLEMA?
Con solo ver los síntomas se pueden dar una idea:
Imposibilidad de regular el brillo de pantalla al seleccionar el GPU ATI/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.
El problema debería ser corregido asignando un valor de FTC en el registro de Windows, pero este cambio parece ser indiferente para portátiles con estas configuraciones.
Aunque a finales del 2013, el equipo UnifL realizó un gran progreso y con ayuda de la comunidad de usuarios se encontró que el problema no era el driver de AMD sino el de Intel. Con dicha idea en mente, se llegaron a descubrir los dwords que debían ser modificados:

                   Display1_LVDSSetTimingControlFlags
                   IntLVDSSwingSetting
En cuanto a los valores asignables para estos dwords, no se preocupen por ello, porque el equipo UnifL ya los encontró y los incluyó en sus drivers modificados de Intel.
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.
II. ¿POR QUÉ SE PRESENTA ESTE PROBLEMA?
La respuesta es simple, por actualizar los drivers, ya sea por nuestra intervención o por las actualizaciones automáticas de Windows. Además, antes de la salida de Windows 8.0, AMD decidió limitar el soporte para el "Modo Fijo" para los dGPUs mencionados en esta publicación.
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.
El lanzamiento de Windows 8.0 supuso la eliminación del Modo Fijo, pero no fue hasta el 2014 cuando fue sepultado definitivamente por AMD.
III. SOLUCIÓN DE LESHCATLABS (Utilizar el último driver del Modo Fijo)
Como ya les comenté, el equipo UnifL a finales del 2013 encontró la solución, pero no fué hasta junio del 2014 cuando se publicó la solución final:

Catalyst 14.4 WHQL UnifL v2.2

(¡NO INSTALAR LA VERSIÓN 2.4!)
En esta versión ya no es necesario Instalar el driver Intel "Legacy, ver. 8.15.10.2559" para Intel HD 3000.
Catalyst 14.4 UnifL v2.2: seleccionando el driver Intel.
 El driver a instalar es:
  • "Legacy, ver. 8.15.10.2559" - Para [iGPU Intel HD (1ra gen) + dGPU 5xxx/6xxxM] - RECOMENDADO
  • "Legacy, ver. 8.15.10.2993" - Para [iGPU Intel HD (1ra gen) + dGPU 5xxx/6xxxM]
  • "Modern, ver. 9.17.10.3517" - Para [iGPU Intel HD 3000 + dGPU AMD 6850M]
Catalyst 14.4 UnifL v2.2 instalado correctamente.
Efectividad: Efectivo.
Defecto:
  1. Nivel de brillo de pantalla regulable únicamente en el iGPU Intel, imposibilidad de regular el brillo en el dGPU ATI/AMD; pero se conservará el mismo nivel de brillo dejado por el iGPU Intel. Si el usuario desea cambiar el nivel de brillo para el dGPU, entonces deberá regularlo en el iGPU y posteriormente cambiar al dGPU. (Algunos usuarios no tienen este inconveniente, pero aún así, es una gran solución).

IV. SOLUCIÓN OFICIAL DE AMD (Migrar al Modo dinámico por driver)
Tal como se explicó en la publicación "El final del Modo Fijo", cualquier driver superior al Catalyst 14.4 WHQL instalado en portátiles que cuente con el Modo Fijo, serán trasladados al "Modo Dinámico" sin cambiar opción alguna en el BIOS.
Esto trae una gran ventaja para los dGPUs de la presente publicación.
Muxless (Modo Dinámico): principales características.
Como la característica principal del "Modo Fijo" (AMD Enduro) es que el iGPU se encargue de controlar la pantalla, entonces el brillo será controlado únicamente por el iGPU y al no existir conmutación manual, no existirá la posibilidad de regular el brillo en el dGPU, por tal motivo no existirá el problema.
Además, el dGPU queda como complemento para cuando alguna aplicación lo llame a través de los perfiles del Catalyst.
En otras palabras, AMD evitó el solucionar el problema.
Como se sabe muy bien, los primeros Catalyst compatibles con Windows 10 fueron los rev.15.200.1040 y el 15.7; estos drivers funcionaron con estos GPUs en Windows 7, pero sus predecesores no lo hicieron en Windows 8.x/10, además de presentar muchos bugs. A continuación les mostraré los principales bugs y en qué versiones se solucionaron:
  1. Bucle de arranque (Bootloop) en Windows 8.1/10 si poseen un iGPU Intel (1ra Gen) + dGPU ATI Mobility 5450/5470/5650/5730/5850/6370/6550M. Windows 7 no se vió afectado. [Solucionado a partir del Catalyst rev.15.200.1040 para Windows 10 o Catalyst 15.7 para Windows 7/8.x/10].
  2. Imposibilidad de usar una pantalla externa por HDMI. [Solucionado a partir de los Radeon Software 16.1 Legacy].
  3. Ciertas aplicaciones/juegos obtendrán una pantalla negra (con reproducción normal de sonido) si se configuran en el Catalyst como "Alto Rendimiento". [Solucionado a partir de los Catalyst 15.11 Beta].
  4. Al abrir ciertas aplicaciones, estas "dejan de responder", generalmente en el dGPU. [Solucionado a partir de los Catalyst 15.7 WHQL].
  5. Al regresar del modo de suspensión puede ocurrir un BSOD o TDR. [Solucionado a partir de los Catalyst 15.7 WHQL].

Efectividad: Muy efectivo.
Bugs sin solución:
  1. Pantalla parpadeante al loguearse en Windows 10 utilizando la opción de energía "Maximizar rendimiento" del "Catalyst Control Center". [Para solucionarlo: Desconectar el cargador y después de loguearse entrar al "Catalyst Control Center"/"Configuraciones globales de gráficos intercambiables" y establecer a "Optimizar rendimiento"].
  2. Todos los problemas que existen en AMD Enduro (Modo dinámico).

V. SOLUCIÓN ALTERNATIVA PARA USUARIOS CON iGPU Intel HD 3000 + dGPU AMD 6850M [HP ENVY 17, HP ENVY 17 3D (2XXX series) y similares]
La solución consiste en el "Modo dinámico", pero esta vez no en instalar un Catalyst superior al 14.4 WHQL, sino, mediante la instalación de un BIOS-MOD (Existe un BIOS-MOD para los HP Envy 17 y 17 3D 2XXX).
Cuando se tenga instalado el nuevo BIOS, podrán elegir el "Modo dinámico", y luego instalar cualquier driver, ya sea oficial o UnifL (superior o inferior al 14.4). Recomiendo instalar un driver UnifL porque para este caso es necesario las modificaciones del driver Intel que ellos realizan.
Para más información, revisar "BIOS en gráficos híbridos y OpenGL" y la referencia 4.
BIOS-MOD instalado, en este caso se puede seleccionar el "Modo Dinámico".
Efectividad: Muy efectivo.
Defecto:
  1. Contenido 3D (películas) no estará disponible en el "Modo dinámico" porque el iGPU Intel HD 3000 es el que controla la pantalla y este no cumple los requisitos.
  2. 120Hz sólo funciona correctamente (por el momento) con el driver Intel "Legacy, ver. 8.15.10.2559" del paquete UnifL 14.4 v2.2.
  3. Imposibilidad de utilizar 02 monitores externos al mismo tiempo (porque el iGPU Intel es el GPU principal - AMD Enduro).
VI. PASOS A REALIZAR PARA APLICAR LAS SOLUCIONES
Como se infiere de la publicación, todas las soluciones implican instalar un driver, por tal motivo debe realizarse lo siguiente:
1. Descargar el driver de Intel y AMD según la solución a utilizar:
    UnifL Download Zone [Catalyst 14.4 UnifL v2.2]
2. Realizar los preparativos y limpieza según la guía:
    "Preparativos y limpieza de drivers gráficos"
4. Instalar el drivery verificarlo según la guía:
    "Instalación y verificación de drivers gráficos en AMD Enduro"
Firmante digital: Karl Sabo.
IMPORTANTE: Si se instala el Catalyst 14.4 UnifL v2.2, verificar que el "Firmante digital" sea "Karl Sabo".
5. Probar el portátil.

REFERENCIAS:
1. "AMD/Intel: Switchable graphics - Black screen!".
2. "Download AMD Radeon Software".
3. "FIXED Intel HD 1st gen - Black screen & HDMI issues! FIXED".
4. "HP ENVY 17 & 17 3D (2XXX series) 6850m Owners Lounge".
5. "UnifL Download Zone".

Palabras finales
Hola a todos, aquí quantum-phy en otra publicación.
Y aquí les traigo la tercera parte, la primera fue "El final del Modo Fijo" y la segunda "SOLUCIÓN - Brillo de pantalla bloqueado en Modo Fijo, Dinámico y Discreto". Estas tres publicaciones se relacionan mucho, recomiendo leer las anteriores si no lo hicieron. Recuerden que "El final del Modo Fijo" es la publicación informativa y esta es la publicación aplicando las soluciones.

Personalmente, la solución de Leshcatlabs es la mejor que puede existir si desean el "Modo Fijo", la he utilizado mucho en los portátiles de mis conocidos y están satisfechos, aunque la solución de AMD también funciona, pero tras un mal soporte, hasta mis conocidos no querían saber nada del "Modo Dinámico" que AMD estaba forzando a utilizar (concuerdo con ellos).
La verdad que es una vergüenza que AMD demorara en solucionar los bugs que les mostré más arriba; tuve que participar en la campaña para informar a AMD a través de Microsoft para que solucionaran el bootloop y el black screen en aplicaciones. En resumen, demoraron como 01 año en solucionar el bootloop y unos meses después llegaron las siguientes correcciones hasta terminar solucionando el tema del HDMI. Y aún quedaban más bugs que solucionar, pero AMD declaró a estos GPUs como Legacy (finales del 2015) y se olvidaron hasta el día de hoy de todos los Pre-GCN. Esto me deja un mal sabor de boca porque si ellos introdujeron problemas extremadamente graves (seamos realistas, en ese entonces instalamos un driver que no nos permitía iniciar Windows, dicho driver fué publicado por AMD y además WinUpdate también nos obligaba a instalarlo en Windows 10) ellos debieron solucionarlo inmediatamente y no esperar a que la comunidad se queje, eso nos lleva a la conclusión que AMD NO PRUEBA SUS DRIVERS EN TODOS LOS GPUS SOPORTADOS.
Por tal motivo, si están leyendo esta publicación y tienen un conocido que quiere comprar un nuevo portátil, díganle que no opte por AMD.
Finalmente quisiera agradecer a todo el equipo UnifL por realizar la campaña para solucionar el bootloop y los otros bugs (pueden encontrar la campaña en la referencia 01).

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