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.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.  
      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 r00tdvd
      I have E6540 working almost perfectly fine with Mojave 10.14.5 except for couple of things:-
       
      1- HDMI audio not syncing properly with TV ! I never had that issue.
      2- Webcam is not working and I need it for meetings and stuff.
       
      I have attached my fully working EFI.zip also the clover origin dump E6540_origin.zip files.
       
      I am also wondering is it possible now to get the E6540 to work with the AMD Radeon HD 8790M instead of the Intel(R) HD Graphics 4600 but also get the HDMI working the with TV?
    • By Aldaro
      I have been running macOS Mojave on my system for 3 months and everything was working pretty well.  After taking an update for clover, my entire system got wrecked, and I cannot even boot to an installation environment anymore (which I really need to do since I am starting back at square one).  I still have the old EFI folder backed up, but I know it'll only be a matter of time before Apple introduces an update that requires me to update Clover in order to work correctly.  I have tried all the available memory fixes, but none of them seem to work.  I was previously using the original osxaptiofix; so, I gave v2, and v3 a try, but to no success.  I read somewhere on the main discussion board for clover that AptioMemoryFix was no longer going to be supported and I therefor decided to skip over it (not to mention it isn't even available in newer clover installation packages).
       
      System specs:
      Motherboard: GIGABYTE Z390 M GAMING
      CPU Intel core i5 9600k @ stock 3.7GHz
      RAM 32GB DDR4 2667MHz
      GPU AMD Radeon RX 580 with 8GB of GDDR5
      SSD Intel 660p 512GB NVME
      NIC: Intel i210 10/100/1000 as it is natively supported in macOS
       
      I have been using the iMac 19,1 SMBIOs as I built this machine to match it as close as humanly possible.  As for my UEFI settings, I did the usual:
      Disabled Windows specific features and secure boot
      Enabled XHCI hand off
      Enabled Above 4G decoding
      Disabled onboard NIC since it is made irrelevant by my intel i210
       
      --INJECT KEXTS--
      FakeSMC
      Lilu
      WhateverGreen
      AppleALC
      USBInjectAll -- WITH PATCHED SSDT in /EFI/CLOVER/ACPI/patched
      Below are images of the errors I am receiving when trying to boot the macOS Mojave installer.
       
      with original osxaptiomemoryfix

       
      osxaptiofixv2

       
      osxaptiofixv3

       
      Anyway, if somebody can help me figure out what's going on, that'd be greatly appreciated.  My ultimate goal is to get an install with minimal clover patches as to be better prepared when the winds of change from Apple come roaring.
       
      p.s: I have also attached a copy of my EFI folder
       
       
      EFI.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.
×