olarila.com

Mac OS X x86 - Hackintosh
It is currently 22 May 2013, 01:21

All times are UTC [ DST ]




Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: 19 May 2012, 05:02 
User avatar
eGeek

Joined: 17 Sep 2011, 21:35
Posts: 57
CPU: i5 2500k
Motherboard: Z68X-UD3H-B3
GPU: Zotac GTX 660 2GB
Poderiam me auxiliar nessa DSDT?
Tentei habilitar minha GTX460 pela DSDT usando esses 2 métodos: olarila e tonymacx86.

Minha mobo não tem o device com GFX0, então acrescentei o código abaixo (a partir do AFTER EDITS) guiado pelo DSDTSE:
Code:
---------------------------------------------------------------------
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:
Code:
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.

_________________
Image


Top
 Profile  
 
PostPosted: 19 May 2012, 14:33 
User avatar
iGenius

Joined: 26 Aug 2011, 23:53
Posts: 3757
Faltou ajustar o _ADR do PEGP (0x00010000 segundo seu ioreg).

Quote:
Code:
                                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
Code:
                                Buffer ()
                                {
                                    "GeForce GTX 460"
                                },

_________________
ASUS N53Jq • CPU: Intel Core i7-740QM 1.73GHz • RAM: 6,0GB • HD: 500GB • GPU: GeForce GT 425M 1GB 1920x1080 • OS: OS X 10.8.3 • Linux Mint 14 • Windows 8


Top
 Profile  
 
PostPosted: 19 May 2012, 15:09 
User avatar
eGeek

Joined: 17 Sep 2011, 21:35
Posts: 57
CPU: i5 2500k
Motherboard: Z68X-UD3H-B3
GPU: Zotac GTX 660 2GB
Cassio, muito obrigado pela ajuda.
A princípio DEU CERTO!!! Só com a alteração do _ADR. Pelo que entendi, o IOreg informou: pcibrigde@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???

Cassio wrote:
Code:
                                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
Code:
                                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.

_________________
Image


Last edited by Maf3r0 on 19 May 2012, 15:21, edited 1 time in total.

Top
 Profile  
 
PostPosted: 19 May 2012, 15:20 
User avatar
iGenius

Joined: 26 Aug 2011, 23:53
Posts: 3757
Maf3r0 wrote:
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.

Quote:
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)

_________________
ASUS N53Jq • CPU: Intel Core i7-740QM 1.73GHz • RAM: 6,0GB • HD: 500GB • GPU: GeForce GT 425M 1GB 1920x1080 • OS: OS X 10.8.3 • Linux Mint 14 • Windows 8


Top
 Profile  
 
PostPosted: 19 May 2012, 15:42 
User avatar
eGeek

Joined: 17 Sep 2011, 21:35
Posts: 57
CPU: i5 2500k
Motherboard: Z68X-UD3H-B3
GPU: Zotac GTX 660 2GB
kkkkkkkkkkkkk, deu tudo certo! Mas essa conversão de decimal para hexa é um "bicho papão".
Quote:
...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.

_________________
Image


Top
 Profile  
 
PostPosted: 19 May 2012, 15:52 
User avatar
iGenius

Joined: 26 Aug 2011, 23:53
Posts: 3757
Use a calculadora no modo programador, botões 16 (hex) e 10 (dec)

Image

Se você deixar em branco, compilar e depois descompilar, vai ter o valor certo.

_________________
ASUS N53Jq • CPU: Intel Core i7-740QM 1.73GHz • RAM: 6,0GB • HD: 500GB • GPU: GeForce GT 425M 1GB 1920x1080 • OS: OS X 10.8.3 • Linux Mint 14 • Windows 8


Top
 Profile  
 
PostPosted: 19 May 2012, 16:16 
User avatar
eGeek

Joined: 17 Sep 2011, 21:35
Posts: 57
CPU: i5 2500k
Motherboard: Z68X-UD3H-B3
GPU: Zotac GTX 660 2GB
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.

_________________
Image


Top
 Profile  
 
PostPosted: 19 May 2012, 16:20 
User avatar
iGenius

Joined: 26 Aug 2011, 23:53
Posts: 3757
Sempre vai precisar da kext de rede. As kexts da nVidia já vêm no sistema.

O que pode injetar pela DSDT é o built-in da ethernet viewtopic.php?f=7&t=383

_________________
ASUS N53Jq • CPU: Intel Core i7-740QM 1.73GHz • RAM: 6,0GB • HD: 500GB • GPU: GeForce GT 425M 1GB 1920x1080 • OS: OS X 10.8.3 • Linux Mint 14 • Windows 8


Top
 Profile  
 
PostPosted: 19 May 2012, 16:32 
User avatar
eGeek

Joined: 17 Sep 2011, 21:35
Posts: 57
CPU: i5 2500k
Motherboard: Z68X-UD3H-B3
GPU: Zotac GTX 660 2GB
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!

_________________
Image


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group