Possiveis soluções para Gráficos Nvidia


Já escrevi aqui a algum tempo sobre configuração de placas Nvidia e placas suportadas, e este post é uma atualização do que já escrevi antes, bom a verdade mesmo é que mesmo com gráficos da Nvidia compatíveis com OS X as vezes a placa ainda não vai funcionar bem, isso acontece por diversos fatores e vou tentar descrever aqui os mais comuns e suas possíveis soluções.

Muitos perguntam sobre drivers Nvidia, onde baixar e coisa coisa e tal, bom  Apple cria os próprios drivers kexts para seus computadores e dispositivos, tanto para gráficos Nvidia quanto para Intel e AMD, porem é bom sabermos que a Nvida também desenvolve drivers para sua placas de vídeo na plataforma OS X, são os chamados Drivers Cuda, que pode em muitos casos resolver o seu problema.

Corrigindo Gráficos Nvidia no Bootloader

Na maioria do casos os problemas se resolvem aqui, apenas ativando ou não a injeção gráfica no bootloader, isso pode ser feito tanto em Clover quanto em Chameleon/Chimera, veja os exemplos abaixo:

Clover:

<key>GraphicsInjector</key>
<string>Yes</string>

ou

<key>Inject</key>
<dict>
  <key>NVidia</key>
  <true/>
</dict>

Essas opções do Clover podem ser feita com o Clover Configurator, e pode ser uma boa ideia leia sobre ele aqui Clover Configurator.

Chimera/Chamleon:

No Chimera e Chameleon é bem simples se usa apenas uma placa da Nvidia, porem se esta usando duas placas, por exemplo uma Intel Hd Graphics e mais uma Nvidia a coisa muda um pouco veja como fica de edição no arquivo “org.chameleon.boot.plist”.

Apenas uma Placa Nvidia:

gráficos nvidia
Se esta usando uma Intel e + uma Nvidia use isto;
IGPEnabler=Yes/No para a Intel e GraphicsEnabler=Yes ou No para a Nvidia.
Você pode testar essas informações no bootloader na hora do boot apenas digitando
GraphicsEnabler=No/Yes e ou IGPEnabler=Yes/No,
se funcionar depois de iniciado pode colocar as informações dentro da key e string como se vê no exemplo acima.
Em alguns casos o PciRoot, também deve estar correto junto com as opções citadas acima veja como ficaria abaixo:
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>PciRoot</key>
<string>1</string>
Na maioria das vezes o PciRoot é “0” então descubra primeiro antes de fazer a edição, rodando esse comando no terminal.
ioreg -l | grep -15 "AppleACPIPCI\ " | grep UID

Exemplo no meu Hack:

ioreg -l | grep -15 "AppleACPIPCI\ " | grep UID
Last login: Sat Aug 30 16:04:23 on console
MacBook-Air-de-Juciano:~ juciano$ ioreg -l | grep -15 "AppleACPIPCI\ " | grep UID
    | | |   "_UID" = "0"
MacBook-Air-de-Juciano:~ juciano$

 

Kexts Injetoras

Por outro lado também existem algumas kexts que resolvem esse problema, são kexts de injeção que colocam as informações de sua placa dentro do sistema, fazendo com que o mesmo reconheça sua placa Nvidia pode ser uma mão na roda se você não tem muita experiência ainda com hackintosh e edição de arquivos do sistema, porem elas não funcionam para todos os casos.

NVinject

Natit

NVenabler

Injetando as propriedades id da placa Nvidia na kext certa

Estas são as kexts presentes nas versão atuais do OS X que dão suporte as placa da Nvidia, e vamos trabalhar com elas neste momento.

NVDAGF100Hal.kext – Corresponde as seguintes placas;

GF100
GeForce GTX 465
GeForce GTX 470
GeForce GTX 480

GF110
GeForce GTX 560 Ti 448 Cores
GeForce GTX 570
GeForce GTX 580

(A lista mostra apenas os modelos principais não se desespere se não ver seus modelo aqui na lista)

NVDAGK100Hal.kext – Corresponde as seguintes placas;

GK104
GeForce GTX 660 Ti
GeForce GTX 670
GeForce GTX 680

NVDANV50HalTesla.kext –  Responsável pelas placas mais antigas as Nvidia GForce 8xxx e as Nvidia GForce 9xxx.

E por ultimo temos a NVDAStartup.kext, e é dentro dela que vamos fazer a primeira mudança na chave no valor da chave IOPCIPrimaryMatch ou IOPCIMatch.Mas antes disso você precisa saber o id de sua placa e fazemos isso com o programa DPCIManager, uma verdadeiro canivete suíço para Hackintosh. Download (Este é um programa gratuito hospedado no SoruceForce, pode ser baixado sem problemas).

gráficos nvidiaObserve que o mouse esta bem em cima da minha placa GT630, que alias funciona sem precisa de ajustes, bem continuando a olhar a imagem vemos também os valores do Vendor e Device . São esses valores que vamos utilizar para injetar na kext NVDAStartup.kext.

Para isso você precisa encontrar o arquivo info.plist dentro da kext, da seguinte forma, selecione a kext e com botão direto exibir conteúdo do pacote, e você pode ver a pasta contents e dentro da pasta o arquivo que precisamos.

Abra o arquivo com cuidado para não modificar a formatação do mesmo como mostro no exemplo abaixo:

<key>IOPCIMatch</key>
<string>0x0f0010de&amp;0x0000ffff</string>

No exemplo que mostrei fica claro como eu fiz a troca dos valores da chave IOPCIMatch com os valores que peguei no programa DPCIManager (0xDeviceIDVendorID).

Depois de feito você precisa refazer o cache e restaurar as permissões de disco isso é feito no próprio DPCIManager primeiro nas opções Repair Perms e depois e Rebuild Cache.

Nas versões mais antigas do OS X no Snow Leopard por exemplo podíamos ver a kext NVDANV40Hal.kext ela era responsável pelas placas  da família Nvidia GForce mais antigas GForce 7xxx e assim por diante. Por isso não tenho certeza se é possível usar elas em Computadores com OS X Mavericks ou Yosemite. Se esta com um Hack rodando Snow Leopard ela funciona para você.

Ativando Gráficos Nvidia por EFI String (Chameleon e Chimera)

Você ainda pode adicionar uma EFI String a plist do Chameleon (nunca usei com Clover então não vou ter algo que não sei), veja como fazemos isso abaixo:

Nesta etapa você pode abrir o programa osx86tools e clicar no botão “Add EFI Strings/Boot Flag”,

Na janela que se abre click em “Import Hex/Plist”.

Depois em “Import File” e escolha o “device-properties-new.hex” agora você percebe que no primeiro campo é exibido a versão plist do arquivo e no campo abaixo a versão Hexadecimal EFI String, copie o código que é exibido abaixo, copie o string do arquivo device-properties-new.hex para a chave device-properties no arquivo /Extra/org.chameleon.Boot.plist (código exibido abaixo).

Veja como fica;


osx86tools-memoria de video - gráficos nvidia

Se o seu “org.chameleon.Boot.plist” ou a “com.apple.Boot.plist“. não tem a chave basta adicionar ela junto com o Hexadecimal EFI String mantendo sempre a formatação correta do arquivo.

Estes arquivos ficam na pasta “Extra” dentro da raiz do disco ou local onde você instalou o Chameleon ou Chimera.

<code>&amp;lt;key&gt;device-properties&lt;/key&gt;
&lt;string&gt;[hexadecimal EFI string]&lt;/string&gt;</code>

Fica assim;

<key>device-properties</key>
    <string>d30300000100000001000000c70300001500000002010c00d041030a000000000101060000010101060000007fff04003a000000400032002c0068007700730065006e0073006f0072002d0070006100720061006d0073002d00760065007200730069006f006e000000080000000000000222000000400032002c006400650076006900630065005f0074007900700065000000120000004e5644412c6770752d64696f64650e0000004e00560050004d00000020000000010000000000000000000000000000000000000000000000000000001e00000072006f006d002d007200650076006900730069006f006e000000090000003331373261100000004e00560043004100500000001800000004000000000003000c000000000000070000000022000000400032002c002300730069007a0065002d00630065006c006c0073000000080000000000000022000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000006d006f00640065006c000000200000004e5649444941204765466f7263652039383030204754582b2045464914000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d4120000000400032002c0063006f006d00700061007400690062006c0065000000160000004e5644412c73656e736f722d706172656e7414000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4212000000400032002c00720065006700000008000000000000021c0000006400650076006900630065005f0074007900700065000000100000004e5644412c4765466f72636520000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616326000000400032002c0023006100640072006500730073002d00630065006c006c007300000008000000000000010e0000006e0061006d00650000000f0000004e5644412c506172656e7422000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c617920000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002036000000400032002c00680077006300740072006c002d0070006100720061006d0073002d00760065007200730069006f006e000000080000000000000214000000400032002c006e0061006d00650000001100000073656e736f722d706172656e74</string>
</dict>

 

Usando DSDT

Você ainda pode usar um DSDT para que sua placa funcione bem no OS X, mas para isso você pode ler estes posts que explicam melhor como fazer o processo: DSDT Entenda como Funciona Criando um DSDT com MaciASL.

 Considerações Finais

apresente aqui diversos meios pelos quais você pode resolver problemas gráficos relacionados a placas Nvidia, essas soluções em poucos casos trabalham em conjunto, por exemplo se esta usando uma kext injetora não vai usar o GraphicsEnabler=Yes, porque não será necessário, na verdade se usar ela não use os outros métodos. Porem você pode usar a edição de kexts com o GraphicsEnabler=Yes/No do Chameleon ou se usa o Clover usar o GraphicsInjector=Yes, juntos sem problemas.

Juciano

Asus s4000CA Asrock H67ITX HT i5 3570k SSD 120GB + HD 750GB 8GB Memoria Nvidia GT 630

Posts relacionados

Como exibir porcentagem de Bateria em Hackintosh

Neste post rápido vou ensina-los alguns meios pelos quais você pode obter o funcionamento do gerenciamento de energia da bateria em Hackintosh portátil. Com certeza nas pesquisas de como configurar a bateria em um Hackintosh feito em um notebook a primeira posição será Voodoo Battery, e digo que em muito casos realmente o Voodoo Battery […]

Continue lendo

Como instalar o MacOS em um HD externo

MacOS HD externo. Muitas pessoas tem vontade de experimentar o MacOS em seus computadores, porem tem medo de perder as configurações e arquivos presentes no computador Windows, e ainda a incerteza de saber se o sistema vai ou não funcionar. Em maquinas virtuais você pode ter a oportunidade de testar o sistema, porem não é […]

Continue lendo
  • pedrogabriel2014

    POXA E TRISTE A GNT PERGUNTA E NUNCA RESPONDEM

    • Já respondi eu vou responder de novo…qual PCIRootUID da sua placa?

  • pedrogabriel2014

    Tenho uma placa nova gf9800gt 1gb 256bits e nao consigo fazer ela funcionar pode me ajudar ?

    • Qual o PCIRootUID dela?

      • zerocoolroot

        Juciano, bom dia..!!

        Tenho um note com placa HD Graphics 3000 e gostaria de ativar o HDMI….entrei no seu post porém o primeiro arquivo (AppleIntelSNBGraphicsFB – Para HDMI +VGA) que está relacionado a este download está com o link quebrado.

        http://www.hackintoshworld.com/habilitar-porta-vga-em-intel-hd-3000/

        Queira por gentileza disponibilizar o arquivo para mim.

        Obs: Realmente tenho que concordar com o pedrogabriel2014, há uma gama ótima de conteúdo neste fórum, porém o suporte à respostas é péssimo…….encare isso com uma crítica construtiva….de nada adianta ter vários e ótimos conteúdos se não há suporte..!!

        Desde já fico grato,

        • Boa tarde obrigado pela crítica aceitamos muito bem elas quando são sinceras…
          No caso da Intel HD Graphics 3000 ela não precisa de modificação alguma nada kext para habilitar a porta HDMI, se a aceleração estiver ok ela vai funcionar normalmente… Este guia destina se apenas para habilitar a porta vga.

          • zerocoolroot

            Juciano,
            Tem ideia do porque quando conecto o HDMI do notebook na minha TV, a imagem não é projetada..?? Tem alguma sugestão..??
            Tenho outro notebook que tem Intel HD Graphics 4000 e tem o mesmo problema.
            Desde já fico agradecido.

          • Vou pesquisar e retorno, mas qual bootloader está usando?

          • zerocoolroot

            Ola Juciano,

            Estou usando Chimera 3.0.1.

          • Tem um post sobre gráficos Intel HD Graphics mas usando o Clover EFI, da uma olhada nele, e se achar que não dá pra migrar pro clover efi aí voltamos a nos falar

        • zerocoolroot

          Pior que não da para migrar Juciano….já tentei de tudo quanto é forma e não vai..!!
          Somente Chimera mesmo..!!

          • Blz é você sabe se a placa está com aceleração gráfica?

        • zerocoolroot

          Como posso confirmar isso..??

          • De grosso modo é ver se a barra da maçã está translúcida

        • zerocoolroot

          Se for apenas isso, sim, a barra está translúcida..!!

        • zerocoolroot

          Oks Juciano,
          Já de antemão fico muito grato..!!

        • zerocoolroot

          Juciano,
          Fico muito grato por ter tirado um tempo e encontrado os links. Porém como sou uma pessoa muito leiga em Hackintosh, nem irei me aventurar…..li e re-li porém não consegui entender os procedimentos..!!
          De qualquer forma fico muito agradecido por ter tentado me ajudar com meu problema..!!
          Abraços..!!

          • Sim mas um dos links é de uma kext tenta pelo menos substituir a original por ela a original fica na pasta extensions, e depois é só restaurar a permissões do disco

        • zerocoolroot

          Não encontrei a kext…..no primeiro link é um patch, porém parece dizer que é apenas para bootloader Chameleon..!! Ou estou enganado..??
          No segundo é muita coisa para minha compreensão…huahuahuahuhaua

          • Chameleon e chimera são a mesma coisa chimera é uma vertente do chameleon pode usar o patch sem problemas

        • zerocoolroot

          Posso ter algum problema de inicialização caso a Kext não funcione..??

        • zerocoolroot

          Mais uma vez obrigado Juciano,
          A substituição eu fiz e ocorreu tudo bem, bem como a inicialização do Sistema. Quando chegar em casa vou tentar conectar na minha TV para ver se consegue apresentar video.
          De ante-mão, fico muito agradecido..!!

        • zerocoolroot

          Juciano, boa tarde..!!
          Passando para lhe dar um Feedback. Acredite ou não mas a Kext “patcheada” para a Intel HD Graphics 4000 não funcionou para ela, mas funcionou para meu outro notebook que tem Intel HD Graphics 3000, porém o som não funciona.
          Na verdade na 4000 não sei o porque mas não funciona como espelhamento de tela…..porém na 3000 funcionou normalmente, mas o som para ambas não funcionam..!!
          Procurei em toda internet como fazer funcionar o som, mas são uns procedimentos o qual foge das minhas compreensões..!! Se souber de algo easy, por gentileza me passe o link..!!
          Fico muito agradecido pelos seus esforços em me ajudar….e ajudou muito..!!
          Sou formado em MCSA2012 e Linux LPI101-102 e o que me julgar competente para lhe ajudar em algo, é só entrar em contato.
          Obrigado parceiro..!!

          • Som por HDMI e falante interno juntos precisa de um dsdt, se for apenas HDMI precisa injetar o id da placa na kext responsável

        • zerocoolroot

          Eu gostaria de usar o auto-falante do notebook quando o HDMI estiver desconectado. E o audio do HDMI quando o mesmo estiver conectado. Mas não ambos ao mesmo tempo…..Saberia dizer como posso fazer..?? E como descubro o ID da placa e a Kext responsável..??

  • zerocoolroot

    Juciano, bom dia..!!
    Sempre achei que GraphicsEnabler era para Intel..!!
    E não conhecia a string IGPEnabler..!!
    Tenho um notebook com tecnologia Optimus. Este post serviria para ele, por ser uma placa de vídeo híbrida..??
    Se sim, como posso configurar para usar a minha NVidia..??
    Obrigado e abraços..!!

    • GraphicsEnabler é tanto pra intel quanto pra outras placas, porém quando usamos o outro comando junto oque fica valendo pra intel é o segundo comando o igpenabler….sobre sua placa Nvidia depende se ela tiver suporte para os x funciona sim

      • zerocoolroot

        Juciano,
        E você saberia confirmar se minha placa GT540M tem suporte para OS X..??
        Caso tenha, como tenho que colocar nas strings..??
        Obrigado..!!

Carregando...