Contribute
Register

Jays MonkeyBook Pro - The Ultimate Sony VPC-SE CustoMac Build

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,046
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
Jays - MonkeyBook Pro

Ultimate Sony-Vaio SE2C5E
OSX Mavericks - Hackingtosh

new-monkeybookpro.jpg

Latest Update
8-Feb-2015: New Clover / Yosemite Update guide On-Line
Change log
21-Sept-2014: Confirmed Working with Mavericks 10.9.5 (Post#666)
13-Sept-2014: Confirmed Working with Mavericks 10.9.4 (Post#664)
06-Jun-2014: Implementing Native CPU P-States (Post#594)
23-May-2014: Update to Mavericks 10.9.3, Chimera 3.0.1 (Post#581)
20-Mar-2014: Update known issues (4) - OSX Battery Mon (Post#509)
03-Mar-2014: Dual Channel 5Ghz WiFi & BT4.0 Upgrade Post
28-Feb-2014: Confirmed Working with Mavericks 10.9.2 (Post#489)
25-Jan-2014: Added procedure for Bluetooth transport control
24-Jan-2014: Further work tidying some sections of the guide
11-Jan-2014: Added notes for Alps Touchpad on Sony SA & SB
10-Jan-2014: Rewrite and simplify / tidy some sections of the guide
09-Jan-2014: Updated the section on DSDT edits with new repo patches

30-Dec-2013: Confirmed working with Mavericks update 10.9.1
11-Dec-2013: Updated Post Install pack to Version 1.2
01-Dec-2013: Resolved issue with 'About this MAC' not working
05-Nov-2013: Initial guide posted



Background

Around June of 2011 I was looking for a new laptop, I could not afford the just released Retina MBP so I looked at what laptops forum members were running OSX successfully on. Sony were doing some great offers at the time on the recently released Vaio SE2 model including a free upgrade from i3 to i7 sandy bridge CPU. I was already running Snow Leopard on my trusty four year old Sony Vaio SZ-1XP but the new SE model had a rich specification at a affordable price, so after some deliberation I went ahead and ordered direct from the Sony On-line store.

  • Sony VPCSE2C5E
  • Intel®Core i7-2640M @ 2.8GHz / Turbo @3.5ghz
  • Intel HD3000 and AMD Radeon HD 6470M 512MB
  • 15.5" (39.5 cm) LCD 1920x1080 HD IPS Display
  • Intel HM67 Chipset
  • 320 GB Serial ATA (5400 rpm)
  • 4 GB 1333 MHz DDR3-SDRAM
  • DVD/CD Reader/Burner
  • Realtek Gigabit Ethernet RJ45 Port
  • Integrated HD WebCam and Microphone
  • Two USB-2.0 ports and one Super Speed USB-3.0 port
  • HDMI & VGA output
  • Backlight keyboard
Once my new toy arrived, I immediately got to work at getting OSX 10.7.2 Lion running, there was already a well developed thread started by CyberWalrus on TonyMacx86.com - who had a basic build running but it needed more work, together with other Sony SA/SB & SE users we gradually refined the DSDT(s) and OSX build until it was stable. Apart from a few refinements, thats pretty much how things stayed for a year and a half. I didn't think it was possible to improve on what I had so I left it alone.

But things move on, so in October of 2012 I started on a Mountain Lion build, starting with what Cyberwalrus had done so far with ML and and with help from RehabMan I started with a clean native DSDT and after some time patching & refining it, I eventually got Mountain Lion running really well using mostly native ML kext’s, the audio system and touchpad still used some old patched SL kext's and there was no support for HDMI audio, USB 3.0, Bluetooth & VGA.

Then in late November 2012, Apple released the much hyped OSX Mavericks. This new release of OSX had the potential to address many of the issues that still remained with the ML build of OSX on my SE.

Now after a lot of work I am able to present my latest and greatest build of OSX yet for the Sony Vaio SE series of laptops. This guide is obviously based on the above spec, but it should also work for Sony 'S' models such as the SA and SB with a few extra DSDT edits.

What Works

  • Sleep & Wake including ACPI Power Button
  • Built-in LVDS Display including brightness control and lid sleep
  • CPU speed step via SSDT
  • Battery icon and notifications
  • Web Cam and Internal Microphone
  • WiFi and Bluetooth using new combo mini PCIe card
  • ALC275 HD Audio with auto jack sense
  • Keyboard and Backlight
  • Touch-Pad (multi-touch)
  • Intel HD3000 HDMI Video and Audio
  • Ethernet Port
  • USB 2 & USB 3
  • VGA Video
  • About this MAC (see here)
What Doesn't work

  • AMD Desecrate Graphics
  • Realtek SD Card Reader
  • A few fn Keys
Cavets

Battery life is not so great, about 2-2.5 hours depending on use, but can be increased with addition of Sony Sheet Battery pack.

Warnings

I am not responsible for any damage you may inflict on your laptop or loss of data by following this guide, as always be sure to do a full backup before you start. I would recommend that you read through the entire guide once or twice before starting to make sure you understand the procedure. Be sure to download all the utilities and prepare any additional files before starting.



Step-1: Hardware Modifications

I wanted to get the maximum performance out of my system so I made several hardware upgrades/modifications before installing OSX, please also note that the factory fitted Intel WiFi card is not supported in OSX.

* Note: Since creating the initial build I have upgarded the WiFi/BT card to a BCM94352/Azurewave AW-CE123H mPCIe card which adds dual channel 5Ghz and the new 'AC' WiFi standards as well as native support for Bluetooth 4.0 - if you need better wireless performance I can fully recommend this card, please see the addendum here for my WiFi upgrade guide.

Most of the items I bought on eBay, mainly from China suppliers. All of the updates are easy to fit and only require you to remove the back panel of the laptop in order to fit the SSD, Memory and mPCIe Radio card. The DVD/CD/RW is held in place by two small screws.

Hardware-Upadtes.jpg Optical_Update.jpg

Close-up of Hardware Modifications



Step-2: OSX Install Prerequisites


If you have a different spec/model Vaio such as SA or SB then you will need to edit/patch the DSDT.

This is hardest part of the install for beginners as it really requires prior knowledge of DSDT editing & patching. Having a correct and working DSDT is absolutely essential to getting a fully functioning system. This is where many people fall down when building a laptop CustoMac. By using a DSDT that was not generated on your system, small difference in BIOS Versions, CPU Types … etc can have a big effect on the stability of your OSX system.

With that said, if you own a Vaio-SE2 there is a very good chance that the DSDT in my Post Install pack will work for you out of the box - or at least get you started, as long as you do not have radically different hardware such as the Sony factory fit SSD-RAID.

2.1 - DSDT Screen Edits

The Sony Vaio SE2 has 15.5” 1920 x 1080 screen, if your Vaio has a different screen resolution like the Sony Vaio SA or SB laptops, then you will need to replace the injected display information with the correct data for your screen. In order to help SA & SB users I have created some DSDT patches for use with MaciASL :
Screen Shot 2014-01-09 at 16.50.22.jpg
The above patches can been applied by using my GitHub repo here. Be sure to read the instructions on how to add them to MaciASL. Apply the appropriate EDID patch from the list that matches the resolution of your Vaio. Compile and save then use in place of the one in the Post Install pack.

2.2 - Further DSDT Work

If your BIOS or hardware is radically different then the chances are you will need further DSDT work. I can not fully document the process of creating and patching a DSDT here, it requires patience and a lot of reading to understand what edits are required. If you want to learn about how to create and edit your own DSDT then I would recommend that you start with RehabMans guide here which will teach you how to extract your native DSDT, after which you will need to correct the compile errors and perform a few basic patches such as changing reserved names … etc. Then there are a number of OSX related edits that need to be added to the DSDT in order to gain maximum compatibility. RehabMan has a DSDT patch repository (here) which will help you achieve this, read his guides, you can research the patches and edits on the various forums and learn. Finally the Sony Vaio S Specific patches in my repo must be applied.

2.3 - AHCI SATA Mode

The Sony Vaio SE has a Intel ESB2 AHCI SATA controller that by default runs in raid mode and falls back to standard AHCI mode if a single drive is detected. The Sony SSD Raid was completely bespoke and not very popular due to its ridiculous price and I'm not sure that it will even work with OSX. I've patched the DSDT to ensure that the controller is aways in AHCI mode, however this may not work on Sony SA/SB in which case you might need to install a modified BIOS. Please read CyberWalrus’s post here on how to do this.

2.4 - Check the Diff’s

You will need your native DSDT to check for differences against the DSDT I have provided here, you only need to look for differences that involve memory allocations and addresses and device definitions for your WiFi card if you not using the one I suggest. For checking the diffs, I would recommend DiffMerge available here. Of course there will be many large differences because of all the edits and patches I have already made so what your looking for is small differences between similar methods, it can get very confusing and overwhelming if you don't understand what your looking at. All i can say is keep at it and you will get there, if you get stuck don’t be afraid to ask for help, thats why these forums exist.

Note: I hope to write a complete DSDT patching guide for Sony S laptops in the near future, which should resolve all DSDT issues but its going to take me a while to get it written and to develop a suite of working MaciASL patches for all Sony S models.



Step-3: Prepare the Install Files

Software Tools Required
:

  • UniBeast (latest)
  • MultiBeast ( I recommend version 6.2.2 - the latest version has issues with FakeSMC )
  • Chameleon Wizard
  • Kext Utility
  • Show all files
  • TextWrangler
Most of these utilities are available form the downloads or community software sections of the tonymac-x86 website.

You will also need:-

  • OSX 10.9.X Mavericks downloaded from the AppStore
  • The attached archive ‘Post Install’ downloaded and unzipped
3.1 Run UniBeast

Generate a OSX USB Installer using the usual method, if your not sure follow Tony’s guide here, be sure to select the laptop option before continuing. Once UniBeast has finished, run ‘show all files’ and click ‘show’, copy your DSDT to the 'Extra' folder in the root of the USB Installer, run show all files again and click ‘hide’

3.2 Prepare the Post Install Files

Unzip the attached ‘Post Install’ folder to the root of your USB installer, Copy MultiBeast, Show all Files, Kext Utility and Chameleon Wizard to the ‘Utils’ sub folder of the ‘Post Install’ folder on your USB Installer. Finally copy your DSDT to the ‘DSDT’ sub folder of ‘Post Install’ on your USB Installer (yes this is the same as the one in the hidden /Extra folder you just did in the previous step, but it saves us from having to use Show All Files later .. on)

Notes for Sony SA & SB Users: The included VoodooPS2Controller.kext only supports Synaptics touchpad's. Sony SA & SB models use an ALPS device. Before continuing please see this post, follow the link, download and extract the files and replace the ones in the attached Install Pack subfolders 'Kexts' & 'Touchpad', thanks to CyberWalrus for pointing this out. Once a 100% proven install is achieved with SA & SB I will update the guide and include the appropriate files in the Post Install pack.



Step-4: Install OSX

If your ready to start, insert your USB installer in your laptop and boot from it, at the UniBeast menu select the USB and after a short while the OSX Installer should start, select your language and click on next.
Use Disk Tool on the Utilities menu to prepare the SSD for OSX, be sure to set the partition type to GUID and format the drive as ‘Mac OSX Extended, Journalised’ then continue on and install OSX on the prepared SSD, this should take between 15 to 25 minuets depending on your system.

Once the Installer has finished leave the USB Installer attached to the laptop and reboot, this time select the newly installed OS. With a bit of luck you will be greeted by the welcome screen, complete the basic OSX startup procedures, don’t worry about anything to do with networking, the internet or Apple ID’s, just click on ‘Skip’ for these and complete the OSX setup, you can go back to those later once we get the network devices working.



Step-5: Post Install

First copy the ‘Post Install’ folder that you copied on to the root of your USB Installer to your Documents or Downloads folder, for the rest of the guide I will refer to this location as the 'PI folder'. Next Click on the Apple icon and select ‘System Preferences’, click on ‘Security & Privacy’, click on the padlock and enter your password. Click on the ‘General’ tab, —> ‘Allow Apps downloaded from:’ select ‘Anywhere’, then click on the ‘Show All’ button and quit System Preferences.

5.1 - Run MultiBeast (Version 6.2.2)

Navigate to the ‘Utils’ sub-folder of the 'PI folder' and start MultiBeast, click on ‘load’ and navigate to the ‘MultiBeast Profile’ sub-folder. Select the file ‘Sony_SE(SA/SB).mb’ and click on ‘open’,

The supplied MultiBeast profile will automatically select the following MultiBeast Options :-

  • SSD Trim Enabler
  • FakeSMC (check selection - it may be unchecked!)
  • FakeSMC Plugins (do not select Nvidia if it's an option)
  • USB 3.0 Universal kext driver
  • Lnx2Mac’s Realtek LAN Controller kext driver
  • Apple RTC Patch for CMOS Reset
  • Chimera v2.2.1
  • Set the Hibernate Mode to Laptop
Click on 'build' and ensure the Install drive is your OSX startup drive, click on Install - Follow the on screen instructions to complete MultiBeast’s part of the installation. Note that by using the supplied Multibeast profile, it does not create the /Extra folder, this is normal for this type of install as we will be using a custom /Extra folder in the next step. Once MultiBeast has finished close it down

5.2 - Setup the ‘Extra’ Folder

Copy the folder called ‘Extra’’ in the 'PI folder' to the root of your startup disk, you will need to enter your Password. Copy your DSDT to the new /Extra folder in the root of your startup disk, again you will need to enter your password. Now start ‘Chameleon Wizard’ from the ‘utils’ sub-folder of the 'PI folder', click on the ‘SMBios’ icon on the top tool-bar, click on the ‘Open’ button. Navigate to your /Extra folder on the root of your startup disk and select the file ‘smbios.plist’ , click on ‘Open’ then click on ‘Edit’

Click a few times on the two buttons called ‘Random’ to generate a random Week and Unique Number. If you have a Sony SA or SB then click on ‘Model Number’ and select ‘MacBook pro (8,1) if you have a Sony SE leave it set at MacBook Pro (8,3) - Click on the ‘Save’ Button’ and quit Chameleon Wizard. Finally open the file 'org.chameleon.Boot.plist' in the /Extra folder using Text Edit and set to the resolution you run your desktop at by editing the string value for <key>Graphics Mode</key>, save the file and quit Text Edit.

5.3 - Install the patched and custom kexts

In order to get the touchpad working with RehabMans VoodooPS2Controller kext, you will need to check if the following two legacy kexts exist in '/System/Library/Extensions', if the do please remove them by using finder or terminal commands (you will need to enter you password)

  • AppleACPIPS2Nub.kext
  • ApplePS2Controller.kext
Once your happy that these kext's are not in /S/L/E, start ‘Kext Utility’ from the ‘Utils’ folder of your ‘PI folder', and enter your password when prompted. Wait while kext utility repairs permissions and rebuilds the system caches. Once you get the ‘All Done’ message', leave kext utility open and navigate to the ‘kexts’ folder in the ‘PI folder', select all of the kexts and drag them over to kext utility which will then go about installing them and rebuilding the caches again. Once you receive the ‘All Done’ message a second time you can quit kext utility.

5.4 - Install the TouchPad Daemon

In Finder navigate to the ‘TouchPad’ folder in your ‘PI folder', ensure that you have the ‘Path Bar’ enabled (Finder Menu —> View —> Show Path Bar). Open a terminal window and type ‘cd<space>’ and then drag the word ‘TouchPad’ from the Finder Path Bar to the terminal window and hit return (Alternatively manually type in the full path to your Post Install/TouchPad location). This will change the current terminal path to the folder with the TouchPad daemon install elements, enter these two commands sepretley:-

Code:
sudo cp org.rehabman.voodoo.driver.Daemon.plist /Library/LaunchDaemons
sudo cp VoodooPS2Daemon /usr/bin
Note: I have included a .txt file in the TouchPad folder with these commands so you can cut and paste them into terminal.

5.5 - Install UK Keyboard Profile (Optional)

For UK keyboard users, copy the file ’Sony-S-UK.keylayout’ from sub-folder ‘Keyboard & Display Profiles’ to '/Startup Disk/Library/Keyboard Layouts’, enter your password. To activate it open ‘System Preferences’ click on ‘Keyboard’, select ‘Input Sources’, click on ‘+’ and select ‘Others’, select ‘Sony-S-UK’ Now click on the keyboard icon on the menu bar and select ‘Sony-S-UK’, you can tun off the Keyboard menu icon by unchecking ‘Show Input menu in menu bar’ on the keyboard input sources in system preferences.

5.6 - Install ICC Display profile (Optional)

Some Sony SE users may be familiar with the infamous ‘OrangeGate’ debate - reds on some Sony SE IPS displays are more orange than red. The file ‘Sony-SE.icc’ profile in sub-folder ‘Keyboard & Display Profiles’ will do a very good job of correcting this issue. To use, copy the file ’Sony-SE.icc’ to somewhere safe and permanent on your system. Run OSX ColorSync Utility (applications/utilities), click on the Devices icon, then Displays —> Display. Click on the small arrow next to ‘Current Profile’, select ‘other’, navigate to the location you copied the file ‘Sony-Se.icc’ and select it.

5.7 - Time to boot OSX

Finally, it's time to eject your Unibeast OSX USB Installer and reboot, If you’ve followed my guide closely you should be presented with the Chimera boot menu, select your Mavericks drive and keep your fingers crossed, if all goes well you'll boot up into OSX Mavericks complete with working battery icon and all the bells and whistles of Apples latest OS with every port on your laptop working (except the SD reader)

Once you've got your system up and running set any additional System Preferences to customise OSX how you like to work and install your apps and utilities. I have included the fix for iMessage in this install but if its not working check my guide on iMessage here.

5.8 - Enable Bluetooth Transport Control

Note: This step is not required if fitting the new BCM94352/Azurewave AW-CE123H mPCIe card - please see addendum here.

If you have swapped out the factory fitted Intel WiFi/Bluetooth card for the Broadcom BCM943225HMB mPCIe module I suggested in the hardware changes section then you need to make a small change so that you can see the option to turn the Bluetooth radio on and off in the Bluetooth SysPrefs/Context menu. First find out the Product ID & Vendor ID of your Bluetooth module by using System Information:-

Bluetooth_module.png
Make a note of the two hex values and convert them to decimal, easiest way is by goggling 'what is 0x3295 in decimal' (substitute your values in place of 0x3295). Run the 'Show all Files' utility and enable hidden files. In Finder navigate to :-

/system/library/extensions

Right click on 'IOBluetoothFamaily.kext' and select 'Show Package Contents' then navigate to :-

contents/plugins

Right click on 'BroadcomBluetoothHostControllerUSBTransport.kext' and select 'Show Package Contents' then navigate to :-

contents

Right click on the hidden file 'info.plist' and open it for edit in textwrangler.

Move down the file until you see the device definitions, copy one of the existing definitions and paste it back into the file directly after the block you copied it from. Edit the key name and add 'Sony' in place of the last suffix of the key name. Finally change the Vendor ID and the Product ID to the decimal values you noted down.

Here is what mine looks like (changes are marked in blue) :-

Code:
[B][COLOR=#800080]Source/Copied code :-[/COLOR][/B]

<key>Broadcom2045FamilyUSBBluetoothHCIController_P</key>
<dict>
   <key>CFBundleIdentifier</key>
   <string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string>
   <key>IOClass</key>
   <string>BroadcomBluetoothHostControllerUSBTransport</string>
   <key>IOProviderClass</key>
   <string>IOUSBDevice</string>
   <key>idProduct</key>
   <integer>33293</integer>
   <key>idVendor</key>
   <integer>1452</integer>
</dict>

[COLOR=#800080][B]Pasted/Edited code :-[/B][/COLOR]

<key>Broadcom2045FamilyUSBBluetoothHCIController_[B][COLOR=#0000cd]Sony[/COLOR][/B]</key>
<dict>
   <key>CFBundleIdentifier</key>
   <string>com.apple.iokit.BroadcomBluetoothHostControllerUSBTransport</string>
   <key>IOClass</key>
   <string>BroadcomBluetoothHostControllerUSBTransport</string>
   <key>IOProviderClass</key>
   <string>IOUSBDevice</string>
   <key>idProduct</key>
   <integer>[B][COLOR=#0000cd]12949[/COLOR][/B]</integer>
   <key>idVendor</key>
   <integer>[B][COLOR=#0000cd]5075[/COLOR][/B]</integer>
</dict>
Save the file (text wrangler will ask for your password to unlock the file when you start to make changes and again when you save it), run 'Kext Utility' and let it rebuild the caches, once you get the 'All Done' message close everything down and reboot. After the system restarts, right click on the Bluetooth icon in the menu, you should now see the option to turn Bluetooth Off/On.

Note: You may need to re-do the above procedure after a combo/minor OSX update.



Step-6: Multi-Boot

If you installed OSX on a SSD and moved the factory fitted HDD to a drive caddy then you don't have to do anything else. Chimera will find the Windows build on the second HDD drive and offer you the option of booting OSX or Windows, if you get the hidden Sony partitions showing up in Chimera you can add the 'Hide Partition' key to 'org.chameleon.Boot.plist' in the /Extra folder - I have the following:-

Code:
    <key>Hide Partition</key>
    <string>hd(1,2) hd(1,3) hd(1,9)</string>
For more info on the Hide Partition option and all the other Chameleon keys please see the wiki guide here, I’ve got my system quad-booting with:

  • OSX Mavericks 10.9.1
  • Windoze-7 SP1 (64 Bit - Factory Installed)
  • Windoze-8.1 (64 Bit)
  • Ubuntu (64 Bit)
I am not going to document how to install triple or quad multi-boot here, there are so many methods and guides out there that i’m sure you’ll find one that works for you.

My advice is only install OSX and Chimera onto the SSD drive, install all other OS's onto the second HDD, it solves an awful lot of problems when it comes to multi-boot. Another piece of advice is that if you want to install Windoze 8.1, its best if you remove the internal OSX SSD drive before starting the install. For some reason Windoze 8.1 tries (and fails) to install its boot loader onto the boot partition of the SSD / OSX drive (I think it tries to take over being the boot manager). Taking the SSD out and installing the other OS’s onto the second HDD drive makes things much simpler and theres no chance of screwing up your OSX build, once your done you can drop your OSX SSD back in and allow Chimera to be the boot manger, it should find the other OS's automatically.


Win8-desktop.jpg Win7-desktop.jpg linux-desktop.jpg

Multi-Boot into Windows 8.1, Windows 7 SP1 and Ubuntu



Step-7: Finishing Touches


Yup, I know its sad but it does turn heads, I have a Roland CAM cutter so I made some custom vinyl graphics for my MonkeyBook Pro, I also created a Vaio-Apple desktop wallpaper based on the Sony Windows wallpaper and a custom boot-up theme for Chimera (all included in the attached archive) to finish the build off.

MonkeyBook-Pro-Desktop.jpg ChimeraBootMenu.jpg

MonkeyBook Pro Customisations



Known Issues


1. ‘About this MAC’ will cause a Finder/Desktop restart. This is due to a issue in Chameleon / Chimera, I now have a working fix for this - please see my Addendum here:

2. Sony SE/SA/SB laptops all use the Realtek ALC275 codec for on-board sound, unfortunately there is an issue with this and other early Realtek codecs that have a EAPD (an on-board amp for the speakers and headphones) that causes AppleHDA not to initialise it correctly after waking from sleep, resulting in no sound from the speakers. Hackingtosh guru EMlyDinEsH has written a standalone kext that resolves the problem by issuing a mute/un-mute command after a wake. This causes a small ‘beep’ that effectively re-initialises the codec and stops it from going into its silent/broken mode after waking from sleep.

3. Battery life is not as good as when running under Windoze, this is because OSX does not have access to all the advanced power management features provided by the Sony power management dll's, if anybody can figure out what Sony does, we might be able to add it to the SSDT. As a result the system runs a little warmer causing a bit more fan noise when the CPU is under load. To gain more battery life I found a very good deal (£59.00) on the Sony Sheet battery, with this fitted i can get almost 6 hours of battery life.

4. The OSX Battery monitor sometimes fails to update and/or shows an invalid status when the sheet battery is fitted, in most cases simply un-checking and re-checking the 'Show Percentage' option on the battery icon context menu is enough to refresh the icon. I now believe that most of these issues are actually caused by a bug in OSX, for those of you running dual batteries I recommend installing iStat Menus 4. Please see this post for more information on the OSX battery monitor issues and using iStat menus 4 in place of it.

5. The desecrate AMD GPU can not be used, Sony have implemented the graphics switching in their own bespoke way using a physical switch and software, it is extremely unlikely that this will ever be resolved.

6. Not all the special 'fn' keys work, the mute and volume up/down fn keys work fine, the display brightness can be adjusted using fn+<pause/break> and fn+<delete> the rest of the fn keys and special Sony keys do nothing at the moment.



Information about included Kexts

Custom Kexts:-

  • ACPIBatteryManager.kext - By RehabMan for Battery Management
  • VoodooPS2Controller.kext - By RehabMan for TouchPad
  • toledaARPT.kext - By Toleda - AirPort / WiFi Enabler
  • EAPDFix.kext - By EMlyDinEsH for ALC275 EAPD Sleep fix
Patched by myself:-

  • AppleHDA,kext - For ALC275 HD Audio
  • AppleIntelCPUPowerManagmen.kext - To to stop KP on boot
  • AppleIntelSNBGraphicsFB.kext - For HDMI audio and VGA
Thanks & Assistance

I’ve put an awful lot of time into this project however I’ve had a lot of help along the way, special mention should goto RehabMan for his help and guidance while I was getting up to speed on DSDT editing and also for his Batter Manager and Synaptics Touchpad kext’s. Thanks to Toleda for his Airport injection kext and Airport research. Thanks to EMlyDinEsH for her EPADfix and her many guides on patching AppleHDA and AppleIntelSNBGraphicsFB which allowed me to get HDMI Audio and the VGA port working. Also thanks to darkera13, BC9 & Mirone for their additional guidance in patching AppleHDA. Finally a big thanks to CyberWalrus who started the whole ball rolling with his initial Lion build for Sony SA/SB and all the other forum members who contributed to those early DSDT edits.



Future Development

Update: 06-Jun-2014

Increase the number of CPU P-States available to the OSX CPU Power Management process, see addendum to main guide at Post #591

I will continue to fine tune the MonkeyBook build and update this guide on a on-going basis but recommend that you check in with RehabMan's GitHub Repository from time to time for updates to the Synaptic's VoodooPS2Controller and AppleSmartBatteryManger kext's, these are in constant development so its worth checking there first if you have any issues with these, if you do find something odd please give feedback via the forum topic links in each of respective kext's readme files.

The next stage for this guide will be to finish the Sony specific SA/SB/SC/SE MaciASL DSDT patches and to write an amendment on how to generate, edit and patch a Native DSDT from start to finish.

I will also update the 'Post Install Pack' from time to time when i feel there is enough of a development to warrant a new upload. Please check the change log at the top of the guide to keep up-to-date on the projects development.

If you use this guide and get a working DSDT for SA or SB or anther Sony model that works with this build, please post the DSDT and any special instructions and I will include it in the guide for others to benefit from (credit will of course be given to you)

Thanks for reading and if you’ve found this guide useful be sure to click the ‘Recommended’ button at the top of the post.

Cheers.
Jay

NOTE: If you find you can not extract the Post Install 1.2 Archive try the 2015 Repack
 

Attachments

Last edited:
Joined
Jan 21, 2013
Messages
80
Motherboard
SA25GG
CPU
2620m
Graphics
6630m
Mobile Phone
iOS
It's so...great monkey has maken a progress on 10.9!

Will try multitouch and hdmi audio on SA. Report later
 
Joined
Jan 21, 2013
Messages
80
Motherboard
SA25GG
CPU
2620m
Graphics
6630m
Mobile Phone
iOS
HDMI Audio dosen't fit SA, maybe more DSDT edit is necessary. Could you please share which part is patched for it?

voodoops2 doesn't work on SA, which has an Alps touchpad.

has not find any difference between AppleIntelCPUPowerManagement 216 and 196.

ACPIBatteryManager.kext can help showing the Icon, but "no battery" with a X. which is same as 10.8.4 without changing AppleACPIPlatform.kext

It's already stable enough for SA.
 

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,046
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
Hi PongChang.

I think RehabMans fork of VoodooPS2controller does have support for some Alps touchpad devices,
give it a try and see what happens, see here for more details

https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller

Have you got clean DSDT for SA generated on your laptop ??, this is very important for battery to work properly, DSDT needs patching using Rehabman's PWR and Sony Battery Edits.

For HDMI Audio you need following edits in DSDT:

Device HDEF, Make sure you have this Method :-

Code:
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"layout-id",
Buffer (0x04)
{
0x1C, 0x00, 0x00, 0x00
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
For Device IGPU you should have the following code included in the DSM method just before the EDID injection declaration (increase package size as needed)

Code:
Store (Package (0x08)
{
"AAPL,NumFramebuffers",
Buffer (0x04)
{
0x03, 0x00, 0x00, 0x00
},
"device-id",
Buffer (0x04)
{
0x16, 0x01, 0x00, 0x00
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"AAPL,snb-platform-id",
Buffer (0x04)
{
0x00, 0x00, 0x01, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
This is already included in the DSDT in the attachment in the main post, correct procedure for you should be:-

Extract Native DSDT on your laptop from Linux
Correct compile errors on Native DSDT
Compare your corrected Native DSDT against the Provided DSDT
Only look for differences in hardware or memory addresses/registers & change if applicable ;)
(There area many additions in new DSDT so ignore those and most device names diffs)
Change EDID Data for your Display
Compile & Save

Thats obviously oversimplifying things a bit, if you get really stuck i'll take a look but you must have Native DSDT or not worth the trouble )

Cheers
Jay
 

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,046
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
newMMP-Logo.jpg Sony Vaio VPC-SE2
MonkeyBook Pro
How to fix and customise
About this MAC

This is an addendum to my main post; unfortunately the main guide has just about reached the word limit for a single post. You should follow the main guide first, to get a working and stable system and then apply the fixes in this post.

The 1st step is for users who experience a finder/desktop restart when they try to open 'About this MAC' to my knowledge this issue only effects some Sony Vaio laptops, however if you experience the same problem then it might work for you, but no guarantees.

The 2nd step details how to customise 'About this MAC' and is generic and should work for all Hackingtosh systems.



Step-1: Fix 'About This MAC'

Running ‘About this Mac’ (ATM) on just about any recent Sony Vaio laptop causes a desktop / finder restart. The core reason for this is that Sony solders the fist 4GB of RAM onto the motherboard. Somewhere along the line they have deviated from the industry standard in the way the system identifies the RAM, its possibly something to do with the way Sony have implemented the SPD for the first 4GB. Either way Chameleon/Chimera & OSX are unable to understand the system memory architecture so when you run ATM it crashes as that part of the system information table (smbios) is corrupt.

The fix should have always been straight forward in that we can 'inject' the memory information in to the smbios by defining 'SMmemory' keys & stings in the file smbios.plist.

The smbios.plist file that I provided in the ‘Post Install’ achieve attached to the main guide has the correct 'SMmemory' strings for 2 x 4GB Corsair SODIM’s the keys that define the memory information look like this:-
Code:
<key>SMmemmanufacturer0</key>
<string>Corsair</string>
<key>SMmemmanufacturer1</key>
<string>Corsair</string>
<key>SMmempart0</key>
<string>CT2862146</string>
<key>SMmempart1</key>
<string>CT2862146</string>
<key>SMmemserial0</key>
<string>000345001</string>
<key>SMmemserial1</key>
<string>000345002</string>
<key>SMmemspeed</key>
<string>1333</string>
<key>SMmemtype</key>
<string>24</string>
Its fairly obvious what each key and string is used for, If you only have the basic 4GB remove the keys and associated strings with the key names ending in ‘1’ eg ‘SMmempart1’

You can use Chameleon Wizard to edit / enter this information if you are not sure about editing the file direct. 'SMmemtype' should always be 24 for Sony Vaio SE/SA/SB this defines the memory as DDR3.

So why does this not work ?

Well it used to work but for some time now there has been a bug in Chameleon / Chimera which has stopped it from working. I have been working with the source code trying to get to the bottom of why it no longer works. Originally I thought that it was to do with some conditional logic around the code which read the SMmemory keys. However thanks to forum member Karas who has also been working on this problem it would seem that the problem is to do with the size of the memory allocation table inside smbios. Thanks to his investigations we now have a fix. I’ve tested this for a few days now and it seems to work fine.

MonkeyBook-Pro-Desktop.jpg
Hopefully we can get this fix included in the trunk build of Chameleon where it will then be included in the branch builds like Chimera. Until then this temporary build (based on r2266) should work with any recent version of Chameleon or Chimera but there are no guarantees, make sure you have a backup of your system – just in case, also make a copy of your current 'boot' file, it should be in the root of your startup disk, it my be hidden, if so you will need to use 'Show all Files'

First you need to edit your SMBIOS.plist in /Extra and add the above keys and strings, be sure to change each of the string values appropriately to match your Memory configuration, if your not happy about manually editing SMBIOS you can use Chameleon Wizard to check what’s there and add/edit the SMmemory strings.

To enable the SMmemory keys injection add the following key and string to org.chameleon.Boot.plist in your /Extra folder of your startup drive
Code:
<key>ForceFullMemInfo</key>
<string>Yes</string>
Update: May 2014

The boot-loader code changes for this fix have now been incorporated into the trunk builds of Chimera V 3.0 and Chameleon R2378. If you are running either of these versions or later then you can skip the next two paragraphs and reboot your system.

If you are running an older version of the boot-loader then you will need to patch the boot-loader so that it will use the above injection edits, download the attached archive and extract it to a folder. The Archive contains two sub-folders. One with a new 'boot' file and the other contains the customisations to ‘About this Mac’ seen in the image above.

To install the patch, simply copy the file ’boot’ from the sub folder ‘Memory Fix’ to the root of your startup drive. You can either use Finder or ‘sudo CP’ command in terminal – either way you will need to enter your admin password which will then overwrite the existing 'boot' file.​

If your happy with everything, reboot your system and try 'About This Mac' - hopefully it will now work. If it doesn’t check your settings in smbios.plist and org.chameleon.Boot.plist.



Step-2: Customise 'Abut this MAC'

Now that you have 'About this MAC' working, you can, if you want customise the System Name and Picture displayed when you click on the 'More Info...' button. This purely a cosmetic modification and completely optional but if done right it can look cool and adds a bit of individuality to your Hackingtosh.

ATM.png2.1 - Change the System type Name

Switch on 'Show all Files and navigate to

/users/user_name/library/preferences/


Look for the file com.apple.systemprofiler.plist

Open it with TextWrangler or Text Edit. Depending on your system type ID, there will be a string that says something like MacBook Pro, Mac Mini, Mac Pro, ...Etc. I’m using a system type ID of 8,3 which by default is a "MacBook Pro 17”. You can change this to whatever you like, anything put brackets are placed on the second line of 'About this Mac' in a smaller font and grey rather than black text.

Before
Code:
            <key>CPU Names</key>
            <dict>
                        <key>DF92-en_GB</key>
                        <string>MacBook Pro (17" Early 2011)</string>
            </dict>
After
Code:
            <key>CPU Names</key>
            <dict>
                        <key>DF92-en_GB</key>
                        <string>MonkeyBook Pro (15.5" Sony Vaio-VPCSE2C5E)</string>
            </dict>
Save the file and reboot, easy - next time you run 'About this Mac' you should see your customised system name.

2.2 - Change the System type Picture

Open ATM and click on 'More Info...' leave the window open so you can see the current picture being used as a reference.

Open finder and navigate to :-

/System/Library/CoreServices/CoreType.Bundle

Right click on the file and select 'Show Package Contents', navigate to:

/Contents/resources


You will see a list of files mostly '.icns', if you switch to coverflow view mode you can easily find the picture that your system is currently using in ATM. My system ID is 8,3 which normally uses the file called “com.apple.macbookpro-17-unibody.icns

Its best to make a copy of this file somewhere. Now all you need to do is find a picture that you want to use in its place, clean it up in an editor and remove the background add any finishing touches and save the file as a .png and name it the same name as the picture that you found. Finally convert the new image to a icon file (.icns) using img2icns and copy it over the existing one. I’ve included my picture of a Sony VPCSE2 in the attached archive.

Reboot OSX and restart OSX with the -f command, on restart you should see your customised system picture, its a nice finishing touch and makes your system a little bit individual.



Its great that this small but annoying problem has been finally resolved, hopefully the fix to ATM will appear as a standard feature in Chameleon and Chimera soon, until then I hope that you find this guide useful and it works for you.

Cheers
Jay

Big thanks to Karas for his work in identifying the issue and implementing the fix. If you use this fix please post a success or fail so we can get an idea of how well it works, if its 100% we should be able to get the developers to include it in the next trunk build of Chameleon.

Update: 5th Dec 2013 - I'm pleased to be able to report that the memory injection fix has been accepted by the Chameleon developers and will be implemented as a standard feature in the next public release which should filter through the branch builds (Chimera) soon. Praise the power of community development.


 

Attachments

Joined
Nov 21, 2013
Messages
41
Motherboard
Sony VAIO VPCEH390x
CPU
Intel Core i3-2350m/2.3Ghz
Graphics
Nvidia GeForce 410m with CUDA
Mac
Classic Mac
Mobile Phone
Android
Hi, I also have a Vaio with similar problems and I was wondering if you had individual kexts or patches because I am inexperienced with editing my DSDT but I can patch. Thanks for the help and if you don't it's no problem.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,259
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Hi, I also have a Vaio with similar problems and I was wondering if you had individual kexts or patches because I am inexperienced with editing my DSDT but I can patch. Thanks for the help and if you don't it's no problem.
After 17 posts to these forums, you should have your profile filled out with detailed specs. That way people know the components/model of your computer. See rules: http://www.tonymacx86.com/faq.php
 

jaymonkey

Moderator
Joined
Aug 27, 2011
Messages
3,046
Motherboard
ASRock-Z97 EX6
CPU
i7-4790K OC @ 4.8GHz
Graphics
Vega 64LC + HD4600
Mac
MacBook Air, MacBook Pro
Mobile Phone
Android, iOS
Hi, I also have a Vaio with similar problems and I was wondering if you had individual kexts or patches because I am inexperienced with editing my DSDT but I can patch. Thanks for the help and if you don't it's no problem.
The Archive in the main post has all the kext's and post install files. I am creating a repo for MaciASL with my Sony DSDT Patches, and will be posting a guide soon. The Patches are not ready for public use just yet and you will need to use them in conjunction with RehabMan's generic laptop patches.

My repo is here:-

https://github.com/JayMonkey/Sony-S-DSDT-Patches

And RehabMans is here:-

https://github.com/RehabMan/Laptop-DSDT-Patch

You could try extracting a native DSDT using Rehabmans guide (see main post) and using his patches to fix the native DSDT. Most important - you will also need to extract the EDID data for your display - again there are plenty of guides and utilities to do that else where. If you can get your basic DSDT to compile I might be able to help you with the Sony specific patches.

Good Luck
Jay
 
Joined
Mar 10, 2011
Messages
163
Motherboard
Sony Vaio VPCSA
CPU
i7-2620M @ 2.7GHz
Graphics
ATI 6630m
Mac
Classic Mac
Mobile Phone
Android
First of all: Jaymonkey, thanks for this thread. I've since got a new laptop, and also pretty much abandoned trying to run a hackintosh due to lack of time these days, so this should be helpful for the occasional person who tries to contact me still.

With SA/SB support for the alps trackpad:
http://forum.osxlatitude.com/index.php?/topic/2545-new-touchpad-driver-for-e6520-alps/

Is the most functional driver I've seen so far. Shows up as a native touchpad, + two finger scrolling, swipes, etc work really nicely. Never got the 3 finger swipes bound to anything, but the driver supports them.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,259
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
First of all: Jaymonkey, thanks for this thread. I've since got a new laptop, and also pretty much abandoned trying to run a hackintosh due to lack of time these days, so this should be helpful for the occasional person who tries to contact me still.

With SA/SB support for the alps trackpad:
http://forum.osxlatitude.com/index.php?/topic/2545-new-touchpad-driver-for-e6520-alps/

Is the most functional driver I've seen so far. Shows up as a native touchpad, + two finger scrolling, swipes, etc work really nicely. Never got the 3 finger swipes bound to anything, but the driver supports them.
For 3-finger, you need to configure them in SysPrefs->Keyboard->Keyboard shortcuts. Just do the swipe where you would normally do a key sequence.
 
Top