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.

  • mark@social.cool110.xyz
    link
    fedilink
    arrow-up
    4
    ·
    5 days ago

    @jeena @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.

    • Pogogunner@sopuli.xyz
      link
      fedilink
      arrow-up
      3
      ·
      5 days ago

      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?

      • mark@social.cool110.xyz
        link
        fedilink
        arrow-up
        1
        ·
        5 days ago

        @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.