Jump to content

GUIA: instalación de ATI Radeon 6850 en Lion

* * * * * 1 votes ati 6850 lion

  • Please log in to reply
88 replies to this topic

#61
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts

Hard233 me da la imrpresión que incluir la sección APPL en el DSDT de la 6850 es lo que esta evitando que salga en el perfil del sistema, por que esa sección se usa más en nvidia.


No creo que ese sea el problema, no obstante vamos a ver si surcaster prueba el nuevo código y salimos de dudas....

#62
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts

...el Speedstep es bastante complicado a no ser que use el SMBIOS de MBP 8.3, entonces funciona como una delicia.

Entocnes mejor seguire usando Socket 1366, aunque quería abaratar costes.. Qué perfil usas normalmente? Por qué no usas el del MacbookPro8,3, si todo va ok?

No olvido lo de buscar más info sobre conectores y flags pero por ahora no tengo nada nuevo.


Yo tampoco encuentro muho... :(

#63
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 333 posts
Ahora perfecto tanto en Lion 10.7.4 como en ML DP3, los dos DVI funcionando aunque no puedo hacer el cambio en caliente si lo hago con la maquina en marcha no levanta al monitor, se queda en pantalla negra y acaba apagandose el monitor entonces debo volver a enchufarlo en el que estaba iniciado, debo reiniciar si quiero usar uno u otro, toda la información en gráficos/pantallas perfecta, lógicamente sin ningún flag en Chamaleon, es decir GraficsEnabler=No, muchas gracias por ete trabajo, cualquier cosa que necesites saber o probar esta a tu disposición, de la gráfica o de la maquina.

#64
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts

Ahora perfecto tanto en Lion 10.7.4 como en ML DP3, los dos DVI funcionando aunque no puedo hacer el cambio en caliente si lo hago con la maquina en marcha no levanta al monitor, se queda en pantalla negra y acaba apagandose el monitor entonces debo volver a enchufarlo en el que estaba iniciado, debo reiniciar si quiero usar uno u otro, toda la información en gráficos/pantallas perfecta, lógicamente sin ningún flag en Chamaleon, es decir GraficsEnabler=No, muchas gracias por ete trabajo, cualquier cosa que necesites saber o probar esta a tu disposición, de la gráfica o de la maquina.


Hola surfcaster,

Prueba a ver este nuevo kext y echa un ojo a ver si ahora va el HotPlug...

Attached Files



#65
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 333 posts
uuuupppps, pues después de editar dejo lo de uuuuppppps, probado el nuevo kext, la primera kp de varios idiomas (hacia tiempo que no veía esas cosas jeje), reinicio y justo en la pantalla de login antes de salir la ventanilla media pantalla a puntitos muy seguidos por la parte de abajo como si fuesen rallas, de ahí no he podido salir ya, he tenido que restaurar el anterior kext

#66
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts

uuuupppps, pues después de editar dejo lo de uuuuppppps, probado el nuevo kext, la primera kp de varios idiomas (hacia tiempo que no veía esas cosas jeje), reinicio y justo en la pantalla de login antes de salir la ventanilla media pantalla a puntitos muy seguidos por la parte de abajo como si fuesen rallas, de ahí no he podido salir ya, he tenido que restaurar el anterior kext


uuuuup si... Prueba estos ahora a ver qué pasa...

Attached Files



#67
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 391 posts
  • Gender:Male
  • Location:Spain
Tarjeta gráfica ASUS EAH6850 (Radeon 6850) en Lion 10.7.3: modificar ATI6000controller mediante script de Perl

Nota: es recomendable consultar el primer post del hilo de Alexander Martinez sobre el modelo XFX HD6850, en él se propone un método avanzado de configurar el chip gráfico Radeon 6850 en Lion para que todos los puertos funcionen adecuadamente. Consulta también este hilo de Shiecldk referido al modelo ASUS EAH6850.

Mientras esperamos la aplicación que modifique ATI6000Controller de forma más sencilla y aprovechando que tenemos una información de conectores elaborada por Hard233 (¡gracias!) que funciona muy bien, voy a comentar en este texto cómo modificar la extensión original de Apple con un script de Perl (SP en adelante).

El método de Alexander Martinez para su tarjeta XFX HD6850 se basa en:
  • extraer la ROM de la tarjeta ATI y descodificarla para identificar el orden y tipo de conectores que la GPU utiliza como enlaces físicos para comunicarse con cada puerto
  • obtener las personalidades (framebuffers) existentes en nuestro sistema leyéndolas desde las extensiones gráficas (ATI6000Controller en nuestro caso)
  • probar con diferentes framebuffers y conectores hasta conseguir averiguar la combinación adecuada para que todos los puertos de la tarjeta funcionen correctamente, esta es la parte más laboriosa del proceso y la que requiere mayores conocimientos para llevarla a cabo
  • modificar el archivo ATI6000Controller a nivel hexadecimal, substituyendo los datos de los conectores por los datos válidos anotados en el paso anterior.
  • el post contiene los nombres de los programas requeridos para extraer la ROM (GPU-Z en Windows), descodificarla (radeon_bios_decode creado por bcc9) y obtener los framebuffers (aty_personality.py también creado por bcc9).
En resumen, se trata de crear una extensión ATI6000Controller.kext modificada específicamente para el modelo concreto de nuestra tarjeta gráfica. Si se realiza con éxito, todos los puertos (2xDVI, 1xHDMI y 1xDP) mandan correctamente la señal al monitor, aceptando el cambio de puerto en caliente, sin necesidad de usar "Graphics Enabler = Yes" y sin retardos del ratón.

Para aquellos que no están familiarizados con ésto, Perl busca una determinada cadena y la reemplaza por otra. La primera cadena contiene la información de conectores (IC) obtenida desde ATI6000controller (original de Apple). La segunda cadena contiene la IC modificada para coincidir con las características de nuestra tarjeta, esta cadena ha de crearse siguiendo el método de Alexander Martinez o recurrir a alguna de las ya probadas para un modelo idéntico a nuestra gráfica. Yo he utilizado la que amablemente creó Hard233 específica para mi tarjeta (ASUS EAH6850).

El esquema que sigue el SP es:

sudo perl -pi -e 's|primera_cadena|segunda_cadena|g' /System/Library/Extensions/ATI6000Controller.kext/Contents/MacOS/ATI6000Controller

Para crear la primera cadena desde la extensión ATI6000controller original tal como la instala Mac OS X se utiliza el script ati-personality.py que proporciona la IC de esta forma:

Personality: Duckweed
ConnectorInfo count in decimal: 4
Disk offset in decimal 176800 (2b2a0 in hex)

0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01
0000010 00 04 00 00 04 03 00 00 00 01 00 00 22 05 05 02
0000020 00 08 00 00 04 02 00 00 00 01 00 00 11 02 03 04
0000030 00 02 00 00 14 02 00 00 00 01 00 00 00 00 06 05

Personality es el framebuffer y disk offset es el sitio en que comienza la cadena dentro del archivo binario ATI6000controller (176800 en decimal y 2b2a0 en hexadecimal). Necesitamos las 4 líneas de 16 pares de caracteres cada una:

00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01
00 04 00 00 04 03 00 00 00 01 00 00 22 05 05 02
00 08 00 00 04 02 00 00 00 01 00 00 11 02 03 04
00 02 00 00 14 02 00 00 00 01 00 00 00 00 06 05

Copiamos estas 4 líneas y las pegamos en un editor de texto como por ej. TextWrangler (gratuito), reemplazamos los espacios entre caracteres por \x, añadimos \x al inicio de cada línea y ponemos todo en una sola línea:

\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x12\x04\x04\x01\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x22\x05\x05\x02\x00\x08\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x11\x02\x03\x04\x00\x02\x00\x00\x14\x02\x00\x00\x00\x01\x00\x00\x00\x00\x06\x05

Hacemos lo mismo con la segunda cadena, creándola desde la IC que sea más adecuada. Aparte de la de Hard233, he probado otras 2 que parecen funcionar bien:

Hard233
00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01
00 08 00 00 04 02 00 00 00 01 00 00 22 05 01 04
04 00 00 00 14 02 00 00 00 01 00 00 00 00 03 05
00 02 00 00 14 00 00 00 00 01 00 00 11 02 06 06

Esta es la segunda cadena con los datos de Hard233:

\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x12\x04\x04\x01\x00\x08\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x22\x05\x01\x04\x04\x00\x00\x00\x14\x02\x00\x00\x00\x01\x00\x00\x00\x00\x03\x05\x00\x02\x00\x00\x14\x00\x00\x00\x00\x01\x00\x00\x11\x02\x06\x06

The DJey

00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01
04 00 00 00 14 00 00 00 00 01 00 00 11 02 01 06
00 08 00 00 00 02 00 00 00 01 00 00 22 05 03 04
00 02 00 00 14 02 00 00 00 01 00 00 00 00 06 05

Sollarman

00 04 00 00 04 03 00 00 00 01 00 00 12 04 04 01
00 08 00 00 04 02 00 00 00 01 00 00 22 05 06 04
04 00 00 00 14 02 00 00 00 01 00 00 00 00 05 05
00 02 00 00 04 00 00 00 00 01 00 00 11 02 03 06

Combinándolo todo, obtenemos el PS completo para ser ejecutado desde Terminal:

sudo perl -pi -e 's|\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x12\x04\x04\x01\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x22\x05\x05\x02\x00\x08\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x11\x02\x03\x04\x00\x02\x00\x00\x14\x02\x00\x00\x00\x01\x00\x00\x00\x00\x06\x05|\x00\x04\x00\x00\x04\x03\x00\x00\x00\x01\x00\x00\x12\x04\x04\x01\x00\x08\x00\x00\x04\x02\x00\x00\x00\x01\x00\x00\x22\x05\x01\x04\x04\x00\x00\x00\x14\x02\x00\x00\x00\x01\x00\x00\x00\x00\x03\x05\x00\x02\x00\x00\x14\x00\x00\x00\x00\x01\x00\x00\x11\x02\x06\x06|g' /System/Library/Extensions/ATI6000Controller.kext/Contents/MacOS/ATI6000Controller

Es importante hacer desde Terminal "sudo touch /System/Library/Extensions" antes de reiniciar.

No es necesario tener "Graphics Enabler = Yes" ni AtiConfig ni AtiPorts en org.chamelon.boot.plist. Para que Perfil de Sistema muestre una información más completa sobre la tarjeta gráfica se puede utilizar el código DSDT de Hard233.


Actualización 10.7.4
He actualizado a Lion 10.7.4 y he comprobado que la información de conectores en el archivo ATI6000Controller es la misma que en la versión 10.7.3 y está en el mismo off set por lo que este método funciona también después de la actualización que instala la versión vanilla de la extensión y nos hace perder la configuración de los 4 puertos.

#68
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts

Tarjeta gráfica ASUS EAH6850 (Radeon 6850) en Lion 10.7.3: modificar ATI6000controller mediante script de Perl


Buen aporte miliuco :hammer:

Lo que será RFE: Radeon FrameBuffer Editor, va bastante avanzado. Espero poder subir alguna captura luego y poder subir la primera beta en breve para que podámos probarla :angel_not:

#69
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 391 posts
  • Gender:Male
  • Location:Spain
Esperando con ganas, pues. Ahora que he aprendido cosas que desconocía el primer día en que te leí sobre ésto me doy cuenta de la compeljidad del asunto: diferentes conector info para idénticos modelos de chip pero de marcas diferentes, la información sobre conectores a nivel de código no está completa del todo, etc.. ánimo.

#70
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts
Lo prometido es deuda:

Posted Image

Aún estoy ultimando todos los parámetros de edición (he estado estudiando a fondo los conectores DVI para autodetectar si son Single o Dual Link).

El lunes retomaré la programación y espero poder terminarla para comenzar a probarla durante la semana que viene...

Salu2 y buen finde! :moil:

#71
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 391 posts
  • Gender:Male
  • Location:Spain
Fantástico, tiene un aspecto muy bueno, hasta la semana que viene.

#72
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 333 posts
Mis disculpas por el retraso, estuve muy liado, con la ultima versión v3 totalmente perfecto, vamos no me trae los cafés y es un problema grave de desacato pero sobre os X imposible que vaya mejor, cambio de monitor o salidas en caliente, mucha info, todo OK, mil gracias y esperamos ansiosos ese pequeño soft y enorme trabajo que has hecho para facilitarnos la vida mas aun

#73
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts

Mis disculpas por el retraso, estuve muy liado, con la ultima versión v3 totalmente perfecto, vamos no me trae los cafés y es un problema grave de desacato pero sobre os X imposible que vaya mejor, cambio de monitor o salidas en caliente, mucha info, todo OK, mil gracias y esperamos ansiosos ese pequeño soft y enorme trabajo que has hecho para facilitarnos la vida mas aun


Hola surcaster,

Me alegro que por fin funcionara como es debido.

Deciros que aunque llevo tiempo sin postear nada, no he dejado de lado la aplicación en absoluto. He aquí una captura:

Posted Image

Novedades:

- Nueva sección de preferencias para configurar las rutas de las utilidades de terceros usadas por la aplicación (gracias a Dong, bcc9 y redsockosx).

- He confeccionado lo que a priori sería una lista de tarjetas compatibles con los kexts desde ATI4xxx al ATI 6xxx englobando todas las tarjetas que podrían ser "en teoría" soportadas usando una inyección DSDT correcta y su correspondiente edición KEXT. La lista la he confeccionado basandome en el codename de la GPU según cada modelo, soportando modelos HD y HD Mobility para portátiles. Esta tarea parece fácil pero no es sencillo encontrar todos los device id.

En total 87 "posibles" tarjetas compatibles. La idea es elegir primero nuestra tarjeta de la lista (si no está, en principio no se soporta) y el programa elegirá el FrameBuffer de la serie a utilizar. La aplicación añadirá "NATIVE SUPPORT 10.x.x" al final del nombre de la tarjeta tras analizar los kexts de /System/Library/Extensions en busca de los deviceid soportados por cada kext. Esto significa que si nuestra tarjeta no esta soportada por defecto, la aplicación añadirá el deviceid correspondiente al kext, aparte de la edición HEX del Framebuffer.

- Dump de la ROM con solo pulsar un botón. Solo funciona en Snow Leopard iniciando con arch=i386 (x32). Está basado en la herramienta RadeonDump de dong (thanks dong), y puede ser útil para no tener que hacerlo desde msdos o windows si disponemos de Snow (como es mi caso).

- Estudio más a fondo de todas y cada una de las personalities usadas por Apple, asociando éstas a las "en teoría" tarjetas gráficas utilizadas en todos los modelos que vende, para sacar conclusiones sobre los ConnectorInfo de cara a la sección de Edición.

- Actualización automática tanto de la aplicación como de la lista de tarjetas / framebuffer soportadas.

- Estudio a fondo de los conectores DVI para decidir el ConnectorType a utilizar. Tras el estudio, creo que no es correcto especificar 04 00 00 00 y 00 02 00 00 como Dual Link y Single Link, sino más bien como DVI1 y DVI2. La decisión de si es Dual Link o no la tomará el usuario final en la aplicación (basandose en las especificaciones del fabricante de la tarjeta utilizada). no he visto ninguna manera "exacta" de identificar este flag para acomodar el "Transmitter" correcto para este tipo de conectores (también para conectores tipo LVDS de pantallas de portátiles).

Y hasta ahí he llegado. Ahora queda las secciones divertidas, así que os mantendré informados para empezar cuanto antes con el beta-testing :D

Un saludo a todos y buen finde! :thumbsup_anim:

NOTA: Si alguno de vosotros tiene una tarjeta NO SOPORTADA y quiere colaborar, me gustaría hacer algunas pruebas para saber si se puede solventar el problema con inyección de un fake deviceid por DSDT. En mis pruebas con una 6770 (Juniper XT) con deviceid no soportado (0x68BA ), con el método de "rebranding" flasheando la tarjeta con el device id de la 5770 (Juniper XT) con deviceid soportado por ATI5000Controller.kext (0x68B8), la tarjeta funciona correctamente con aceleración gráfica en 10.6.8, sin embargo con el método de inyectar el fake deviceid de la 5770 (0x68B8) sin rebranding, la tarjeta no tiene aceleración. Ahora no dispongo de dicha tarjeta para hacer más pruebas, por eso si alguno quiere colaborar, será bienvenido para hacer pruebas de este tipo para decidir si realizamos inyección fake por DSDT o simplemente añadimos el deviceid correspondiente al KEXT en cuestión (que a priori sería lo lógico puesto que si o sí, lo modificaremos en HEX para tener corectamente los ConnectorInfo que es en lo que se basa la aplicación).

#74
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 333 posts
Si hay que volver a los viejos (originales) kexts avisas y vamos probando ese soft para reportar funcionamiento

#75
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts

Si hay que volver a los viejos (originales) kexts avisas y vamos probando ese soft para reportar funcionamiento


Justo, esa es la idea. Partir de nuevo con el KEXT sin modificar, y llegar al mismo KEXT que hemos probado, pero realizandolo de una forma sencilla y comprensible desde la aplicación.

Con esto, generaremos una base de datos de FrameBuffers correctos que parten de los datos de los usaurios que deseen aportar su ConnectorInfo cuando lo den "por bueno" tras la edición y prueba de todos los conectores de la tarjeta. De esta forma la aplicación comprobará si la ROM analizada se encuentra en la base de datos, para sugerir el ConnecroInfo "probado" que se supone funciona ok (ya subido por otro usuario), haciendo "inteligente" a la aplicación de alguna manera en beneficio de todos. Además dicha base de datos, ayudará a comprender aún más los datos analizados, con el fin de automatizar más -si cabe- el proceso de edición.

Salu2

#76
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts
Para dar soporte a ML, si tenéis los kexts ATI4600Controller, ATI4800Controller, ATI5000Controller, ATI6000Controller y ATIFrameBuffer de las versiones ML DP2 o DP3, se agradece si me los mandais por privado en un zip. Thanks.

#77
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 391 posts
  • Gender:Male
  • Location:Spain
Yo no uso ML pero seguro que Surfcaster o algún otro te o mandan por pm.

Me gusta mucho la interfaz de la aplicación. ¿Has contado el nº de horas que llevas dedicadas a este asunto? Para facturar (je, je).

Lo de extraer ROM desde SL puede ser una ventaja respecto a tener que utilizar Windows, ¿de qué depende? ¿de que es un programa que sólo funciona en x32? ¿o específicamente sólo funciona en SL x32? Porque si funcionara en Lion también aunque fuese en modo x32 sería fácil avisar al usuario de que reinicie con el flag adecuado para extraer la ROM. Voy a probar la utilidad en Lion y te cuento por si funciona bien arrancando en modo x32.

En fin, va tomando forma, me encanta.

#78
Hard233

Hard233

    InsanelyMac Protégé

  • Members
  • PipPip
  • 53 posts

Yo no uso ML pero seguro que Surfcaster o algún otro te o mandan por pm.

Me gusta mucho la interfaz de la aplicación. ¿Has contado el nº de horas que llevas dedicadas a este asunto? Para facturar (je, je).

Lo de extraer ROM desde SL puede ser una ventaja respecto a tener que utilizar Windows, ¿de qué depende? ¿de que es un programa que sólo funciona en x32? ¿o específicamente sólo funciona en SL x32? Porque si funcionara en Lion también aunque fuese en modo x32 sería fácil avisar al usuario de que reinicie con el flag adecuado para extraer la ROM. Voy a probar la utilidad en Lion y te cuento por si funciona bien arrancando en modo x32.

En fin, va tomando forma, me encanta.


Hola miliuco,

Como cuente las horas me asusto, asi que mejor dejarlo ... ;) El tema de RadeoDump es que usa un Kext "RadeonPCI.kext" creado para SL x32, si lo usas en Lion = KP O eso he leído. Y en ML como no soporta x32...

No tiene tampoco el código para x64 :( Desconozco si está libre el código fuente (desarrollado por dong) para poder portar el KEXT a x64 compatible con Lion/ML lo cual sería una gozada, pero... Por el momento funciona OK desde Snow x32 según las pruebas que he hecho.

Si quieres probarlo, puedes descargarlo de aquí. Habría que hablar con Slice o el mismo Dong, por si nos facilita las cosas, dado que es imprescindible tener la ROM para este tema, es un poco jaleo tener que hacerlo dede Win...

Seguiremos informando...

#79
miliuco

miliuco

    InsanelyMac Sage

  • Donators
  • 391 posts
  • Gender:Male
  • Location:Spain
Tal como dices, el problema es RadeonPCI.kext, da KP según la intento cargar, imposible usarla en Lion x32. En Lion x64 directamente dice que no se puede cargar por diferente arquitectura.

#80
surfcaster

surfcaster

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 333 posts
luego te busco los kext que me digas de la DP3, tengo la version digamos "base" primera que salió, despues hubo un update pero lo hice desde AppleStore y no tengo copia del kext suponiendo que hubiese alguna modificación en el, ahora tengo o uso la ultima de la DP3 (la tercera ya), es decir te puedo extraer y enviar o colgar los kext que necesites, ala por si no has trabajado bastante me los listas, yo con el 6000controller voy servido y no puedo probar el resto pero si los quieres tambien te los envío o subo, algun cambio ha habido en esta ultima ya que no me funciona el cambio de puerto en caliente pero no tiene importancia para mi, si cambio de puerto incluso con el PC apagado no hay gráficos con ningun flag, ya saldra la definitiva de ML, por mi no hay prisa ahora que Lion funciona suaveeeeee





Also tagged with one or more of these keywords: ati, 6850, lion


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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