Jump to content

DSDT não ativa nVidia (GTX 460)


Recommended Posts

Poderiam me auxiliar nessa DSDT?

Tentei habilitar minha GTX460 pela DSDT usando esses 2 métodos: Olarila e tonycrapx86.


Minha mobo não tem o device com GFX0, então acrescentei o código abaixo (a partir do AFTER EDITS) guiado pelo DSDTSE:

---------------------------------------------------------------------
BEFORE EDITS:
---------------------------------------------------------------------

       Device (PCI0)
       {
           Name (_HID, EisaId ("PNP0A03"))
           Name (_ADR, Zero)
           Name (_UID, One)
           Name (_BBN, Zero)
           Method (_S3D, 0, NotSerialized)
           {
               If (LEqual (OSFL, 0x02))
               {
                   Return (0x02)
               }
               Else
               {
                   Return (0x03)
               }
           }

---------------------------------------------------------------------
AFTER EDITS:
---------------------------------------------------------------------

       Device (PCI0)
       {
           Name (_HID, EisaId ("PNP0A03"))
           Name (_ADR, Zero)
           Name (_UID, One)
           Name (_BBN, Zero)
           Method (_S3D, 0, NotSerialized)
           {
               If (LEqual (OSFL, 0x02))
               {
                   Return (0x02)
               }
               Else
               {
                   Return (0x03)
               }
           }

           Device (PEGP)
           {
               Name (_ADR, 0x00030000)
               Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Name (_SUN, One)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x1A)
                           {
                               "@0,compatible", 
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               }, 

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

                               "@0,display_cfg", 
                               Buffer (0x08)
                               {
                                   0x03, 0x01, 0x00, 0x00
                               }, 

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

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

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

                               "@1,display_cfg", 
                               Buffer (0x08)
                               {
                                   0xFF, 0xFF, 0x00, 0x01
                               }, 

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

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

                               "VRAM,totalsize", 
                               Buffer (0x04)
                               {
                                   0x00, 0x00, 0x00, 0x40
                               }, 

                               "device_type", 
                               Buffer (0x0D)
                               {
                                   "NVDA,GeForce"
                               }, 

                               "model", 
                               Buffer (0x17)
                               {
                                   "nVidia GeForce 9400 GT"
                               }, 

                               "rom-revision", 
                               Buffer (0x25)
                               {
                                   "nVidia GeForce 9400 GT OpenGL Engine"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
           }


NOTA: Sei que os valores da GPU acima são específicos para o modelo GeForce 9400 GT 1GB. Aí entra a DÚVIDA, quais valores devo susbstituir/acrescentar???


Depois disso, editei (+ ou -) esse código com as informações que obtive pelo IOreg e o resultado foi esse:

Device (PCI0)
       {
           Name (_HID, EisaId ("PNP0A03"))
           Name (_ADR, Zero)
           Name (_UID, One)
           Name (_BBN, Zero)
           Method (_S3D, 0, NotSerialized)
           {
               If (LEqual (OSFL, 0x02))
               {
                   Return (0x02)
               }
               Else
               {
                   Return (0x03)
               }
           }
           Device (PEGP)
           {
               Name (_ADR, 0x00030000)
               Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Name (_SUN, One)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x1A)
                           {
                               "@0,compatible", 
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               }, 
                               "@0,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 
                               "@0,display_cfg", 
                               Buffer (0x08)
                               {
                                   0x03, 0x01, 0x00, 0x00
                               }, 
                               "@0,name", 
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-A"
                               }, 
                               "@1,compatible", 
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               }, 
                               "@1,device_type", 
                               Buffer (0x08)
                               {
                                   "display"
                               }, 
                               "@1,display_cfg", 
                               Buffer (0x08)
                               {
                                   0xFF, 0xFF, 0x00, 0x01
                               }, 
                               "@1,name", 
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-B"
                               }, 
                               "NVCAP", 
                               Buffer (0x14)
                               {
                                   /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
                                   /* 0008 */    0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00
                               }, 
                               "VRAM,totalsize", 
                               Buffer (0x04)
                               {
                                   0x00, 0x00, 0x00, 0x40
                               }, 
                               "device_type", 
                               Buffer (0x0D)
                               {
                                   "NVDA,Parent"
                               }, 
                               "model", 
                               Buffer (0x17)
                               {
                                   "GeForce GTX 460"
                               }, 
                               "rom-revision", 
                               Buffer (0x25)
                               {
                                   "70.04.2E.00.70"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
           }


Porém, como já devem imaginar, foi um fracasso total. . . eis a criança.

Já tentei de tudo ao meu alcançe e peço dicas de quem souber pra consertar onde for necessário.

Link to post
Share on other sites

Faltou ajustar o _ADR do PEGP (0x00010000 segundo seu ioreg).

 

                                Buffer (0x17)
                               {
                                   "GeForce GTX 460"
                               }, 

Tem que ajustar o tamanho do buffer (0x10 = n° de caracteres + 1) ou deixar em branco que o compilador conta

                                Buffer ()
                               {
                                   "GeForce GTX 460"
                               }, 

Link to post
Share on other sites

Cassio, muito obrigado pela ajuda.

A princípio DEU CERTO!!! Só com a alteração do _ADR. Pelo que entendi, o IOreg informou: [email protected]1, onde esse 1 é o endereço, está correto?

Eu havia deixado em 3 e o correto é 1. Só isso já foi suficiente para reconhecer e habilitar corretamente, muito obrigado!


Mas, esse passo é opcional???

 

                                Buffer (0x17)
                               {
                                   "GeForce GTX 460"
                               }, 

Tem que ajustar o tamanho do buffer (0x10 = n° de caracteres + 1) ou deixar em branco que o compilador conta

                                Buffer ()
                               {
                                   "GeForce GTX 460"
                               }, 

 

Posso deixar em branco: Buffer () ou tenho que colocar o valor: Buffer (0x17)

NOTA: Só não tentendi como esse valor surgiu.

Edited by Guest
Link to post
Share on other sites

Posso deixar em branco: Buffer () ou tenho que colocar o valor: Buffer (0x17)

NOTA: Só não tentendi como esse valor surgiu.

Ou deixa em branco, ou coloca o valor certo que é 0x10 e não 0x17.

 

Tem que ajustar o tamanho do buffer (0x10 = n° de caracteres + 1) ou deixar em branco que o compilador conta

"GeForce GTX 460" tem 15 caracteres, + 1 = 16 (decimal) = 0x10 (hexadecimal)

Link to post
Share on other sites

kkkkkkkkkkkkk, deu tudo certo! Mas essa conversão de decimal para hexa é um "bicho papão".

...ou deixa em branco, ou coloca o valor certo que é 0x10 e não 0x17...

Ou seja . . . coloquei 0x10. Não por ter entendido, mas pq vc disse ser o correto, rsrsrs.


Desculpa, eu sou um péssimo aluno!

Mas ainda vou tentar entender aqui (google) como obtenho esse resultado.

kkkkkkkkkkk


Obrigado pela atenção Cassio, qualquer novidade posto aqui.

Link to post
Share on other sites

Puxa vida, não acredito que era tão simples assim. É a calculadora quem converte! kkkkkkkkkkkkkkkkkkkkk


— "Mas que burro, dá zero pra ele", diria o Chaves se pudesse.


Valeu Cassio, acho que está tudo certinho na DSDT.


PS.: Não quero poluir o tópico com outro assunto, apenas gostaria de saber de dá para habilitar minha rede ethernet pela DSDT sem o uso de kext adicional. Atualmente uso a RealtekRTL81xx.kext em S/L/E. Já procurei um monte e não achei nada em lugar algum, não vou tratar disso aqui neste tópico mas gostaria de saber se é possivel.

Link to post
Share on other sites

Blz, o built-in eu já tinha injetado seguindo esse mesmo tópico que me passaste.

Diga-se de passagem, foi esse tópico que me motivou a injetar a nVidia. Depois que deu certo o built-in achei que também conseguiria o video, hehehe. Meu objetivo é habilitar tudo que eu puder pela DSDT.

Voltando a rede deixarei então como está.

Abraço!

Link to post
Share on other sites
  • 3 years later...

nao consigo ativar minha placa de video nvidia gtx 460 no lion

em sobre esse mac tem assim nvda parent nao como eu faco para ativar

ja faz mais de duas semanas que eu vou dormir de madrugada

ate agora nada se alguem quizer me da uma ajudinha eu fico muito grato

quando eu coloco minha resolucao normal a tela fica esprandida

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

:cap-Please Disable Your ADBlocker-:cap