Jump to content

DSDT for Sony VAIO VPCZ13


stephvax
 Share

19 posts in this topic

Recommended Posts

Hello,

 

EDIT 1 : Uploaded new DSDT file.

EDIT 2 : Added new System Profiler screenshot and new kernel log, ALC889 is injected and a few devices are detected with corresponding legacy kext taken from [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url]. But still no sound device in preferences panes and no vol control.

 

I spent much time on these forums since I got a Sony VAIO VPCZ13 at work in order to replace my 13" MacBook Pro.

Is it a VPCZ13M9E/B.

It has a Core i5-460m, Geforce 330m with Intel HD Graphics (quite similar to latest MacBookPro), 2x64GB SSD, 4GB RAM, …

I played a little bit with kexts, discovered new bootloaders and discovered DSDT injection. I had a little hackintosh knowledge a few year ago when those two last thing weren't that popular.

 

Ok, now what I've achieved, working quite stable both in 32/64 bits :

- Install with iAtkos S3 v2 10.6.3 (the only distro/boot CD that include ACPILegacyBlockDevice and ACPIinjector needed since I cannot set SATA to ACPI mode in bios, so they are stuck in RAID mode)

- Combo update 10.6.5

- Got GeForce 330m working 1600x900 full QE/CI with chameleon GraphicsEnabler=Yes - VGA external not working both screens black when "detect monitors" - external HDMI tested ok on DVI input monitor

- Got USB working with EHCIaquire=Yes and patched IOPCIFamiy.kext

- Internal keyboard needs AppleACPIPS2Nub.kext

- Trackpad works nicely with VoodooPS2Controller (multitouch)

- Sound works with VoodooHDA 2.7.2 but you need to delete AppleHDA* official kexts

- Intel Ethernet controller works with IntelE1000.kext

- Wireless is not working (Intel 6200) and cannot be accessed so cannot be replaced. I'll have to look for a small USB key.

- Battery showing in menu bar with VoodooBattery

- Use AppleSMBIOSEFI.kext in 32bits mode to fix "About this mac" crash (does not work in 64 bits)

- Using a custom smbios.plist to "emulate" a MacBookPro6,2

 

Then I wanted to get rid of VoodooHDA by injecting audio in DSDT and using some LegacyHDA.kext and I wanted to inject video stuff too.

So I found a few nvidia injection guides and some alc889 injection information, I tried almost everything I could imagine based on that but nothing seems to work. I also added stuff for HDMI at the same time.

 

I still have some problems after booting Win7, OSX boots with the Intel HD card active so I had to remove AppleIntelHDGraphicsFB.kext in order to see something @ 1024x768 no QE/CI (with the kext it works but screen is white, I can use screen sharing just as I read in other forums/posts).

I haven't tested external monitors with the intel card active.

 

So I'm asking for help.

I'm not sure about how I can determine what injection I have to put in DSDT but here is what I recently tried.

For now, with custom DSDT, sound is not working, and nvidia displays only 1280x800 with no QE/CI (just like when injection is not done I guess).

 

Here are 2 screenshots (attached) : one from IORegExplorer showing display properties (using GraphicsEnabler=Yes) and the other sysinfo audio section.

I also provide dmesg output (for AppleHDA errors) and some piece of DSDT I added for GFX0 and HDEF.

I put GFX0 in P0P2 since it has adress 0x00010000 and it seems that since gfxutil -f display outputs "DevicePath = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)" that's what I should use, shouldn't I ?

I tried by adding a PEGP device for GFX0 but that didn't work either.

I finally provide full modified DSDT.

 

Any help would be greatly appreciated ! I'm ready to test anything (almost :( )

 

Regards

 

So here are GFX0 and HDEF pieces :

 

            Device (P0P2) // Located in Device (PCI0)
           {
               Name (_ADR, 0x00010000)
               Name (_PRW, Package (0x02)
               {
                   0x09,
                   0x05
               })
               Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x1A)
                           {
                               "AAPL,slot-name",
                               "PCI x16",
                               "@0,compatible",
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               },
                               "@0,device_type",
                               Buffer (0x08)
                               {
                                   "display"
                               },
                               "@0,name",
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-A"
                               },
                               "@1,compatible",
                               Buffer (0x0B)
                               {
                                   "NVDA,NVMac"
                               },
                               "@1,device_type",
                               Buffer (0x08)
                               {
                                   "display"
                               },
                               "@1,name",
                               Buffer (0x0F)
                               {
                                   "NVDA,Display-B"
                               },
                               "NVCAP", 
                               Buffer (0x14)
                               {
                                   // FROM BIOS ROM : 04 00 00 00 00 00 01 00 
00 00 00 00 00 00 00 07 00 00 00 00
                                   // FROM IOREG: 04 00 00 00 00 00 03 00 3C 
00 00 00 00 00 00 0A 00 00 00 00
                                   // 0000
                                   0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
                                   // 0008
                                   0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 
                                   // 0010
                                   0x00, 0x00, 0x00, 0x00
                               }, 
                               "VRAM,totalsize",
                               Buffer (0x04)
                               {
                                   0x00, 0x00, 0x00, 0x40
                               },
                               "device_type",
                               Buffer (0x0C)
                               {
                                   "NVDA,Parent"
                               },
                               "model",
                               Buffer (0x16)
                               {
                                   "nVidia GeForce 330M"
                               },
                               "rom-revision",
                               Buffer (0x25)
                               {
                                   "3172a"
                               },
                               "hda-gfx",
                               Buffer (0x0A)
                               {
                                   "onboard-1"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
               Device (HDAU)
               {
                   Name (_ADR, One)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x02)
                           {
                               "hda-gfx",
                               Buffer (0x0A)
                               {
                                   "onboard-1"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }

 

            Device (HDEF) // Added in Device (PCI0)
           {
               Name (_ADR, 0x001B0000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (Package (0x02)
                   {
                       0x0D, 
                       0x05
                   })
               }
               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x0A)
                       {
                          "built-in", 
                           Buffer (One)
                           {
                               0x00
                           }, 
                           "codec-id", 
                           Buffer (0x04)
                           {
                               0x85, 0x08, 0xEC, 0x10
                           }, 
                           "layout-id", 
                           Buffer (0x04)
                           {
                               0x75, 0x03, 0x00, 0x00
                           }, 
                           "device-type", 
                           Buffer (0x0F)
                           {
                               "Realtek ALC889"
                           }, 
                           "PinConfigurations", 
                            Buffer (Zero) {}
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

post-696590-1291920567_thumb.png

acpi_dsdt.dsl.zip

post-696590-1291959752_thumb.png

kernel_log.txt

Link to comment
Share on other sites

Sound works now. I found that after 10.6.3 you have to use 10.6.2 AppleHDA.kext...

DSDT and Legacy kext were ok.

 

Now, could anyone tell me where to put that Device (GFX0) section in my DSDT ? (The one I added in Device(P0P2), I'm not really sure it should go there...)

Link to comment
Share on other sites

Sound works now. I found that after 10.6.3 you have to use 10.6.2 AppleHDA.kext...

DSDT and Legacy kext were ok.

 

Now, could anyone tell me where to put that Device (GFX0) section in my DSDT ? (The one I added in Device(P0P2), I'm not really sure it should go there...)

 

look at the ioreg

ioreg -fl

 

dsdt.stephvax.zip

IRQs

PNLF

RTC

SMBUS

Link to comment
Share on other sites

Thanks for your reply, but honestly, I don't really know what to do with the output of the ioreg command.

 

I saw in your dsdt file that GFX0 is located in P0P2 like I thought it should be.

Using your dsdt file didn't change anything. The screen resolution is still 1280x800, no QE/CI.

 

It should work like Chameleon injection (which gives me 1600x900 with QE/CI), should'nt it ?

 

I don't know what to try next... if you have any more idea, I'll try them asap.

Link to comment
Share on other sites

Well, I finally found some info that explains how to find the right place for the GFX stuff.

In my case, it was in the DGPU device (already existing in my dsdt). I just replaced the _DSM method with the one I put in P0P2>GFX0 and it worked !

 

The only problem left that I already had with chameleon injector is that when I plug an external monitor with vga and then detect monitors, the internal screen goes and stays black. The external one just stays black.

The system is still running, I can power if off by pressing the power button followed by "Enter" to confirm clean shutdown.

 

HDMI works fine, haven't tested DVI with the dock station I have at work.

 

Any idea about this ?

Link to comment
Share on other sites

After digging a little more, I found some info on how NVCAP is "built".

I found how to get the display group values based on what the nVidiaInfo can tell.

 

So here is a correct NVCAP for that particular Sony VAIO :

0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00

 

I hope this will help others.

 

Now everything is working right on that little laptop except the wifi card that isn't supported for now (Intel 6200).

I'm using a ZD1211 based key.

 

Regards

 

EDIT : just for information, I noticed that with that NVCAP, QE/CI is enabled but graphics are slow on internal LCD when it is the only one plugged/used.

I tried to replace 0x02 by 0x03 which gives better performance in LCD only mode but then it is impossible to use both external VGA and internal LCD at the same time. Only one can be used at the same time.

Link to comment
Share on other sites

I discovered something new that might be of interest even if it does not concern DSDT anymore.

 

About the integrated Intel E1000 (82577LC model), I was using the IntelE1000e.kext.

But that particular kext dowloaded from here : http://www.insanelymac.com/forum/index.php?showtopic=219114

just prevent bridged networking from working in the virtual machine I tested with Parallels / VMWare Fusion and VirtualBox.

 

So I tried the other one I found name "AppleIntelE1000e.kext" found here : http://www.insanelymac.com/forum/index.php?showtopic=205771

and it works now !

Link to comment
Share on other sites

  • 2 months later...

hello there!

Are u still trying to install OSX on your vpcz13?

I recently took the hackintosh journey on my vaio.

I'm trying with tony's method [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url]+[url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] and retail Snow Leopard DVD.

It seems nvidia is working ok, but I have some troubles with keyboard/mouse and usb

Did you have any luck?

Link to comment
Share on other sites

hello there!

Are u still trying to install OSX on your vpcz13?

I recently took the hackintosh journey on my vaio.

I'm trying with tony's method [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url]+[url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] and retail Snow Leopard DVD.

It seems nvidia is working ok, but I have some troubles with keyboard/mouse and usb

Did you have any luck?

 

 

In order to use this method I had to unlock sony's BIOS in order to enable AHCI for the sata controller, otherwise retail installation fails. For this I followed the guide here and worked.

Link to comment
Share on other sites

I have not applied the video

he was already in the DSDT that you attached

 

I just applied some fixs what you need

 

send me ioreg output

 

Hey Madloan

I do not know where to start, and I'd have the nVidia HDMI and all complete. Now I use Chameleon to Graphics enabler Yes ...

I would like to inject into my nVidia DSDT G105M, can you help me?

I leave the IO reg, bios and my DSDT... file

 

I have Exedit and BBEdit, but not how to pass data Exedit bios to read it in BBEdit.

 

Thanks a lot

Link to comment
Share on other sites

  • 3 months later...

Hello,

 

I was asked to post my latest DSDT so here it is both compiled and not compiled in the DSDT.zip file.

 

Besides that I made some progress on sound.

I was using VoodooHDA but I couldn't get sound over HDMI even with the corresponding DSDT fix.

 

So I studied LegacyHDA extensions and configured paths for the integrated ALC889 chipset.

Now sound fully works with internal and external mic, internal speakers and auto switch to headphones if plugged in, sound over HDMI too.

 

Another advantage is that my hackintosh never produced any Kernel Panic since I switch back to vanilla 10.6.2 AppleHDA with that legacy kext.

I guess VoodooHDA wasn't as stable as I thought.

 

Here is the legacy extension I'm using too.

 

Regards

 

Now the only things I'm missing are :

- backlight (I have no slider, nothing to configure)

- fingerprint sensor (under windows it works with upek Protection Suite 2009 but the latest equivalent TrueSuite 2 for mac doesn't recognize the device even after some devid and vendorid changes)

- integrated wifi (no real hope so I bought an Asus N10 USB... so little)

DSDT.zip

Legacy_kext.zip

Link to comment
Share on other sites

  • 8 months later...
  • 2 months later...

Hello,

 

I was asked to post my latest DSDT so here it is both compiled and not compiled in the DSDT.zip file.

 

Besides that I made some progress on sound.

I was using VoodooHDA but I couldn't get sound over HDMI even with the corresponding DSDT fix.

 

So I studied LegacyHDA extensions and configured paths for the integrated ALC889 chipset.

Now sound fully works with internal and external mic, internal speakers and auto switch to headphones if plugged in, sound over HDMI too.

 

Another advantage is that my hackintosh never produced any Kernel Panic since I switch back to vanilla 10.6.2 AppleHDA with that legacy kext.

I guess VoodooHDA wasn't as stable as I thought.

 

Here is the legacy extension I'm using too.

 

Regards

 

Now the only things I'm missing are :

- backlight (I have no slider, nothing to configure)

- fingerprint sensor (under windows it works with upek Protection Suite 2009 but the latest equivalent TrueSuite 2 for mac doesn't recognize the device even after some devid and vendorid changes)

- integrated wifi (no real hope so I bought an Asus N10 USB... so little)

 

Hi,

 

Do you still have this laptop? I'm trying to install Lion retail USB with ###### and I cannot get past the rotating gear on a white screen. Any tips on installation?

 

Thanks

Link to comment
Share on other sites

  • 1 year later...
  • 2 weeks later...

i have vaio z137gx and my problem is the black screen, i have installed iatkos ml2 but i get stock in black screen, but i can hear the sound.. the only way i can get it working is i wait till the screen goes idle then i hit any key then screens shows normally

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...