Jump to content

ATI Radeon 6850 en Lion

- - - - -

  • Please log in to reply
28 replies to this topic

#1
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
Hola, surfcaster (y compañía), veo en tu firma que tienes una Radeon 6850, yo tengo una desde hace pocas semanas, el modelo ASUS EAH6850 de 1gb. Comento brevemente mis conclusiones acerca de su instalación por si tú o algún otro usuario tiene otra experiencia diferente y aprendo algo nuevo.

La tarjeta en sí es buena en cuanto al precio, tiene potencia de sobra para el uso que yo le doy y este modelo en concreto es bastante silencioso. Sin embargo no parece posible usar todas las características en OSX:
  • la puedo usar con GraphicsEnabler Yes o No en org.chameleon.boot.plist
  • con GraphicsEnabler=Yes aparece bien reconocida en Perfil de Sistema
  • con GraphicsEnabler=No aparece como Radeon 6xxx en Perfil de Sistema
  • con GraphicsEnabler=No fallan algunos programas como DVD Player (parece faltar aceleración gráfica)
  • con GraphicsEnabler=Yes la aceleración gráfica parece completa y DVD Player funciona bien
  • el conector DVI que es sólo-DVI no funciona bien (cuando sale el escritorio el monitor entra en reposo o sale fuera de rango, el caso es que se apaga)
  • el conector DVI que admite VGA funciona bien, es el único conector que funciona con cualquier configuración
  • los conectores HDMI y DP sólo funcionan si añado AtiConfig=Bulrushes y AtiPorts=4 en org.chameleon.boot.plist pero entonces el ratón se atasca brevemente de vez en cuando
  • por ello, para usar más de 1 monitor he de usar AtiConfig=Bulrushes y AtiPorts=4 con esos pequeños fallos del ratón.
Conclusión: la tengo conectada al DVI que admite modo VGA, como sólo tengo 1 monitor no es problema, sin AtiConfig / AtiPorts y con GraphicsEnabler=Yes en boot.plist. Uso Chimera 1.8.

El ID de la tarjeta es 6739 (1002) y he visto que ese ID ya está incluido por defecto en ATI6000Controller.kext y en ATIRadeonX3000.kext.

¿Coincide toto éso con tu/vuestra experiencia?

#2
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 442 posts
Pos no ... a mi me va fenomenal, estoy contento con la compra, la mia es la Shappire, te dejo aqui lo que me retoco Juanerson (espero no te importe) en el DSDT, es poca cosa pero ya te digo que esta todo funcionando perfectamente, los dos puertos DVI los he probado y van exactamente igual, no he probado nunca el HDMI ya que tengo un buen monitor y va directo por DVI, te dejo esas lineas, decir que logicamente esta en el PciE principal x16 y que no hay ninguna otra pci que "recorte" o se reparta el ancho del puerto, no tengo ninguna linea en el o.c.b.p. sobre el tema de graficos, mi bootloader es Chimera 1.9 que es la revision r1903 http://forge.voodoop...ce/commit/1903/

Device (GFX0)
{
Name (_ADR, Zero)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0A)
{
"AAPL,aux-power-connected",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"built-in",
Buffer (One)
{
0x00
},

"graphic-options",
Buffer (0x04)
{
0x04, 0x00, 0x00, 0x00
},

"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},

"model",
Buffer (0x13)
{
"AMD Radeon HD 6850"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}


#3
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
Pues muchas gracias, de la gráfica no tengo nada inyectado en DSDT así que probaré ésto que me has pasado (gracias a Juanerson por el código) y te comentaré los cambios. También tengo Chimera 1.9 desde ayer.

Entonces no tienes nada de AtiConfig / AtiPorts ni GraphicsEnabler=Yes en boot.plist.

(Edito)

He probado el código que publicaste pero no he observado cambios, con GraphicsEnabler=No sigue fallando DVD Player y la tarjeta aparece como Radeon 6xxx y con GraphicsEnabler=Yes todo va bien pero sólo funciona el puerto DVI que está en línea con los puertos HDMI y DP.

No sé si he colocado bien el código, he buscado el dispositivo PCI0 que en mi DSDT se mostraba así:
		Device (PCI0)
		{
			Name (_HID, EisaId ("PNP0A03"))
			Name (_ADR, Zero)
			Name (_UID, One)
			Name (_BBN, Zero)
			Method (SS3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}
e inmediatamente debajo del último paréntesis he añadido GFX0 dejándolo así:
		Device (PCI0)
		{
			Name (_HID, EisaId ("PNP0A03"))
			Name (_ADR, Zero)
			Name (_UID, One)
			Name (_BBN, Zero)
			Method (SS3D, 0, NotSerialized)
			{
				If (LEqual (OSFL, 0x02))
				{
					Return (0x02)
				}
				Else
				{
					Return (0x03)
				}
			}
			Device (GFX0)
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x0A)
						{
							"AAPL,aux-power-connected",
							Buffer (0x04)
							{
								0x01, 0x00, 0x00, 0x00
							},
							"built-in",
							Buffer (One)
							{
								0x00
							},
							"graphic-options",
							Buffer (0x04)
							{
								0x04, 0x00, 0x00, 0x00
							},
							"hda-gfx",
							Buffer (0x0A)
							{
								"onboard-1"
							},
							"model",
							Buffer (0x13)
							{
								"AMD Radeon HD 6850"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}
¿Es correcto? Pero ya te digo que con ello no he observado cambios.

#4
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 442 posts
Miliuco te envío un privado a tu correo personal

#5
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
Gracias, lo miro.

#6
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 442 posts
por cierto no se si lo has hecho pero deberias mirar el ioreg a ver que dispositivo alberga tu gráfica

#7
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,427 posts
  • Gender:Male
  • Location:Tru, Venezuela
Sobre el tema de la inyección, el dispositivo gráfico (GFX0) debe ir dentro del Slot PCI que corresponde físicamente mirando el IOREG, por ejemplo POP2 en el caso de la PC de surfcaster (ruta: 0x00010000) ahí va. La clave de la inyección está en las rutas o "path" (_ADR = Address) que son particulares de cada equipo... y se miran desde el OIREG, la DSDT necesita del IOREG y viceversa, son inseparables en tareas de edición, correcciones, etc.
Attached File  Captura de pantalla 2012-03-28 a la(s) 15.10.34.png   171.49KB   55 downloads
Surfcaster, una recomendación Amigo... para efectos de aprendizaje es recomendable colocar el código junto con los comentarios, en el archivo BASE.dsl están todos los que hice para tu inyección. Saludos.

Editado: Estábamos escribiendo al mismo tiempo, surfcaster. Bueno, van en el mismo orden de ideas.

#8
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 442 posts
gracias Juanerson, tengo ese archivo base.dsl guardado como paño en oro ya que es como tu dices la base de cualquier consulta o modificacion para futuras actualizaciones

#9
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
Gracias a los 2, comprobaré con Ioreg y compararé con un DSDT base teniendo en cuenta el código GFX que tiene surfcaster en su DSDT. Ahora entiendo por qué no tengo dispositivo P0P2 y algunos otros que en vuestro PC sí aparecen.

Comentaré.

Edito: supongo que he de consultar el registro sin haber arrancado con el código GFX en DSDT y con GraphicsEnabler=No pero ¿incluso sin DSDT del todo?

#10
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,427 posts
  • Gender:Male
  • Location:Tru, Venezuela
Siempre es bueno tener a la mano una copia de tu .ioreg en estado puro, es decir sin DSDT puesta... en los casos que se pueda, obvio. En ese sentido cabe recordar que normalmente el S.O. NO arranca sin una DSDT (al menos básica) por conflictos en las IRQs (el fix más importante) entre HPET, RTC y TIMR, todos con incidencia directa en los puertos USB y en algunos casos los SATA. Pero, de conseguirlo, sería de mucha utilidad para tareas de impacto medio-avanzado como por ejemplo renombrar dispositivos estilo Mac, lo cual es importante porque tiene influencia por ejemplo para el Sleep (botones, USB, control de brillo y reposo de pantalla en portátiles, etc), así como agregar dispositivos faltantes (puertos PCI, AirPort, ethernet, etc), incluso colocar inyecciones de IDs nativos por ejemplo el de LPCB (indispensable para SpeedStep) y SBUS (que es el Bus de gestión de energía), entre otras cosas que dan mayor estabilidad al Sistema.

Sin embargo, para consultar desde el árbol, en este caso sólo sobre la gráfica y su correspondiente puerto PCI, cuya raíz madre es PCI0 (y de todos los dispositivos PCI también), bastaría arrancar con una DSDT sin código de inyección gráfica y con GraphicsEnabler=Yes. La idea es tomar nota de los datos que inyecta Chameleon, y hacer los ajustes y en lo posible cubrir desde la DSDT la mayor cantidad de aspectos que genera el bootloader por sí solo. Pero lo más importante son las carencias, que sí existen en las iMac genuinas que poseen gráficas similares, y que Chameleon NO sea capaz de generar (algunos pocos datos), las cuales deben ser inyectadas manualmente como hicimos con surfcaster. Por lo tanto, es necesario tener a la mano como referencia el .ioreg del equipo genuino acorde a nuestro perfil (smbios) para hacer dichas comparaciones, ajustes y/o correcciones finales. Saludos.

#11
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
Gracias por la información, podría arrancar sin DSDT con el método ##### pero para intentar mejorar la gráfica haré lo que comentas de arrancar con DSDT sin gráficos inyectados pero con GraphicsEnabler=Yes. Me voy haciendo a la idea de la gran cantidad de parches que existen actualmente para DSDT y de las mejoras que suponen.

Hoy no he podido hacer nada pero en cuanto pueda lo miraré con detenimiento, salu2, Emilio.

#12
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
No he sido capaz de hacer que la 6850 sea reconocida desde el DSDT, No sé suficiente sobre DSDT y dudo a la hora de reconocer desde IORegistryExplorer la dirección de memoria de la gráfica o del puerto PCIe que ocupa. Con lspci veo que el dispositivo VGA tiene dirección 01:00:0 pero no sé interpretarlo ¿0x00010000? En IORegistryExplorer no veo algo como ADR o similar, veo propiedades como address-cells o pcidebug que pudieran ser direcciones.

El caso es que he incluido el dispositivo GFX0 dentro de PEGP y a su vez dentro de PCI0 de esta forma:
	    Device (PCI0)
	    {
		    Name (_HID, EisaId ("PNP0A08"))
		    Name (_CID, EisaId ("PNP0A03"))
		    Name (_ADR, Zero)
		    Name (_UID, One)
		    Name (_BBN, Zero)
		    Method (SS3D, 0, NotSerialized)
		    {
			    If (LEqual (OSFL, 0x02))
			    {
				    Return (0x02)
			    }
			    Else
			    {
				    Return (0x03)
			    }
		    }
		    Device (PEGP)
		    {
			    Name (_ADR, 0x00030000)
			    Device (GFX0)
			    {
				    Name (_ADR, Zero)
				    Method (_DSM, 4, NotSerialized)
				    {
					    Store (Package (0x0A)
						    {
							    "AAPL,aux-power-connected",
							    Buffer (0x04)
							    {
								    0x01, 0x00, 0x00, 0x00
							    },
							    "built-in",
							    Buffer (One)
							    {
								    0x00
							    },
							    "graphic-options",
							    Buffer (0x04)
							    {
								    0x04, 0x00, 0x00, 0x00
							    },
							    "hda-gfx",
							    Buffer (0x0A)
							    {
								    "onboard-1"
							    },
							    "model",
							    Buffer (0x13)
							    {
								    "AMD Radeon HD 6850"
							    }
						    }, Local0)
					    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					    Return (Local0)
				    }
			    }
		    }
Modificando la dirección que sale al principio en
		    Device (PEGP)
		    {
			    Name (_ADR, 0x00030000)
			    Device (GFX0)
utilizando 0x00030000 y también 0x00010000 pero sin resultado.

Un hallazgo nuevo es que la tarjeta instalada solamente con GraphicsEnabler=Yes tiene salida por el puerto DisplayPort además del puerto DVI que está junto a los otros 2 puertos. HDMI y DVI digital no muestran nada (como si el monitor estuviese fuera de rango) pero DP y DVI analógico mandan bien la imagen al monitor. Sin AtiConfig ni AtiPorts, por supuesto.

#13
Marquino

Marquino

    InsanelyMac Protégé

  • Members
  • Pip
  • 20 posts
Yo tengo el mismo modelo y encontre por la red un Kext modificado, en mi caso el HDMI me daba pantalla negra con AtiConfig=Duckweed que entiendo es el nativo, probe con otras personalidades en vano y ahora funciona con Duckweed y AtiPorts=4 sin retrasos en el mouse y con OpenGL.

#14
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
Yo también supongo que Duckweed es el nativo pero solamente con Bulrushes tengo HDMI, claro que entonces tengo retrasos de ratón y DVD Player no va. La solución ideal parece ser una correcta inyección DSDT como dice Juanerson y de esa forma le va bien a Surfcaster pero yo no he podido hacerlo.

Aunque no localices el origen de ese kext que dices ¿cuál es? Me refiero a cómo se llama el archivo (Atixxxx.kext o lo que sea) para buscarlo.

Edito: ya lo he visto en tu firma, lo pruebo y te comento.

#15
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
Solamente he mirado las diferencias entre ATI6000Controller.kext descargado de tu firma y el que instala Lion 10.7.3. Excepto las líneas que hacen referencia a la versión del sistema (la descargada parece ser de una versión anterior de Lion) el resto del archivo Info.plist es idéntico, da la impresión que sólo son versiones diferentes de ese kext, la que tengo es ATI6000Controller 7.18.11 10601 y la descargada es ATI6000Controller 7.10.2 10080.

Más tarde lo pruebo para ver cómo resulta. Salu2.

#16
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,427 posts
  • Gender:Male
  • Location:Tru, Venezuela
Emilio, si lo deseas súbeme dos (2) ioregs por privado (así no revelas tu serial acá), uno con GE=Yes y otro con GE=No, ambos sin código de inyección gráfica desde la DSDT, esos archivos junto con tu dsdt también sin inyección gráfica (por supuesto), y te fijo el hack en las rutas correctas (esa es la parte "difícil"), y te lo subo con comentarios incluidos para que sepas.

En este tópico también tenemos información con inyección de una Nvidia, hay buen material en el caso del compañero pgsubuntu que pudiera servir de referencia de aprendizaje sobre el tema, por favor léelo y descarga los archivos. Sobre las rutas, en el ioreg se busca por PATH y en la DSDT se busca por _ADR. Es importante tener claro que el ioreg es nuestra guía de orientación, en tal sentido las entradas a la izquierda (ejemplo: 8086,168c@0) que NO tengan un dispositivo asignado en la DSDT con nombre propio (ejemplo: GFX0) pues se agregan en la DSDT con su ruta específica.

En fin, en teoría NO necesitas drivers modificados, ni nada más. Aunque la única referencia de funcionamiento correcto que tengo con esa misma gráfica es la del amigo surfcaster. PERO todavía no me aclaro si él usa GE=No, ya que NO es lo mismo que no usar nada en el o.c.B.p... ese flag en particular se recomienda fijarlo (en Si o No), pero repito hay que fijarlo para que el bootloader lo interprete de manera precisa, sin lugar a ambigüedades, independientemente de la rama (branch) que se utilice. Saludos.

#17
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 442 posts
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>EnableC2State</key>
<string>Yes</string>
<key>EnableC3State</key>
<string>Yes</string>
<key>EnableC4State</key>
<string>Yes</string>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>Kernel Flags</key>
<string>npci=0x2000 darkwake=0</string>
<key>SystemType</key>
<string>1</string>
<key>Theme</key>
<string>Blackosx_Button_Theme</string>
<key>Timeout</key>
<string>2</string>

pues lo habilitare en no despues de leerte ya que lo quite del ocbp hace ya un tiempo viendo que no hacia nada (yo no lo he notado) este es mi ocbp en ML, la unica diferencia con el de Lion es que allí uso UseKernelCache=yes y en ML me da algun problema cuando le da la gana con la wifi (hay veces aleatoriamente que no la encuentra en el arranque), por supuesto he probado para ver la diferencia entre GraficsEnabler=yes/no y la verdad es que no veo ninguna diferencia, los dos DVI funcionan, el HDMI lo probé hace un par de días con el cable de una consola del chaval y un Tv, funciona pero sin audio, he visto por ahí en mas de un post como slucionar lo del audio pero es algo que no voy a usar (HDMI) ya que solo fue una prueba por curiosidad, otra cosa que no he probado ha sido dos monitores al mismo tiempo.


EDITO: pido disculpas, hay una diferencia entre GE=Y y GE=n, con "yes" se reconoce como HD 6850 y con "no" es una 6xxx series, es que no le hago mucho casi, mientras funcione bien

#18
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
Gracias a los 2, a juanerson por supuesto por el ofrecimiento (prepararé los 2 ioreg) y a surfcaster también. Pensé que con GE=No surfcaster tenía el modelo bien reconocido pero ya veo que no, que salía como 6xxx, aunque no sé si es un detalle solamente estético.

Miraré bien lo del usuario pgsubuntu, seguro.

Haciendo más pruebas he cogido un DSDT limpio desde Windows porque el que usaba tenía bastantes retoques, le he aplicado los parches típicos (los que tiene tonymacx86 para mi placa) y he añadido el código de la gráfica de nuevo, el que pongo más arriba en el post #12, tal como sale ahí, con la dirección "Name (_ADR, 0x00030000)", he cambiado "AMD Radeon HD 6850" por "EMI Radeon HD 6850" sólo como indicador para ver si carga ese código en particular y no el de Chameleon y efectivamente la tarjeta aparece en System Profiler como "EMI Radeon HD 6850" pero solamente si utilizo GE=Yes, con GE=No sigue apareciendo como "ATI Radeon HD 6xxx".

Total, que por un lado parece inyectar bien desde DSDT pero por otro lado necesito GE=Yes.

#19
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 442 posts
yo de vez en cuando me entretengo con estas cosas cuando estoy aburrido: http://www.insanelym...howtopic=274549 y el rendimiento es el mismo de una u otra manera GE=y o GE=n, por lo que deduzco que es solo estético

#20
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 396 posts
  • Gender:Male
  • Location:Spain
Hola, compañero, el rendimiento en muchas tareas puede ser el mismo pero muchos usuarios (me incluyo) ven que algunos programas (DVD Player...) no funcionan con GE=No por lo que algún tipo de comportamiento gráfico se pierde, posiblemente QuartzExtreme. El que aparezca con un nombre u otro es lo que puede ser solamente estético.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy