Compatibilidad con gráficos integrados Intel GMA X4500HD
¿Sabéis si el chip gráfico integrado Intel GMA X4500HD tiene o tendrá soporte en OSx86? Estoy comparando dos portátiles Acer TravelMate (uno con GMA X3100 y Core 2 Duo T7500 y otro con GMA X4500HD y Core 2 Duo P8400 Montevina) priorizando la autonomía de batería.
- Autor principal
-
@naquaada
Publicado el 2008-10-29
- Colección
- Arquitectura Base OSx86 10.X y Arranque
- Registro histórico
- 266,730 lecturas históricas · 29 notas de campo seleccionadas (de 32 mensajes) · 2008-10-29 – 2011-03-13
- Voces acreditadas (20)
- @martin255 (4)@uman (4)@changturkey (2)@Undead Surfer (2)@asert (2)@modemthug (2)@max.1974 (2)@brizzle (2)@naquaada@scififan68@BlackCH@evb60@shanwookie@localparty@sparksthesquid@Sevan+4 more
- Referencia de hardware
- Laptop RAM & SSD Upgrades ↗ SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗
¿Sabéis si la gráfica integrada Intel GMA X4500HD tiene soporte actualmente o lo tendrá en el futuro? Estoy valorando dos portátiles que me resultan interesantes:
Acer TravelMate 5720-602G16_XPP (notebook sbilliger.de/product_info.php/acer_travelmate_5720602g16_xpp_3gb) y Acer TravelMate 5730-842G25N (notebook sbilliger.de/product_info.php/acer_travelmate_5730842g25n_3072mb).
El motivo principal por el que me interesan estos dos modelos es su gran autonomía de batería, de hasta 5 horas. El dilema es que el primero lleva la gráfica integrada GMA X3100, que sí está soportada en OS X, mientras que el segundo monta la GMA X4500HD. Realmente no necesito gran potencia gráfica ni aceleración 3D avanzada; solo lo quiero para trabajar con aplicaciones de escritorio y jugar de vez en cuando a algún clásico de DOS o Amiga.
Además de la gráfica y de un disco duro más grande, la otra diferencia está en el procesador: el primero monta un Intel Core™2 Duo T7500 a 2x 2.20 GHz con 4 MB de caché L2 y FSB a 800 MHz, mientras que el segundo lleva un Intel Core™2 Duo P8400 Montevina a 2x 2.26 GHz con 3 MB de caché L2 y FSB a 1066 MHz. ¿Se notaría mucho la diferencia de velocidad entre ambos procesadores?
Notas de campo y pruebas de la comunidad
29 respuestas técnicas seleccionadas de 32 intervenciones originales
Dudo mucho que la GMA X4500 llegue a funcionar nunca en OS X: ahora que Apple se ha pasado a los chipsets de NVIDIA, es altamente improbable.
Bueno, tenía la esperanza de que alguien pusiera en marcha el desarrollo de algún controlador o, al menos, la posibilidad de cambiar a la resolución nativa; QE/CI no me importa tanto.
changturkey, si lo único que te interesa es poder usar la resolución nativa de tu pantalla, actualmente existen dos parches o soluciones conocidas. La primera consiste en instalar Linux y utilizar GRUB como gestor de arranque junto con una versión parcheada del módulo 915resolution; es bastante engorroso, pero varios usuarios han confirmado que funciona a distintas resoluciones.
Hay otra solución más sencilla que utiliza un archivo boot modificado, compilado originalmente para el Sony VAIO P. Acabamos de descubrir este método esta misma semana, por lo que aún no hay muchos reportes, pero en mi caso (ThinkPad X200s) consigo 1280x800 (aunque no 1440x900).
Ambas soluciones están detalladas en este hilo de InsanelyMac (a partir del mensaje #38 para la primera y del mensaje #106 para la segunda): http://www.insanelymac.com/forum/index.php?showtopic=12… ↗
Si solo quieres una resolución concreta, ¿por qué no usas simplemente el parámetro "Graphics Mode"="anchoxaltoxprofundidad"?
Puede que dentro de poco este tema me interese a mí también, ya que es posible que acabe con un portátil que monta esta gráfica. He encontrado esta documentación oficial:
intellinu xgraphics.org/documentation.html
Todavía no he tenido tiempo de revisarla a fondo. ¿Podríamos organizarnos entre varios para analizar los documentos? Básicamente lo que buscamos es saber si la 4500 puede entrar en algún modo de compatibilidad hacia atrás con la X3100 o (en el peor de los casos) con la GMA 950. Si fuera así, tal vez podríamos inyectar esa configuración en el árbol ACPI mediante Natit o cadenas EFI.
Bueno, UndeadSurfer, la razón es que no funciona. La VBIOS de la tarjeta gráfica contiene una tabla cerrada con los modos VESA soportados y, si la resolución que necesitas no figura en esa lista, ponerla en com.apple.Boot.plist no servirá de nada. Por eso la solución pasa por parchear temporalmente la tabla VBIOS en memoria durante el arranque para obtener la resolución deseada.
uman, hasta donde yo sé, la arquitectura de la X4500 es muy distinta de la de la X3100 (al menos según la documentación comercial de Intel); no es como la X3500, que era una simple variante. Pero quizá puedas unir fuerzas con este usuario tan optimista: http://www.insanelymac.com/forum/index.php?s=&showt… ↗
@martin255uman, hasta donde yo sé, la arquitectura de la X4500 es muy distinta de la de la X3100 (al menos según la documentación comercial de Intel); no es como la X3500, que era una simple variante. Pero quizá puedas unir fuerzas con este usuario tan optimista: http://www.insanelymac.com/forum/index.php?s=&showt… ↗
Su planteamiento no va a funcionar: Apple no publica el código fuente de los controladores de vídeo.
@martin255Bueno, UndeadSurfer, la razón es que no funciona. La VBIOS de la tarjeta gráfica contiene una tabla cerrada con los modos VESA soportados y, si la resolución que necesitas no figura en esa lista, ponerla en com.apple.Boot.plist no servirá de nada. Por eso la solución pasa por parchear temporalmente la tabla VBIOS en memoria durante el arranque para obtener la resolución deseada.
Qué raro. Yo tengo una serie 45 en el PC del trabajo y la tengo funcionando a 1280x1024 mediante el método de com.apple.Boot.plist.
No sé, cosas raras.
UndeadSurfer, eso es porque 1280x1024 es un modo VESA estándar 4:3 que sí viene incluido en la VBIOS de la X4500, mientras que la mayoría de resoluciones panorámicas (widescreen) no están en la tabla.
@martin255uman, hasta donde yo sé, la arquitectura de la X4500 es muy distinta de la de la X3100 (al menos según la documentación comercial de Intel); no es como la X3500, que era una simple variante. Pero quizá puedas unir fuerzas con este usuario tan optimista: http://www.insanelymac.com/forum/index.php?s=&showt… ↗
Martin y *cualquiera* que tenga una 4500
He estado revisando la documentación técnica de Intel sobre la serie 4500 y veo una amplia compatibilidad entre ambas arquitecturas. En la evolución desde la GMA 900 hasta la GMA 4500, Intel ha ido trasladando más funciones directamente al chipset (en lugar de delegarlas en la CPU) y ha añadido soporte para distintas interfaces de pantalla como LVDS.
Creo que merece la pena comprobar si los kexts de la GMA X3100 incluidos en Leopard son capaces de manejar la serie 4500. ¿Podría alguien hacer el siguiente experimento y comentar los resultados?
1. Verifica que tu archivo AppleIntelGMAX3100.kext/Contents/Info.plist contenga:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIMatch</key>
<string>0x00008086&0x0000ffff</string>
En cristiano, esto significa que coincide con cualquier dispositivo PCI de clase 0x03 (que corresponde a controladoras gráficas, igual que 0x02 es red) y fabricante 8086 (Intel), sin filtrar por ID de dispositivo ni de subsistema.
2. Verifica que AppleIntelGMAX3100FB.kext/Info.plist contenga:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>
Esto significa que coincide únicamente con dispositivos PCI de clase 0x03, fabricante Intel (8086) y con el ID de dispositivo específico 0x2A02.
3. Edita AppleIntelGMAX3100FB.kext/Info.plist para dejarlo así:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A42 0x2A43 0x2E12 0x2E13 0x2E02 0x2E03 0x2E22 0x2E23 0x2E32 0x2E33</string>
Estos son los ID de dispositivo (Device ID) de las variantes 4500MHD (2A42, 2A43), 4500 (2E12, 2E13), X4500 y X4500HD (2E02, 2E03, 2E22, 2E23, 2E32, 2E33).
4. Reinicia con la bandera -v. Revisa Utilidades/Consola en busca de cualquier mensaje relacionado con los kexts de GMA. Abre también una ventana de Terminal y ejecuta:
$> kextstat | grep AppleIntelGMAX3100
Si no se ha cargado en memoria, el comando no devolverá ninguna línea.
Es muy posible que no funcione en absoluto, ya que el binario del kext seguramente sondeará registros o propiedades internas que no se exponen en el Info.plist, pero vale la pena intentarlo.
-u
uman, lo probaré y te cuento. De hecho, ya llegué a ver cargado el kext de la X3100 en una ocasión, aunque creo que se debió a haber inyectado MacBookAir1,1 como identificador de modelo (se cargaron también otros kexts que no correspondían a mi hardware).
Los ID de dispositivo de destino están codificados directamente en el binario de los kexts; hay que modificarlos con un editor hexadecimal.
@BlackCHLos ID de dispositivo de destino están codificados directamente en el binario de los kexts; hay que modificarlos con un editor hexadecimal.
Uf, gracias por avisar aquí, BlackCH. Acabo de leer tu mensaje en InsanelyMac y he comprobado con hexedit que, efectivamente, los ID están incrustados en los binarios de los kexts.
Martin (o cualquiera que se anime a probarlo):
1. Abre el archivo Info.plist de AppleIntelGMAX3100FB.kext y sustituye el valor 0x2A028086 en esta entrada:
<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>
por uno de los siguientes valores (según el modelo exacto de 4500 que tengas):
4500MHD: 0x2A428086 o 0x2A438086
4500: 0x2E128086 o 0x2E138086
X4500 y X4500HD: 0x2E028086, 0x2E038086, 0x2E228086, 0x2E238086, 0x2E328086 o 0x2E338086
2. A continuación, abre con un editor hexadecimal el binario ejecutable AppleIntelGMAX3100FB que hay dentro del kext y haz un Buscar y reemplazar:
Buscar: 86 80 02 2A
Reemplazar por: la versión con orden de bytes invertido (little-endian) del valor que hayas puesto en el plist. Por ejemplo, 0x2A428086 pasa a ser 86 80 42 2A (sin el prefijo 0x).
Repite exactamente la misma operación en el binario AppleIntelGMAX3100 del otro kext.
Por favor, comentad qué ocurre al arrancar; como aún no tengo ningún equipo con la 4500 no puedo probarlo yo mismo. Gracias.
Ah, y la advertencia de BlackCH en InsanelyMac es muy importante: todos los kexts gráficos tienen que ser de la misma versión (o todos los originales de Leopard 10.5.x o todos los de la actualización combinada de gráficos).
-u
@umanSu planteamiento no va a funcionar: Apple no publica el código fuente de los controladores de vídeo.
Bueno, no hemos escrito un controlador desde cero, pero ya hemos logrado que funcione el framebuffer y creemos estar bastante cerca de conseguir QE/CI; solo necesitamos un pequeño empujón de otros compañeros que dominen mejor las cadenas de inyección EFI...
@Undead SurferQué raro. Yo tengo una serie 45 en el PC del trabajo y la tengo funcionando a 1280x1024 mediante el método de com.apple.Boot.plist. No sé, cosas raras.
Confirmado: tengo una placa base Intel DG45ID, modifiqué la resolución con OSx86Tools > Add EFI Strings/Boot Flag en 10.5.7
y funciona a 1280x1024x32@60Hz.
Los plists y binarios modificados de los kexts bloquean la imagen en negro
@umanUf, gracias por avisar aquí, BlackCH. Acabo de leer tu mensaje en InsanelyMac y he comprobado con hexedit que, efectivamente, los ID están incrustados en los binarios de los kexts. Martin (o cualquiera que se anime a probarlo): 1. Abre el archivo Info.plist de AppleIntelGMAX3100FB.kext y sustituye el valor 0x2A028086 en esta entrada: IOPCIPrimaryMatch 0x2A028086 por uno de los…
uman,
Lamentablemente, tu método no funciona en mi Dell Latitude E6500 con Snow Leopard 10.6.2.
Mi Latitude monta una Intel GMA X4500MHD y Perfil de Sistema confirma tanto el fabricante "Intel 0x8086" como el ID de dispositivo "0x2a42". Modifiqué el Info.plist tanto de AppleIntelGMAX3100.kext como de AppleIntelGMAX3100FB.kext para poner:
<key>IOPCIPrimaryMatch</key>
<string>0x2A428086</string>
y además, en ambos binarios AppleIntelGMAX3100 y AppleIntelGMAX3100FB —usando Hex Fiend— reemplacé todas las apariciones en hexadecimal de 86 80 02 2A por:
86 80 42 2A
Puedo confirmar que el sistema intenta inicializar los kexts modificados porque, durante el arranque, aparece la manzana gris unos instantes y acto seguido la pantalla se queda completamente en negro. Todo apunta a que OS X termina de cargar por detrás, pero el controlador es incapaz de sacar señal de vídeo a la pantalla. En cambio, cuando restauro los kexts originales sin modificar, el arranque culmina con éxito pero con la dichosa resolución de 1024x768.
Instalé "SnowOSX Universal v3.6 (10.6.2) | 3.6 GB" a partir de la imagen SnowOSX3.6-A.iso.
Que conste que logré hacer funcionar el sonido y alcanzar una resolución de 1600x1200 pasando el parámetro "Graphics Mode"="1920x1200x32" en el arranque; sin embargo, mi panel no es 4:3 de 1600x1200, sino que necesito los 1920x1200x32 completos =(
Por cierto, como recomendaste "reemplazar" sin especificar si había que sustituir "todas las coincidencias", también hice la prueba reemplazando únicamente la primera aparición hexadecimal en los binarios, con idéntico resultado negativo: pantalla en negro.
Ojalá se os ocurra qué más podemos probar aquí =) Cualquier sugerencia será bienvenida =)
Ofrezco pagar 200,00 $ a cualquier desarrollador que consiga un parche funcional con aceleración QE/CI para la Intel 4500MHD en Snow Leopard 10.6.2, siempre que sea compatible con futuras actualizaciones. Pagaré al contado por PayPal o giro postal en cuanto compruebe que el parche funciona. Contactad conmigo a través de este hilo y os daré mis datos si la propuesta es seria. El kext se utilizará en un Dell Inspiron 1545 con GMA 4500MHD.
Solo propuestas serias.
Aquí tenéis una solución al menos para obtener la resolución nativa: se trata de una versión modificada de Chameleon RC4. Eliminad cualquier kext modificado de la 3100 y seguid las instrucciones del archivo README. Encontré el archivo boot en InsanelyMac y lo integré en el instalador de Chameleon, así que el mérito no es mío, pero funciona de maravilla: le da un aspecto de "Mac auténtico" con la resolución correcta desde la misma pantalla de arranque y funciona tanto en 10.5.x como en 10.6.x.
He probado todas las variantes posibles de este kext que se han publicado en InsanelyMac y ninguna me ha dado buen resultado. Si alguien pudiera orientarme en la dirección correcta se lo agradecería mucho.
La resolución nativa llega a activarse, pero la imagen se ve terriblemente corrupta, con líneas verticales subiendo y bajando y un tinte morado por toda la pantalla; es difícil de describir.
También he probado el parche 915resolution de Chameleon y, sinceramente, en mi caso no marca ninguna diferencia.
Especificaciones:
Procesador: Intel Core 2 Duo T6400 a 2.00 GHz
RAM: 4 GB DDR2
Pantalla: Pantalla panorámica LED de 17"
Gráficos: Intel Graphics 4500MHD con hasta 1.7 GB de memoria compartida, salidas VGA y HDMI (DevID: 0x2a42)
Disco duro: Western Digital WD3200BEVT-75ZCT2 de 320 GB
Red Ethernet: Broadcom NetLink Gigabit Ethernet 10/100/1000 Mbps
Wi-Fi: Dell 1510 Wireless-N Draft 2
Sonido: IDT HD-Audio e Intel HDMI Audio
CD/DVD: TSSTcorp DVD+-RW TS-T633A
Sistemas operativos: Windows 7 Ultimate x64 y Mac OS X Snow Leopard 10.6.2 (Retail)
Creo que he conseguido los kexts
No tengo ningún Hackintosh; en casa uso un iMac y un MacBook Pro (de los anteriores de aluminio no Unibody). Estaba leyendo sobre los nuevos MacBook Pro recién salidos y caí en la cuenta de que incorporan gráficos Intel HD como parte de su sistema de gráficos híbridos intercambiables. Como no tengo un Hackintosh con esa integrada, no puedo probarlo yo mismo. SIN EMBARGO, descargué la última actualización de software para esos MacBook Pro desde la web de Apple y, tras media hora trasteando con xar, logré extraer los kexts del paquete instalador (ya que OS X ya no permite usar "Mostrar contenido del paquete" directamente en los archivos .pkg nuevos). Por favor, probadlos y contadme si funcionan; sospecho que podrían servir:
rapid share.com/files/377968637/Intel_HD_kexts.zip.html
No tengo cuenta premium en RapidShare, así que solo permite 10 descargas y no tengo dónde alojar el archivo... ¿Alguien puede resubirlo a otro servidor si funciona?
Aquí tenéis un enlace mejor para descargar esos kexts:
media fire.com/?jjmtwijjo5i
¿Habéis probado la nueva actualización del sistema para los MacBook Pro? Trae controladores para los gráficos Intel HD (Arrandale) y el nuevo kernel da soporte a procesadores móviles Core i5m e i7m; quizá valga la pena probarla completa, porque me temo que instalar los kexts sueltos no bastará al necesitar también los frameworks de OpenGL actualizados.
Estoy a punto de volver a instalar OS X en mi Lenovo IdeaPad U350; la última vez que lo intenté no logré que funcionara a su resolución nativa de 1366x768.
Instalé Kalyway 10.5.2, pero la resolución de pantalla se queda en 1024x768 y se ve achatada.
Es en mi portátil.
¿Cómo puedo cambiar la resolución a 1366x768? Por favor, decidme la forma más sencilla de hacerlo.
Disculpad, soy novato en Mac OS X.
Desarrollo de kext financiado entre usuarios
Como bien dice Asert, muchos estamos dispuestos a pagar por este controlador, cansados de esperar parches que nunca llegan. No creo que sea tan difícil reunir a 50 personas en todo el mundo seriamente interesadas en financiar el desarrollo de un kext con aceleración para la Intel GMA 4500HD. Yo encantado aportaría dinero para un proyecto así; si tuviera tiempo libre lo intentaría programar yo mismo, pero ahora mismo me resulta imposible...
¿Hay algún desarrollador con experiencia en I/O Kit que quiera ofrecerse?
Los kexts de Intel GMA 4500 no funcionan
No me han funcionado... ¡y tenía tantas esperanzas puestas en ello! Es lo único que me falta en el portátil... Ya me olvidé de las promesas de soporte Wi-Fi del proyecto Camphor, pero hacer funcionar la Intel GMA 4500 sería la noticia del siglo :'(
¡PROMETO PAGAR 100 DÓLARES POR PAYPAL AL DESARROLLADOR EN CUANTO LO PRUEBE Y ESTA DICHOSA TARJETA FUNCIONE!
¡OYE STEVE, QUE YO TAMBIÉN COMPRO EN LA APP STORE, ¿VALE?! ¡ENRÓLLATE!
Controlador para GMA 4500
Encontré un sustituto para la GMA 4500: buscad en kexts.com dentro de la sección de descargas de tarjetas de vídeo Intel el paquete llamado Apple 3100 FB kexts. Hay dos archivos para descargar (no bajéis el que pone 4500); esto os permitirá alcanzar resolución 720p con 512 MB de VRAM reconocida. No aprovecha toda la capacidad de la tarjeta gráfica, pero es mucho mejor que quedarse a 800x600.
Controlador para GMA 4500
Encontré un sustituto para la GMA 4500: buscad en kexts.com dentro de la sección de descargas de tarjetas de vídeo Intel el paquete 4500MHD kexts __ Apple 3100 FB. Hay dos archivos para descargar (no bajéis el que pone 4500); esto os permitirá alcanzar resolución 720p con 512 MB de VRAM reconocida. No aprovecha toda la capacidad de la tarjeta gráfica, pero es mucho mejor que quedarse a 800x600.
Por favor, ¿podrías publicar el enlace directo para todos los demás usuarios? Aunque si ese kext solo sirve para activar la resolución nativa sin aceleración, eso ya lo conseguí hace bastante tiempo... Gracias de antemano por la información.
Fuentes y registro de autoría (20 usuarios acreditados · Hilo #1521)
| Usuario | Rol en la monografía | Mensajes | Periodo activo |
|---|---|---|---|
| @martin255 | Colaborador clave | 4 | 2009-06-18 → 2009-06-30 |
| @uman | Colaborador clave | 4 | 2009-06-24 → 2009-07-01 |
| @changturkey | Colaborador | 2 | 2008-12-08 |
| @Undead Surfer | Colaborador | 2 | 2009-06-24 → 2009-06-25 |
| @asert | Colaborador | 2 | 2010-02-04 → 2010-02-09 |
| @modemthug | Colaborador | 2 | 2010-04-20 |
| @max.1974 | Colaborador | 2 | 2011-01-09 → 2011-03-13 |
| @brizzle | Colaborador | 2 | 2011-03-13 |
| @naquaada | Autor principal | 1 | 2008-10-29 |
| @scififan68 | Colaborador | 1 | 2008-12-08 |
| @BlackCH | Colaborador | 1 | 2009-06-30 |
| @evb60 | Colaborador | 1 | 2009-07-06 |
| @shanwookie | Colaborador | 1 | 2009-07-14 |
| @localparty | Colaborador | 1 | 2010-01-23 |
| @sparksthesquid | Colaborador | 1 | 2010-02-08 |
| @Sevan | Colaborador | 1 | 2010-02-14 |
| @JaS | Colaborador | 1 | 2010-04-20 |
| @pflaume | Colaborador | 1 | 2010-05-13 |
| @danhtho | Colaborador | 1 | 2010-06-15 |
| @mesco64 | Colaborador | 1 | 2010-11-09 |