Contribute
Register

Dell XPS 15 (9530) - Intel HD 4600 Graphics on QHD+ built-in display - Need some help

Status
Not open for further replies.
Ok, so I tried everything up to including re-installation of Mavericks 10.9.4, still the flickering issue remains.

I patched mach_kernel in order to log the IGDebug output to disk.
The results of that are found here: http://pastebin.com/ni2LbULy

Maybe someone can have a look at it and see something I do not?
 
Ok, so I tried everything up to including re-installation of Mavericks 10.9.4, still the flickering issue remains.

I patched mach_kernel in order to log the IGDebug output to disk.
The results of that are found here: http://pastebin.com/ni2LbULy

Maybe someone can have a look at it and see something I do not?

Does sleep work? If so, does anything get "fixed" with a sleep/wake cycle?
 
Nope, sleep ends up in a non-reactive laptop.

I will start with the original clean DSDT / SSDT* and see about carefully re-patching them.
Hopefully that would fix sleep at least.
 
Nope, sleep ends up in a non-reactive laptop.

I will start with the original clean DSDT / SSDT* and see about carefully re-patching them.
Hopefully that would fix sleep at least.

Power management too...
 
Ok some updates.

Managed to setup a clean Clover installation, sleep through start menu "seems" to work.
But the keyboard backlight stays on.

Once again I went over the supported framebuffers in 10.9.4 and see which ones work the best.
Most of the framebuffers have graphics corruption issues.

The MacBook air platform-id of 0xa260005 works fine for external display without any corruption or problems.
Code:
IG:: getPlatformID:1700 AAPL,ig-platform-id = 0xa260005
IG:: getOSInformation:1775 fUseVideoTurbo = 0, fVideoTurboFreq = 14
IG:: getOSInformation:1779 [NFB] -------------------------------------------
IG:: getOSInformation:1780 [NFB] PlatformInformation
IG:: getOSInformation:1781 [NFB] fPipeCount             : 3
IG:: getOSInformation:1782 [NFB] fPortCount             : 3
IG:: getOSInformation:1783 [NFB] fNumFramebuffer        : 3
IG:: getOSInformation:1784 [NFB] fStolenMemorySize      : 32MB
IG:: getOSInformation:1785 [NFB] fFramebufferMemorySize : 19MB
IG:: getOSInformation:1786 [NFB] fFBMemoryCount         : 3
IG:: getOSInformation:1787 [NFB] fCursorBytes           : 1572864
IG:: getOSInformation:1788 [NFB] fBacklightFrequency    : 2777
IG:: getOSInformation:1789 [NFB] fBacklightEnable       : 1
IG:: getOSInformation:1790 [NFB] fBacklightMax          : 2777
IG:: getOSInformation:1791 [NFB] Port[0]: 00000000 / 00000000 / 00000002 / 00000048
IG:: getOSInformation:1792 [NFB] Port[1]: 00000001 / 00000005 / 00001024 / 00000135
IG:: getOSInformation:1793 [NFB] Port[2]: 00000002 / 00000004 / 00001024 / 00000135
IG:: getOSInformation:1794 [NFB] Port[3]: 00000255 / 00000000 / 00000001 / 00000064
IG:: getOSInformation:1795 [NFB] -------------------------------------------
IG:: start:3160 IG: FB range@0x18 0x7fa0000000:10000000
IG:: start:3170 IG: GTT Length = 2097152
IG:: initStolenMemory:3749 Stolen Memory: Base=0, Size=32MB

The MacBookPro platform-id of 0xa2e0008 drives both displays but shows some graphic corruption on the external display and flickering image on the internal display.
Code:
IG:: getPlatformID:1700 AAPL,ig-platform-id = 0xa2e0008
IG:: getOSInformation:1775 fUseVideoTurbo = 0, fVideoTurboFreq = 14
IG:: getOSInformation:1779 [NFB] -------------------------------------------
IG:: getOSInformation:1780 [NFB] PlatformInformation
IG:: getOSInformation:1781 [NFB] fPipeCount             : 3
IG:: getOSInformation:1782 [NFB] fPortCount             : 3
IG:: getOSInformation:1783 [NFB] fNumFramebuffer        : 3
IG:: getOSInformation:1784 [NFB] fStolenMemorySize      : 64MB
IG:: getOSInformation:1785 [NFB] fFramebufferMemorySize : 34MB
IG:: getOSInformation:1786 [NFB] fFBMemoryCount         : 3
IG:: getOSInformation:1787 [NFB] fCursorBytes           : 1572864
IG:: getOSInformation:1788 [NFB] fBacklightFrequency    : 1388
IG:: getOSInformation:1789 [NFB] fBacklightEnable       : 1
IG:: getOSInformation:1790 [NFB] fBacklightMax          : 1388
IG:: getOSInformation:1791 [NFB] Port[0]: 00000000 / 00000000 / 00000002 / 00000048
IG:: getOSInformation:1792 [NFB] Port[1]: 00000001 / 00000005 / 00001024 / 00000263
IG:: getOSInformation:1793 [NFB] Port[2]: 00000002 / 00000004 / 00001024 / 00000263
IG:: getOSInformation:1794 [NFB] Port[3]: 00000255 / 00000000 / 00000001 / 00000064
IG:: getOSInformation:1795 [NFB] -------------------------------------------
IG:: start:3160 IG: FB range@0x18 0x7fa0000000:10000000
IG:: start:3170 IG: GTT Length = 2097152
IG:: initStolenMemory:3749 Stolen Memory: Base=0, Size=32MB



I believe that problems with the framebuffer size cause issues with the internal display.
So I patched the 0xa2e0008 framebuffer to look as follows:
Code:
IG:: getPlatformID:1700 AAPL,ig-platform-id = 0xa2e0008
IG:: getOSInformation:1775 fUseVideoTurbo = 0, fVideoTurboFreq = 14
IG:: getOSInformation:1779 [NFB] -------------------------------------------
IG:: getOSInformation:1780 [NFB] PlatformInformation
IG:: getOSInformation:1781 [NFB] fPipeCount             : 3
IG:: getOSInformation:1782 [NFB] fPortCount             : 3
IG:: getOSInformation:1783 [NFB] fNumFramebuffer        : 3
IG:: getOSInformation:1784 [NFB] fStolenMemorySize      : 32MB
IG:: getOSInformation:1785 [NFB] fFramebufferMemorySize : 19MB
IG:: getOSInformation:1786 [NFB] fFBMemoryCount         : 3
IG:: getOSInformation:1787 [NFB] fCursorBytes           : 1572864
IG:: getOSInformation:1788 [NFB] fBacklightFrequency    : 1388
IG:: getOSInformation:1789 [NFB] fBacklightEnable       : 1
IG:: getOSInformation:1790 [NFB] fBacklightMax          : 1388
IG:: getOSInformation:1791 [NFB] Port[0]: 00000000 / 00000000 / 00000002 / 00000048
IG:: getOSInformation:1792 [NFB] Port[1]: 00000001 / 00000005 / 00001024 / 00000263
IG:: getOSInformation:1793 [NFB] Port[2]: 00000002 / 00000004 / 00001024 / 00000263
IG:: getOSInformation:1794 [NFB] Port[3]: 00000255 / 00000000 / 00000001 / 00000064
IG:: getOSInformation:1795 [NFB] -------------------------------------------
IG:: start:3160 IG: FB range@0x18 0x7fa0000000:10000000
IG:: start:3170 IG: GTT Length = 2097152
IG:: initStolenMemory:3749 Stolen Memory: Base=0, Size=32MB

This fixes the external graphics display corruption but the internal display goes blank as it does for 0xa260005.


The kernel logs of both boot sequences are attached:

kernel_0x0a2e0008_patched: http://pastebin.com/cLKNWtGw
kernel_0x0a2e0008: http://pastebin.com/GNePUdWF
 
Hello the-darkvoid,

I am also interested in purchasing this laptop it seems it will fit my needs perfectly I have been researching trying to figure out what is needed to get Mavericks working. Im not sure if these will help in your progress but I wanted to share in hopes it will help you.

http://www.insanelymac.com/forum/to...x-on-a-new-dell-xps-15-9530-with-touchscreen/

http://www.tonymacx86.com/mavericks...ual-booting-windows-8-1-mavericks-uefi-2.html

http://www.insanelymac.com/forum/topic/291614-intel-hd4000-and-haswell-inject-aaplig-platform-id/

Hope it helps.
 
Dell XPS 15 (9530) - Intel HD 4600 QHD+ display - Now Working

Good news!

After trying a lot of different options, I managed to get 3200x1800 QHD+ working with full QE/CI on Intel HD 4600 on the Dell XPS 9530.

SystemProfile-1.png
SystemProfile-2.png
SystemProfile-3.png

Currently I am running in 1600x900 HiDPI (So 3200x1800 effectively) and it all looks great.

The final solution is not the easiest, but maybe someone can help perfect it.
In short the approach consists of 3 different steps:

  1. Configure either through Clover or SSDT an ig-platform-id of 0x0A2E0008.

  2. Apply the maximum pixel unlock patch over IOKit as described below.
    IOKit is the same between 10.9.3 & 10.9.4, so the 10.9.3 patcher is fine.
  3. OS X is unable to drive the video card with the default GPU settings. However the settings cannot be changed in the bios because the menus are unavailable to do so.
    I unlocked the menus in the bios using the procedure described for the M3800.

    http://forums.mydigitallife.info/threads/54523-TUTORIAL-AMI-Aptio-UEFI-Advanced-Menu-Unlock-Bonus-MSR-unlock!

    Some sweating later you can change the "Pre-allocated DVMT size" to 128MB. Additionally its now possible to remove the CFG-lock on the MSR 0x02 register which will allow booting the OS X kernel without any power management patching!

  4. In order to drive the large video resolution the frame buffer needs to be modified so that it has enough memory to drive the display, I have modified the buffer to work with a stolen memory size of 128MB and frame buffer of 64MB.
    Code:
    [FONT=Menlo]IG:: getPlatformID:1700 AAPL,ig-platform-id = 0xa2e0008[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1775 fUseVideoTurbo = 0, fVideoTurboFreq = 14[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1779 [NFB] -------------------------------------------[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1780 [NFB] PlatformInformation[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1781 [NFB] fPipeCount             : 3[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1782 [NFB] fPortCount             : 3[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1783 [NFB] fNumFramebuffer        : 3[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1784 [NFB] fStolenMemorySize      : 128MB[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1785 [NFB] fFramebufferMemorySize : 34MB[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1786 [NFB] fFBMemoryCount         : 3[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1787 [NFB] fCursorBytes           : 1572864[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1788 [NFB] fBacklightFrequency    : 1388[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1789 [NFB] fBacklightEnable       : 1[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1790 [NFB] fBacklightMax          : 1388[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1791 [NFB] Port[0]: 00000000 / 00000000 / 00000002 / 00000048[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1792 [NFB] Port[1]: 00000001 / 00000005 / 00001024 / 00000263[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1793 [NFB] Port[2]: 00000002 / 00000004 / 00002048 / 00000263[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1794 [NFB] Port[3]: 00000255 / 00000000 / 00000001 / 00000064[/FONT]
    [FONT=Menlo]IG:: getOSInformation:1795 [NFB] -------------------------------------------[/FONT]

I am still testing out the whole setup, but I will try and provide a full guide on everything.
Hopefully Rehabman can help me with power management and audio through DSDT.
 
Amazing work @the-darkvoid.

I've been quietly following this thread and you're probably the first person in all the forums to do this, well done.
 
Amazing work @the-darkvoid.

I've been quietly following this thread and you're probably the first person in all the forums to do this, well done.

+1

Well done indeed.

Given that a BIOS patch/unlock was required... will make it difficult for some. For example, latest Lenovo machines require removal of the flash chip (de-solder) from the motherboard and program with hardware programmer.
 
I hope we can extend the findings to other QHD laptops also.

Anyways none of this would have been possible without people like Rehabman, Pike R. Alpha & toleda though, I extensively went over their posts to understand how everything fits together.

I'll do a clean re-install of Mavericks 10.9.4 to detail all the patches required to make it work, or see if the patches can be done dynamically from Clover.
 
Status
Not open for further replies.
Back
Top