Jump to content

[Guide] SurfacePro 1 & 2 Osx-Android-Windows multiboot


JahStories
 Share

2,617 posts in this topic

Recommended Posts

(surface2osx)

 

Installation was a success on the hdd, however now when I try to boot to os x, it boots me to boot into Windows. Might retry installing it, I was planning to remove 8.1 from my hdd anyway if that would help?

Link to comment
Share on other sites

(surface2osx)

 

Installation was a success on the hdd, however now when I try to boot to os x, it boots me to boot into Windows. Might retry installing it, I was planning to remove 8.1 from my hdd anyway if that would help?

 

(Surface2osx)

 

You have to leave your USB-drive in the Surface Pro 2 to boot with Clover and of course hold down the "Volume Down"

Sometimes it is a little bit tricky to boot up from the USB. Shut Down from windows 8.1 and wait until the back-light from the keyboard doesn't respond anymore, and try boot up again.

(Surface2osx - CPU Intel 4300U 1.9 Ghz)

 

 

Can someone with the new Surface Pro 2 with the CPU upgrade Intel 4300U CPU (1.9 GHz), test the following :

 

adding "dart=0" to boot arguments in clover config.plist

 

He's got a problem with Intel-VT.

Link to comment
Share on other sites

@macspike:

 

adding dart=0 to the boot arguments. So my problem got solved. I can now boot into installer GUI (OSX is at this point not installed). But the installer said "can not install OSX Mavericks on this machine." Any help ?

 

i have the Intel 4300U.

Link to comment
Share on other sites

@josh1977

 

Ok that is good news.

Try to install now, following my first guide for the Surface Pro 2 (not the direct install guide)

Of course, don't forget to edit the config-list

 

@ Jahstories

 

Can you add to the guide on the first page, that the guide is for the Surface Pro 2 with intel Core i5-4200u and to boot up with the new intel I5-4300, you have to add "dart=0" to the config.plist.

Link to comment
Share on other sites

XD

 

i think that wifi will be a issue for long time.

 

Sleep is a bit tricky but i think we will figure it out.

 

@macspike

 

let me know when you want to update the guide in the first post or write more there, just send me a pm. ;)

Link to comment
Share on other sites

(surface2osx)

 

Reinstalled, no dice. Still boots straight to windows, only a regular boot gets to the apple screen then straight back to windows. Currently adding dart=0 to see if it helps.

 

Edit: Unless I didn't add the line properly, still got no boot. I can boot the Installer fine from USB, but the partition on my ssd will not get past the apple sign. Possibly a bad install onto the usb from the os x itself before installing the EFI partition?

Link to comment
Share on other sites

(Surface2Osx)

 

Here you are ... I hope you solve it :-)

 

File is at the end of this post (Surface Pro 2.zip)

 

does brightness control works? NO, does not work on the Surface Pro 2.

 

(Surface2Osx)

 

A few questions :

 

You get to the terminal commands, so you installed OSX on the Surface ?

You have to boot without caches and injected kexts (not safe mode) ? Did you try that ?

This ioreg was made with IORegistryExplorer v3.x. Can you provide one saved with IORegistryExplorer v2.1? v3.x is super-painful to work with. Entries are not sorted in v3 and it is much much slower. I don't have enough time to work with v3. Thanks!

Link to comment
Share on other sites

So OSX is on SF2. I made a copy with ccc to my SSD. Boot from my USB Stick is ok. But from my internal SSD it is slow. About 15 minutes for boot into OSX. Sounds crazy but where is the problem ? Anyone?

 

I have the same problem as you... Still trying to find out why.

Link to comment
Share on other sites

(surface2osx)

 

Brightness works with Rehabman's patches (thanks!)

 

2.11 rename GFX0 to IGPU

2.10 brightness fix haswell, you must modify the patch:

setting Subtract(\_SB.PCI0.IGPU.BAR1, 4) to 0xF7800004 and removing ^^PCI0.IGPU._DOS(Arg0)\n

 

Regarding the sleep issue, the composite USB device SAM (the touchpad, keyboard and another sensor) keeps waking up the device. RehabMan, i'm wondering if there is a way to disable the remote wake attribute of a specific USB port via the dsdt? Been trying for hours...!

Link to comment
Share on other sites

you must modify the patch:

setting Subtract(\_SB.PCI0.IGPU.BAR1, 4) to 0xF7800004 and removing ^^PCI0.IGPU._DOS(Arg0)\n

BTW, you should not have to do that, provided you are applying the patch where your GFX0 device actually is defined... It can be in one of the SSDTs instead of the DSDT.

 

Note: In the case of GFX0 definition in SSDT, you must apply the rename patch to both SSDT and DSDT and of course include the patched SSDT in CLOVER/ACPI/patched.

 

Cool to know it works for yet another Haswell laptop though...

 

FYI: Surface2 ioreg has GFX0 device in ssdt-5. If you disassemble it properly (iasl -e dsdt.aml -d ssdt-5.aml), you can apply the rename patch and brightness patch and compile without error.

Link to comment
Share on other sites

I have the same problem as you... Still trying to find out why.

 

@Josh1977 and cs4602

 

First thought ...

 

I think the problem is the controller, but that needs DSDT-patching. 

It would be logical because the USB works normal.

Link to comment
Share on other sites

this two patches, without any edit are already added to the first surface pro dsdt without any result sadly... :/

 

Brightness works with Rehabman's patches (thanks!)

 

2.11 rename GFX0 to IGPU

2.10 brightness fix haswell, you must modify the patch:

setting Subtract(\_SB.PCI0.IGPU.BAR1, 4) to 0xF7800004 and removing ^^PCI0.IGPU._DOS(Arg0)\n

Link to comment
Share on other sites

Here is the one made with IORegistryExplorer 2.1

I was looking for where the GFX0 injections were coming from. In ioreg, they are SSDT-6:

/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20100331
 *
 * Disassembly of iASLNcyzyM.aml, Thu Jan 30 11:33:18 2014
 *
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x0000027E (638)
 *     Revision         0x01
 *     Checksum         0xFC
 *     OEM ID           "SaSsd"
 *     OEM Table ID     "SaSsdt"
 *     OEM Revision     0x00003000 (12288)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20100331 (537920305)
 */
DefinitionBlock ("iASLNcyzyM.aml", "SSDT", 1, "SaSsd", "SaSsdt", 0x00003000)
{
    External (\_SB_.PCI0.GFX0, DeviceObj)
    External (\_SB_.PCI0.GFX0.DD1F, DeviceObj)

    Scope (\_SB.PCI0.GFX0)
    {
        Method (_DSM, 4, NotSerialized)
        {
            Store (Package (0x18)
                {
                    "AAPL,slot-name", 
                    Buffer (0x09)
                    {
                        "Built in"
                    }, 

                    "model", 
                    Buffer (0x17)
                    {
                        "Intel HD Graphics 4400"
                    }, 

                    "built-in", 
                    Buffer (One)
                    {
                        0x01
                    }, 

                    "AAPL,Haslid", 
                    Buffer (0x04)
                    {
                        0x01, 0x00, 0x00, 0x00
                    }, 

                    "AAPL,HasPanel", 
                    Buffer (0x04)
                    {
                        0x01, 0x00, 0x00, 0x00
                    }, 

                    "AAPL,backlight-control", 
                    Buffer (0x04)
                    {
                        0x01, 0x00, 0x00, 0x00
                    }, 

                    "AAPL,BacklightRestore", 
                    Buffer (0x04)
                    {
                        0x01, 0x00, 0x00, 0x00
                    }, 

                    "AAPL,SelfRefreshSupported", 
                    Buffer (0x04)
                    {
                        0x01, 0x00, 0x00, 0x00
                    }, 

                    "AAPL,aux-power-connected", 
                    Buffer (0x04)
                    {
                        0x01, 0x00, 0x00, 0x00
                    }, 

                    "AAPL,ig-platform-id", 
                    Buffer (0x04)
                    {
                        0x06, 0x00, 0x26, 0x0A
                    }, 

                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }, 

                    "AAPL00,override-no-edid", 
                    Buffer (0x80)
                    {
                        /* 0000 */    0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 
                        /* 0008 */    0x4C, 0xA3, 0x42, 0x32, 0x00, 0x00, 0x00, 0x00, 
                        /* 0010 */    0x00, 0x16, 0x01, 0x03, 0x80, 0x17, 0x0D, 0x78, 
                        /* 0018 */    0x0A, 0x87, 0xF5, 0x94, 0x57, 0x4F, 0x8C, 0x27, 
                        /* 0020 */    0x27, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 
                        /* 0028 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
                        /* 0030 */    0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x2A, 0x35, 
                        /* 0038 */    0x80, 0xA0, 0x70, 0x38, 0x0B, 0x40, 0x18, 0x10, 
                        /* 0040 */    0x35, 0x00, 0xEB, 0x84, 0x00, 0x00, 0x00, 0x19, 
                        /* 0048 */    0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 
                        /* 0050 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0xDC, 0x03, 
                        /* 0058 */    0x74, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x53, 
                        /* 0060 */    0x41, 0x4D, 0x53, 0x55, 0x4E, 0x47, 0x0A, 0x20, 
                        /* 0068 */    0x20, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0xFE, 
                        /* 0070 */    0x00, 0x31, 0x30, 0x36, 0x48, 0x4C, 0x30, 0x31, 
                        /* 0078 */    0x2D, 0x30, 0x30, 0x31, 0x0A, 0x20, 0x00, 0xEA
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }

    Scope (\_SB.PCI0.GFX0.DD1F)
    {
        Name (_HID, EisaId ("LCD1234"))
    }

    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                            0x03
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }

        Store (Buffer (One)
            {
                0x00
            }, Arg4)
        Return (Zero)
    }
}

Injecting some of these properties on the Surface1 is something that might help AppleDisplay -> AppleBacklightDisplay.

 

Although, I'm not sure if these properties are really having an effect. Someone with a Surface2 could remove each one, one-by-one, to determine what is necessary and what is not.

Link to comment
Share on other sites

(surface2osx)

 

Hi! Due to life happening all at once for me in January, I haven't had the time play with my toys until now... 

 

Installing with the new guide, as I type this... :)  Many THANKS to Macspike , Jahstories and RehabMan.  If you guys have paypal accounts, let me know and when I get the chance I will drop you some funds for beer! :D

 

I will report back soon... 

Link to comment
Share on other sites

@Josh1977 and cs4602

 

First thought ...

 

I think the problem is the controller, but that needs DSDT-patching. 

It would be logical because the USB works normal.

 

That's exactly what I was thinking, but wouldn't we have the same controller?  what's your HDD? I have a Samsung MZMPC128HBFU

Did you patch the DSDT for the controller?

I just created my own clean DSDT and will try some stuff out.

Link to comment
Share on other sites

That's exactly what I was thinking, but wouldn't we have the same controller?  what's your HDD? I have a Samsung MZMPC128HBFU

Did you patch the DSDT for the controller?

I just created my own clean DSDT and will try some stuff out.

 

@cs4602

 

The Samsung is not the problem. It's the Harddrive controller that's important.

 

Can you download ioregistryexplorer save as file and share it?

Then we can compare the Surface Pro 2 4200u and 4300u.

 

Can you also look up in your system information :

Go to the Apple menu and choose About This Mac and then choose "more info".

 

Click SATA/SATA Express

The information under Generic AHCI Controller

IORegistryExplorer.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...