Is it possible to use intel igpu to linux and nvidia card for Vfio?

I’m wondering if such thing is possible, then i only would need usb switch to fully go on linux as my main host os!

My specs:

i5-9500
16gb of ram (will need 12gb to kvm)
GTX 1070 as eGPU
1 ssd for linux and 2 hard-drives to choose form (these would be the main storage for games)

I like to make this on Manjaro or popOS if i really have to/is easier to do.

I kinda hate ubuntu based distros, but debian based are fine with some nessecary propietary packages!

Ubuntu is Debian based, as is Pop!

Two test I would try:

First boot from whatever flavor linux live dvd you feel like, are you able to have active video output from both video cards? That’s the big test. Some motherboard disable the iGPU if they detect a discrete GPU connected, others let you use both.

Second: Can you specify which GPU the system initializes as primary display (in the BIOS/EFI setup). Or, if you edit the kernel command line before booting your live dvd, blacklist the nvidia card and make sure your console still works on the iGPU…

1 Like

Yes i can, i can choose egpu and CPU graphics trough bios.

I enabled multigpu support, but i find myself out of luck what comes to guides about manjaro vfio. Pop_OS is allright long as i dont have to use gnome.

vfio isn’t really specific to a distro, it’s a kernel thing. the parts that change are how you edit the kernel command line, and how modules are loaded (either baked into the kernel or using modprobe for example)

sounds like your system hardware can do what you require, just need to find the right combination of settings to get you there.

No luck with windows, my bios says multi-gpu support but actually always initialises the main gpu.

Luckily, i have old second nvidia gpu laying around that is just perfect for linux desktop usage (videos etc…)

You’ll need to use a patched kernel then, with ACS spoofed, because consumer Intel never has isolated IOMMU for using multiple GPUs (they’re in the same IOMMU group.)

1 Like

Is there avable any on ubuntu or debian based distro? I’m not (yet) ready for arch based distros clearly, i have so much to learn.

Use kernel source (your distro has a package with that) and try to patch the kernel yourself with the ACS patch then. Should work.

I succesfully did this, now the gpus are in diffrent iommu groups… Now i need to figure out how to disable the GTX 1070 and host have the GT 630 instead…

That host card is slightly too old for the most smooth way of doing this, as it can’t boot as EFI GOP mode and must boot in BIOS mode, but your first step is to bind the 1070 to the VFIO drivers. No matter what distro you’re using, the Arch Wiki has the best guide for this in my opinion, though you’ll find another one here.

1 Like

For reference, which motherboard are you using? I’m going to eventually upgrade my AMD FX 8320e system now that my nice x99 system died, and have thought of doing it Intel though I’m leaning heavily towards a Ryzen build.

Enh, depends on what you call consumer. I think the X series chipsets split the slots apart on most boards, and I would call those consumer level.

For future reference, for Ubuntu only there are pre-built kernels with the patch here- https://queuecumber.gitlab.io/linux-acs-override/

I did break my kernel module loading, this was problem last time i tired this.

Edit: Also i need better motherboard, the iommu groups in this board is just a mess, also currently im not living in a static place, that said i wanna use looking class, witch is another progress to get working.

Most Intel non-HEDT/Server motherboards are a mess in terms of iommu groups. To get good IOMMU groups, you’ll need a different type of CPU also.

Well, X are prosumer at best. I mean, they’re sold retail, but they’re clearly workstation 'boards even though some for some reason have “gaming” branding!

If you don’t want to get a different CPU, and I don’t blame you for that, find a motherboard that supports running both your integrated graphics and one GPU, then slot IOMMU seperatation becomes less important.