Jump to content

Habilitar nVidia


oldnapalm
 Share

40 posts in this topic

Recommended Posts

Esse patch permite habilitar os drivers da nVidia injetando as propriedades necessárias pelo DSDT.

 

plisteditor.png

 

Veja esse tópico para mais informações sobre as device-properties

http://www.insanelymac.com/forum/index.php?showtopic=215980

 

Para saber onde inserir o código você pode usar o IORegistryExplorer.

 

ioreg.png

 

Exemplo de código a ser inserido (no caso em P0P2)

                Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package ()
                           {
                               "@0,compatible", 
                               Buffer ()
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@0,device_type", 
                               Buffer ()
                               {
                                   "display"
                               }, 

                               "@0,name", 
                               Buffer ()
                               {
                                   "NVDA,Display-A"
                               }, 

                               "@1,compatible", 
                               Buffer ()
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@1,device_type", 
                               Buffer ()
                               {
                                   "display"
                               }, 

                               "@1,name", 
                               Buffer ()
                               {
                                   "NVDA,Display-B"
                               }, 

                               "NVCAP", 
                               Buffer ()
                               {
                                   /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
                                   /* 0008 */    0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00
                               }, 

                               "NVPM", 
                               Buffer ()
                               {
                                   /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0018 */    0x00, 0x00, 0x00, 0x00
                               }, 

                               "VRAM,totalsize", 
                               Buffer ()
                               {
                                   0x00, 0x00, 0x00, 0x20
                               }, 

                               "device_type", 
                               Buffer ()
                               {
                                   "NVDA,Parent"
                               }, 

                               "model", 
                               Buffer ()
                               {
                                   "nVidia GeForce 9800 GTX"
                               }, 

                               "rom-revision", 
                               Buffer ()
                               {
                                   "nVidia GeForce 9800 GTX OpenGL Engine"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }

 

Em algumas placas mãe o device onde o GFX0 se encontra não está presente na DSDT, então você precisa inseri-lo também (em PCI0)

			Device (PEG1)
		{
			Name (_ADR, 0x00010000)
			Device (GFX0)
			{
				... igual ao exemplo acima
			}
		}

 

Exemplo de patches para o DSDT Editor:

 

Placas mãe Asus

nVidia_9800_GTX_512_MB.txt ( 2.59K )

 

Placas mãe Gigabyte

nVidia_9600_GT_1GB_PCI0.txt ( 3.45K )

Link to comment
Share on other sites

  • 8 months later...

Eu não sabia disso. Tem vantagens mesmo usando o DSDT AutoPatcher?

Será que isso poderia corrigir o problema da minha Geforce 7900 GS que não funciona direito (tela da morte mesmo! rs) no Snow em x64?

Link to comment
Share on other sites

Exatamente. Se não tem suporte no driver mesmo, nenhum metodo de "injecção" :( vai funcionar!

 

(...) Geforce 7900 GS que não funciona direito no Snow em x64?

 

Não tem drivers 64-bit para placas nvidia serie 7xxx desde 10.6.2 (ou era 10.6.3? Don't remember).

 

Nem no Mac autentico tem jeito. Não existe placas de serie 7xxx com Firmware EFI 64-bits pra Mac, então nvidia não tem motivo para suportar essas placas em modo 64-bit.

Link to comment
Share on other sites

  • 1 month later...

oldnapalm Olá, peço desculpa pela minha linguagem, mas eu sou italiano, eu queria saber se você fez algumas melhorias para o driver para nvidia 9800GTX, eu uso string EFI para ele, e ele parece funcionar bem. Com o seu método funciona melhor com a seqüência de efi? obrigado :D

Link to comment
Share on other sites

Muito obrigado pela resposta rápida ^_^

Português não é muito diferente do italiano :P

 

[OT] ligeiramente OT, uma vez que você tem a minha mesma placa de vídeo, você pode monitorar a temperatura da 9800gtx? Eu com iStat Menus e NVClockX tenho uma temperatura de 34 °C, parece pouco, você vê a temperatura da sua placa de vídeo? como? Muito obrigado [/OT] :D

Link to comment
Share on other sites

Eu também uso a NVClockX e tinha exatamente a mesma temperatura na última screenshot que tirei.

 

istat.png

 

Será que ela não está lendo a temperatura realmente? ^_^

 

Você tentou rodar algo que exija bastante da placa de vídeo e ver se a temperatura sobe? Eu não vou ter acesso ao PC com a 9800 GTX na próxima semana, então não tenho como testar agora, só quando voltar para casa.

Link to comment
Share on other sites

Eh eh eu também gostaria de saber se a temperatura está correta ^_^

 

Também porque com os drivers oficiais da nvidia ubuntu, Eu tinha uma temperatura de 55 °C :P

Se você tem notícias que eu adoraria ouvir de você :D

Link to comment
Share on other sites

Hi :)

Excuse me oldnapalm

I didn't understand how determinate these informations. Could you show me some examples?

 

"NVPM", 
Buffer ()
    {
       /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
       /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
       /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
       /* 0018 */    0x00, 0x00, 0x00, 0x00
    }, 

 

 

Thanks ^^

Link to comment
Share on other sites

Hi buoo,

 

actually I used the value generated by GraphicsEnabler, it's the same in all cases I saw. Just converted it to byte array

AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==

01000000 00000000 00000000 00000000 00000000 00000000 00000000

/* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0018 */ 0x00, 0x00, 0x00, 0x00

Link to comment
Share on other sites

Eh eh eu também gostaria de saber se a temperatura está correta :D

 

Também porque com os drivers oficiais da nvidia ubuntu, Eu tinha uma temperatura de 55 °C :D

Se você tem notícias que eu adoraria ouvir de você :)

Atualizei a NVClockX e agora a temperatura é mais realista

 

screenshot20110217at022.png

Link to comment
Share on other sites

  • 3 weeks later...

Hello,

 

 

 

I would like to learn how to do this as I am having many issues with my 9800m GTS, can't seem to get it working. Any chance getting this translated to english? Also would this method be much the same as manually injecting via gfx strings? Please help me understand, is this just so the card is recognized properly? Does it still need a driver?

 

Thanks for any help/suggestions!

Link to comment
Share on other sites

I would like to learn how to do this as I am having many issues with my 9800m GTS, can't seem to get it working. Any chance getting this translated to english? Also would this method be much the same as manually injecting via gfx strings? Please help me understand, is this just so the card is recognized properly? Does it still need a driver?

It's the same as manually injecting via gfx strings, and you still need the drivers, this is only an activation method.

 

Basically you have to look for parent device address in IORegistryExplorer (search for "display") and insert device GFX0 (look sample code) into the device with that address in DSDT.

Link to comment
Share on other sites

Caro amigo oldnapalm gostaria de saber se existe a possibilidade de ativar minha placa de video ZOTAC 9500GT 1GB acrescentando algo na minha DSDT da placa GA G41MT S2. Trabalho tal gostaria muito que fizesse para mim, em troca faço um tuto detalhado e posto aqui o que achas? Abraços!

 

*Desculpe pela mensagem direta.

Link to comment
Share on other sites

Posso fazer a edição, mas preciso que você anexe o dsdt.aml e as "device properties" em uso.

device-properties.hex

ioreg -lw0 -p IODeviceTree -n efi -r -x | grep device-properties | sed 's/.*<//;s/>.*//;' > ~/Desktop/device-properties.hex

dsdt.aml

perl -e 'open(CMD, "ioreg -lw0 \| grep DSDT|") or die; while(<CMD>) { chomp; if($_ =~ /\"DSDT\.?\d?\"=<([^>]*)>/) { $buff = $1; open(PIP, "|xxd -r -p > ~/Desktop/dsdt.aml") or die; print PIP "$1"; } }'

Rode os comandos no terminal (use copiar/colar) e os arquivos serão gerados no desktop.

 

Parece que nas Gigabyte o device que contém o GFX0 não está presente na DSDT, então você precisa incluir os dois. Segue exemplo para o DSDT Editor

nVidia_9600_GT_1GB_PCI0.txt

Link to comment
Share on other sites

Grande Old,

Beleza parceiro?

É o seguinte, lembra que eu fiquei de ver contigo o lance do NVCAP para minha GFX, uma 9800 GT?

Eu esbarrei num porém... eu não tenho Windows onde eu possa rodar o NV Flash pra conseguir o NVCAP da minha GFX... existe alguma maneira de fazer isso via OS X?

 

Eu vou postar pra ti aqui a minha DSDT.aml e quando você tiver um tempinho dá uma olhadinha pra mim nela pra ver se ela está tudo OK.

Eu já usei o DSDT Auto-Patcher do Maldon nela.

 

Aqui o link.

 

Saudações,

bb.

Link to comment
Share on other sites

Inseri o patch da nVidia, só falta ajustar o NVCAP.

 

Não conheço forma de extrair a ROM pelo Mac OS, só aquele programa para Windows mesmo.

 

dsdt.aml.zip

 

Beleza meu caro.

Eu vou ver se consigo instalar o W7 aqui via Parallels e consigo esse NVCAP pra vc me dizer como inserir ele no DSDT.aml.

Me dê uns minutinhos aí... [risos]

 

[] 's

bb

 

Meu caro, outro problema surgiu.

Eu instalei o W7 pelo Parallels, porém o NVFlash quando acionado via Command + --save 9800GT.ROM me retorna a mensagem que nenhuma placa de vídeo NVIDIA está instalada.

Será que é porque ele enxerga o driver da GFX como algum arquivo relacionado ao Parallels?

 

[ ]'s

bb.

Link to comment
Share on other sites

 Share

×
×
  • Create New...