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 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 except for sleep.  I'm starting this thread hoping to help others install Mojave on their E6410s and to diagnose and resolve the sleep issue.  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 (Many thanks, @duduclx !!!) 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.5 (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 (display goes blank, but power light stays on.  System cannot wake and must be forced off with power button) 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) Camera (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: @PlutoDelic) for working external VGA display. Headphone jack Display Port (tested using DP > HDMI adapter)  
      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.dsl to this first post, but my current EFI includes an updated SSDT-UIAC.dsl 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.  
      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. 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
    • By fusion71au
      Clover r4989 ISO compiled with GCC and minimal config.plist compatible for use in VMWare Workstation.
       
      Tested with unlocked Workstation 15 running OSX 10.9 -->10.15 guest in Windows X64 host.
       
      Installation
      1. Download and unzip "EFI_Clover_r4989 for VMware.zip". Mount Clover-v2.4k-4989-X64.iso by double clicking on it.
      2. Mount your VM's EFI System Partition eg in terminal
      sudo diskutil mount disk0s1   3. Copy EFI folder from step 1 into the EFI partition
      4. Shutdown the VM, add bios.bootDelay = "3000" to your VM's vmx file
      5. Reboot your VM, press <F2> to access the VMware Boot Manager and add CLOVERX64.efi to the boot menu.
       
      Substitute your own unique and valid MLB and ROM variables in the /EFI/CLOVER/config.plist (Rt Variables section) to activate iMessage/Facetime on your VM.
    • By Drovosek
      For my laptop Hp Pavilion 15-au028ur worked patch for HP 3165sf
      I also experimented with manual patching and assembled my own version:

      #Maintained by: RehabMan for: Laptop Patches #Battery_HP-DV6-1380ek.txt # created by RehabMan 2019-xx-xx # based on Battery_HP-DV6-1380ek.txt # additional patches for dv6-1380ek provided by chihab222, credit gsly # works for: #  HP Pavilion 15-au028ur, per Drovosek into method label B1B2 remove_entry; into definitionblock code_regex . insert begin Method (B1B2, 2, NotSerialized) { Return (Or (Arg0, ShiftLeft (Arg1, 8))) }\n end; # 16-bit EC0 registers #                BADC,   16, #                BFCC,   16, #                MCUR,   16, #                MBRM,   16, #                MBCV,   16, into device label EC0 code_regex BADC,\s+16, replace_matched begin ADC0,8,ADC1,8, end; into device label EC0 code_regex BFCC,\s+16, replace_matched begin FCC0,8,FCC1,8, end; into device label EC0 code_regex MCUR,\s+16, replace_matched begin CUR0,8,CUR1,8, end; into device label EC0 code_regex MBRM,\s+16, replace_matched begin BRM0,8,BRM1,8, end; into device label EC0 code_regex MBCV,\s+16, replace_matched begin BCV0,8,BCV1,8, end; # 16-bit method access into method label CLRI code_regex (\^.*)MBRM replaceall_matched begin B1B2\(%1BRM0,%1BRM1\) end; into method label UPBS code_regex (\^.*)MBRM replaceall_matched begin B1B2\(%1BRM0,%1BRM1\) end; into method label UPBI code_regex (\^.*)BFCC replaceall_matched begin B1B2\(%1FCC0,%1FCC1\) end; into method label UPBS code_regex (\^.*)MCUR replaceall_matched begin B1B2\(%1CUR0,%1CUR1\) end; into method label UPBS code_regex (\^.*)MBCV replaceall_matched begin B1B2\(%1BCV0,%1BCV1\) end;
      The only problem - when it reaches 100% charge, it no longer falls until you reset the CMOS (15-30 seconds hold down the power button on the laptop). In the rehabman guide there is a patch for ASUS in this case, there is a patch method FBST. There is no such method in my DSDT.
      Can someone help?
      Here's a patched and clean DSDT: https://vk.com/doc183234383_509697931
    • By Nobody.OSC
      I have installed MacOS Mojave successfully. But have some serious issue with graphics and apps freezing.
      1. Almost every apps freeze at some point. even System Preference freeze whenever click on any option. then either have to quit or force quit.
      2. When using any apps or loading something, that apps window stuck on screen, it doesn't go even after Killing the apps. Also when write something in Terminal, text not appear on terminal screen. if click inside the Terminal again, then all text show up suddenly. A lot of others weird problem happen.
      Also most time when booting, apple logo and loading bar stuck on screen. If write password blindly and press Enter, then Desktop screen comes.
      3. Sometimes machine turn off directly and then restart itself.

      My laptop configuration:
      Model: ASUS X510UQ
      CPU: Core i5-7200U
      GPU: Intel HD620 - 1920x1080 + Nvdia 940MX
      Chipset: Intel(R) Xeon(R) E3 - 1200
      Storage: 120GB SATA SSD + 1TB HDD

      @ I'm Using CLover Bootloader
      @ Disabled Nvdia with SSDT patching.
      @ System Updated to 10.14.5

      Here is the attachment of my "EFI + System Log + Installed Extensions + kextstat result":
      All Files.zip
×