Mac OS X em Hardware x86 Arquivo Técnico 2008–2024
InfiniteMac OSx86 › Arquitetura Base OSx86 10.X e Bootloaders › Intel GMA X4500HD — Suporte e Compatibilidade no…
266,730 reads · 2008-10-29 – 2011-03-13
Relatório Núcleo 10.X

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 ↗
Dossiê técnico traduzido para Português (Brasil) · Comandos de terminal, nomes de kexts, nós ACPI e flags de boot preservados exatamente como no originalVer original em inglês (Original English) →

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

Nota de Campo #1 @scififan68 2008-12-08

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).

Nota de Campo #2 @changturkey 2008-12-08

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.

Nota de Campo #3 @martin255 2009-06-18

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… ↗

Nota de Campo #4 @Undead Surfer 2009-06-24

Se você só quer mudar a resolução, por que não usar simplesmente a chave "Graphics Mode"="LARGURAxALTURAx32" no com.apple.Boot.plist?

Nota de Campo #5 @uman 2009-06-24

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.

Nota de Campo #6 @martin255 2009-06-24

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… ↗

Nota de Campo #7 @uman 2009-06-25 ↳ Re: @martin255
@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.

Nota de Campo #8 @Undead Surfer 2009-06-25 ↳ Re: @martin255
@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.

Nota de Campo #9 @martin255 2009-06-25

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.

Nota de Campo #10 @uman 2009-06-30 ↳ Re: @martin255
@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

Nota de Campo #11 @martin255 2009-06-30

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.

Nota de Campo #12 @BlackCH 2009-06-30

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).

Nota de Campo #13 @uman 2009-07-01 ↳ Re: @BlackCH
@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

Nota de Campo #14 @evb60 2009-07-06 ↳ Re: @uman
@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.

Nota de Campo #15 @shanwookie 2009-07-14 ↳ Re: @Undead Surfer
@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.

Nota de Campo #16 @localparty 2010-01-23 ↳ Re: @uman

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! =)

Nota de Campo #17 @asert 2010-02-04

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.

Nota de Campo #18 @sparksthesquid 2010-02-08

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!

Nota de Campo #19 @Sevan 2010-02-14

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.

Nota de Campo #20 @modemthug 2010-04-20

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?

Nota de Campo #21 @modemthug 2010-04-20

Aqui está um mirror melhor no MediaFire para essas kexts:

media fire.com/?jjmtwijjo5i

Nota de Campo #22 @JaS 2010-04-20

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.

Nota de Campo #23 @pflaume 2010-05-13

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.

Nota de Campo #24 @danhtho 2010-06-15

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?

Nota de Campo #25 @mesco64 2010-11-09

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.

Nota de Campo #26 @max.1974 2011-01-09

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!

Nota de Campo #27 @brizzle 2011-03-13

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!

Nota de Campo #28 @brizzle 2011-03-13

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.

Nota de Campo #29 @max.1974 2011-03-13

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.

Validado com a participação de: @changturkey @asert
Fontes e Registro de Autoria (20 membros creditados · Tópico #1521)
UsuárioContribuição no DossiêPostagensPeríodo Ativo
@martin255Colaborador Essencial42009-06-18 → 2009-06-30
@umanColaborador Essencial42009-06-24 → 2009-07-01
@changturkeyColaborador22008-12-08
@Undead SurferColaborador22009-06-24 → 2009-06-25
@asertColaborador22010-02-04 → 2010-02-09
@modemthugColaborador22010-04-20
@max.1974Colaborador22011-01-09 → 2011-03-13
@brizzleColaborador22011-03-13
@naquaadaAutor Principal12008-10-29
@scififan68Colaborador12008-12-08
@BlackCHColaborador12009-06-30
@evb60Colaborador12009-07-06
@shanwookieColaborador12009-07-14
@localpartyColaborador12010-01-23
@sparksthesquidColaborador12010-02-08
@SevanColaborador12010-02-14
@JaSColaborador12010-04-20
@pflaumeColaborador12010-05-13
@danhthoColaborador12010-06-15
@mesco64Colaborador12010-11-09

Escolher idioma · Choose your language