Allan Posted February 24, 2014 Share Posted February 24, 2014 (edited) Ola a todos. Este guia ira auxiliar a todos que tem o video Intel HD 4000, e como no meu caso, se possui um Notebook e deseja habilitar tanto o video como o audio da saida HDMI. Estarei explicando em duas formas da maneira mais facil possível, mas para ter sucesso requer muita atenção e paciência. Antes de começar: Verifique se realmente precisa da edição da AppleIntelFramebufferCapri.kext para ter audio HDMI. Como? - Conecte seu Hack a um Televisor/Monitor a entrada HDMI, se o video e audio está funcionando, não mexa em nada. Se realmente tem problemas, veja abaixo as instruções. O que vai precisar. "AppleIntelFramebufferCapri.kext" que está em System/Library/Extensions Patchs para video e audio presentes na DSDT. Um app para edição de números hexadecimais - Recomendo o uso do app Hex Fiend - Download. App Editor de Texto para edição dos valores. Este tutorial ira usar o ig-platform-id 3 = 03006601, que está nos videos HD 4000 em CPUs IvyBridge. Para mais informações sobre ig-platform-id e qual usar, leia aqui. Vou colocar alguns valores diferentes de ig-platform-id para que possam ativar seu HDMI. Tambem requer qual layout-id esta usando, caso use a AppleHDA. Método usando DSDT - O que mais funciona. Antes aplicar qualquer um desse metodos na sua DSDT, requer primeiramente que o método DTPG já esteja aplicado. Insira este patch no device HDEF na sua DSDT: Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0A) { "hda-gfx", Buffer (0x0A) { "onboard-1" }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Se usa grafico integrado (ex: Intel HD 4000) terá que renomear o device GFX para IGPU na DSDT, e adicionar este metodo no device IGPU: Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x0A) { "device-id", Buffer (0x04) { 0x66, 0x01, 0x00, 0x00 }, "vendor-id", Buffer (0x04) { 0x86, 0x80, 0x00, 0x00 }, "AAPL,ig-platform-id", Buffer (0x04) { 0x03, 0x00, 0x66, 0x01 }, "hda-gfx", Buffer (0x0A) { "onboard-1" }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Verifique se não tem erros ou avisos, se não tiver salve a DSDT e coloque no local correto. Verifique se audio e video está funcionado, se somente o video funcionou e não teve audio, vamos ter que modificar a AppleIntelFramebufferCapri.kext. Veja abaixo: Método alterando a AppleIntelFramebufferCapri. 1 - Seção. Informações sobre as conexões de video presentes na kext AppleIntelFramebufferCapri: Vamos analizar o que está presente nesta kext que possibilita a ativação do Video. Veja as iniciais dos valores correspondentes, que estão em números hexadecimais: 503 - LVDS (LCD integrado nos Notebooks) 602 - VGA 205/406/304 - HDMI/DVI/DP 2 - Seção. Sobre os números hexadecimais. No OS X Mavericks ouve uma leve mudança nos valores presentes na kext AppleIntelFramebufferCapri, em conparação com o Mountain Lion, algo que não me atrapalhou na ativação da entrada HDMI. Valores do OS X Mountain Lion: 03 00 66 01 01 02 04 02 00 00 00 04 00 00 00 01 00 00 00 20 10 07 00 00 10 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 03 00 00 02 00 00 00 30 00 00 00 02 05 00 00 00 04 00 00 07 04 00 00 03 04 00 00 00 04 00 00 81 00 00 00 04 06 00 00 00 04 00 00 81 00 00 00 Valores do OS X Mavericks: 03 00 66 01 01 02 04 02 00 00 00 04 00 00 00 01 00 00 00 40 10 07 00 00 10 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 03 00 00 02 00 00 00 30 00 00 00 02 05 00 00 00 04 00 00 07 04 00 00 03 04 00 00 00 04 00 00 81 00 00 00 04 06 00 00 00 04 00 00 81 00 00 00 3 - Seção. O que vai ser alterado para obter o funcionamento do HDMI. Como viram acima as alterações foram poucas, apenas uma linha. Agora como citado no inicio para obtermos o pleno funcionamento do HDMI temos de saber qual ig-platform-id está sendo usado, veja alguns valores. 0x00006601 (96MiB) LVDS, DP, DP, DP 000066010003040300000006 000080010000002010070000 100700000000000000000000 000000000000000000000000 010000000200000030000000 020500000004000007000000 030400000004000007000000 040600000004000007000000 0x01006601 (96MiB) LVDS, HDMI, DP, DP 010066010103040300000006 000080010000003010070000 100700000000000000000000 00000000f0d9050000000000 010000000200000030000000 020500000008000006000000 030400000004000007010000 040600000004000007010000 020000001100110000000000 0x02006601 (64MiB) LVDS 020066010103010100000004 000080010000002010070000 100700000000000000de0500 00000000f0d9050000000000 010000000200000030000000 000000000100000040000000 000000000100000040000000 000000000100000040000000 000000001200000000000000 0x03006601 (64MiB) LVDS, DP, DP, DP 030066010102040200000004 000000010000002010070000 100700000000000000000000 000000000000000000000000 050300000200000030000000 020500000004000007040000 030400000004000081000000 040600000004000081000000 000000000002001100000000 0x04006601 (32MiB) LVDS 040066010103010100000002 000000010000001810070000 100700000000000000da0500 000000000000000000000000 050300000200000030020000 000000000100000040000000 000000000100000040000000 000000000100000040000000 000000000000000000000000 0x05006201 (32MiB) DP, DP, DP 050062010002030200000002 000000010000002010070000 100700000000000000000000 000000000000000000000000 020500000004000011000000 030400000004000007010000 040600000004000007010000 000000000100000040000000 000000000000110000000000 0x06006201 (0MiB) 060062010000000000000000 000000000000001010070000 100700000000000000000000 000000000000000000000000 000000000100000040000000 000000000100000040000000 000000000100000040000000 000000000100000040000000 000000000000000000000000 0x07006201 (0MiB) 070062010000000000000000 000000000000001010070000 100700000000000000000000 000000000000000000000000 000000000100000040000000 000000000100000040000000 000000000100000040000000 000000000100000040000000 000000000000000000000000 0x08006601 (64MiB) LVDS, DP, DP 080066010103030300000004 000000010000002010070000 100700000000000000000000 00000000f0d9050000000000 010000000200000030000000 020500000004000007010000 030400000004000007010000 000000000100000040000000 030000000100010010c80f00 0x09006601 (64MiB) LVDS, DP, DP 090066010103030300000004 000000010000002010070000 100700000000000000000000 00000000f0d9050000000000 010000000200000030000000 020500000004000007010000 030400000004000007010000 000000000100000040000000 030000000000010010c80f00 0x0A006601 (32MiB) DP, DP, HDMI 0a0066010002030200000002 000000010000002010070000 100700000000000000000000 000000000000000000000000 020500000004000007010000 030400000004000007010000 040600000008000006000000 000000000100000040000000 020000000000020010c80f00 0x0B006601 (32MiB) DP, DP, HDMI 0b0066010002030200000002 000000010000002010070000 100700000000000000000000 000000000000000000000000 020500000004000007010000 030400000004000007010000 040600000008000006000000 000000000100000040000000 000000000000020010c80f00 Depois de verificar qual valor corresponde ao seu ig-platform-id, vamos alterar a linha que corresponde a entrada HDMI. Faça um backup da kext, depois coloque a kext AppleIntelFramebufferCapri na Mesa, clique com o botão direito e vá em "Mostrar conteúdo do pacote" depois em Contents/MacOS. Verá que dentro desta pasta está o arquivo chamado "AppleIntelFramebufferCapri" abra ele com o app Hex Fiend, e execute o comando ⌘ + F, vai abrir uma caixa de dialogo com as opções "Find" e "Replace". Agora que você está com os valores corretos do seu ig-platform-id, insira o valor correspondente (veja a lista acima) no campo "Find" e precione Enter, quando o valor está correto irá aparecer o resultado em azul, caso não esteja certo um "X" irá aparecer no lado esquerdo. Veja: Depois de se certificar que está com os valores corretos, copie e cole em um novo documento com o Editor de Texto, e organize desta maneira: Agora vamos mudar os valores para o funcionamento do HDMI. Todo audio HDMI funciona independente do ig-platform-id que está usando com este valor abaixo: 02 05 00 00 00 08 00 00 06 00 00 00 Veja como irá deixar: Depois que modificar, copie o valor inteiro e cole no campo "Replace" do app Hex Fiend, e clique no botão "Replace" que está abaixo dos campos. Feito isso salve. Agora instale a kext modificada com o KextWizard, e repare as permissões e recarregue o cache, depois execute estes 2 comandos no Terminal: sudo touch /System/Library/Extensions Depois: sudo nvram -c Agora reinicie. Método alterando a AppleIntelFramebufferCapri - Usando patch Há um metodo muito funcional que possibilita habilitar a porta HDMI, usando apenas um patch. 1 - Baixe o patch. HD4000.zip Feito isso, rode esse comando no Terminal: cd Downloads/HD4000 ./list 2 - Será criado vários arquivos dentro da pasta, cada um deles é para um ig-platform-id diferente. Você já sabendo qual é o seu, edite, veja só: Como viu acima, este valor que eu inseri, é o valor HDMI. 02 05 00 00 00 08 00 00 06 00 00 00 Depois que você modificou, agora aplique o patch na kext - Deixe em System/Library/Extensions. 3 - Rode isso no Terminal: sudo ./patch [nome do txt editado] Ficaria assim sudo ./patch 01660003-345264.txt Esse metodo é 100% funcional, mas só terá sucesso se prestar atenção nos valores e deixar a formatação do arquivo como a original. Feito isso, repare as permissões, recarregue o cache e reinicie. 3 - Seção. Conecte seu Hack com um Televisor/Monitor a entrada HDMI, e vá em Preferências do Sistema > Som, terá de aparecer assim: Vá em Sobre este Mac > Informações do Sistema > Graficos > e veja se as informações sobre sua Televisão/Monitor está presente, e tem que estar com a informação "Televisão - Sim" na ultima linha. Informações adicionais. Para o audio HDMI funcionar você tem que ter o audio funcionando nativamente, seja com a AppleHDA ou VoodooHDA. Para devices integrados (IGPU) geramente se usa "onboard-1" nos patchs para DSDT. Alguns device dedicados (GFX) usam "onboard-2" Creditos da informação - Toleda Tenha em mente que o OS X não vai prover o som, somente o Televisor/Monitor irá prover o som, volumes altos/baixos será controlado pelo Televisor/Monitor. Para usar a AppleHDA veja isso: Guia de como corrigir a AppleHDA para o seu codec Creditos: EMlyDinEsH, Bruxo, Toleda, Mirone e Pernacabeluda. Edited May 12, 2015 by Allan 6 Link to comment Share on other sites More sharing options...
Mirone Posted February 25, 2014 Share Posted February 25, 2014 Simples e direto, parabéns pelo guia! 2 Link to comment Share on other sites More sharing options...
Pimentel Posted February 25, 2014 Share Posted February 25, 2014 OláNem li todo o guia (até mesmo porque minhá gráfica é outra), mas já gostei…Obrigado pela sua contribuição com mais esse guia muito bem feito. 1 Link to comment Share on other sites More sharing options...
Allan Posted February 25, 2014 Author Share Posted February 25, 2014 Opa estamos ai, caras pra chegar a essa conclusão da maneira correta pra ativar o audio HDMI, demorei quase 1 ano!! Mas valeu a pena o trabalho, depois que a gente vê que é bem simples. Vlw 1 Link to comment Share on other sites More sharing options...
matmagico1 Posted March 28, 2014 Share Posted March 28, 2014 Antes aplicar qualquer um desse metodos na sua DSDT, requer primeiramente que o método DTPG já esteja aplicado. Insira este patch no device HDEF na sua DSDT: Bom dia, all@n. Poderia me explicar como faço para aplicar o método DTGP na minha DSDT. Obrigado pela atenção... Link to comment Share on other sites More sharing options...
Allan Posted March 28, 2014 Author Share Posted March 28, 2014 Aqui está o DTGP. Pra aplicar, se usa o MaciASL, siga essa sequência de imagens. Link to comment Share on other sites More sharing options...
Allan Posted May 23, 2014 Author Share Posted May 23, 2014 Topico editado. Foi adicionado um metodo usando o patch. Link to comment Share on other sites More sharing options...
mendietinha Posted October 19, 2015 Share Posted October 19, 2015 o edit da dsdt mais o método on the fly do clover arrumaram minha porta hdmi para áudio e vídeo. bom que se eu espelhar a tv os artefatos somem da tela do laptop também. demorei para arrumar a porta hdmi pois meu caso é o mesmo do artur onde temos que injetar os valores do fb=3 no 4, e com isso a porta hdmi morre. agora quando quero usar hdmi posso somente trocar o config.plist e a dsdt para isso e o reboot não precisa ser no windows. fica tudo pelo capitão mesmo hehehe. valeu pelos dois guias! fáceis e funcionais. 1 Link to comment Share on other sites More sharing options...
Joeder Posted February 8, 2016 Share Posted February 8, 2016 Fiz todos os procedimento, o audio do HDMI até habilitou, mas ele fica falhando. Fica mudo, de repente dá um estalo e ele volta, mas só um pequeno trecho, e fica mudo de novo... Parecido com o comportamento do som que um fone bluetooth faz quando está longe da origem do sinal.Meu Note é o LG N460... Alguém mais teve esse problema? Link to comment Share on other sites More sharing options...
Recommended Posts