Chrome browser not using eGPU
 
Notifications
Clear all

Chrome browser not using eGPU  

 of  2
  RSS

tonyburn
(@tonyburn)
Active Member
Joined: 3 years ago
 

Hi all,  I have a MacBook Air with Akitio2/GTX970 installed and working as an eGPU.  Typical setup is a large 34" display plugged into the eGPU, the laptop lid is closed and laptop display disabled using DisableMonitor.  This setup is great, the eGPU happily drives my large display which the integrated HD4000 cannot, I can play steam games etc.

The issue I have is using the eGPU in Chrome, when researching WebGL it became apparent that my eGPU was not being leveraged by chrome, the HD4000 was (low framerate; 2-4 fps).  Doing some digging I could find Chrome provides information about the GPU setup, mine lists the HD4000 as active and not the GTX970

Screen Shot 2017 05 21 at 09.37.45

.

I am baffled as to how I can find a way to force the eGPU(GTX970) for chrome, can someone please advise?

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
nando4
(@nando4)
Noble Member Admin
Joined: 4 years ago
 

There is a bug with Chrome not using NVidia GPUs when running Optimus with no solution as yet:

https://bugs.chromium.org/p/chromium/issues/detail?id=476203

eGPU Setup 1.35    •    eGPU Port Bandwidth Reference Table

 
2015 15" Dell Precision 7510 (Q M1000M) [6th,4C,H] + GTX 1080 Ti @32Gbps-M2 (ADT-Link R43SG) + Win10 1803 [build link]  


ReplyQuote
shalbob
(@shalbob)
New Member
Joined: 3 years ago
 

I am also seeing this problem: none of my web browsers will utilize my eGPU! Whether it's Firefox, Chrome or Safari, I can't get any of them to use the eGPU for WebGL. And this is important to me since I am designing a WebGL-based product.

My setup:

When I run bootcamp, I can get eGPU acceleration for webGL when either the RX580 or 1070 are connected, but not in MacOS....

Any tips/advice??

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
dani29m
(@dani_tx)
Estimable Member
Joined: 4 years ago
 

Forcing specific GPU

In multi-GPU systems, Chromium automatically detects which GPU should be used for rendering (discrete or integrated). This works 99% of the time, except when it doesn't - if a unavailable GPU is picked (for example, discrete graphics on VFIO GPU passthrough-enabled systems), chrome://gpu will complain about not being able to initialize the GPU process. On the same page below Driver Information there'll be multiple GPUs shown (GPU0, GPU1, ...). There's no way to switch between them in a user-friendly way, but you can read the device/vendor IDs present there and configure Chromium to use a specific GPU with flags:

$ chromium --gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x1912

...where 0x8086 and 0x1912 is replaced by the IDs of the GPU you want to use (as shown on the chrome://gpu page).

ASUS A53SV: i7-2860QM, 16GB DDR3 running WINDOWS 10 Enterprise LTSB 2016
SSD: SAMSUNG 850 PRO(256GB)+SAMSUNG 850 EVO(120GB)
eGPU: EVGA GTX 1080 FTW+ PE4C V3.0(mPCIe)+EVGA 650 G3 PSU (internal display ONLY)


ReplyQuote
Michal Dudkowski
(@majkelos)
Active Member
Joined: 3 years ago
 

$ chromium --gpu-testing-vendor-id=0x8086 --gpu-testing-device-id=0x1912

hi, when I try paste this in terminal (with changed ids) I have information:
sh: chromium: command not found

Is this possible in MacOS?

MacBook Pro 16" 2020, Touchbar, i9 2,4 Ghz, 8 Cores, 64GB RAM, 4TB SSD
Mantiz Venus with AMD Radeon RX 56 8GB
Catalina 10.15.5


ReplyQuote
dani29m
(@dani_tx)
Estimable Member
Joined: 4 years ago
 

How to specify command line flags

Let's say that you want to add two command line flags to chrome: --foo and --bar=2.

 Mac OS X
  1. Quit any running instance of chrome.
  2. Launch /Applications/Utilities/Terminal.app
  3. At the command prompt enter:
    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --foo --bar=2

Too lazy to Google it or.......?

ASUS A53SV: i7-2860QM, 16GB DDR3 running WINDOWS 10 Enterprise LTSB 2016
SSD: SAMSUNG 850 PRO(256GB)+SAMSUNG 850 EVO(120GB)
eGPU: EVGA GTX 1080 FTW+ PE4C V3.0(mPCIe)+EVGA 650 G3 PSU (internal display ONLY)


ReplyQuote
shalbob
(@shalbob)
New Member
Joined: 3 years ago
 

Dani, I really appreciate the tips on forcing GPU. Unfortunately I haven't been able to get that command to work (iGPU remains active).

Do you know if I can execute the command you provided above in a way that outputs any errors that might be happening? I'm just wondering if there is some hidden error that is happening which is preventing progress on this problem, well, can I make this error reveal itself?

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
dani29m
(@dani_tx)
Estimable Member
Joined: 4 years ago
 

Don't think of it too much.It's the NVIDIA driver.Probably is more restricted then in windows os,even under windows WEBGL is accelerated by your iGPU.You can visit this website(under Windows),go all the way to the bottom and you'll see something like that: ANGLE (Intel(R) HD Graphics 3000 Direct3D11 vs_5_0 ps_5_0) which means that the iGPU does most of the work.Nvidia's excuse is that if they allow their driver to accelerate  the browser on switchable graphics systems it will waste too much battery(i guess here is a good place to say: F#@%K NVIDIA).

You can try these flags combined with the the two mentioned above to see if it's possible to force it,if it's not you just have to leave with it: --supports-dual-gpus  --ignore-gpu-blacklist  --disable-gpu-driver-bug-workarounds  --use-angle=gl   --enable-gpu-scheduler

P.S. Remember to insert two(2) hyphen characters(dash) before the command line.For some reason when i post it here it's showing only one.

ASUS A53SV: i7-2860QM, 16GB DDR3 running WINDOWS 10 Enterprise LTSB 2016
SSD: SAMSUNG 850 PRO(256GB)+SAMSUNG 850 EVO(120GB)
eGPU: EVGA GTX 1080 FTW+ PE4C V3.0(mPCIe)+EVGA 650 G3 PSU (internal display ONLY)


ReplyQuote
dani29m
(@dani_tx)
Estimable Member
Joined: 4 years ago
 

@shalbob not sure if you still checking the replies here but if you do i think i found the proper command line switch:

--gpu-active-vendor-id=

--gpu-active-device-id=

 --gpu-active-vendor-id=   --gpu-active-device-id=

Unfortunately i can't test it due to being stuck with 378.92 driver which is the last one that properly accelerates Chrome with my eGPU  so try it and let us know.

ASUS A53SV: i7-2860QM, 16GB DDR3 running WINDOWS 10 Enterprise LTSB 2016
SSD: SAMSUNG 850 PRO(256GB)+SAMSUNG 850 EVO(120GB)
eGPU: EVGA GTX 1080 FTW+ PE4C V3.0(mPCIe)+EVGA 650 G3 PSU (internal display ONLY)


ReplyQuote
Ethan Richardson
(@ethanx94)
New Member
Joined: 3 years ago
 

This is a big issue for me. I'm using a GTX970 and as soon as I open Chrome the internal display becomes completely disabled and performance of my entire system on my external display is extremely sluggish. This also affects Chrome/Electron based apps such as Hyper and VSCode.

I was able to fix these by running the apps within their .app/Contents/MacOS directory with the --supports-dual-gpus=true flag only. From that point I made a pull request (pending approval) to do this automatically.  https://github.com/zeit/hyper/pull/2608/files

However this same fix does not work on Chrome itself and I've just fallen back to going to Settings -> Advanced -> System -> Use Hardware Acceleration Automatically (Off)

Everything I've read about this issue seems to be a lot of fingerpointing. Chrome people say Nvidia drivers are at fault Nvidia people say Apple is at fault. I can see the issue being that my iGPU is being completely disabled from the gfxCardStatus utility each time Chrome is started. But even disabling Settings -> Energy Savings -> Automatic Graphics Switching in the system produces the same issue.

I hope this gets fixed soon. In the meantime I'll keep throwing flags at the Chrome executable and hope something sticks.

 

To do: Create my signature with system and expected eGPU configuration information to give context to my posts. I have no builds.

.

ReplyQuote
 of  2