viernes, 30 de marzo de 2018

SOLUCIÓN - Problemas en monitor externo por HDMI en AMD Enduro

¿Problemas para conectar un monitor externo?
Como bien se sabe, el uso de monitores externos es una gran ayuda para todos, ya sea para ver una película de nuestro portátil hacia un televisor, duplicar o extender el escritorio, etc. Es en casos específicos donde requerimos una conexión HDMI y este puerto debe ser controlado por el driver gráfico para obtener el mejor rendimiento.
Pero, si poseen un portátil con 02 GPUs, puede que se encuentren con 02 principales problemas al utilizar un monitor externo por HDMI.
En esta publicación se explicarán los 02 posibles escenarios y sus respectivas soluciones.

Soluciones aplicable a:
  1. iGPU Intel + dGPU AMD 6xxxM/7xxxM/8xxxM. [SOLUCIÓN 1].
  2. APU + dGPU AMD 6xxxM/7xxxM/8xxxM. [SOLUCIÓN 1].
  3. iGPU Intel (1ra gen) + dGPU ATI Mobility 5xxx / AMD 6xxxM. [SOLUCIÓN 2].
Advertencias:
  1. Todas las soluciones ofrecidas son exclusivas para un fallo de software (driver gráfico).
  2. Este problema también está presente por fallo de hardware; si este es el caso, el usuario deberá buscar otra solución como utilizar un cable HDMI distinto o reparar el puerto HDMI.
  3. El usuario es responsable si aplica las soluciones de esta publicación.
Síntomas:
  1. "Pantalla negra" o "Sin señal" al conectar un monitor externo por HDMI en portátiles con iGPU Intel o APU + dGPU AMD 6xxx/7xxx/8xxx [SÍNTOMA 1].
  2. "Pantalla negra", "Sin señal", "Lag", "Stutter", "TDR" o "BSOD" al conectar un monitor externo por HDMI en portátiles con iGPU Intel (1ra gen) + dGPU ATI Mobility 5xxx / AMD 6xxxM en "Modo Dinámico" [SÍNTOMA 2].
Antes de proceder, quiero dejar en claro que las 02 soluciones expuestas son aplicables para configuraciones distintas (tal como aparece arriba). Busquen bien cuál solución deben aplicar, es decir, para el "Síntoma 1" aplicar la "Solución 1" y para el "Síntoma 2" aplicar la "Solución 2".

I. SOLUCIÓN 1: CREAR UN DWORD
Y otra vez nos remontamos al 2014, año en donde el equipo UnifL descubrió un nuevo dword que repercute en la conexión por HDMI, dicho dword es responsable de controlar la transmisión de información. Fue implementado desde el Catalyst 14.9.2 beta UnifL, mas no se encuentra en los drivers oficiales de AMD.
Si poseen el "Síntoma 1":
"Pantalla negra" o "Sin señal" al conectar un monitor externo por HDMI en portátiles con iGPU Intel o APU + dGPU AMD 6xxx/7xxx/8xxx.
y un driver gráfico instalado correctamente, simplemente realicen lo siguiente:
[1]. Ejecutar "regedit.exe":
Ingresando al "Registro de Windows".
[2]. Ir a la siguiente ruta:
"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\amdkmdag"
[3]. Crear un dword de 32 bit y llamarlo:
"KMD_EnableCrossGpuDisplaySupport"
Creando el dword de 32 bit.
[4]. Asignar al dword el valor "1" en Hexadecimal:
Asignándole el valor 1 en "Hexadecimal".
[5]. Reiniciar el equipo y probar la funcionalidad.

II. SOLUCIÓN 2: INSTALAR RADEON SOFTWARE 16.2.1 NO-GCN
Muchos fueron los problemas en portátiles con la configuración iGPU Intel (1ra gen) + dGPU ATI Mobility 5xxx / AMD 6xxxM, todo comenzó con Enduro forzado (Modo Dinámico forzado), trajo consigo el bootloop (bucle de arranque) y más bugs, por tal motivo realizamos una campaña en los foros de Microsoft para solucionar estos problemas.
NOTA: Los drivers del fabricante (para este tipo de portátil) no presentan el problema (porque son drivers antiguos que permiten el Modo Fijo), pero el rendimiento en muchas aplicaciones es inferior.
Si no están familiarizados con los acontecimientos, les recomiendo revisar las publicaciones:
  1. "El final del Modo Fijo"
  2. "SOLUCIÓN - (iGPU Intel + dGPU ATI Mobility 5xxx / AMD 6xxxM) Pantalla negra al conmutar los gráficos en Modo Fijo".
Resultó que Windows 7 era inmune al bootloop, por lo que se encontró en dicho sistema que la conexión mediante HDMI no funcionaba correctamente. Fue gracias a Windows 7 que tomamos conciencia de estos problemas y logramos que Microsoft fuerce a AMD para solucionar el bootloop y black-screen en aplicaciones para Win8.x/10.

Finalmente, todo parecía solucionado (según AMD) pero logramos que reconozca el problema de la conexión por HDMI y solo era cuestión de tiempo para que lo arreglaran. A continuación, les muestro estractos de las notas de lanzamiento de los principales drivers (desde el "Catalyst 15.11") respecto al HDMI:

Catalyst 15.11 – Notas de lanzamiento
Known Issues
[78912] A black screen may be experienced on booting Windows® 10 on some systems with switchable graphics  -  with AMD Radeon™ HD5000 series graphics cards,  when connected to an HDMI monitor

Radeon Software Crimson 16.1 for Non GCN – Notas de lanzamiento
Resolved Issues
[80015] Stutter, slow display updates may be experienced on HDMI connections on some notebook systems with Intel CPU and an AMD discrete GPU
Known Issues
[78912] A black screen or TDR error may be experienced when booting some notebook systems with an Intel CPU and an AMD discrete GPU. when connected to an HDMI display

Radeon Software Crimson 16.2.1 for Non GCN – Notas de la lanzamiento
Resolved Issues:
A black screen/TDR error may be encountered when booting a  system with Intel + AMD graphics and an HDMI monitor connected
Como nota adicional, el Catalyst 15.11 (No confundir con el "Radeon Software 15.11") puede hacer funcionar la conexión HDMI mediante "Pantalla extendida" pero con "Stutter" y "Lag" (Solucionado con el "Radeon Software 16.1 Non-GCN").
Todo se mostraba correcto en ese entonces, "Radeon Software 16.2.1 Non-GCN" solucionaba completamente los problemas relacionados a la conexión por HDMI, pero fue en este punto donde AMD finalizó el soporte para GPUs Pre-GCN, por tal motivo, este es el último driver oficial (Pre-GCN es ahora considerado como Legacy 2).
Radeon Software 16.2.1, el último driver oficial para Pre-GCN.
Entonces, si poseen el "Síntoma 2":
"Pantalla negra", "Sin señal", "Lag", "Stutter", "TDR" o "BSOD" al conectar un monitor externo por HDMI en portátiles con iGPU Intel (1ra gen) + dGPU ATI Mobility 5xxx / AMD 6xxxM en "Modo Dinámico".
Tienes dos alternativas:
  1. Instalar el "Radeon Software 16.2.1 Non-GCN".
  2. Instalar el "Catalyst 16.2.1 UnifL v1.0". [RECOMENDADO]
Recomiendo el "Catalyst 16.2.1 UnifL v1.0" porque incluye el driver para iGPU Intel, las modificaciones para mejorar el rendimiento en el dGPU y también la posibilidad de elegir la instalación de 02 softwares de gestión gráfica: "Catalyst Control Center" o "Radeon Settings".

-->Los pasos a realizar son:
[1]. Descargar el driver UnifL:
      "Catalyst 16.2.1 UnifL v1.0"
Catalyst 16.2.1 UnifL: Menú principal de extracción.
[2]. Extraer el contenido:
      Seleccionar la versión "Intel HD Graphics 8.15.10.2900" (Legacy).
Seleccionando la versión 2900 (Legacy).
[3]. Realizar los preparativos y limpieza según la guía:
      "Preparativos y limpieza de drivers gráficos"
NOTA: Bloquear la instalación de drivers de Windows Update según la siguiente captura.
Como se instalará un driver UnifL, bloquear la instalación de estos 3 drivers.
[4]. Instalar el driver y verificarlo según la guía:
      "Instalación y verificación de drivers gráficos en AMD Enduro"
Instalador del Radeon Software 16.2.1, verificar que la versión a instalar sea la 15.301.1901.0000.
IMPORTANTE: Verificar que el "Firmante digital" (en el "Administrador de dispositivos") sea "Karl Sabo" (Driver UnifL).
[5]. Probar la conexión HDMI utilizando un monitor adicional.
IMPORTANTE: OpenCL dejará de funcionar con el Radeon Software 16.2.1 (Oficial o UnifL). Además, es posible que ciertas aplicaciones OpenGL presenten un menor rendimiento comparado con otros drivers. Para solucionarlo, continuar la lectura.

FIX OpenGL/CL
Todos los Radeon Software (Legacy) poseen bugs en OpenGL/CL, pero OpenCL es totalmente inutilizable, por lo que se debe utilizar un FIX para su solución. Este es otro de los problemas que AMD dejó sin solución, pero si utilizamos los dlls del Catalyst 15.11.1 (último funcional) el problema estará solucionado.

Algunas aplicaciones OpenCL potencialmente afectadas son:
  1. Adobe Photoshop
  2. Otros softwares de Adobe que usan OpenCL
  3. Sony Vegas
IMPORTANTE: El procedimiento siguiente es opcional. Aplicarlo o no, no influyen en el funcionamiento correcto del driver. Únicamente proceder si lo consideran necesario.
A continuación dejaré los dlls del "Catalyst 15.11.1" comprimidos en winrar:
----------->Enlaces:<-----------
  1. "amd_dlls_opencl_15.11.1.rar"
  2. "OpenGL UnifL fix.rar"
-->Instrucciones - "amd_dlls_opencl_15.11.1":
   [1]. Iniciar Windows en "Modo seguro"
   [2]. Copiar el contenido de la carpeta "system32" en:
         "%windir%\system32"
   [3]. Copiar el contenido de la carpeta "syswow64" en:
         "%windir%\syswow64"
   [4]. Iniciar Windows normalmente y probar.

-->Instrucciones - "OpenGL UnifL fix.rar":
   [1]. Iniciar Windows en "Modo seguro"
   [2]. Reemplazar "atio6axx.dll" en:
         "%windir%\system32"
   [3]. Reemplazar "atioglxx.dll" en:
         "%windir%\syswow64"
   [4]. Iniciar Windows normalmente y probar.

REFERENCIAS:
1. "AMD Catalyst™ 15.11.1 Beta Driver for Windows® Release Notes".
2. "AMD Radeon Software Crimson Edition 16.1 for Non GCN Products Release Notes".
3. "AMD Radeon Software Crimson Edition 16.2.1 Beta for Non GCN Products Release Notes".
4. "Catalyst 16.2.1 UnifL is now online!".
5. "AMD/Intel: Switchable graphics - Black screen!".


Palabras finales
Hola a todos, aquí quantum-phy en otra publicación.
Llegamos al problema del HDMI, pero esta vez se agrupó los dos casos y soluciones para tener centralizado el contenido.
La verdad que el largo tiempo en el cual no pudimos utilizar Windows 8.x/10 (Intel 1ra gen) con drivers actuales para esa fecha (2014-15) fue un fastidio. A mis conocidos les ofrecí 02 soluciones: o utilizar Windows 7 o utilizar el Catalyst 14.4 UnifL v2.2 con Windows 8.x. Ocurrió lo segundo, por el hecho que aún no se solucionaban los bugs que AMD introdujo en su "Modo Dinámico Forzado".
Windows 7 demostró ser el sistema operativo más sólido (2014-15), actualmente Windows 10 es mejor (pero en portátiles con Intel de 3ra gen o inferiores es muy malo), y nos permitió utilizar el "Modo Dinámico Forzado" para así descubrir los bugs que AMD introdujo y no tenían pensado solucionar, uno de ellos fué el bootloop. Para nuestra sorpresa, cuando el bootloop fue solucionado, todos imaginábamos que también serían solucionados los demás problemas nuevos, pero nada más lejos de la realidad, todo lo demás seguía igual. Así es como AMD realizó su trabajo (en ese entonces), tuvimos que intervenir (otra vez) para solucionar los problemas de una vez por todas.
Finalmente, quiero dar las gracias a @JPC, usuario del Foro HP, por probar la solución 1 y confirmar su funcionamiento. Él posee el mismo portátil HP que yo (HP Pavilion g4-2082la) y presentó el problema, la diferencia clave fue justamente el dword "KMD_EnableCrossGPUDisplaySupport", que en mi caso estaba implementado, pero en su caso no. Siguió los pasos y tras reiniciar el equipo, su conexión HDMI comenzó a funcionar.
Y por último, agradezco al equipo UnifL por organizar la campaña en el Foro de Microsoft, muchos no saben la historia de lo que en verdad pasó, existió una investigación de meses para solucionar el problema del bootloop y HDMI por el equipo UnifL (obviamente al ser usuarios como nosotros, ellos también están limitados y no pudieron solucionarlo). Vuelvo a repetirlo, gracias por su gran contribución.
También agradezco a AMD por solucionar el problema y escuchar nuestras sugerencias (sarcasmo).

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