Contribute
Register

[nope] Change framebuffer port-number without kext patching?

Status
Not open for further replies.
Joined
Jun 19, 2017
Messages
23
Motherboard
GA-Z270N-Gaming-5
CPU
i7-7700
Graphics
HD630
Mac
  1. iMac
  2. MacBook
  3. Mac mini
Mobile Phone
  1. iOS
I've been looking for a way to avoid patching AppleIntelKBLGraphicsFramebuffer to reassign port numbers on my z270 IGPU-only build, and the SSDT below works for me. (After the boot progress bar, the screen is blank slightly longer than by patching the kext -- still looking into that. Maybe using boot-display?):

Code:
DefinitionBlock ("", "SSDT", 2, "HACK ", "IGPU", 0)
{
    External(_SB.PCI0.IGPU, DeviceObj)

    Scope (\_SB.PCI0.IGPU)
    {
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03                                          
                })
            }

            Return (Package (0x0a)
            {
                 "AAPL,ig-platform-id", Buffer() { 0x00, 0x00, 0x12, 0x59 },
                 "graphic-options", Buffer() { 0x0c, 0x00, 0x00, 0x00 }, // no idea what this does (taken from real mac)
                 "hda-gfx", Buffer() { "onboard-1" },
                 "@0,connector-type", Buffer() { 0x00, 0x04, 0x00, 0x00 },
                 "@0,port-number", Buffer() { 0x07 }, // what does the @0 map to? it actually goes to the @2 frame buffer in ioreg
            })
        }
    }  
}

Details of my config: https://gist.github.com/adriaanm/836c6a74f77e92950f5a83de5c711b54
 
Code:
"@0,connector-type", Buffer() { 0x00, 0x04, 0x00, 0x00 },
"@0,port-number", Buffer() { 0x07 }, // what does the @0 map to? it actually goes to the @2 frame buffer in ioreg
The @0 edits are ignored. Those properties are not recognized in parent Device IGPU.
The 3 connectors in the 59120000 framebuffer are native DP; nothing would change even if the injection worked.
Why do you want to change port number?
 
Thanks, you're right! It works without the SSDT or the patch. I must have been doing something else wrong before that got fixed in the mean time... I figured out some patches that reduce the framebuffer count to just the DP port, which resulted in a shorter blank screen when going from progress bar to desktop. Any thoughts on how to fix that without patching? (I assume it's trying to power up the internal panel etc?) I guess I can also just let go of that :)

Now if only I could get it to wake from sleep, I'd be at 100%. I don't have (or want) a separate graphics card.
 
Status
Not open for further replies.
Back
Top