Setup & Software Discussions
iMAC dGPU + eGPU help. How to get internal screen working?
 

iMAC dGPU + eGPU help. How to get internal screen working?  

  RSS

abelviking
(@abelviking)
Eminent Member
Joined: 4 months ago
 

Hello,
So been at this for 3 days, about 14 hours really. Gotten the eGPU to work with the dGPU falling in the Code43 category. Done a LOT of reading, closests threads:
https://egpu.io/forums/pc-setup/how-to-keep-mbps-irisiris-pro-activated-when-booting-into-windows-boot-camp/ -> How to activate Internal display for Laptops ONLY, iMAC has its iGPU disabled by Apple's firmware.

Code 43 categories, dGPU and ePGU for NVIDIA NON thunderbolt PCI Express connections: https://egpu.io/forums/expresscard-mpcie-m-2-adapters/

Most important pieces of information so far are:

Posted by: itsage

Apple disabled the iGPU on all iMacs if they have a dGPU. apple_set_os.efi does not help

Posted by: geaguirre80

I thought this method worked for iGPU models only. I tried with a 2016 macbook pro 15" dGPU AMD 450 without luck. Instead I'm booting Windows 10 with CLOVER and custom DSDT and works pretty well.

So my question is, does anyone know of any iMAC build that does have 5K internal screen enabled, this one on the same environment I have (except he has a 1080ti and I have an RX 580) falls short at the internal black screen.
https://egpu.io/forums/builds/late-2015-27-imac-m390m-gtx108016gbps-tb2-aorus-gaming-box-via-tb3-tb2-adapter-win10-pravalorius/#post-56859

Sytem InfoiMAC Late 2015. dGPU AMD M390, OSX 10.12.6, Windows 17134.rs4_release.180410-1804(1803). GYGABYTE AORUS RX580 miniITX eGPU my signature


ReplyQuote
Jyin
 Jyin
(@jyin)
Estimable Member
Joined: 2 years ago
 

Only way I was able to get internal screen working on my 2017 iMac 5k was
a) Use nVidia card in eGPU
b) Use the AMD card in eGPU and use the internal display as MS Basic Display at 4K by disabling the dGPU.

For 2015 iMac 5K, I was able to do (b), didn’t try the (a) option since I got my 2017 before I got my 2080ti.

J

2017 iMac 5k 27inch RP580 TB3 + Vega FE/LC + Sonnet 550 + EVGA GeForce RTX 2080 Ti FTW3 ULTRA GAMING + Sonnet 550 + Mac/Win10


ReplyQuote
abelviking
(@abelviking)
Eminent Member
Joined: 4 months ago
 
Posted by: Jyin

Only way I was able to get internal screen working on my 2017 iMac 5k was
a) Use nVidia card in eGPU
b) Use the AMD card in eGPU and use the internal display as MS Basic Display at 4K by disabling the dGPU.

For 2015 iMac 5K, I was able to do (b), didn’t try the (a) option since I got my 2017 before I got my 2080ti.

J

How exactly did you go about doing that? When I disable the dGPU M390 no video is posted, either on external or internal. I'm using the bootcampdrivers.com and for the first time Device Manager sees both GPUs. Also, finally my internal screen is completely off but I'm having trouble in video games as both screens go off.

This post was modified 4 months ago

Sytem InfoiMAC Late 2015. dGPU AMD M390, OSX 10.12.6, Windows 17134.rs4_release.180410-1804(1803). GYGABYTE AORUS RX580 miniITX eGPU my signature


ReplyQuote
itsage
(@itsage)
Famed Member Admin
Joined: 3 years ago
 

Windows 10 1803 and newer have Graphics Options to assign a particular graphics card for apps/games. As long as you can get both the dGPU and eGPU working in Boot Camp then you can use eGPU to accelerate the iMac's internal display.

Best ultrabooks for eGPU use

eGPU enclosure buying guide


ReplyQuote
Jyin
 Jyin
(@jyin)
Estimable Member
Joined: 2 years ago
 
Posted by: abelviking
Posted by: Jyin

Only way I was able to get internal screen working on my 2017 iMac 5k was
a) Use nVidia card in eGPU
b) Use the AMD card in eGPU and use the internal display as MS Basic Display at 4K by disabling the dGPU.

For 2015 iMac 5K, I was able to do (b), didn’t try the (a) option since I got my 2017 before I got my 2080ti.

J

How exactly did you go about doing that? When I disable the dGPU M390 no video is posted, either on external or internal. I'm using the bootcampdrivers.com and for the first time Device Manager sees both GPUs. Also, finally my internal screen is completely off but I'm having trouble in video games as both screens go off.

First thing you want to do is to make sure the eGPU works in OS X.
This will verify the Hardware is correctly put together and functioning.

Since you have Retail AMD card, you should be able to use the Retail Driver.
You will either have to use the Device Manager to install, or hack the installer config (super easy, search in my post history for how to do it).
For 2015 iMac, you will also have to perform DSDT override. There is a nice write up on how to go about doing that in this forum.

You will also want to read up on my build.
Specifically, try using the TB2 port close to the Ethernet Port. Make sure you don’t have anything else connected to the other port.
Try it with nothing in USB ports either, it might help, although those shouldn’t impact eGPU.

J

This post was modified 4 months ago

2017 iMac 5k 27inch RP580 TB3 + Vega FE/LC + Sonnet 550 + EVGA GeForce RTX 2080 Ti FTW3 ULTRA GAMING + Sonnet 550 + Mac/Win10


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 9 months ago

ReplyQuote
abelviking
(@abelviking)
Eminent Member
Joined: 4 months ago
 
Posted by: itsage

Windows 10 1803 and newer have Graphics Options to assign a particular graphics card for apps/games. As long as you can get both the dGPU and eGPU working in Boot Camp then you can use eGPU to accelerate the iMac's internal display.

I recognize what you're talking about. I first saw it in an episode of Linus tech tips where they get a Bitcoin mining Nvidia GPGPU with absolutely NO ports to output video in TESTING mode through the Iris GPU. That left me dumbfounded because like YOU said in the enable iGPU guide, for iMACS apple disabled the iGPU. I wonder if it was because of the 5K display being too much for it....
I already found that option but my screen still goes black and I'm very bummed about that. I'm about to post my findings next. Is it true you need DSDT to remove error 12? That's where I'm confused. You'll see why in the following post.

This post was modified 4 months ago

Sytem InfoiMAC Late 2015. dGPU AMD M390, OSX 10.12.6, Windows 17134.rs4_release.180410-1804(1803). GYGABYTE AORUS RX580 miniITX eGPU my signature


ReplyQuote
abelviking
(@abelviking)
Eminent Member
Joined: 4 months ago
 
Posted by: Jyin
Posted by: abelviking
Posted by: Jyin

Only way I was able to get internal screen working on my 2017 iMac 5k was
a) Use nVidia card in eGPU
b) Use the AMD card in eGPU and use the internal display as MS Basic Display at 4K by disabling the dGPU.

For 2015 iMac 5K, I was able to do (b), didn’t try the (a) option since I got my 2017 before I got my 2080ti.

J

How exactly did you go about doing that? When I disable the dGPU M390 no video is posted, either on external or internal. I'm using the bootcampdrivers.com and for the first time Device Manager sees both GPUs. Also, finally my internal screen is completely off but I'm having trouble in video games as both screens go off.

First thing you want to do is to make sure the eGPU works in OS X.
This will verify the Hardware is correctly put together and functioning.

Since you have Retail AMD card, you should be able to use the Retail Driver.
You will either have to use the Device Manager to install, or hack the installer config (super easy, search in my post history for how to do it).
For 2015 iMac, you will also have to perform DSDT override. There is a nice write up on how to go about doing that in this forum.

You will also want to read up on my build.
Specifically, try using the TB2 port close to the Ethernet Port. Make sure you don’t have anything else connected to the other port.
Try it with nothing in USB ports either, it might help, although those shouldn’t impact eGPU.

J

I just lost my reply to you. I have no idea why.
There's also a weird logic when posting that makes it impossible to write the space :' ' character in the last line. I was editing so perhaps it is related.
Also 8 out of 10 times I get a ReCaptcha v3 error on the log in screen. This is the only browser/computer combo I can log in with so far. Just sharing. I've no idea if it's common. Cookies, different browsers, etc, makes no difference when I try to log in through Windows. Perhaps that is it.

Back to topic. 

First things first:
Considering your build information. The AORUS, being a compact design, lacks a mechanical switch. Instead it uses a gate switch that turns the PSU on when it sees voltage on the TB3 port. I cannot plug in this eGPU and only turn it on once the OS comes up. I can risk sparks by using the power cord, but don't like the idea.

OSX.  Booting in OSX makes the Aorus go full LED on and crank the fan to 100%. Neither of those things happens in Windows. Obvioiusly System Manager only Sees the M390. Forgot key information here since I had to write this twice, the OSX version is 12.6

Side note: On a borrowed 2018 Macbook pro with an RX550 and an iris running OSX 10.13.6 the eGPU runs out of the box.

Key piece of information:
My Bootcamp is on UEFI, because I'm using Windows To go. That is I'm booting Windows from an USB 3 drive. Don't have enough space for actual bootcamp. I've read how important that is for settings things up properly when enabling the iGPU ( you need both rrRT(can't recall the name) boot manager updated for Mac firmware and the enable iGPU EFI script on the EFI partition of the USB drive) then load the enable iGPU script followed by loading Windows.

Because of that it means I must figure out a way to put the DSDT config in the EFI partition of my already existing USB driver. I don't think I can use two USB drives to load the DSDT from USB/EFi rather than firmware and risk bricking my expensive MAC like it is warned in the DSDT guide. Yes, DSDT makes me nervous and today I read through the guide. The safe way to do it is to use the installer by macuser that even deals with AMD and TB2 specifics to format an USB drive and place the assembly code(Intel approach for MAC) in Memory. I would then have to figure out how to transfer that onto the already existing EFI USB 3 SSD running Windows, like they did for making the Mac think is booting in OSX and how to revert back in case I need to. Might have to get VMWARE out again.

Onto the fun stuff, ready for a school project table?

@itsage This is where the confusion begins.

Preamble: different driver combinations give different results. I can get things to work only under two combinations, out of those none is fully satisfactory and one is playable, as in I can use it on an external display.

 

Driver Combination Error Code&Location Results Comment
1.-OSX downloaded Bootcamp 2015 for M390
2.-Windows Update downloaded 2017 for RX580
Code 43 on M390 1.-The iMAC's display backlight is ON
2.-There's no video data coming on the iMAC display
3.-XConnect XComes up
4.-External display comes up with configurable resolution in Game
Too risky to leave IPS burning out.
1.-2017 Windows Update driver for everyone Code 12 on Hotplug - RX580 1.-Computer won't boot on cold plug
2.-eGPU ATTEMPTS to send data over to external display(you see alert that no input is coming in go away and the backlights come up in external display: 1080p TV)
Disabling the M390 doesn't do anything.
Disabling Camera and other peripherals neither.
1.-2018 AMD site's Driver for Apple Computers - M390
2.-Windows Update 2017 RX580 driver
Code 43 on M390 Same as row 1. Blocking Windows Update from installing drivers from the Internet actually prevents XConnect/RX580 from ever coming up. That's how I figured the Code 43 must be due to driver conflict and that the Bootcamp Apple drivers don't support eGPU/XConnect.
1.-Bootcampdrivers.com Adrenaline 19.3.1 for Anyone Code 12 on RX580 on Hotplug 1.-On hot plug the ePGu goes into Code 12.
2.-After a COLD plug(rebooting with ePGU attached) both GPUs are detected. This is the same behavior a Macbook Pro user noticed with the same eGPU.
3.-Finally, the internal display is OFF.
1.-First time I did this I noticed how slow the fan was.
2.-The LED lights NEVER come up.
3.-AORUS Gaming engine(this thing comes with a DVD, ha!) which I downloaded from gigabyte. com doesn't load, be careful not to use Xtreme Gaming but get Gaming Engine instead.
4.-I opted to override the fan settings on the Radeon Control panel and saved some GPU-Z logs for RPMs/GPU temps. The thing went up to 750 RPM and kept the GPU between 60 and 76 Celsius.
5.-Is playable but I can't stand how sharp the image looks on a TV after being spoiled by the 5K screen for so long. I had been playing older games for a while and 2 GB from the M390 was fine up to that point. Only wish it was a real 390... but Apple can't take the heat (unless is an I7 on a Macbook) 😉 . HAD TO VENT OUT. :mrgreen: 😈 

 

This post was modified 4 months ago

Sytem InfoiMAC Late 2015. dGPU AMD M390, OSX 10.12.6, Windows 17134.rs4_release.180410-1804(1803). GYGABYTE AORUS RX580 miniITX eGPU my signature


ReplyQuote
abelviking
(@abelviking)
Eminent Member
Joined: 4 months ago
 
Posted by: OliverB

Try this Bootcamp guide.

So basically I'm doing on row 4 plus step 6 of guide B.

And then, I think I've done that before. Will have to try again, thanks! No DSDT, hmmm...

Sytem InfoiMAC Late 2015. dGPU AMD M390, OSX 10.12.6, Windows 17134.rs4_release.180410-1804(1803). GYGABYTE AORUS RX580 miniITX eGPU my signature


ReplyQuote
Jyin
 Jyin
(@jyin)
Estimable Member
Joined: 2 years ago
 

The DSDT override was required for my 2015 iMac and the Vega.
Obviously your case ‘might’ not be, since it’s been over an year since I had it running on 2015, and you are on 580.

I never loaded the DSDT from EFI. I put the Windows on test-mode and load the DSDT from registry. That way, all you need to do is to disable the test-mode and you are back to factory DSDT.

Since the days I used the 2015, Apple have blocked the eGPU usage in OS X (on any Macs with TB2).
There is a script to get around that, I think it’s called purge-wrangler

You can always put the eGPU on power strip and use its switch to turn it on/off. That’s what I do, since my desk has one built-in with individual switch per outlet. 

Check this post out too.

https://egpu.io/forums/pc-setup/imac-27-2015-egfx-bb-550-vega-fe-lc/

J

This post was modified 4 months ago

2017 iMac 5k 27inch RP580 TB3 + Vega FE/LC + Sonnet 550 + EVGA GeForce RTX 2080 Ti FTW3 ULTRA GAMING + Sonnet 550 + Mac/Win10


itsage liked
ReplyQuote
abelviking
(@abelviking)
Eminent Member
Joined: 4 months ago
 
Posted by: abelviking
Posted by: OliverB

Try this Bootcamp guide.

So basically I'm doing on row 4 plus step 6 of guide B.

And then, I think I've done that before. Will have to try again, thanks! No DSDT, hmmm...

This.. WORKED!!!  No DSDT necessary(at this point! The bootcampdrivers.com were already allocating both cards properly so all I have to do to get internal going was.

  1. Hot Plug RX580
  2. Uninstall RX580 and leave the drivers on.
  3. Reboot.

Thanks so much @oliverb
@itsage and @nando4, might want to take a look at to why  that is given that 32bit is still the allocated space for devices. Or is it?
I'll gather some more data and update my build. I posted it in the middle of the week but I don't see it coming up in the leaderboards.
https://egpu.io/forums/builds/imac-late2015-27-inch-5k-dgpu-radeon-9-m390-aorus-gaming-box-rx58016gbps-tb2-win10-build-17134-rs4_release-180410-1804-abelviking/
Thanks everybody for bearing with me and helping me out, given all the reading I had you do. Given all the reading I also did, this was actually easier than I expected. I'll make sure to post my OSX updated BIOS in my build, just in case.

I'll update the thread if the Hotplug/Uninstall approach gives me any trouble.

Update:
@[email protected]nando4.AIDA64 GPUGPU Benchmark errors out with Memory Access error. Also weird, the DirectX Tab reports 3 GB of RAM on the thing but Mantle and dxdiag report all 8...also curious, the M390 is reported as a Radeon 7850.

 

This post was modified 4 months ago

Sytem InfoiMAC Late 2015. dGPU AMD M390, OSX 10.12.6, Windows 17134.rs4_release.180410-1804(1803). GYGABYTE AORUS RX580 miniITX eGPU my signature


OliverB liked
ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 9 months ago
 
Posted by: abelviking

This.. WORKED!!!  No DSDT necessary(at this point! The bootcampdrivers.com were already allocating both cards properly so all I have to do to get internal going was.

  1. Hot Plug RX580
  2. Uninstall RX580 and leave the drivers on.
  3. Reboot.

Thanks so much @oliverb

@abelviking, Great it worked for you, too. I am doing it by this way all the time. Having working both AMD eGPU on external and AMD dGPU on internal display.

@mac_editor wanted to write a script to do it automatically, but I guess it's difficult. Anyway, it's easy to apply manually.

I have never used DSDT. Never needed it. It's a tool that is only necessary some particular older Macs and older Windows Version. I can tell for sure that Error 12 is no issue at all with Windows 10 Build 1803 or newer on all Macs I have tested.

This post was modified 4 months ago

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680


ReplyQuote
abelviking
(@abelviking)
Eminent Member
Joined: 4 months ago
 
Posted by: OliverB
Posted by: abelviking

This.. WORKED!!!  No DSDT necessary(at this point! The bootcampdrivers.com were already allocating both cards properly so all I have to do to get internal going was.

  1. Hot Plug RX580
  2. Uninstall RX580 and leave the drivers on.
  3. Reboot.

Thanks so much @oliverb

@abelviking, Great it worked for you, too. I am doing it by this way all the time. Having working both AMD eGPU on external and AMD dGPU on internal display.

@mac_editor wanted to write a script to do it automatically, but I guess it's difficult. Anyway, it's easy to apply manually.

I have never used DSDT. Never needed it. It's a tool that is only necessary some particular older Macs and older Windows Version. I can tell for sure that Error 12 is no issue at all with Windows 10 Build 1803 or newer on all Macs I have tested.

I just remembered I have to post my BIOS version on my build page. Thanks for reminding me with your comment. My MAC is old: 2015...so it must be the Bios/Windows Combination.

About the Script: I use Task Scheduler to shutdown my mac every night. If you get DevCon you can:

  1. Find running applications
  2. Exit Running Applications
  3. Run DevCon to uninstall driver.
  4. Shutdown.

All this can be done from a single bat script, or you can just do 3 and 4. I wonder if Windows has an equivalent for Startup Items for shutdown?...that way it can be triggered by action rather than by time.

This post was modified 4 months ago

Sytem InfoiMAC Late 2015. dGPU AMD M390, OSX 10.12.6, Windows 17134.rs4_release.180410-1804(1803). GYGABYTE AORUS RX580 miniITX eGPU my signature


ReplyQuote
OliverB
(@oliverb)
Noble Member
Joined: 9 months ago
 

My wife's Macbook is 2015, too and Error 12 was never an issue (except the fact you cannot hotplug an AMD eGPU, but you can hotunplug and rehotplug it).

On the other hand I have read older reports with exact the same Macbook model and users using a lot of Anti-Error-12 hacks. So either they were doing it without need or something has changed in Windows.

I think it was an real issue on particular models and it was quite a lot of work to solve it, but this doesn't mean people should be still scared of it.

@abelviking Why did you think in the first place that you need DSDT override? Did you encounter unsolvable Error 12 and looks for solutions?

This post was modified 4 months ago

2018 15" MBP & 2015 13" MBP connected to RTX2080Ti GTX1080Ti GTX1080 Vega56 RX580 R9-290 GTX680


ReplyQuote
abelviking
(@abelviking)
Eminent Member
Joined: 4 months ago
 
Posted by: OliverB

My wife's Macbook is 2015, too and Error 12 was never an issue (except the fact you cannot hotplug an AMD eGPU, but you can hotunplug and rehotplug it).

On the other hand I have read older reports with exact the same Macbook model and users using a lot of Anti-Error-12 hacks. So either they were doing it without need or something has changed in Windows.

I think it was an real issue on particular models and it was quite a lot of work to solve it, but this doesn't mean people should be still scared of it.

@abelviking Why did you think in the first place that you need DSDT override? Did you encounter unsolvable Error 12 and looks for solutions?

I was looking for a pattern that matches the patterns I was presented with when troubleshooting my setup. Considering that the only portion of this website(given the nature of communication in any forum with multiple parallel and incomplete conversations about related issues going on simultaneously) that is straightforward are the guides that the admins write and that those feed from the forums, I was going down a rabbit hole through different paths.

The first level matching criteria was the hardware, the second level was the behaviors each user's systems presented, and lastly the results. I actually discarded information on my original description table, that information is still present at the bottom of my Build guide. I was able to get Error 12 on the eGPU when installing the official AMD drivers(NOT for APPLE) by using the Have Disk approach.  There are 3 possibilities remaining about Error 12:

1.-Driver conflict between Bootcamp drivers and other drivers(Windows Update and amd.com)
2.-A BIOS  and/or OS difference between the same exact pieces of hardware. - This vs this.
3.-Something that bootcampdrivers.com are doing different

3.-Given that you figured out both families of eGPU possibility 3 is the less likely.
2.-Given that the older guide doesn't specify and it was posted a few months after that version of Windows 1803 came out we can only speculate. It was the least helpful of all the information I gather despite being the closest to my situation(given the first matching criteria) and I ended up finding in another thread that wasn't linked to his guide that he did get help from nando4 setting up his DSDT. As the itsage said, 1803 allows to set GPU affinity PRE-app running, perhaps the screen coming up is part of that change.
1.-Considering that Windows Update RX580 drivers don't throw Error 12 either but that official amd.com drivers do(they don't detect apple hardware either) I don't know if the addressing space is the root case of error 12, but all the technical documentation points to that. 

There must be another layer of complexity we might be missing in this that links all of these things together , at this point this is just speculation.

Sytem InfoiMAC Late 2015. dGPU AMD M390, OSX 10.12.6, Windows 17134.rs4_release.180410-1804(1803). GYGABYTE AORUS RX580 miniITX eGPU my signature


ReplyQuote
abelviking
(@abelviking)
Eminent Member
Joined: 4 months ago
 
Posted by: Jyin

The DSDT override was required for my 2015 iMac and the Vega.
Obviously your case ‘might’ not be, since it’s been over an year since I had it running on 2015, and you are on 580.

I never loaded the DSDT from EFI. I put the Windows on test-mode and load the DSDT from registry. That way, all you need to do is to disable the test-mode and you are back to factory DSDT.

Since the days I used the 2015, Apple have blocked the eGPU usage in OS X (on any Macs with TB2).
There is a script to get around that, I think it’s called purge-wrangler

You can always put the eGPU on power strip and use its switch to turn it on/off. That’s what I do, since my desk has one built-in with individual switch per outlet. 

Check this post out too.

https://egpu.io/forums/pc-setup/imac-27-2015-egfx-bb-550-vega-fe-lc/

J

I read the whole DSDT guide a while back and couldn't find anything about loading the Assembly from registry, can you point me to the source of that information. Thanks!

I am TRYING to switch to a 2070 to get higher frame rates but I always get stuck on Code 12.

EDIT: My bad, I found it. They warn against it as it can BSOD your Windows so I must have discarded it from memory. Thanks! It looks like I will need to do it anyways. Hopefully then I can use official drivers for everything.

Update, I got to the compile part but I don't understand how to compare the .asl with the compiler errors. More details here:

https://egpu.io/forums/pc-setup/fix-dsdt-override-to-correct-error-12/paged/6/#post-57573

This post was modified 4 months ago

Sytem InfoiMAC Late 2015. dGPU AMD M390, OSX 10.12.6, Windows 17134.rs4_release.180410-1804(1803). GYGABYTE AORUS RX580 miniITX eGPU my signature


ReplyQuote