Skip to main content


How to make use of dGPU and iGPU?


I'm on Arch (btw.) and I have a Intel i5-14600K CPU with a iGPU (UHD Graphics 770) (GPU 1) in it and a dGPU from Nvidia, the RTX 3060 (GPU 0). I have one monitor connected to the 3060 via display port 1.4.

I can see both GPUs in GNOME Mission Center, but hte iGPU has always Clock Speed 0 and Utilization 0. So anything which is done on the GPU is done on the 3060.

I want to seperate what is done on the iGPU and what is done on the 3060:

dGPU (RTX 3060):
1. Video editing
2. video transcoding
3. AI stuff (ollama)
4. Machine learning
5. Blender
6. Steam games

iGPU (intel):
1. Firefox (especially YouTube video decoding, it has hw acceleration for that)
2. Chrome
3. Libre Office
4. GNOME
5. etc.

I wonder if this or at least parts of it is possible. I need the whole 12 GB VRAM on the 3060 for ollama, and the iGPU is just sitting there doing nothing. Is there a way to distribute the work? Do I need two screens for that or something?

It might also be that I'm misunderstanding how the whole thing works or over estimating Linuxes capabilities.

in reply to Jeena

do u have installed switcheroo-control and how did u install nvidia driver
in reply to anon5621

I did, but that only allows me to run it in the descrete one where it is already running as far as I understand.
in reply to Jeena

okay maybe u bios u need choose gpu mode as 3d accelerator and how u were install nvidia driver also too,maybe u switched priority using nvidia-settings if so switch back to intel reboot pc and then use switcheroo-control ? I am using dual gpu and my main by default is igpu and it was by default from arch installation
This entry was edited (4 days ago)
in reply to Jeena

I don't,using internal laptop screen as I know dgpu directly connected to HDMI so everything gonna render on nvidia...
in reply to Jeena

As always the Arch wiki has you covered. PRIME, is the system you need. It's slightly easier with the monitor plugged into the iGPU, (that's how laptops are wired).

Linux reshared this.

in reply to Mark

So I read it but it seems only to talk about X and not Wayland, am I missing something?
in reply to Jeena

I'm going to assume that it is possible to put both the dedicated and integrated GPUs to work, though I've never seen this kind of setup.

This is likely not something you want to actually do.

The integrated GPU in your processor is not an additional bit of computing power your computer is not using, but special software that can use your processor to put out graphics if a dedicated GPU is missing. It is extremely inferior at processing graphics compared to the real dedicated GPU, and if you were running firefox to watch (Not decode) youtube, you would very likely see things like screen tearing as the processor struggled to keep up.

If you wanted to do this just to see the outcome for yourself, you could switch your displayport cable to your monitor to connect to your motherboard instead of your GPU to get an idea of how rough this would be. If you wanted to continue after seeing this, I believe you would need to connect a 2nd monitor in order to use both the dedicated and integrated GPUs.

don't like this

in reply to Pogogunner

I'm going to assume that it is possible to put both the dedicated and integrated GPUs to work, though I've never seen this kind of setup.

Every single laptop with a dGPU does that, as I'm typing this now only Minecraft is using the dGPU while everything else is on the iGPU. Everything is fully performant (including YT videos), and it greatly increases battery life.

Linux reshared this.

in reply to Mark

I've never owned a laptop with a GPU, very interesting how that works.

Is it something works out of the box, or do you have to manually set it up?

in reply to Pogogunner

At least on Debian based distros, it's all part of the driver installation.

As for how it works at the hardware/kernel level the iGPU take some of system RAM to use as VRAM, so all the kernel has to do is give the dGPU a DMA buffer into that. The final piece is for the iGPU driver to send a synchronisation signal to the dGPU when it's ready to receive the (partial-)frame.

Linux reshared this.

in reply to Pogogunner

Yeah, not really, I think the iGPU is still very preformant, especially it has bread video de and encoding capabilities. It's probably more powerful than my dell XPS 13 laptop iGPU which let's me connect a external 4k monitor and run games and video editing smoothly with some Lowe settings.
in reply to Pogogunner

This entry was edited (4 days ago)
in reply to Jeena

I'm not sure what in the world these other answers are, but that is not how GPUs work if you're talking about a desktop.

If you're talking about a laptop, this is not going to work in Linux.

It's hard to tell from your description if this is desktop or laptop, btw. Post the model of it is a laptop as this will be important.

in reply to Jeena

So desktops don't work like laptops in this sense.

On a laptop, the bus for the video output ports can be connected to one or both GPUs, and the software does the graphics switching or offloading.

On a desktop, there is no consolidated bus between the PCIe card and the onboard graphics, so you can't switch between which GPU is rendering what on hardware alone. It's the whole display that is rendered on the device you're plugged into.

Windows does have some sort of offloading utility that allows for this i believe, but I've never used it so don't know how well it works.

On Linux, your display server (X or Wayland) needs to address one GPU at a time to render things.

You can totally use both GPUs with multiple monitors, but I think that's defeating the purpose you have in mind.

This entry was edited (4 days ago)
in reply to Jeena

On Prime you can make your iGPU the primary (display connected to motherboard), and offload some rendering to the dGPU with some caveats. It was only working on Xorg for awhile, but maybe it works better under Wayland now. Couldn't tell you.
in reply to Jeena

in reply to Jeena