Jump to content
tokia

Dual dedicated GPU on Mojave (NVIDIA & AMD)

6 posts in this topic

Recommended Posts

Hello,

 

My desktop Hackintosh is running macOS Mojave 10.14.2 with two dedicated GPUs installed: NVIDIA GTX 1080 Ti, AMD Radeon HD 7970.

 

The AMD GPU is used primarily under macOS and the NVIDIA one under Windows.

 

macOS boots without issues as long as there are no displays connected to the NVIDIA GPU. If a display is connected then the display connected to the AMD GPU will become blank. The system can be accessed using Screen Sharing/VNC.

 

There are no problems if I swap PCI-e slots for the GPUs so that the AMD GPU is in the first slot (primary GPU), but I prefer not to do this.

 

I have tried to remove the whole PCI (bridge) device in the DSDT file and all the lines that refer to it. The PCI entries in ioreg and System Information are gone but System Information still shows an NVIDIA GPU under Graphics/Display.

 

Many of the suggestions I have found in guides and forum posts do not seem to apply here. My problem with some of the guides and answers is that they give the solution without explaining how anything works, or they tell you what to do without explaining the reasons behind it.

 

What else can I do? Thank you for any assistance you can provide!

 

I have attached some files that may help you help me.

 

DSDT_BIOS_3101.zip contains the original ACPI (*.aml) files without any patches.

Send me Steffens-iMac.zip is a file produced by RunMe.app, and do contain simple patches to rename some devices.

DSDT.dsl.patch is a diff of the original DSDT.dsl file and the one with the PCI devices removed (commented out).

 

Motherboard: ASUS Rampage V Extreme (X99), BIOS version 3101 (macOS does not boot with anything newer).

Clover version: 4813.

 

DSDT.dsl.patch:

--- /Users/sl/Desktop/DSDT_BIOS_3101/DSDT.dsl	2018-12-17 05:24:30.000000000 +0100
+++ /Volumes/EFI/EFI/CLOVER/ACPI/patched/DSDT.dsl	2018-12-17 16:52:08.000000000 +0100
@@ -5,7 +5,7 @@
  * 
  * Disassembling to symbolic ASL+ operators
  *
- * Disassembly of DSDT.aml, Mon Dec 17 05:24:30 2018
+ * Disassembly of DSDT.aml, Mon Dec 17 04:01:52 2018
  *
  * Original Table Header:
  *     Signature        "DSDT"
@@ -2128,7 +2128,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -2274,7 +2274,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -2420,7 +2420,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -2570,7 +2570,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -2803,12 +2803,14 @@
                 If ((CSTA (Arg0, Arg1) == 0x00))
                 {
                     FLAG = 0x00
-                    PRID (APID = 0xFF) = 0xFF
+                    APID = 0xFF
+                    PRID = 0xFF
                 }
                 Else
                 {
                     Local0 = APID
-                    PRID (FLAG = 0x01) = Local0
+                    FLAG = 0x01
+                    PRID = Local0
                 }
 
                 Return (APIC)
@@ -15259,7 +15261,7 @@
                             ^BR2B.OSHP ()
                             ^BR2C.OSHP ()
                             ^BR2D.OSHP ()
-                            ^BR3A.OSHP ()
+                            //^BR3A.OSHP ()
                             ^BR3B.OSHP ()
                             ^BR3C.OSHP ()
                             ^BR3D.OSHP ()
@@ -26861,7 +26863,7 @@
                 }
             }
 
-            Device (BR3A)
+            /*Device (BR3A)
             {
                 Name (_ADR, 0x00030000)  // _ADR: Address
                 OperationRegion (MCTL, SystemMemory, 0xE0013188, 0x04)
@@ -27496,7 +27498,7 @@
                 {
                     Name (_ADR, 0xFFFF)  // _ADR: Address
                 }
-            }
+            }*/
 
             Device (BR3B)
             {
@@ -30267,7 +30269,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -30567,21 +30569,21 @@
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4158,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4158,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0001,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x5758,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x5758,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x5858,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x5858,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
@@ -37604,7 +37606,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -37904,21 +37906,21 @@
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4558,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4558,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0001,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4259,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4259,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4359,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4359,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
@@ -44941,7 +44943,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -45241,21 +45243,21 @@
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4958,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4958,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0001,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4559,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4559,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4659,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4659,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
@@ -53823,7 +53825,7 @@
                 Notify (\_SB.PCI0.BR2D.H007, Local0)
             }
 
-            If ((\_SB.PCI0.BR3A.PMEP == 0x01))
+            /*If ((\_SB.PCI0.BR3A.PMEP == 0x01))
             {
                 Local0 = \_SB.PCI0.BR3A.PMEH (0x05)
             }
@@ -53848,7 +53850,7 @@
                 Notify (\_SB.PCI0.BR3A.H005, Local0)
                 Notify (\_SB.PCI0.BR3A.H006, Local0)
                 Notify (\_SB.PCI0.BR3A.H007, Local0)
-            }
+            }*/
 
             If ((\_SB.PCI0.BR3B.PMEP == 0x01))
             {
@@ -54608,11 +54610,11 @@
                     \_SB.PCI0.BR2D.PMEP = 0x01
                 }
 
-                If ((Local1 == 0x07))
+                /*If ((Local1 == 0x07))
                 {
                     \_SB.PCI0.BR3A.PMES = 0x01
                     \_SB.PCI0.BR3A.PMEP = 0x01
-                }
+                }*/
 
                 If ((Local1 == 0x08))
                 {
@@ -54879,10 +54881,10 @@
                 Notify (\_SB.PCI0.BR2D, 0x02)
             }
 
-            If ((\_SB.PCI0.BR3A.DEVS () != 0x00))
+            /*If ((\_SB.PCI0.BR3A.DEVS () != 0x00))
             {
                 Notify (\_SB.PCI0.BR3A, 0x02)
-            }
+            }*/
 
             If ((\_SB.PCI0.BR3B.DEVS () != 0x00))
             {
@@ -55927,10 +55929,10 @@
                 {
                     Notify (\_SB.PCI0.BR2D, 0x00)
                 }
-                Case (0x28)
+                /*Case (0x28)
                 {
                     Notify (\_SB.PCI0.BR3A, 0x00)
-                }
+                }*/
                 Case (0x29)
                 {
                     Notify (\_SB.PCI0.BR3B, 0x00)
@@ -56736,11 +56738,11 @@
         }
     }
 
-    Scope (_SB.PCI0.BR3A)
+    /*Scope (_SB.PCI0.BR3A)
     {
         Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
         {
-            If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
+            If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") / * Device Labeling Interface * /))
             {
                 If (((Arg1 == 0x02) && (Arg2 == 0x00)))
                 {
@@ -56765,7 +56767,7 @@
                  0x00                                           
             })
         }
-    }
+    }*/
 
     Scope (_SB.PCI1.QR1A)
     {

 

DSDT_BIOS_3101.zip

Send me Steffens-iMac.zip

DSDT.dsl.patch

Edited by tokia

Share this post


Link to post
Share on other sites
Advertisement

Thank you for your reply!

 

My idea is to use the AMD GPU while leaving the NVIDIA GPU in the computer. This already works but I have to (un)plug displays multiple times per day, every day. Maybe I can edit the first post to make that more clear. :)

Edited by tokia

Share this post


Link to post
Share on other sites
5 minutes ago, tokia said:

Thank you for your reply!

 

My idea is to use the AMD GPU while leaving the NVIDIA GPU in the computer. This already works but I have to (un)plug displays multiple times per day, every day. Maybe I can edit the first post to make that more clear. :)

The only reasons I could see having to unplug displays from the AMD GPU to the Nvidia GPU is if you are booting into something other than macOS Mojave. But I would suggest setting down and really thinking about what your main use case for whatever OS you use is. If you use Windows (for gaming) more than macOS, maybe you should just stick with that OS until all other OSes support your equipment.

 

50 minutes ago, tokia said:

There are no problems if I swap PCI-e slots for the GPUs so that the AMD GPU is in the first slot (primary GPU), but I prefer not to do this.

It shouldn't matter what slot the GPU is in, it depends on what GPU your monitors are connected to. You will not be able to utilize the AMD GPU in macOS while your displays are connected to the Nvidia GPU and vise versa.

Share this post


Link to post
Share on other sites

Thank you for your reply!

 

46 minutes ago, Pavo said:

The only reasons I could see having to unplug displays from the AMD GPU to the Nvidia GPU is if you are booting into something other than macOS Mojave. But I would suggest setting down and really thinking about what your main use case for whatever OS you use is. If you use Windows (for gaming) more than macOS, maybe you should just stick with that OS until all other OSes support your equipment. 

 

I use macOS mainly for work (software development) and everything else except gaming. Windows is mainly also used for everything else including gaming. I cannot do without one or the other. I barely use my MacBook Pro because the performance of the Hackintosh is superior. There is a perceived performance loss in games (Windows) when the NVIDIA GPU is not installed in the PCI-e slot closest to the CPU.

 

I have been sticking with macOS High Sierra 10.13.6 but it seems to be possible to make Mojave work without causing me too much inconvenience considering that I have the hardware I need. :)

 

46 minutes ago, Pavo said:

It shouldn't matter what slot the GPU is in, it depends on what GPU your monitors are connected to. You will not be able to utilize the AMD GPU in macOS while your displays are connected to the Nvidia GPU and vise versa. 

 

I can leave displays connected to both GPUs when the AMD GPU is installed in the first PCI-e slot. I have a signal on the display connected to the AMD GPU but obviously no signal on the displays connected to the NVIDIA GPU.

 

I cannot use any displays connected to the AMD GPU under macOS if the NVIDIA GPU is installed in the first PCI-e slot unless I unplug the displays connected to the NVIDIA GPU.

 

Edited by tokia

Share this post


Link to post
Share on other sites
On 12/17/2018 at 10:44 PM, tokia said:

Hello,

 

My desktop Hackintosh is running macOS Mojave 10.14.2 with two dedicated GPUs installed: NVIDIA GTX 1080 Ti, AMD Radeon HD 7970.

  

The AMD GPU is used primarily under macOS and the NVIDIA one under Windows.

 

macOS boots without issues as long as there are no displays connected to the NVIDIA GPU. If a display is connected then the display connected to the AMD GPU will become blank. The system can be accessed using Screen Sharing/VNC.

 

There are no problems if I swap PCI-e slots for the GPUs so that the AMD GPU is in the first slot (primary GPU), but I prefer not to do this.

 

I have tried to remove the whole PCI (bridge) device in the DSDT file and all the lines that refer to it. The PCI entries in ioreg and System Information are gone but System Information still shows an NVIDIA GPU under Graphics/Display.

 

Many of the suggestions I have found in guides and forum posts do not seem to apply here. My problem with some of the guides and answers is that they give the solution without explaining how anything works, or they tell you what to do without explaining the reasons behind it.

 

What else can I do? Thank you for any assistance you can provide!

 

I have attached some files that may help you help me.

 

DSDT_BIOS_3101.zip contains the original ACPI (*.aml) files without any patches.

Send me Steffens-iMac.zip is a file produced by RunMe.app, and do contain simple patches to rename some devices.

DSDT.dsl.patch is a diff of the original DSDT.dsl file and the one with the PCI devices removed (commented out).

 

Motherboard: ASUS Rampage V Extreme (X99), BIOS version 3101 (macOS does not boot with anything newer).

Clover version: 4644 (macOS does not boot with the latest one, 4798).

 

DSDT.dsl.patch:


--- /Users/sl/Desktop/DSDT_BIOS_3101/DSDT.dsl	2018-12-17 05:24:30.000000000 +0100
+++ /Volumes/EFI/EFI/CLOVER/ACPI/patched/DSDT.dsl	2018-12-17 16:52:08.000000000 +0100
@@ -5,7 +5,7 @@
  * 
  * Disassembling to symbolic ASL+ operators
  *
- * Disassembly of DSDT.aml, Mon Dec 17 05:24:30 2018
+ * Disassembly of DSDT.aml, Mon Dec 17 04:01:52 2018
  *
  * Original Table Header:
  *     Signature        "DSDT"
@@ -2128,7 +2128,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -2274,7 +2274,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -2420,7 +2420,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -2570,7 +2570,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -2803,12 +2803,14 @@
                 If ((CSTA (Arg0, Arg1) == 0x00))
                 {
                     FLAG = 0x00
-                    PRID (APID = 0xFF) = 0xFF
+                    APID = 0xFF
+                    PRID = 0xFF
                 }
                 Else
                 {
                     Local0 = APID
-                    PRID (FLAG = 0x01) = Local0
+                    FLAG = 0x01
+                    PRID = Local0
                 }
 
                 Return (APIC)
@@ -15259,7 +15261,7 @@
                             ^BR2B.OSHP ()
                             ^BR2C.OSHP ()
                             ^BR2D.OSHP ()
-                            ^BR3A.OSHP ()
+                            //^BR3A.OSHP ()
                             ^BR3B.OSHP ()
                             ^BR3C.OSHP ()
                             ^BR3D.OSHP ()
@@ -26861,7 +26863,7 @@
                 }
             }
 
-            Device (BR3A)
+            /*Device (BR3A)
             {
                 Name (_ADR, 0x00030000)  // _ADR: Address
                 OperationRegion (MCTL, SystemMemory, 0xE0013188, 0x04)
@@ -27496,7 +27498,7 @@
                 {
                     Name (_ADR, 0xFFFF)  // _ADR: Address
                 }
-            }
+            }*/
 
             Device (BR3B)
             {
@@ -30267,7 +30269,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -30567,21 +30569,21 @@
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4158,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4158,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0001,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x5758,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x5758,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x5858,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x5858,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
@@ -37604,7 +37606,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -37904,21 +37906,21 @@
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4558,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4558,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0001,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4259,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4259,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4359,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4359,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
@@ -44941,7 +44943,7 @@
                             ^^PCI0.BR2B.OSHP ()
                             ^^PCI0.BR2C.OSHP ()
                             ^^PCI0.BR2D.OSHP ()
-                            ^^PCI0.BR3A.OSHP ()
+                            //^^PCI0.BR3A.OSHP ()
                             ^^PCI0.BR3B.OSHP ()
                             ^^PCI0.BR3C.OSHP ()
                             ^^PCI0.BR3D.OSHP ()
@@ -45241,21 +45243,21 @@
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4958,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4958,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0001,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4559,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4559,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                     0x0000,             // Granularity
                     0x4659,             // Range Minimum
-                    0x0000,             // Range Maximum
+                    0x4659,             // Range Maximum
                     0x0000,             // Translation Offset
                     0x0000,             // Length
                     ,, , TypeStatic, DenseTranslation)
@@ -53823,7 +53825,7 @@
                 Notify (\_SB.PCI0.BR2D.H007, Local0)
             }
 
-            If ((\_SB.PCI0.BR3A.PMEP == 0x01))
+            /*If ((\_SB.PCI0.BR3A.PMEP == 0x01))
             {
                 Local0 = \_SB.PCI0.BR3A.PMEH (0x05)
             }
@@ -53848,7 +53850,7 @@
                 Notify (\_SB.PCI0.BR3A.H005, Local0)
                 Notify (\_SB.PCI0.BR3A.H006, Local0)
                 Notify (\_SB.PCI0.BR3A.H007, Local0)
-            }
+            }*/
 
             If ((\_SB.PCI0.BR3B.PMEP == 0x01))
             {
@@ -54608,11 +54610,11 @@
                     \_SB.PCI0.BR2D.PMEP = 0x01
                 }
 
-                If ((Local1 == 0x07))
+                /*If ((Local1 == 0x07))
                 {
                     \_SB.PCI0.BR3A.PMES = 0x01
                     \_SB.PCI0.BR3A.PMEP = 0x01
-                }
+                }*/
 
                 If ((Local1 == 0x08))
                 {
@@ -54879,10 +54881,10 @@
                 Notify (\_SB.PCI0.BR2D, 0x02)
             }
 
-            If ((\_SB.PCI0.BR3A.DEVS () != 0x00))
+            /*If ((\_SB.PCI0.BR3A.DEVS () != 0x00))
             {
                 Notify (\_SB.PCI0.BR3A, 0x02)
-            }
+            }*/
 
             If ((\_SB.PCI0.BR3B.DEVS () != 0x00))
             {
@@ -55927,10 +55929,10 @@
                 {
                     Notify (\_SB.PCI0.BR2D, 0x00)
                 }
-                Case (0x28)
+                /*Case (0x28)
                 {
                     Notify (\_SB.PCI0.BR3A, 0x00)
-                }
+                }*/
                 Case (0x29)
                 {
                     Notify (\_SB.PCI0.BR3B, 0x00)
@@ -56736,11 +56738,11 @@
         }
     }
 
-    Scope (_SB.PCI0.BR3A)
+    /*Scope (_SB.PCI0.BR3A)
     {
         Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
         {
-            If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */))
+            If ((Arg0 == ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") / * Device Labeling Interface * /))
             {
                 If (((Arg1 == 0x02) && (Arg2 == 0x00)))
                 {
@@ -56765,7 +56767,7 @@
                  0x00                                           
             })
         }
-    }
+    }*/
 
     Scope (_SB.PCI1.QR1A)
     {

 

DSDT_BIOS_3101.zip

Send me Steffens-iMac.zip

DSDT.dsl.patch


put the nvidia gpu on first pcie slot and amd gpu on secondry pcie slot 
make sure you have lilu + whatevergreen kexts in clover 
then boot with -radoff boot flag . 
it will disable amd gpu drivers and let you boot with nvidia gpu .

Share this post


Link to post
Share on other sites
On 12/20/2018 at 1:00 PM, XLNC said:

put the nvidia gpu on first pcie slot and amd gpu on secondry pcie slot 
make sure you have lilu + whatevergreen kexts in clover 
then boot with -radoff boot flag . 
it will disable amd gpu drivers and let you boot with nvidia gpu . 

Thank you for your reply!

 

Do you mean boot Windows with the -radoff boot flag?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Trung_Nguyen
      Hi, So I have been working to get the OpenCore bootloader to work on my E6230.
       
      What works:
      - QE/CI
      - Brightness slider
      - Brightness hotkey (Fn+Arrows)
      - USB2
      - Keyboard
      - Trackpad
      - Everything else except below, ig
       
      What does not(YET):
      - Audio (Actually, It detects the correct layout, but it doesn't recognize the speakers. My speakers are tested with the Preboot Diagnostics)
      - USB3.0(p/s: Patching PCI0._INI to get a Darwin system with OSYS=0x07D9 will stall the machine early)
      - Sleep/wake (cant wake up after sleep)
       
      Why I'm trying OpenCore:
      - Boot time is impressive (10s new installation here, compare to about a minute on Clover)
       
      P/s: If you haven't familiar with OpenCore, It loads ACPIs, Kexts in the order specified in the config.plist
      - My BIOS version is A11 (My battery does not hold any charge, AAR, I can't update the firmware).
       
      Please help me with the remaining, thanks
       
      Thanks
       
      EFI 2.zip
       
      Almost forgot: native ACPI
      origin.zip
    • By brerackl
      Good evening,
       
      I used to mess around with iATKOS back in 2011, I since have been out of the loop and have gone through several different PC's.
      Now I have built a new PC and would like to install High Sierra to my external SSD.
      I have gotten as far as installing clover and the .raw image to my USB stick but I am getting stuck on the +++++++++++ then reboot problem.
      I realize a LOT has changed and I am having a bit of trouble figuring it out. 
       
      My PC's specs are as follows:
       
      CPU:
                  Intel Core i7 7820X
       
      RAM:
                  32GB Ballistix RGB Tactical Tracer (by Micron)
       
      Motherboard:
                  EVGA X299 FTW K
       
      Graphics:
                  NVIDIA RTX 2070 (EVGA)
       
      Storage:
                  4TB Western Digital HDD
                  1TB Samsung SSD 970 EVO 1TB
                  480GB Micron SSD
       
      If someone can help point me in the right direction that would be amazing, I have tried using some of the efi files for different x299 setups and such but no luck same results, played with different boot flags and options but everything is so much different I don't really know what does what. 
      I would very greatly appreciate if anyone can point me to some reading or a specific set of files to get me past this error as I haven't the slightest why it is even doing this. Mind you the last time I played around with this was back in 2011 with iATKOS and CD's, I have no CD drive in this build and need to do this via USB and as I understand this is 100% possible I just need the right boot setup and settings.
       
      Thank you in advance,
      Brett
    • By simras
      Hello,

      I am trying to make a new Hackintosh under 10.13 with this specs:
      i7 6800K,
      Asus X99-E
      Asus GTX 970

      But the problem is that I can't pass those errors :
      - couldn't allocate runtime area
      - end randomseed ++++++++++++++ _

      I have always passed this thing on all hackintoshs that I have done, but here, impossible.

      Tried those tests :
      - AptioMemoryFix alone,
      - AptioMemoryFix with EmuVariableUefi and RC Scripts,
      - OsxAptioFix2Drv-free2000 with EmuVariableUefi and RC Scripts,
      - Test2-2016.efi with OsxAptioFixDrv, EmuVariableUefi and RC Scripts,
      - Test2-2016.efi with OsxAptioFix2Drv, EmuVariableUefi and RC Scripts,
      - Test2-2016.efi with OsxAptioFix2Drv, OsxAptioFixDrv, EmuVariableUefi and RC Scripts,
      - Test2.efi with OsxAptioFixDrv, EmuVariableUefi and RC Scripts,
      - Test2.efi with OsxAptioFix2Drv, EmuVariableUefi and RC Scripts,
      - Test2.efi with OsxAptioFix2Drv, OsxAptioFixDrv, EmuVariableUefi and RC Scripts.

      I have tried all this with npci=0x3000 that I have never used before instead of npci=0x2000

      I have done an Hackintosh on Asus X99 Deluxe II and it pass with AptioMemoryFix with EmuVariableUefi and RC Scripts....

      I have tried to reset NVRAM with F11.

      I have tried with 1 RAM stick that I have indicate in the SMBIOS :
      https://hackintosher.com/forums/thread/mapping-ram-and-dimm-slots-on-a-hackintosh-with-clover-smbios.365/
       
      I have follow KGP guide for X99 :
       
      The BIOS settings are exactly the same.

      I link my CLOVER folder.

      Thank you.
      CLOVER.zip
    • By tonyx86
      I was inspired by @duduclx post for installing El Capitan on a Dell Latitude E6410, so I decided to install Mojave 10.14.5.  Everything works perfectly (including sleep with the solution described later in this thread).  I'm starting this thread hoping to help others install Mojave on their E6410s.  This thread is not currently intended to be an installation guide and is better suited to the intermediate/advanced hackintosher.  Eventually, it may evolve into a guide.
       
      I started with this thread and ended up with the system captured in the attached files.  The keys were to change the LPCB._DSM.Name to "3b09" and remove all CLOVER configs not necessary for Mojave, plus some other items mentioned below.
       
      My system is as follows:
      Dell Latitude E6410 (I7-620m, Nvidia 3100M, 8GB DDR3, 512GB SSD, 1440x900 display, BIOS: A17) MacOS: Mojave 10.14.6 (APFS) (Patched with DosDude Mojave Patcher 1.3.3) MacModel: MacBookPro 6,2 (LPCB._DSM.Name "pci8086,3b09") Kexts: Lilu 1.3.6, VoodooHDA 2.9.2, AirportBrcmFixup 2.0.0, IntelMausiEthernet 2.4.1d1, ACPIBatteryManager 1.90.1, BrcmPatchRam2.kext, BrcmFirmwareRepo.kext, VoodooPS2Controller (the "Refined ALPS Touchpad" version - release 5, not the original version), USBInjectAll (with custom SSDT-UIAC) Wi-Fi: Broadcom BCM 94352HMB (with AirportBrcmFixup.kext) CLOVER (Legacy): R4961  
      Configuration items that may be different from what you have seen in other E6410 configurations
      LPCB._DSM patched with device-id "3b09" AND "name", "pci8086,3b09" for native Nehalem power management with MacBookPro 6,2 ECDV renamed to EC so that AppleBusPowerController loads AGP.VID._DSM patched with device-id "0a29" so that AppleGraphicsPowerManagement loads  No CLOVER Generate P or Generate C States (with the correct LPCB._DSM and MacBookPro 6,2, these CLOVER options are unnecessary for this architecture and only limit max multiplier and reduce number of P states) DSDT patched to include HDAU device (device-id 0x0be3)  
      What is NOT working:
      Sleep is not working with the files attached to this first post, but I have found the solution for sleep/wake.  Read Known Issues below. Display brightness can be controlled with keyboard keys, but cannot be controlled with slider in Display settings.  The slider appears in Display settings (because of the backlight DSDT injection in AGP.VID._DSM), but the slider doesn't work (yet).  Haven't spent time to figure this out, but would love help. Graphics Power Management - AGPM loads (because 10de,0a29 device is injected), but there's no evidence that 3100m frequency and voltage is changing.
        What is NOT tested:
      SD Card Slot Smartcard Reader eSata (I have this disabled in my BIOS) Firewire Port (it does appear in the Network settings, just haven't tried it) Microphone Jack PC Card Slot (I have this disabled in my BIOS)  
      What IS working:
      Everything else not mentioned above.   Speedstep/CPUPowerManagement is perfect, system temps are low, CPU multiplier operates as expected, battery life is long Shutdown is fast Display/graphics acceleration is perfect (thanks to DosDude's Mojave patcher) Brightness (adjusted with brightness keys on keyboard) works perfectly Battery Manager works (battery status is displayed in menu bar) simply by installing ACPIBatterManager.kext. Wi-Fi (after changing to Broadcom BCM94352HMB and installing AirportBrcmFixup.kext) Audio (volume adjustable, volume indicator appears in menu bar).  Switched to VoodooHDA from AppleALC after AppleALC caused slow boot due to "IOHDACodecFunction timeout." Ethernet port (with IntelMausiEthernet.kext) Broadcom BCM20702A0 Bluetooth (with BrcmPatchRam2.kext and BrcmFirmwareRepo.kext) Optical Drive External VGA (with corrected NVCAP.  Need NVCAP 04000000 00000100 0E000000 00000007 00000000 (credit: here) for working external VGA display. Headphone jack Display Port (tested using DP > HDMI adapter) Camera  
      Known issues and their solutions
      AAPL,clock-id and device_type do not appear in IORegistry for EHC1.  Solution is to use CLOVER on-the-fly patching/fixing/renaming for EHC1 and EHC2.  This has been completed and tested, but does not fix the sleep behavior.  This fix is not reflected in the attached files. ALPS trackpad performance is not good with the "standard" VoodooPS2Controller.kext that I initially used.  Switching to the "Refined ALPS TouchPad driver" is a big improvement.  I've implemented and tested this on my system.  The ALPS version of VoodooPS2Controller.kext mixes up a few keys.  Need to switch the Command and Option keys (System Preferences > Keyboard > Modifier Keys) and change keyboard type to ISO European.  The updated VoodooPS2Controller.kext is not reflected in the attached files. This proposed configuration uses an injected device-id (10de,0a29) for NVidia 3100m to get AGPM to load.  While I haven't observed any performance differences, a better approach may be to inject AGPM properties for device 10de,0a6c (the actual device-id for the 3100m).  This AGPM method is discussed later in this thread.  I have briefly tested this "FakeSMC.kext method" for injecting AGPM attributes without any noticeable changes in laptop/graphics behavior and have not updated attached files to reflect this change. IOHWControl is not loaded under AGPM (Should be AGP > VID > NVDA,Display-A@0 > NVDATesla > AGPM > gpu-control > IOHWControl as viewed in IORegistryExplorer).  It is loaded on a real MacBookPro6,2 running Mojave and is loaded on this Dell Latitude E6410 running High Sierra.  If I "Inject NVidia" via CLOVER, IOHWControl loads properly.  I have made this change and am testing it on my system, but have not updated the attached configuration files. The Dell Latitude DSDT (BIOS A17) has a bug in Method (GNOT).  In the method, the expression  If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) always evaluates to TRUE, so the patched DSDT has no dependency on the value of OSYS.  I suspect that LOr should be replaced with LAnd, so that this expression is TRUE for variants of Windows 2001 and False for any other OS.  While this may have no affect on MacOS, it makes one wonder how such an obvious bug made it through Dell QA and is still present in BIOS A17.  Also makes one wonder whether the sleep problem (which no one has solved) was fixed in Windows to address another DSDT bug. The DSDT patch that duduclx refers to as "Intel GMA Ready" in his El Capitan Guide is not applied correctly to the DSDT attached to this post.  Somehow, the contents of patched _DSM are located in the PCI0.VID device instead of in Method (_DSM) within the PCI0.VID device.  MaciASL didn't complain about this, so it went unnoticed, but it doesn't appear to have had any affect.  I have completely removed this "Intel GMA Ready" patch from my DSDT since it is not necessary for Dell Latitude E6410's with NVidia 3100m, but have not updated the attached DSDT. The assigned value of ACOS in the DSDT is conditional on the operating system.  There is no condition for "Darwin."  The solution is to add a condition for "Darwin" (making it equivalent to one of the defined operating systems (e.g. Linux, Win7, etc), analogous to the assignment of OSYS.  I made this change in my DSDT (not yet reflected in the attached files), but have not observed any behavioral differences (sleep or otherwise).  EDIT: Another way to handle this might be to override _OSI with XOSI (defined in a custom SSDT).  Still learning about XOSI and haven't yet drawn a conclusion.  I'm currently experimenting with ACOS and OSYS equivalent to Win7 and Linux (manually patched in my DSDT which has not yet been updated as a new attachment to this post). The portType of the Internal Bluetooth device is portType=0 which, according to Rehabman's comments in SSDT-UIAC-All.dsl, is an external USB 2 port.  I believe that this should be an internal USB port (portType=2).  My custom SSDT-UIAC.dsl is wrong.  I just learned through trial and error that the HUB1 and HUB2 definitions in Rehabman's SSDT-UIAC-ALL.dsl apply to the ports on the EHCx USB hubs.  The solution is to include the HUB1 definition in SSDT-UIAC.dsl and change portType to 2 for HP15.  I have not attached an updated SSDT-UIAC.aml to this first post, but my current EFI includes an updated SSDT-UIAC.aml with ports HP15, 16 17 and 18 set to internal (portType = 2).  This change doesn't appear to affect/fix sleep, but it may prevent instant wake if we get sleep working. There are minor differences between a real MacBookPro6,2 IORegistry dump and this HackBookPro6,2 IORegistry dump that can be resolved with simple DSDT edits.  I am now running with these changes, but haven't found these changes to make any difference in operational behavior.  These changes are not reflected in the attached DSDT.
      Rename Device (AC) -> Device (ADP1) Remove UID from Device (HPET) Add compatible ID "PNP0C01" to Device (HPET) Change ADP1:_STA from 0x0F to 0xFFFFFFFF Enable Ambient Light Sensor and renamed to Device (ALS0) from Device (ALS) Add compatible ID "smc-als" to ALS0 Rename LID -> LID0 Change "name" definitions to Buffers in _DSM methods Rename Device (PBTN) to PWRB Rename Device (SBTN) to (SLPB) Change HDAU.hda-gfx from "onboard-1" to "onboard-2" Change GFX0.hda-gfx from "onboard-1" to "onboard-2" Sleep / Wake does not work with the basic DSDT edits.  I have discovered that Sleep / Wake can be made to work by adding discrete graphics _OFF() and _ON() methods to _PTS and _WAK methods respectively (borrowed the concept and code from a working E6430 DSDT: Credit here: https://osxlatitude.com/forums/topic/9248-working-sleep-on-intel-hd-and-nvidia-nvs-on-dell-latitude-e6430-optimus-enabled-or-disabled/page/6/.  I currently have sleep working on my Latitude E6410 and am continuing to test it.  The solution is documented later in this thread, but files are not yet attached to this first post.  
      Brief Installation Guide (for the experienced Hackintosher):
      Follow duduclx's guide for BIOS config Create your MacOS installer USB (Use DosDude's Mojave Patcher for Mojave) (start with High Sierra and not Mojave if you're new to hackintosh). Install CLOVER (Legacy) on installer USB using attached EFI as your guide for patched ACPI, kexts and config.plist Install MacOS to your SSD.  When you run DosDude's Mojave Patcher, DO NOT install LegacyUSBInjector.kext - you're going to use Rehabman's USBInjectAll.kext.  Also, do not install the DosDude SIP kext (you're using CLOVER to manage SIP). Install the following kexts in /Library/Extensions:  ACPIBatteryManager.kext, AirportBrcmFixup.kext, BrcmFirmwareRepo.kext, BrcmPatchRAM2.kext, FakeSMC.kext, FakeSMC_ACPISensors.kext, FakeSMC_CPUSensors.kext, FakeSMC_GPUSensors.kext, FakeSMC_LPCSensors.kext, IntelMausiEthernet.kext, Lilu.kext, USBInjectAll.kext, VoodooPS2Controller.kext (the "Refined ALPS Touchpad driver," not the original) Switch Command and Option keys to compensate for Refined ALPS driver issue (System Preferences > Keyboard > Modifier Keys).  Also change keyboard type to ISO European to fix the [ ` ~ ] key (to the left of the "1" (one) key. Install VoodooHDA Install HWMonitor application  
      Tips for Improved Performance (on this and other older systems)
      System Preferences > Spotlight > Search Results: Uncheck all options System Preferences > Spotlight > Privacy: Add all Volumes System Preferences > Accessibility > Display: Check "Reduce motion" System Preferences > Accessibility > Display: Check "Reduce transparency"  
      Other tips
      If your fan is always running and temps are good, try pressing Fn + z

      CLOVER.zip
×