Jump to content

(Solucionado) Video HD3000 y Audio en Intel DH67BL


cedroxim
 Share

34 posts in this topic

Recommended Posts

Amigos tengo os x el capitan instalado por clover booteando por hdd, y solo me trabaja es el controlador de red, no tengo audio ni video y quizás otra cosa que he obviado.

 

Tengo un i5 2500k la gráfica es una HD 3000 y estoy muy confundido, he googleado  la mayoría de guías que he visto son de hd 3000 pero versiones moviles.

 

Mi board es una intel dh67bl, tiene dos conectores, 1 HDMI y 1 DVI y un controlador de audio ALC892.

 

acabo de ver esta guía https://github.com/RehabMan/Intel-DH67XX-DSDT-Patch

 

Y veo esto

Added device ID injection for the integrated graphics.

Made it device ID 0x0116 (vendor 0x8086), so that it is possible to use vanilla AppleIntelSNBGraphicsFB.kext and AppleIntelHD3000Graphics.kext. This patch is not strictly necessary, as you can always edit the Info.plist for those two kexts to allow the native ID to load the kexts (native ID for my i7-2600k is 0x0122).

But this way allows easier OS updates, since we are using less patched kexts (even though it is a relatively easy text-only patch).

Estoy algo confundido. Necesito que me den una idea para saber donde empezar.

Saludos

 

***************Actualización*************

Instale dos kexts del amigo @pippox0 de su post http://www.insanelymac.com/forum/topic/307055-intel-hd3000-vga-qeci-patch-for-mavericks/

 

Ahora tengo aceleración por HDMI pero el conector DVI se ve distorsionado.

Me reconoce mi hd3000 como una hd2000, cuando reinicio se pone la pantalla gris con el cursor activo y no reinicia.

post-853516-0-86678200-1447350740_thumb.jpg

post-853516-0-09563800-1447350843_thumb.jpg

Link to comment
Share on other sites

No te recomiendo reemplazar kexts de 10.11 con versiones de 10.9, pueden dar mas problemas de los que solucionan. Vuelve a los kexts originales de El Capitan primero.

 

 

Según el link de Rehabman necesitas añadir un par de lineas a tu DSDT para activar la HD3000. Esto va en tu dispositivo de video (ADR 0x00020000):

Method (_DSM, 4, NotSerialized)
{
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
    Return (Package()
    {
        "device-id", Buffer() { 0x16, 0x01, 0x00, 0x00 }
    })
}

Y debes renombrar todo GFX0 a IGPU.

 

 

Alternativamente puede hacer lo mismo a travez de Clover sin un DSDT. Para el mismo resultado necesitarías añadir esto a tu config.plist:

    <key>ACPI</key>
    <dict>
        <key>DSDT</key>
        <dict>
            <key>Patches</key>
            <array>
                <dict>
                    <key>Comment</key>
                    <string>Renombrar GFX0 a IGPU</string>
                    <key>Find</key>
                    <data>
                    R0ZYMA==
                    </data>
                    <key>Replace</key>
                    <data>
                    SUdQVQ==
                    </data>
                </dict>
            </array>
        </dict>
    </dict>
    <key>Devices</key>
    <dict>
        <key>FakeID</key>
        <dict>
            <key>IntelGFX</key>
            <string>0x01168086</string>
        </dict>
    </dict>
    <key>Graphics</key>
    <dict>
        <key>Inject</key>
        <dict>
            <key>Intel</key>
            <true/>
        </dict>
    </dict>

Clover inyectará las propiedades necesarias para la HD3000 pero si falla alguna salida de video habría que inyectar otro snb-platform-id manualmente.

post-158318-0-38473600-1447382298_thumb.png

post-158318-0-43155700-1447382309_thumb.png

post-158318-0-06749500-1447382316_thumb.png

Link to comment
Share on other sites

Buenos dias @Maniac10 acabo de hacer lo que dijiste con el  clover y me funciono, al primer arranque me daban algunos artifacs, ya te mostrare en los adjuntos que subiré y todavía mi otro monitor no funciona.

 

Acabo de reiniciar y los artifacs desaparecieron :o no como el primer arranque que fue algo turbio.

 

 

//////actualizo/////

 

hay momentos que se congela la pantalla y el cursor todavía queda activo y debo reiniciar.

post-853516-0-09057400-1447425233_thumb.jpg

post-853516-0-97063600-1447425428_thumb.jpg

Link to comment
Share on other sites

Por lo visto Clover no inyecta un snb-platform-id de manera predeterminada. Probemos primero habilitando el FIXINTELGFX_100000, si esto falla habrá que hacerlo a mano con AddProperties:

<key>Devices</key>
<dict>
	<key>AddProperties</key>
	<array>
		<dict>
			<key>Device</key>
			<string>IntelGFX</string>
			<key>Key</key>
			<string>AAPL,snb-platform-id</string>
			<key>Value</key>
			<data>
			EAADAA==
			</data>
		</dict>
	</array>
</dict>

Otra alternativa a probar es cambiar el FakeID de 0x01168086 a 0x01268086, que corresponde a la HD3000 de escritorio en lugar de mobile. Y no te preocupes por que el sistema la detecte como HD2000, es solo algo cosmético, fácil de solucionar.

 

 

Te aconsejo también que te deshagas de algunos kexts:

  • AHCIPortInjector.kext: añade el ID de algunas controladoras AHCI, no creo sea necesario en tu sistema, prueba arrancar sin el kext una vez y restauralo si falla algo.
  • IOAHCIBlockStorageInjector: puedes hacer lo mismo con un KextsToPatch:
<key>KernelAndKextPatches</key>
<dict>
	<key>KextsToPatch</key>
	<array>
		<dict>
			<key>Comment</key>
			<string>Fix para discos naranja</string>
			<key>Find</key>
			<data>
			RXh0ZXJuYWw=
			</data>
			<key>Name</key>
			<string>AppleAHCIPort</string>
			<key>Replace</key>
			<data>
			SW50ZXJuYWw=
			</data>
		</dict>
	</array>
</dict>
  • NullCPUPowerManagement: este kext bloquea las funciones de ahorro energético del CPU, creo que con tu 2500k no tendrás problema en usar el PM nativo de OSX. Prueba eliminarlo y lo restauras en caso que falle en arrancar.
Link to comment
Share on other sites

Ya acabo de hacer lo del snb-platform-id como dijiste lo agregue manualmente y luego verifique con el clover configurator y estaba agregado, pero todavía no se ve el otro monitor por dvi, cambie el fakeid de mobile al de escritorio.

 

Elimine de la carpeta kext del clover el AHCIPortInjector.kext, IOAHCIBlockStorageInjector.kext añadí el parche y todo ok.

 

Cuando eliminaba el NullCPUPowerManagement ya no iniciaba el os x y procedí a restaurarlo de nuevo.

 

Todavia mantengo el problema con los artifacs a veces aparecen, bueno hace un momento estaba viendo que fondo de pantalla colocaba y al pasar el fondo, salia la rayas y después se congelo la imagen y quedo solo el cursor activo.

 

Otra cosa todo lo he inyectado directamente en el clover, en ningun momento yo he creado un dsdt para mi osx con mi placa, es algo que me estoy obviando? creo que debo empezar por ahi.

 

******Actualizacion*********

 

Pase toda tarde leyendo sobre dsdt, lo cree y fixee con el MacASL con los parches de PJALM, cuando lo compilo no hay ningún error, habían unas advertencias pero las corregí, desactive la mayoría de los inject de clover y me ha boteado bien el os x, Igual me dan las artfifacs a veces.

 

Lo que si me he dado de cuenta esa que ahora me lee los gráficos como hd 3000 en vez de hd 2000, como si ya lee todo por el dsdt,

 

 

******Actualizacion*********

He logrado tener audio :D use el parche de toleda y volvió el audio pero no tengo audio por hdmi que por los momentos no me hace falta, lo que si me preocupa es el video, ahora reproduciendo un video en youtube salen artfifacs y se ponen cuadros rosados. Cada vez se aprende mas

post-853516-0-17318600-1447610035_thumb.jpg

Edited by cedroxim
Link to comment
Share on other sites

Lo de los cuadros rosados es un problema que he notado antes cuando usaba mi HD3000 para acelerar video y nunca pude resolver. Vamos a estudiar un poco el tema a ver si encontramos una solución. Sube otro reporte de DarwinDumper para analizar como funciona ahora. 

 

El cambio de nombre es solo estético y proviene de una disparidad en los reportes de Intel, en algunos lados tu id aparece como HD2000 y en otros como HD3000. Slice decide quedarse con los reportes técnicos y por eso Clover inyecta la video como HD2000, cuando por DSDT la mayoría deja el nombre predeterminado que es HD3000. Es solo cosmético el tema, no afecta en nada en realidad.

 

Y qué snb-platform-id has usado en tu DSDT? Hay un par dando vueltas que habilitan puertos distintos.

 

Para obtener audio HDMI solo necesitas agregar un par de lineas al DSDT, sube tu DSDT con el reporte de DarwinDumper y aplico los cambios para que pruebes.

Link to comment
Share on other sites

Buenas amigo @Maniac10 el smb-platform-id utilice el que me proporciono Pjalm en MaciASL y agregue unos repositorios para mi board intel series 6 con otro mas de graphics y parchee. Compilo sin errores, habían unas notificaciones me puse a investigar y lo acomode y cuando compilo todo queda limpio. ya te adjunto el darwin

DarwinDumper_2.9.9.1_Clover_X64_3322_Cap_cedroxim.zip

Link to comment
Share on other sites

Todo se ve perfecto en el DSDT e ioreg, ahora cambia el snb-platform-id a 00 00 01 00 pero dudo que mejore. Otra cosa a probar es el id del GPU móvil 16 01 00 00.

                       "device-id",
                        Buffer (0x04)
                        {
                             0x16, 0x01, 0x00, 0x00
                        },

                        "AAPL,snb-platform-id", 
                        Buffer (0x04)
                        {
                             0x00, 0x00, 0x01, 0x00
                        },
Link to comment
Share on other sites

Acabo de aplicar el parche y lo único que conseguí fue que la pantalla se viera con mas contraste y todavía la pantalla secundaria se ve toda distorsionada, que seria entonces :S

 

Si tienes los kext intelapplehd3000 y el snb, lo podrías adjuntar? yo creo que los que tengo son mod.

Link to comment
Share on other sites

Si vi esos logs de FakeSMC, parece que tienes el kext en tu /System/Library/Extensions pero también lo carga Clover desde /EFI/CLOVER/kexts/10.11. Te recomiendo eliminar el de /S/L/E y dejar el que carga Clover.

 

Y la actualización la puedes aplicar normalmente siempre y cuando no hayas editado/parchado algún kext original de Apple que pueda darte problemas de arranque al restaurarlo.

Link to comment
Share on other sites

Bueno leyendo guías de montar el otro monitor, leí Algo de modificar los conectores de vídeo en el kext appleintelsnbfb con un editor hex, bueno cambie el de pantalla de laptop por uno de hdmi y que va. Arrancando en clover sale el logo de apple con su barra de carga llega al final y no inicia el osx. Como que lo restaurare de nuevo o probare con otro valor. Que opinas?

Link to comment
Share on other sites

Si, modificar los conectores es lo próximo a probar pero es un tema que desconozco por completo así que tendrás que darme un tiempo para estudiar como funciona. Y los cambios no los hagas en el kext en sí, es mucho mejor usar un KextsToPatch de Clover que no toca el kext (parchea el binario en memoria) y es a prueba de actualizaciones.

 

Mas allá de esto, has probado los cambios que te propuse con los kexts originales?

 

Y con cada prueba haz al menos un dump de ioreg para poder estudiar los cambios.

Link to comment
Share on other sites

Ya tengo el os x fresco recién instalado con su dsdt, audi, red montado, volví de nuevo a parchar los snb-platform-id y nada, algunos no me dejaban cargar el os x.

Me pondre a leer para cambiar los conectores, si encuentro algo lo publicare.

Link to comment
Share on other sites

Si es lo mismo un iojones, y me refería a los parches de framebuffer de Toleda del link que pusiste antes. Has probado alguno?

 

La guía es algo vieja pero si la quieres probar te dejo los pasos:

 

1- Restaurar el AAPL,snb-platform-id a 10 00 03 00.

2- Arrancar con un monitor HDMI

2- En ioreg o iojones busca el IGPU, selecciona el AppleIntelFramebuffer que contenga el AppleDisplay y anota el port-number.

3- Repetir con otros monitores/puertos

 

Rellena esta tabla:

post-158318-0-98102100-1447722043_thumb.png

 

Luego comparas tu caso con los conectores disponibles en el framebuffer (en tu caso solo los SNB te sirven):

post-158318-0-80750600-1447722040_thumb.png

 

Y finalmente aplicas el parche que corresponda según sea la opción a o b (o el nativo). Espero que funcione en El Cap!

Edited by Maniac10
Link to comment
Share on other sites

Ah ya toleda framebuffer yo vi en la sección d3000 amigo maniac10 pero no entiendo la gráfica y como seria el conector principal y secundario. 

graphics_Intel_framebuffers
============
OS X Intel HD Graphics

OS X HD3000 Framebuffer Edits

Framebuffer Configurations
Connector/Port__|Port 0x5_______|Port 0x6_______|Port 0x7_______|
Native SNB	|DP or ND_______|DP or ND_______|HDMI___________|
a SNB		|DP or ND_______|HDMI/DVI*______|HDMI/DVI*______|
b SNB		|HDMI/DVI*______|DP or ND_______|HDMI/DVI*______|

Framebuffer Edit Scripts
   1. HD3000/SNB
	a - graphics_intel_hd3k-snb-a-90_patch.command
	b - graphics_intel_hd3k-snb-b-90_patch.command

En mi caso Tengo un Conector HDMI y el otro es DVI, no se cual de los parches que salen aplican para mi.

 

 

ya tendría que colocar el AAPL,snb-platform-id 10 00 03 00 que usa toleda en el dsdt

Edited by cedroxim
Link to comment
Share on other sites

Hey parece que no hace falta aplicar el parche de Toleda y modificar kexts, encontré un plist con los parches de KextsToPatch (que lío el repo de Toleda!!!):

 

https://github.com/toleda/audio_CloverHDMI/blob/master/config-hdmi_hd3000-100.plist.zip

 

En tu caso como tienes el monitor HDMI en el port-number 0x7 solo necesitas saber en que puerto se conecta el monitor DVI (0x5 o 0x6) para parcharlo de DP a HDMI/DVI. Luego añades el KextsToPatch correspondiente (lee el comment de cada parche y aplica el del puerto que necesites) a tu config y listo.

 

Ah, y el id de audio debe ser el 3 para que funcione el audio HDMI aparentemente.

Link to comment
Share on other sites

 Share

×
×
  • Create New...