Contribute
Register

Unable to get XPS 15 2-in-1 9575 HD 630 work in 10.13.4

Status
Not open for further replies.
Joined
Sep 24, 2012
Messages
180
Motherboard
ASUS ZenBook Pro Duo 15 UX582
CPU
i9-10980HK
Graphics
UHD 630 + RTX 3070
Hi,

My laptop specs are:
XPS 15 9575
4K Display (3840*2160)
i7-8705G Processor with Radeon™ RX Vega M GL graphics
HD630 (device id and vendor id: 0x591b8086)
Windows 10 + First installation of macOS (10.13.4) on APFS in the same disk

I've been working on this laptop for four days; however, I can't get the HD 630 work properly.

I've dumped the DVMT info from bios:
Code:
0x455CB         Suppress If: {0A 82}
0x455CD             Variable 0xDEB equals 0x20 {12 06 EB 0D 20 00}
0x455D3             Setting: DVMT Pre-Allocated, Variable: 0x85C {05 91 36 05 49 05 9F 05 01 00 5C 08 14 10 00 FE 00}
0x455E4                 Option: 0M, Value: 0x0 {09 07 37 05 00 00 00}
0x455EB                 Option: 32M, Value: 0x1 {09 07 38 05 00 00 01}
0x455F2                 Option: 64M, Value: 0x2 {09 07 39 05 30 00 02}
0x455F9                 Option: 4M, Value: 0xF0 {09 07 3A 05 00 00 F0}
0x45600                 Option: 8M, Value: 0xF1 {09 07 3B 05 00 00 F1}
0x45607                 Option: 12M, Value: 0xF2 {09 07 3C 05 00 00 F2}
0x4560E                 Option: 16M, Value: 0xF3 {09 07 3D 05 00 00 F3}
0x45615                 Option: 20M, Value: 0xF4 {09 07 3E 05 00 00 F4}
0x4561C                 Option: 24M, Value: 0xF5 {09 07 3F 05 00 00 F5}
0x45623                 Option: 28M, Value: 0xF6 {09 07 40 05 00 00 F6}
0x4562A                 Option: 32M/F7, Value: 0xF7 {09 07 41 05 00 00 F7}
0x45631                 Option: 36M, Value: 0xF8 {09 07 42 05 00 00 F8}
0x45638                 Option: 40M, Value: 0xF9 {09 07 43 05 00 00 F9}
0x4563F                 Option: 44M, Value: 0xFA {09 07 44 05 00 00 FA}
0x45646                 Option: 48M, Value: 0xFB {09 07 45 05 00 00 FB}
0x4564D                 Option: 52M, Value: 0xFC {09 07 46 05 00 00 FC}
0x45654                 Option: 56M, Value: 0xFD {09 07 47 05 00 00 FD}
0x4565B                 Option: 60M, Value: 0xFE {09 07 48 05 00 00 FE}
0x45662             End of Options {29 02}
0x45664         End If {29 02}
0x45666         Setting: DVMT Total Gfx Mem, Variable: 0x85D {05 91 4A 05 4B 05 A0 05 01 00 5D 08 10 10 01 03 00}
0x45677             Option: 256M, Value: 0x2 {09 07 4D 05 30 00 02}
0x4567E             Option: 128M, Value: 0x1 {09 07 4C 05 00 00 01}
0x45685             Option: MAX, Value: 0x3 {09 07 4E 05 00 00 03}
0x4568C         End of Options {29 02}
0x4568E         Suppress If: {0A 82}
0x45690             True {46 02}
0x45692             Setting: Intel Graphics Pei Display Peim, Variable: 0x7C0 {05 91 16 06 17 06 A1 05 01 00 C0 07 10 10 00 01 00}
0x456A3                 Option: Enabled, Value: 0x1 {09 07 8F 00 00 00 01}
0x456AA                 Option: Disabled, Value: 0x0 {09 07 90 00 30 00 00}
0x456B1             End of Options {29 02}
0x456B3         End If {29 02}
0x456B5         Suppress If: {0A 82}
0x456B7             Variable 0xE26 equals 0x4 {12 06 26 0E 04 00}
0x456BD             Setting: Gfx Low Power Mode, Variable: 0x7B9 {05 91 3A 06 3B 06 A2 05 01 00 B9 07 10 10 00 01 00}
0x456CE                 Option: Enabled, Value: 0x1 {09 07 8F 00 30 00 01}
0x456D5                 Option: Disabled, Value: 0x0 {09 07 90 00 00 00 00}
0x456DC             End of Options {29 02}
0x456DE         End If {29 02}
It seems there no options for me to set the DVMT Pre-Allocated either to 96M or 128M according to the dump.

I did, however, tried to set the Variable of DVMT Pre-Allocated, 0x85C, from the default 0x02 to 0x03 and 0x04, assuming they would give me 96M and 128M of DVMT Pre-Allocated, respectively.

I also set 0x85D from the DVMT Total Gfx Mem from the default 0x02 to 0x03. But the boot screen is always frozen as shown below with the error "IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0." for both of the ig-platform-id, 0x591b0000 and 0x19160000. The Intel GFX fake-id was also injected as 0x591b8086 and 0x19168086.

Currently, I can only get into the desktop by using 0x12340000 for ig-platform-id and 0x12345678 for the fake-id injection.

The attachment is my current Clover EFI folder. Thank you.

Btw, I wonder if there is a way to activate HDPI in Clover boot screen. I tried to set /BootGraphics/EFILoginHiDPI to 1 and to 2; And /GUI/ScreenResolution to 3840*2160 in Clover's config.plist, but there is no effect at all.
 

Attachments

  • IMG_2105.JPG
    IMG_2105.JPG
    3 MB · Views: 330
  • EFI.zip
    4.8 MB · Views: 263
Last edited:
Hi,
My laptop specs are:
XPS 15 9575
4K Display (3840*2160)
i7-8705G Processor with Radeon™ RX Vega M GL graphics
HD630 (device id and vendor id: 0x591b8086)
Windows 10 + First installation of macOS (10.13.4) on APFS in the same disk
I've been working on this laptop for four days; however, I can't get the HD 630 work properly.
I've dumped the DVMT info from bios:
Code:
0x455CB         Suppress If: {0A 82}
0x455CD             Variable 0xDEB equals 0x20 {12 06 EB 0D 20 00}
0x455D3             Setting: DVMT Pre-Allocated, Variable: 0x85C {05 91 36 05 49 05 9F 05 01 00 5C 08 14 10 00 FE 00}
0x455E4                 Option: 0M, Value: 0x0 {09 07 37 05 00 00 00}
0x455EB                 Option: 32M, Value: 0x1 {09 07 38 05 00 00 01}
0x455F2                 Option: 64M, Value: 0x2 {09 07 39 05 30 00 02}
0x455F9                 Option: 4M, Value: 0xF0 {09 07 3A 05 00 00 F0}
0x45600                 Option: 8M, Value: 0xF1 {09 07 3B 05 00 00 F1}
0x45607                 Option: 12M, Value: 0xF2 {09 07 3C 05 00 00 F2}
0x4560E                 Option: 16M, Value: 0xF3 {09 07 3D 05 00 00 F3}
0x45615                 Option: 20M, Value: 0xF4 {09 07 3E 05 00 00 F4}
0x4561C                 Option: 24M, Value: 0xF5 {09 07 3F 05 00 00 F5}
0x45623                 Option: 28M, Value: 0xF6 {09 07 40 05 00 00 F6}
0x4562A                 Option: 32M/F7, Value: 0xF7 {09 07 41 05 00 00 F7}
0x45631                 Option: 36M, Value: 0xF8 {09 07 42 05 00 00 F8}
0x45638                 Option: 40M, Value: 0xF9 {09 07 43 05 00 00 F9}
0x4563F                 Option: 44M, Value: 0xFA {09 07 44 05 00 00 FA}
0x45646                 Option: 48M, Value: 0xFB {09 07 45 05 00 00 FB}
0x4564D                 Option: 52M, Value: 0xFC {09 07 46 05 00 00 FC}
0x45654                 Option: 56M, Value: 0xFD {09 07 47 05 00 00 FD}
0x4565B                 Option: 60M, Value: 0xFE {09 07 48 05 00 00 FE}
0x45662             End of Options {29 02}
0x45664         End If {29 02}
0x45666         Setting: DVMT Total Gfx Mem, Variable: 0x85D {05 91 4A 05 4B 05 A0 05 01 00 5D 08 10 10 01 03 00}
0x45677             Option: 256M, Value: 0x2 {09 07 4D 05 30 00 02}
0x4567E             Option: 128M, Value: 0x1 {09 07 4C 05 00 00 01}
0x45685             Option: MAX, Value: 0x3 {09 07 4E 05 00 00 03}
0x4568C         End of Options {29 02}
0x4568E         Suppress If: {0A 82}
0x45690             True {46 02}
0x45692             Setting: Intel Graphics Pei Display Peim, Variable: 0x7C0 {05 91 16 06 17 06 A1 05 01 00 C0 07 10 10 00 01 00}
0x456A3                 Option: Enabled, Value: 0x1 {09 07 8F 00 00 00 01}
0x456AA                 Option: Disabled, Value: 0x0 {09 07 90 00 30 00 00}
0x456B1             End of Options {29 02}
0x456B3         End If {29 02}
0x456B5         Suppress If: {0A 82}
0x456B7             Variable 0xE26 equals 0x4 {12 06 26 0E 04 00}
0x456BD             Setting: Gfx Low Power Mode, Variable: 0x7B9 {05 91 3A 06 3B 06 A2 05 01 00 B9 07 10 10 00 01 00}
0x456CE                 Option: Enabled, Value: 0x1 {09 07 8F 00 30 00 01}
0x456D5                 Option: Disabled, Value: 0x0 {09 07 90 00 00 00 00}
0x456DC             End of Options {29 02}
0x456DE         End If {29 02}
It seems there no options for me to set the DVMT Pre-Allocated either to 96M or 128M according to the dump.
I did, however, tried to set the Variable of DVMT Pre-Allocated, 0x85C, from the default 0x02 to 0x03 and 0x04, assuming they would give me 96M and 128M of DVMT Pre-Allocated, respectively.
I also set 0x85D from the DVMT Total Gfx Mem from the default 0x02 to 0x03. But the boot screen is always frozen as shown below with the error "IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0." for both of the ig-platform-id, 0x591b0000 and 0x19160000. The Intel GFX fake-id was also injected as 0x591b8086 and 0x19168086.
Currently, I can only get into the desktop by using 0x12340000 for ig-platform-id and 0x12345678 for the fake-id injection.
The attachment is my current Clover EFI folder. Thank you.
Btw, I wonder if there is a way to activate HDPI in Clover boot screen. I tried to set /BootGraphics/EFILoginHiDPI to 1 and to 2; And /GUI/ScreenResolution to 3840*2160 in Clover's config.plist, but there is no effect at all.

Your CoreDisplayFixup.kext is too old for 10.13.4.
AptioMemoryFix.efi and OsxAptioFix*.efi are mutually exclusive. Use only AptioMemoryFix.efi.
 
Your CoreDisplayFixup.kext is too old for 10.13.4.
AptioMemoryFix.efi and OsxAptioFix*.efi are mutually exclusive. Use only AptioMemoryFix.efi.
Thanks RehabMan.
I deleted OsxAptioFix2.efi and updated my CoreDisplayFixup.kext. It seems to be able to bypass the hIOConsoleUsers error. However, the screen turned black and restarted immediately after that line was reached.
I also rollbacked both DVMT Pre-Allocated and DVMT Total Gfx Mem to 0x02. But it's the same.

Update 1: It seems I can get into desktop (without KP) with framebuffer 0x19120000 and fakeid 0x19128086. However, the screen is black. Any ideas?

PS. Strangely, no matter how I change the DVMT Pre-Allocated size, it's always shown as 31MB in About This Mac. (boot with 0x1234567)

Update 2:I tried https://github.com/RehabMan/OS-X-Clover-Laptop-Config for HD630. It still reboots immediately before getting into desktop.
 

Attachments

  • EFI.zip
    4.8 MB · Views: 180
Last edited:
PS. Strangely, no matter how I change the DVMT Pre-Allocated size, it's always shown as 31MB in About This Mac. (boot with 0x1234567)

As expected with invalid ig-platform-id.
(assuming you're using invalid ig-platform-id, not invalid FakeID... using invalid FakeID is a mistake).

Update 2:I tried https://github.com/RehabMan/OS-X-Clover-Laptop-Config for HD630. It still reboots immediately before getting into desktop.

Probably due to inadequate DVMT-prealloc.
 
As expected with invalid ig-platform-id.
Probably due to inadequate DVMT-prealloc.
I wonder since I can probably get into desktop with black screen with 0x19120000, can I modify the framebuffer to get the output correct on the screen?
Do you know how to disable the RX Vega with DSDT, Clover, or any kext?
Thank you.
 
Last edited:
I wonder since I can probably get into desktop with black screen with 0x19120000, can I modify the framebuffer to get the output correct on the screen?

No idea regarding what you're actually doing without problem reporting files that represent this scenario.
Note that using a Skylake ig-platform-id without the appropriate kexts installed and correct FakeID setting will result in graphics drivers not even loading...

Do you know how to disable the RX Vega with DSDT, Clover, or any kext?

Switched dual-GPU not supported.
Details in FAQ:
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 

Attachments

  • origin amls.zip
    269.9 KB · Views: 135
Last edited:
You will find _OFF in SSDT-12-AmdTabl.dsl. It is at path _SB.PCI0.PEG0.PEGP (quite common).
I only find _OFF in SSDT-12-AmdTabl.dsl:
Code:
Scope (\_SB.PCI0.PEG0.PEGP)
    {
        Method (_ON, 0, Serialized)  // _ON_: Power On
        {
            \_SB.PCI0.PGON (Zero)
            Notify (\_SB.PCI0.PEG0, Zero)
        }

        Method (_OFF, 0, Serialized)  // _OFF: Power Off
        {
            \_SB.PCI0.PGOF (Zero)
            Notify (\_SB.PCI0.PEG0, Zero)
        }
    }

and

Code:
If (LEqual (Arg0, 0x02))
            {
                CreateWordField (Arg1, Zero, FN2S)
                CreateByteField (Arg1, 0x02, DGPR)
                If (LEqual (DGPR, Zero))
                {
                    \_SB.PCI0.PEG0.PEGP._OFF ()
                }

                If (LEqual (DGPR, One))
                {
                    \_SB.PCI0.PEG0.PEGP._ON ()
                }

                Return (Zero)
            }

There is no _INI similar to the case in your post however..
 
I'm not seeing "\_SB.PCI0.LPCB.EC0.SPIN (0x96, Zero)", either.
 
Status
Not open for further replies.
Back
Top