Jump to content
EwinRacing Flash Series Gaming Chairs

[SOLVED : Cpu idle bug fix without hibernating!] MBPr Late 2013 (dgpu) + GTX 970: Optimus working, "cpu idle bug"

Recommended Posts

EDIT: SOLUTION on my 4th post.


Hi all,


I just wanted to know if anyone found a fix for the cpu idle bug without hibernating. 
First of all, I made my setup in 2015 and I just used an external monitor since at the time making it work with optimus having a dgpu was unknown. Recently I read that disabling the dgpu was an option so I quickly got "up to date" reading the new stuff, but I might have missed something. Keeping that in mind:
I have a MBPr Late 2013 (GT750M dgpu) with an Akitio Thunder Box, with a dell power supply (which I always thought it might not be enough because I had to limit the power with Afterburner to 80% so it wouldn't shut down when playing a few hours) and an Nvidia GTX970 (KFA 4GB).

Since I was using a Win 7 on Bootcamp/BIOS I decided to start from scratch: got a Win 10 EFI installed, got reFind so I could activate the visibility of the Iris igpu, and although it seems to be much more buggy, got to run the system with the egpu. Then disabled the dgpu on the device manager, used the switch-gpu bat file as admin to get the igpu as main, so far so good. Shut down, Boot.

I get to the point where I basically have the egpu working and I tried running Tomb Raider's benchmark (what I had at hand) and it was going smoothly (which wouldn't be like that with the iris or dgpu). Also, looking at msi afterburner my egpu was at 100%.

The ONLY thing that I can't by any means get to work is to not have the CPU idle crazy load. I get around 25-30% of CPU load and if I try to hibernate the system it... well it goes to hell, haha.
The MBP seems to hibernate (sleep/shutdown black, fans out) but the egpu is still on with the fans (doesn't really hibernate), and from there its impossible to make it run. Pressing any button, alt, power, whatever, it tries to wake up/power on for a moment, but it simply can't finish, just black screen with the fans turning on. The only way to shut it down is to hold the power button. And after that it basically locks there and becomes even difficult to boot again, I actually have to press alt, go back to osx, reinstall refind - since it no longer appears with it trying to wake up from hibernation- run windows efi and quickly press shift+f8 to run in safe mode and then boot correctly (and again with the cpu load).


I have to say that even when working, my macbook pro doesn't consistently boot with the egpu via thunderbolt2, with any combination (wait to plug the cable, have it powered on, off, preboot, when starting windows, etc.) it just seems to randomly work. It used to work a bit better before refind, though, but never consistently (don't know if that has changed in the past years).


So... any ideas of how to get that cpu load off? Or to make hibernation work? 
Oh, as a note, I read that when you disable the dgpu and use the switchgpu script you can control the screen brightness again, but I just have it locked to the max. The control osd appears and moves but it doesn't actually change. I don't care about it but I thought it might give a hint of something not done properly?

Many thanks to whoever can give me any ideas!!!


EDIT: Reduced part of the cpu idle from known w10 small stuff but the main bug is still there, about 15%)

Edited by dnkei

Share this post

Link to post
Share on other sites

Ok, so even though no one answered - since it's a very specific problem - I'm going to answer myself after many many tests, just in case someone else needs this info in the future.
As I wrote before, sleep or hibernation in my machine is a no-go. I did make it work once, but it wasn't really hibernation but more a "hibernate-crash-shutdown-boot-think_its_waking_up". Anyway, here are my results after many tests (all of them are done with the dGpu disabled):


Intel HD graphics driver for my igpu (Iris 5200) causes the cpu's first processor (CPU 0) to be in a constant idle around 80%, being a general cpu idle of ~10-15% (since it has 8 processors). This is what is known by many here as the "cpu idle bug", which can be solved by going into hibernation and waking up. Unfortunately my computer (MBPr 2013 with thunderbolt 2) doesn't seem to be able to do this. Uninstalling the driver makes Windows 10 to revert to "Microsoft Basic Display Adapter", and actually removes this cpu idle, staying on 1% or so (as it should be). However, this driver also has it's problems, mainly it has not much configuration and most importantly, it DOESN'T work to make the eGpu work on the internal display.
Some of my tests with the tomb raider benchmark tool:

· Intel driver (+cpu 15% bug) + eGpu on external monitor : 60fps
· Intel driver (+cpu 15% bug) + eGpu on internal monitor : 30-40fps
· Microsoft Basic driver (0% cpu) + eGpu on external monitor: 60fps
· Microsoft Basic driver (0% cpu) + eGpu on internal monitor : 25-30fps

This last option isn't actually possible, at least directly it wouldn't let you, but I did connect an external monitor, started the game and moved it over to the internal display - and looking at the charts on afterburner it seemed to be using the egpu. I was hoping this would be better with the possibility of getting a headless hdmi connector, but no luck. No luck mirroring the screen either (got the same 30fps).

That's where I am right now. Any new ideas are welcome, if I don't get any I guess I'll keep posting whatever test I can do. Maybe a quick way to change drivers? Or something to force the cpu 0 to stop being used (like a hard-hibernate fix)?

I feel so close but so far...

Share this post

Link to post
Share on other sites

Quick update:
When installing "new" igpu drivers the screen flashes for a moment before they are install and it prompts you to restart. From that flashing moment the cpu idle is gone.

Meaning, if you install new drivers and just click "No, I will restart later", during that session (until next reboot) the cpu bug is gone, egpu works flawlessly in the internal display, everything just works as it should be.

Unfortunately in my experience it has to overwrite the drivers for new ones, so to do this fix you have to (every time) install old intel hd graphics drivers (to overwrite the new ones you have at the moment), click don't restart, install the newer drivers and don't restart either. And cpu is back to normal until you shutdown.


I think I'm near the solution... Maybe when installing drivers it disables and enables the internal display for a bit or something? There's usually a second black screen like 5 minutes after you choose not to reboot after installing the drivers, but I'm thinking that might be windows 10 also trying to adjust the new drivers? 


I'm probably rambling alone here, but any new ideas are welcome.

Share this post

Link to post
Share on other sites

I think I solved it! I'm still testing it, but so far so good, I'm able to remove the cpu idle without hibernating by disabling and enabling again the Intel Iris device. I figured something like that might be happening when reinstalling drivers prior to rebooting.
BE CAREFUL not to disable your igpu if you don't do it with a script that later enables it afterwards. It's usually ok, but it might get you a black screen, specially if you have a second gpu the os might only show the screen on that gpu and you wont see anything unless you connect a display to that gpu or enter in safemode (shift/f8 on windows boot).

Now, to make things a bit easier I made a script for DevManView (a free alternative device manager for windows) that runs on startup and disables and re-enables the igpu making it free of the idle bug! I think it works faster than the hibernation fix, so I might make a quick video explaining it if somebody wants it. My small bat file in case somebody wants to try it right away (the first 10 second timeout is because I observed that if I run it too fast in the startup it didn't remove th cpu idle bug):

timeout /t 10
DevManView.exe /disable "PCI\VEN_8086&DEV_0D26&SUBSYS_012F106B&REV_08\3&11583659&0&10"
timeout /t 2
DevManView.exe /enable "PCI\VEN_8086&DEV_0D26&SUBSYS_012F106B&REV_08\3&11583659&0&10"

So, now whenever I start windows, the script runs, screen goes off a few seconds and back on and I'm good to go! Not the cleanest way, but at least I have it working!



Edit: It seems that with the egpu connected timing is sometimes even more critical, I just made the first timeout to 15 and the second one to 5, and also added a shortcut on the desktop in case I have to run it manually.

Edit2: In case anyone wants to make the bat file too, the "PCI\...." is the id of the iris igpu, you can check the info of the device on DevManView and copy/paste yours.

Edited by dnkei

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By TheLoser1124
      Hello, A couple of days ago I got a new GPU but when I installed it into my computer I was unable to use it but now I know why. When checking the device manger I went into the events tab of my GPU when I went to view all events, I noticed an error it said " event 411 kernel PnP " and It also said Problem Status: 0xC01E0438. I believe this is why my GPU hasn't been working on my PC. If you know how to fix this problem or have info on how to fix this problem that would be greatly appreciated. I'm also using a EVGA NVIDIA GeForce GTX 1660.
    • By TheLoser1124
      I'm having a problem where my PC is saying my eGPU is not usable, its detected in the Device Manager and it doesn't have the yellow triangle next to it. I cant use it games and the Nvidia Control Panel doesn't recognize it either. I'm using a EVGA NVIDIA Geforce GTX 1660. I'm using windows 10 and I tried DDU and reinstalling them and now I cant access the nvidia control panel. The GPU is not recognize on any other apps and I went on *********** and was unable to find my answer, Any help on how to fix this problem would be greatly appreciated.
    • By Radstark
      Title sums it up.
      TL;DR: we have a Clevo that runs a desktop CPU, one with those huge 82 Wh batteries. We remove the GPU and let it use the CPU's integrated graphics. How much time for the battery to go from 100 to 0? Is it comparable to an ultrabook's?
      I'm theorizing a mobile set with a static eGPU and an upgradable CPU. Given a hypothetical user that needs fast processing on the go and long battery life while retaining very high degrees of mobility, but at home wants a powerful machine to run most games, I guess that would be their best bet. It would surely be more convenient to keep everything in the same disk. And even though the thing would be quite heavy to carry around, changing CPU would be more cost-efficient than changing an entire laptop. (Not sure if I'm right here, and also I'm not sure whether the motherboard in a Clevo would be replaceable when the new CPU needs a different socket, which is another reason why I'm asking here.)
      If my above guesses aren't correct, then an ultrabook with Thunderbolt and without a dedicated GPU would be a better choice. If they are, then we would be carrying more weight in exchange of a more cost-efficient setup, which I think would be a fair tradeoff.
      Also I am aware of the heating problems that these laptops suffer from, at least compared to a desktop setup. Would they be solved by moving the GPU out of the chassis, and instead plugging it with an eGPU dock via Thunderbolt port?
      What do you think? Is it doable? If not, why?
    • By depmixels
      hello everyone, I have a MSI GT683R with a dying (pretty much dead actually) GTX560M in it.
      I am looking to upgrade it to a new GPU, I have found a AMD Firepro M6100. (I first wanted to upgrade to a GTX970M, but that's too expensive for now... and corona is also making things difficult) I have already ordered a second heatsink to modify because I didn't want to modify the original heatsink it came with.
      But, my question is. Does it even work in this system? I have heard of people getting it to work in the barebone variant of this system. But I am not sure if it would work in the 'fully loaded' variant.
      Also, my games are mostly RAM/CPU dependent and I am looking for a little extra power in this system. I have found a I7-2860qm and I want to upgrade to 32GB of RAM, is it possible on this system? the sticker says 'max. 16GB of RAM' But I have feeling it says that due to the limitation of the cpu that's already on this system (I7-2630QM, 16GB RAM max.)
    • By damianalex
      I want to show you my new project.
      I bought my laptop about 5 years ago.  It was never speed deamon, but for every day use, it was enough to me.
      Its specification:
      Intel i7-4700MQ
      Nvidia GeForce GT745M
      16GB RAM
      512 SSD Adata SU800

      Yesterday I bought Witcher 3. Of course on 1080p it's impossible to play, because of about 10fps
      So I make a decision to buy external grahpic card.
      I choose GTX970 and now I am looking for occasion to buy it.
      I've already bought EXP GDC v8.4d mPCI-E. It is used and cost about 30$.

      I will use ATX PSU to supply graphic card, because I have old desktop PSU at home.
      My plan:
      1) unlock bios
      2) buy GTX 970
      3) enjoy Witcher 3!
      BTW I try to cool down my laptop, so I replaced thermal paste to Kryonout Thermal Grizzly and make some tests. Temperatures and fps are on screenshots.
      1) laptop on table, playing GTA V 1080p

      - first minute (GPU core 1045MHz)

      -after some time, because of high temperature and GPU throlttling (GPU core drop down even to 400MHz)

      2) with thermalpad Glacier NC400 SilentiumPC

      - 30 minute and longer (GPU core drop to about 900MHz)
      3) without down case of laptop (like on picture with thermal paste) on thermalpad.
      Here laptop never drops down MHz and max temp are about 72 Celsius degrees.

      Bacause of that I bought second down case for my laptop and I will cut there additional holes.
      I will describe next step when I get all stuff I need!
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.