Intel GMA X4500HD — Suporte e Compatibilidade no OSx86
Alguém sabe se o vídeo integrado Intel GMA X4500HD já é ou será suportado no OS X? Estou em dúvida entre dois notebooks Acer TravelMate (um com Core 2 Duo T7500 + GMA X3100 e outro com Core 2 Duo P8400 Montevina + GMA X4500HD).
- Autor Principal
-
@naquaada
Publicado em 2008-10-29
- Coleção
- Arquitetura Base OSx86 10.X e Bootloaders
- Histórico no Arquivo
- 266,730 leituras históricas · 29 notas técnicas selecionadas (de 32 postagens) · 2008-10-29 – 2011-03-13
- Colaboradores Creditados (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
- Referência de Hardware
- Laptop RAM & SSD Upgrades ↗ SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗
Alguém sabe dizer se o vídeo integrado Intel GMA X4500HD já é ou será suportado no OS X? Estou olhando dois notebooks que me interessam bastante:
Acer TravelMate 5720-602G16_XPP (notebook sbilliger.de/product_info.php/acer_travelmate_5720602g16_xpp_3gb) e Acer TravelMate 5730-842G25N (notebook sbilliger.de/product_info.php/acer_travelmate_5730842g25n_3072mb)
O principal motivo da escolha desses modelos é a excelente autonomia de bateria, que chega a até 5 horas. O dilema é que o primeiro vem com a GMA X3100 (que já tem suporte nativo no OS X), enquanto o segundo vem com a GMA X4500HD. Eu não preciso de poder gráfico pesado nem de aceleração 3D intensa — quero apenas trabalhar em aplicativos normais ou rodar alguns emuladores de DOS e Amiga.
A outra diferença, além do chip gráfico e do HD maior, está no processador: o primeiro tem um Intel Core™2 Duo T7500 (2x 2,20 GHz, 4 MB de cache L2 e FSB de 800 MHz), enquanto o segundo traz um Intel Core™2 Duo P8400 Montevina (2x 2,26 GHz, 3 MB de cache L2 e FSB de 1066 MHz). Essa diferença de desempenho de CPU chegaria a ser perceptível no dia a dia?
Notas de Campo e Relatos da Comunidade
29 respostas técnicas selecionadas a partir de 32 postagens originais
Duvido muito que a Intel GMA X4500 chegue a ter suporte oficial no OS X, porque a Apple migrou toda a linha de notebooks para chipsets integrados da NVIDIA (GeForce 9400M).
Bom, minha esperança era que alguém da comunidade desenvolvesse ao menos um driver de framebuffer capaz de ajustar a resolução nativa da tela — nem faço questão de QE/CI.
changturkey, se tudo o que você precisa é rodar na resolução nativa widescreen do painel, existem atualmente duas soluções conhecidas (sem QE/CI):
A primeira envolve usar o GRUB2 ou GRUB com uma versão modificada do módulo 915resolution para aplicar um patch temporário na VBIOS antes de carregar o Chameleon.
A segunda, bem mais simples, usa um arquivo boot do Chameleon compilado com o patch de resolução para a série GMA 4500 (no meu ThinkPad X200s consegui 1280x800 direto com ele).
Ambas as soluções estão detalhadas neste tópico do InsanelyMac (a partir do post #38 e do post #106): http://www.insanelymac.com/forum/index.php?showtopic=12… ↗
Se você só quer mudar a resolução, por que não usar simplesmente a chave "Graphics Mode"="LARGURAxALTURAx32" no com.apple.Boot.plist?
Também tenho interesse direto nisso, pois devo pegar um notebook com GMA 4500 em breve. Encontrei a documentação técnica aberta da Intel para Linux aqui:
intellinu xgraphics.org/documentation.html
O que precisamos investigar nos manuais de registradores é se a série 4500 possui algum modo de compatibilidade de hardware ou semelhança suficiente com os registradores da GMA X3100 que permita adaptar a kext existente.
UndeadSurfer, o "Graphics Mode" sozinho não resolve em telas widescreen porque a tabela VESA gravada na VBIOS da GMA 4500 não inclui resoluções 16:10 ou 16:9 (como 1280x800 ou 1366x768) — por isso é necessário que o bootloader aplique um patch na tabela VESA da VBIOS em RAM durante o boot.
uman, pelo que li a arquitetura interna da GMA X4500 mudou bastante em relação à X3100, mas há um grupo fazendo experimentos interessantes aqui: http://www.insanelymac.com/forum/index.php?s=&showt… ↗
@martin255uman, pelo que li a arquitetura interna da GMA X4500 mudou bastante em relação à X3100...
Portar do zero sem os headers fechados do subsistema gráfico da Apple é inviável, já que a Apple não libera o código-fonte dos drivers de vídeo.
@martin255UndeadSurfer, o "Graphics Mode" sozinho não resolve em telas widescreen porque a tabela VESA gravada na VBIOS da GMA 4500 não inclui resoluções widescreen...
Curioso, tenho um desktop com chipset serie 45 no trabalho e rodo em 1280x1024 normalmente só com o com.apple.Boot.plist.
UndeadSurfer, isso funciona para você justamente porque 1280x1024 (proporção 5:4 tradicional de monitor desktop) faz parte dos modos VESA padrão da VBIOS da X4500, ao contrário das resoluções widescreen de notebooks.
@martin255uman, pelo que li a arquitetura interna da GMA X4500 mudou bastante em relação à X3100...
Martin e qualquer pessoa que tenha uma GMA 4500 para testar:
Analisei a documentação técnica da Intel para a série 4500 e notei muitas semelhanças estruturais na evolução da GMA 900 até a GMA 4500. Acho que vale fazermos um experimento prático para ver se as kexts da GMA X3100 do Leopard conseguem inicializar o hardware da série 4500:
1. Verifique se o arquivo AppleIntelGMAX3100.kext/Contents/Info.plist contém:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIMatch</key>
<string>0x00008086&0x0000ffff</string>
(Isso dá match em qualquer dispositivo PCI de classe 0x03 — vídeo — do fabricante 8086 — Intel).
2. Verifique no arquivo AppleIntelGMAX3100FB.kext/Info.plist as chaves:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>
3. Edite o AppleIntelGMAX3100FB.kext/Info.plist incluindo os Device IDs da família 4500:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A42 0x2A43 0x2E12 0x2E13 0x2E02 0x2E03 0x2E22 0x2E23 0x2E32 0x2E33</string>
Esses são os IDs da 4500MHD (2A42, 2A43), 4500 (2E12, 2E13) e X4500/X4500HD (2E02, 2E03, 2E22, 2E23, 2E32, 2E33).
4. Reinicie com -v, verifique o Console e rode no Terminal:
$> kextstat | grep AppleIntelGMAX3100
Mesmo que não dê vídeo completo de primeira, veremos nos logs como o driver reage!
-u
uman, vou testar hoje mesmo e aviso o resultado! Inclusive já cheguei a ver a kext da X3100 listada uma vez quando injetei o modelo MacBookAir1,1 no smbios.plist.
Os Device IDs alvo também estão gravados diretamente dentro do binário executável das kexts; além do Info.plist, é necessário editá-los com um editor hexadecimal (hex editor).
@BlackCHOs Device IDs alvo também estão gravados diretamente dentro do binário executável das kexts; além do Info.plist, é necessário editá-los com um editor hexadecimal.
Bem observado, BlackCH! Acabei de conferir no HexEdit e realmente os IDs estão cravados no binário.
Martin (ou quem mais quiser testar):
1. Abra o Info.plist da AppleIntelGMAX3100FB.kext e substitua o 0x2A028086 em:
<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>
pelo ID exato da sua placa:
4500MHD: 0x2A428086 ou 0x2A438086
4500: 0x2E128086 ou 0x2E138086
X4500 e X4500HD: 0x2E028086, 0x2E038086, 0x2E228086, 0x2E238086, 0x2E328086 ou 0x2E338086
2. Em seguida, abra o binário AppleIntelGMAX3100FB em um editor hexadecimal e faça um Localizar e Substituir (em ordem little-endian / byte-reversed):
Localizar: 86 80 02 2A
Substituir por: 86 80 42 2A (no caso do ID 0x2A428086)
Faça o mesmo no binário AppleIntelGMAX3100 da outra kext, repare as permissões e conte pra gente o que acontece!
-u
@umanPortar do zero sem os headers fechados do subsistema gráfico da Apple é inviável...
Com o patch no binário do framebuffer da X3100 já conseguimos carregar o framebuffer para mudar resoluções em alguns modelos, embora o acelerador 3D (QE/CI) continue travando.
@Undead SurferCurioso, tenho um desktop com chipset serie 45 no trabalho e rodo em 1280x1024 normalmente só com o com.apple.Boot.plist.
Confirmado: tenho uma placa-mãe Intel DG45ID e configurei 1280x1024x32@60Hz pelo OSx86 Tools > Add EFI Strings/Boot Flag no 10.5.7.
Relato do teste com plists e binários editados via Hex Fiend
@uman1. Abra o Info.plist da AppleIntelGMAX3100FB.kext e substitua o 0x2A028086... 2. No editor hexadecimal substitua 86 80 02 2A por 86 80 42 2A...
uman,
Fiz o teste completo no meu Dell Latitude E6500 rodando Snow Leopard 10.6.2 (GPU Intel GMA X4500MHD, Vendor 0x8086, Device ID 0x2a42). Editei o Info.plist de ambas as kexts (AppleIntelGMAX3100.kext e AppleIntelGMAX3100FB.kext) para:
<key>IOPCIPrimaryMatch</key>
<string>0x2A428086</string>
e também substituí todas as ocorrências hexadecimais de 86 80 02 2A nos dois binários usando o Hex Fiend por:
86 80 42 2A
Posso confirmar que o sistema realmente carrega as kexts modificadas porque, durante o boot, a maçã cinza aparece por alguns instantes e, no momento de inicializar o vídeo, a tela fica completamente preta (o sistema operacional continua rodando por trás, mas o driver não consegue acender o painel na arquitetura 4500). Quando volto para as kexts originais (sem carregar o driver), o sistema entra normalmente em modo VESA 1024x768 (ou 1600x1200 via Graphics Mode, embora minha tela seja 1920x1200).
Também testei substituir apenas a primeira instância hexadecimal nos binários, mas o resultado foi a mesma tela preta.
Se tiverem mais alguma ideia para testarmos no framebuffer, estou à disposição! =)
Ofereço uma recompensa de US$ 200,00 (via PayPal) para qualquer desenvolvedor que consiga criar uma solução funcional de QE/CI para a Intel GMA 4500MHD no Snow Leopard 10.6.2 (para uso em um Dell Inspiron 1545 com 4500MHD). Interessados sérios podem responder aqui no tópico.
Para quem precisa ao menos da resolução widescreen nativa da tela (tanto no 10.5.x quanto no 10.6.x): basta remover qualquer kext modificada da 3100 e usar a versão modificada do arquivo boot do Chameleon RC4 com o patch 915resolution integrado. Deixa o boot e a área de trabalho na resolução exata do painel!
Testei várias versões modificadas da kext do framebuffer 3100 para o ID 0x2a42 no meu notebook de 17" (Core 2 Duo T6400, GMA 4500MHD no Snow Leopard 10.6.2 Retail): ela até muda a resolução, mas a imagem fica toda distorcida com listras verticais e um tom roxo na tela inteira.
Extraí as novas kexts Intel HD Graphics dos novos MacBook Pros
Estava lendo sobre os novos MacBook Pros (2010, Core i5/i7 Arrandale) e vi que eles trazem gráficos integrados Intel HD Graphics no sistema híbrido. Baixei a atualização oficial da Apple para esses novos MacBook Pros e extraí as kexts usando o utilitário XAR:
rapid share.com/files/377968637/Intel_HD_kexts.zip.html
Como uso Macs reais aqui, alguém com Hackintosh gostaria de testar se elas servem de base?
Aqui está um mirror melhor no MediaFire para essas kexts:
media fire.com/?jjmtwijjo5i
Vale lembrar que os novos gráficos Intel HD Graphics (Ironlake, integrados no pacote dos processadores Core i5/i7 mobile de 1ª geração) têm arquitetura diferente da GMA 4500MHD (chipset GM45 Cantiga dos Core 2 Duo), além de exigirem o novo kernel e os frameworks OpenGL do 10.6.3/10.6.4.
Estou prestes a instalar o Mac OS X novamente no meu Lenovo IdeaPad U350; da última vez não consegui colocar na resolução nativa de 1366x768.
Instalei o Kalyway 10.5.2 no meu notebook, mas a resolução ficou travada em 1024x768 (esticada). Qual é a forma mais fácil de mudar para 1366x768?
Vaquinha para desenvolvimento de kext
Assim como o colega acima, acho que não seria difícil reunir umas 50 pessoas ao redor do mundo dispostas a financiar uma recompensa para um desenvolvedor experiente escrever ou portar um driver com aceleração para a Intel GMA 4500MHD.
Kexts da Intel GMA 4500 ainda sem QE/CI
Também não funcionou com aceleração aqui... é literalmente a única coisa que falta no meu notebook! Eu também contribuiria facilmente com US$ 100 via PayPal se alguém conseguisse ativar QE/CI nessa placa!
Alternativa para resolução 720p na GMA 4500
Encontrei no kexts.com (na seção de vídeo Intel) um pacote modificado da AppleIntelGMAX3100FB.kext ajustado para o ID da 4500MHD que habilita resolução 720p (1280x720 / 1366x768) — não ativa aceleração 3D total, mas é muito melhor do que ficar preso em 800x600 ou 1024x768!
Nome do pacote no kexts.com
Procurem no kexts.com por "4500mhd kexts __ apple 3100 fb" na categoria de placas de vídeo Intel; ele libera a resolução widescreen na hora.
Obrigado pela dica! Para quem precisa apenas da resolução nativa sem distorção, o bootloader Chameleon com patch de resolução VBIOS continua sendo a opção mais limpa, já que ainda não existe aceleração QE/CI para a 4500MHD.
Fontes e Registro de Autoria (20 membros creditados · Tópico #1521)
| Usuário | Contribuição no Dossiê | Postagens | Período Ativo |
|---|---|---|---|
| @martin255 | Colaborador Essencial | 4 | 2009-06-18 → 2009-06-30 |
| @uman | Colaborador Essencial | 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 |