Jump to content

Grafica IntelHD Lion y AppleIntelSNBGraficsFB.kex,


surfcaster
 Share

13 posts in this topic

Recommended Posts

al instalar el update de Lion 10.7.2 carga el kext AppleIntelSNBGraficsFB.kex, dicho kext intenta cargar la grafica integrada de Intel, en mi caso y mi placa GA-Z68MA-D2H-B3 y por lo leido creo que es la HD2000, hay bastante controversia sobre el tema pero el caso es que el SO sigue adelante y se queda la pantalla en negro, no da KP, sencillamente no hay imagen ya que no es capaz, despues de hacer unas cuantas pruebas con la BIOS y el conector integrado se puede entrar con la integrada pero con solo 64 MB y sin aceleracion grafica, mi otra grafica es una nvidia G210 de 512 MB que funciona estupendamente con tan solo el ATI_INIT de 64bits ¿alguna manera de que no cargue la integrada HD?, he probado a borrar los kext, eliminar todos los relacionados con el IntelHD, etc. y no hay manera, en el caso de la 10.6.8 curiosamente y a pesar de que se supone que ya funciona con la HD no da ningun problema, algo hay por ahi

Link to comment
Share on other sites

Mi contribución al respecto, espero que te sirva de ayuda: AQUÍ pudiera estar la solución a la Black Screen. El problema parece estar más relacionado con la gráfica dedicada que con la intel HD del micro, que en efecto se trata de la HD Graphics 2000. Ahora bien, dicho problema depende en gran medida del Perfil que uses, recuerda que tocamos el tema en nosolohd, y según entiendo el truco requiere edición de la DSDT. En ese sentido el compañero zoliky se ha hecho famoso con dicho fix. Por cierto, cabe recordar que nunca se ha recomendado levantar la gráfica por las dos (2) vías al mismo tiempo, bien sea a través de inyección DSDT, o por medio del flag GraphicsEnabler, PERO NO AMBAS. Cuéntanos que tal te va.

 

Una humilde recomendación: Por favor coloca la versión/revisión del bootloader, y el modelo de Perfil (smbios) que usas, preferiblemente en tu firma, ya que son datos determinantes en el funcionamiento tanto de Snow 10.6.8 como Lion. Saludos.

Link to comment
Share on other sites

La placa base solo tiene 3 opciones en cuanto al video integrado y ninguna lo desabilita, solo hay auto/enabled/ y la de no cargar extensiones PEG que es con la que puedo conectar por la salida integrada en la placa base aunque sin aceleración gráfica y con solo 64 MB, por defecto y aunque como ya te dije es temporal uso la G210, no me dedico a juegos ni necesito grandes requerimientos gráficos para cuatro vídeos que hago con una minicamara aunque la intención es hacerme con una ATI para dejar el sistema lo mas perfecto posible, mirare ahora lo que me comentas a ver si con mi placa hay alguna solución, quizás con alguna actualización de firm .... no se, ahora hay una nueva pero solo añade soporte a nuevos procesadores, por otro lado aunque no se si será efectivo podría comparar los cambios en S/L/E de la 10.7.1 al update 10.7.2 y intentar recuperar los de la 10.7.1 en cuanto a gráficos se refiere, iremos probando cosas

Link to comment
Share on other sites

El FIX está allí a nivel de DSDT o de EFI String. Lee por favor, que el problema tiene lógica, ya que surge por usar gráficas Nvidia en combinación con Perfiles de iMac (ATI), ves la importancia del perfil? El fix es sencillo, incluso para quienes tienen tu misma geforce. Repito: El Problema NO parece ser con la Integrada, sino un Conflicto con la Dedicada! Saludos.

Link to comment
Share on other sites

Lo se, lo se, nunca hice una inyección de gráficos en DSDT, el kext de ATI_init siempre me levanto la gráfica desde el primer AMD hasta en Lion, pero parece que deberé ir aprendiendo a hacerlo, me parece mejor opción inyectarla en DSDT que añadir el string al boot aunque lógicamente me va a dar algo mas de trabajo pero estará bien aprovechado de cara a la ATI, no obstante por lo leído de zoliky parece ser que no funciona con las ATI y hay que hacer la implantación del string en el boot con ellas, todo se andará que al final harás de mi un buen usuario

Link to comment
Share on other sites

De ti hermano siempre esperamos lo mejor. Fíjate, en ese mismo thread creo que han subido algún archivo dsdt con Nvidia G220 inyectada. Entonces debes localizar el dispositivo (device) PEG1 o XYZW buscando por su dirección y realiza su inyección siguiendo el mismo criterio, pero obviamente con los valores propios de tu gráfica dedicada desde tu Ioreg (IORegistryExplorer). Por cierto, revisa que AQUÍ los compañeros Derty y pgsubuntu están haciendo sus mejores esfuerzos y contribuciones en el tema de inyección de gráfica, lo cual siempre ha sido de la misma manera, es decir el mismo criterio de búsqueda e inserción de los datos que necesitas para la tarea. Saludos.

Link to comment
Share on other sites

AVISO a los que pudieran tener el problema de que trata el post, me dispuse a ver una serie en formato o mejor dicho extension .avi y con Lion recien instalado no podia, necesitaba un codec, instale el WMV, el plugin de Matroska y Perian que son los que uso habitualmente en Snow, acto seguido me quede sin LION, volvi al problema inicial ya que aun no he terminado de inyectar los graficos en el dsdt, ojito con cualquier actualizacion, yo lo hice de golpe y no se cual de ellos me ha generado el problema de nuevo en la 10.7.1.

 

 

Juanerson quisiera comentarte un par de cosas, primero hoy me han llegado las memorias CORSAIR EXTREME BLUE 1600 mhz 2x4GB, ya las he instalado e incluso las he probado en los otros bancos, sigue diciendome que la primera de ellas o la ultima dependiendo del banco donde las coloco es de tipo RAM a 1600 y nada mas, en el 2 y 3 banco la reconoce perfectamente, lo mismo me ocurre con el flag UseMemDetec=No, son cosas de la placa ya que las he testeado y todo esta perfecto, es mas en AIDA64 las reconoce sin ningun problema las dos.

Te hago una pregunta un poco tonta sobre el DSDT pero es que aun siguiendo una guia veo algunas diferencias y quisiera asegurarme, ¿esta es la parte donde debo incluirlo?, hay algunas diferencias notables con la guia que estoy siguiendo

Device (PCI0)
	{
		Name (_HID, EisaId ("PNP0A03"))
		Name (_ADR, Zero)
		Name (_UID, One)
		Name (_BBN, Zero)
		OperationRegion (MMDR, PCI_Config, 0x90, 0x30)
		Scope (\)
		{
			Field (\_SB.PCI0.MMDR, AnyAcc, NoLock, Preserve)
			{
						Offset (0x08), 
						Offset (0x10), 
						Offset (0x18), 
						Offset (0x20), 
				SMBD,   32, 
				SMBG,   32, 
				TSMB,   32, 
				TLUD,   32
			}
		}

		Method (_S3D, 0, NotSerialized)
		{
			If (LEqual (OSFL, 0x02))
			{
				Return (0x02)
			}

Link to comment
Share on other sites

Hermano, NO es como si de una adivinanza se tratara, vayamos por la vía correcta, lo primero que necesitas es ver en tu ioreg cuál es la ruta precisa (ADR) de tu gráfica dedicada. Mira ESTE comentario. Así luego la buscamos directamente en tu dsdt para inyectar el código hack. Sube tu ioreg por favor.

 

P.D. POR EJEMPLO la otra gráfica, la integrada, que NO nos interesa por ahora, pero sin embargo en la dsdt que me subiste hace unos días en nosolohd, todo indica que pudiera ser:

            Device (IGD0)
           {
               Name (_ADR, 0x00020000)

Faltaría sólo confirmación desde el ioreg... me entiendes? Es decir, en el ioreg deben aparecer asociados a dicho dispositivo IGD0 tanto los FrameBuffers (FB), las propiedades del video integrado, la ruta (path), device-id, etc.

 

En el ejemplo anterior es procedimiento inverso, PERO sabemos que debería ser así:

1) ioreg para ver cuál es la ruta del dispositivo, en este caso la gráfica dedicada.

2) ubicación en dsdt de la device, a través de su ADR. Dicha ubicación puede ser perfectamente a través del puerto PCI-E.

3) inyección-código hack antes del último breaker (llave) de cierre de la device.

 

P.D2. Posibles "Devices" candidatas a ser la gráfica PCI-E (dedicada): PEG0 o PEG1. Ambas están en tu dsdt. Sin embargo éstos pudieran ser los puertos PCI-E, a la espera de la inyección de la gráfica en si.

 

P.D3 Supongo que IGD1 es para extended display desde la gráfica integrada. Pero basta de suposiciones. Miremos el ioreg.

Link to comment
Share on other sites

ioreg

 

este es mi ioreg, la grafica esta levantada como te comente con el ati_init 64 bits no se si ello influira en algo, me estoy liando mucho y quizas sea por seguir alguna de las guias que hay por ahi (Tonimac/Pere), todas "enseñan" un ioreg con unos parametros que en mi caso no son iguales, cada maquina es diferente y ahi tengo el lio, logicamente no esperaba un "copiar y pegar" pero se me complica la cosa mas de lo esperado con esas diferencias

Link to comment
Share on other sites

En realidad se ve sencillo compañero. En tu ioreg tienes los datos propios que necesitas.

 

1) Por favor lee ESTE comentario y Analiza la captura de mi ioreg. Ahí ves la ruta de la gráfica, que en mi caso sí existe y la muestra porque está presente en la dsdt, en el ioreg aparece como acpi-path. Y en mi dsdt se llama Device (GFX0).

 

2)

Captura_de_pantalla_2011_10_22_a_las_09.27.44.png

Lee ESTE otro comentario y analiza la captura de tu propio ioreg arriba. No esta presente el path (ruta o dirección) porque sencillamente no existe en tu dsdt, es el ATI_init que la genera virtualmente como dispositivo (device) GFX@0, pero no es real valga la redundancia. Entonces es la que necesitas agregar a la dsdt, con nombre Device (GFX0) para darle uno de cuatro (4) dígitos acorde al caso, teniendo siempre en cuenta la siguiente consideración:

 

PEG0@1 = ADR 0x00010000. Presente en tu dsdt. Este es el puerto PCI-E a la izquierda del ioreg. Dentro de esta device deberás crear la que será la gráfica dedicada porque ya sabemos que no existe en la dsdt. En ese sentido, a la nueva device la llamarás GFX0 con ruta @0 = ADR Zero. Respetaremos esa ruta, ya que según tu ioreg esta será la más adecuada para la inyección. Estamos preparados con esto.

 

3) Para poder continuar, obviamente necesitamos agregar tanto la nueva device como el código hack, por lo tanto en segundo lugar es imprescindible que tengas listo dicho código a tu disposición para inyectarlo. Esta tarea se basa en revisar varios códigos y comparar, buscando en los foros es altamente probable que encuentres para la G210 o G220, también te sirve cualquier otra gráfica como referencia. Entonces como orientación la idea general es que te quede algo similar a esto:

    Device (PEG0) // puerto PCI-E, aquí comienza
   {
       Name (_ADR, 0x00010000) // ruta @1 del puerto
...
... aquí va todo el código original que trae PEG0, y justo antes de su última llave de
... cierre creas la nueva device:

       Device (GFX0) // comienzo de la gráfica dedicada
       {
           Name (_ADR, Zero) // ruta o dirección sugerida por el ATI_init, path @0
           Method (_DSM, 4, NotSerialized) // comienzo del hack
           {
              Store (Package ()
                  {
...
... aquí va todo el código hack, que finaliza con:

                  }, Local0)
              DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
              Return (Local0)
           } // fin del hack
       } // fin de la gráfica dedicada
   } // esta es la última llave de PEG0, aquí termina el dispositivo puerto PCI-E

4) Por último aplicamos la corrección de zoliky, ya te debes haber dado cuenta del "error" o dato incompatible con la 10.7.2 aplicado por el ATI_init. En tu ioreg se aprecia claramente a la derecha donde dice "device_type" aparece como "NVDA,GeForce", el cual deberá ser reemplazado por "NVDA,Parent". Repito: en "device_type". Eso debe ser todo.

 

Espero que te sirva de ayuda. Saludos.

Link to comment
Share on other sites

Bueno con la inestimable ayuda de un amigo miembro de este foro finalmente tengo todo funcionando, sin dicha ayuda no creo que lo hubiera conseguido antes de hacer muchísimas pruebas para ello, en fin la cuestión es que estoy en la 10.7.2, no obstante he hecho la prueba totalmente por mi cuenta y tengo un bonito kp, aprenderé pero mi ritmo de aprendizaje es bastante bajo, en fin a lo que iba, como te comento estoy ya en la 10.7.2 pero me surgen algunas dudas intentando pulir el tema un poco mas, cosas como el PCI BEGIN para quitar el flan del boot.plist, he estado leyendo las soluciones aportadas por Derty en este foro(sustitucion de varios kexts) y Miliuco (cambio de unas lineas en el DSDT) a este tema ya que según se dice se puede sortear desde el DSDT, he hecho pruebas con el respaldo del disco de arranque en otro disco por si acaso y el resultado ha sido volver a la pantalla negra, la verdad es que no llego a comprender el porque, he tenido en cuenta el cambio de algunos nombres en el DSDT según Tonimac en placas como la mía con el Z68 ya que han variado pero no es nada de eso o no se verlo, te cuelgo un archivo comprimido por si quisieras verlo y darme tu opinión

ioreg,smbios,dsdt,o.c.b.p

Link to comment
Share on other sites

Hola:

 

1)Según el IOREG tuyo veo esto:

 

66537362.png

 

pero en el ...boot.plist agregas esta sentencia:

 

94970489.png

 

En tu DSDT, unas lineas debajo debajo de Device (PCI0) tienes la sentencia Name (_UID, Zero) que seguro entra en conflicto con la del ..Boot.plist

Dicho esto, borra la linea conflictiva del o.c.b.p. y prueba.

 

capturadepantalla201110h.png

 

***NOTA : se puede usar estas lineas en el terminal, y también obtendrás el valor UID

ioreg -l | grep -15 AppleACPIPCI | grep UID

 

capturadepantalla201110k.png

 

2) Desde el momento que agregas el hack para la gráfica debes borrar las dos lineas del …boot.plist "GraphicsEnabler" "Yes" (doy por descontado que esto ya lo sabes y seguro lo haces, pero lo pongo para alguien mas que lea esto y no lo sepa)

 

Espero que esto te ayude.

 

Un saludo.

Link to comment
Share on other sites

uppps, las prisas, lo del PCIrootUUID al igual que el grafics enabler es producto de la reinstalacion en u disco USB donde hacer las pruebas, se me olvido repasarlo, cuando llegue esta tarde a casa lo rectifico, en el disco "operativo" o de la instalacion funcional no esta asi.

El problema que tengo es que cuando quiero eliminar el npci con la opcion de Derty de cambiar varios kexts con versiones mas antiguas o a traves de dsdt con las lineas sugeridas por miliuco:

la línea Name (_UID... ha de quedar así: Name (_UID, Zero)

la línea Name (_ADR, Zero) ha de ser borrada.

entonces vuelvo a la pantalla negra, se entra en Lion, incluso con mi teclado pongo en marcha iTunes (tecla play) y perfecto pero la pantalla en negro de nuevo, lo dicho, esta tarde hago las correcciones que me mencionas (puñeteras prisas) en el disco USB y aplicare despues la correccion de miliuco a ver que pasa. Decir que la instalacion buena esta hecha en una particion del disco, en la primera esta Snow 10.6.8 a pelo sin los hack de [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] y en la segunda particion esta Lion y con los datos de usuario y aplicaciones restaurados durante la instalacion de Lion desde Snow

Link to comment
Share on other sites

 Share

×
×
  • Create New...