ML stuff can be a pain sometimes because support in pytorch and various other libraries is not as prioritised as CUDA. But I've been able to get llama.cpp working via ollama, which has experimental intel gpu support. Worked fine when I tested it, though I haven't actually used it very much, so don't quote me on it.
For image gen, your best bet is to use sdnext(https://github.com/vladmandic/sdnext), which supports Intel on linux officially, and will automagically install the right pytorch version, and do a bunch of trickery to get libraries that insist on CUDA to work in many of the cases. Though some things are still unsupported due to various libraries still not supporting intel on Linux. Some types of quantization are unavailable for instance. But at least if you have the A770, quantisation for image gen is not as important due to plentyful VRAM, unless you're trying to use the flux models.
My main complaint is that the fan control just doesn't work. They stay at low speed or off no matter how hot the card gets, until it shuts down due to overheating. Apparently there's a firmware update to fix this, but you need Windows to flash it. You can zip-tie a spare fan somewhere pointing at the card...
Secondary complaint is that it's somehow not compatible with Linux's early boot console, so there's no graphical output until the driver is loaded. You'd better have ssh enabled while setting it up.
It's also incompatible with MBR/BIOS boot since it doesn't include an option ROM or whatever is needed to make that work - so I switched to UEFI (which I thought I was already using).
When I ran a shader "competition" some people's code with undefined behaviour ran differently on my GPU than theirs. That's unavoidable regardless of brand and not an Intel thing at all.
If you're running Ubuntu, Intel has some exact steps you can follow: https://dgpu-docs.intel.com/driver/client/overview.html
The only really annoying bug I've run into is the one where the system locks up if you go to sleep with more used swap space than free memory, but that one just got fixed.
Do you have your config posted somewhere? I'd be interested to compare notes
The newest beta-ish driver is Xe, the main driver is Intel HD, and the old driver is i915.
People complaining experienced the teething issues of early Xe builds.
There's a Mesa DRI driver, called i965 (originally made for Broadwater chipset, thus the 965 numbering), which has since been replaced by either:
- Crocus for anything up to Broadwell (Gen 8)
- Iris for anything from Broadwell and newer
Then there's a Video Acceleration driver, which is (also) called i965. I think this is what you're referring to. There are:
- i965 (aka Intel VAAPI Driver), which supports anything from Westmere (Gen 5) to Coffee Lake (Gen 9.5)
- iHD (aka Intel Media Driver), is a newer one, which supports anything from Broadwell (Gen 8)
- libvpl, an even newer one, which supports anything from Tiger Lake (Gen 12) and up
Battlemage users had to use libvpl until recently because Media Driver 2024Q4 with BMG support was only released 2 weeks ago. Using libvpl with ffmpeg may requires rebuilding ffmpeg, as some distro doesn't have it enabled (due to conflict with legacy Intel Media SDK, so you have to choose).
I have B580 for my Linux machine (6.12), and xe seems pretty stable/performant so far.
iGPU:
| Arch | KMD | DRI (Mesa) | Vulkan (Mesa) | VA |
| -------------------------------------------- | ------- | ----------- | -------------- | ---------- |
| < Broadwater (Gen4) | i915 | i915 | N/A | N/A |
| >= Broadwater (Gen4), < Westmere | i915 | i915 | N/A | i965 |
| >= Westmere (Gen5), < Haswell | i915 | crocus | N/A | i965 |
| >= Haswell (Gen7), < Broadwell | i915 | crocus | hasvk | i965 |
| == Broadwell (Gen8) | i915 | iris/crocus | anv/hasvk | iHD |
| >= Skylake (Gen9), < Tiger Lake | i915 | iris | anv | iHD |
| >= Tiger Lake (Xe/Gen12), < Lunar Lake (Xe2) | i915/xe | iris | anv | iHD/libvpl |
| >= Lunar Lake (Xe2) | xe | iris | anv | iHD/libvpl |
dGPU:
| Arch | KMD | DRI (Mesa) | Vulkan (Mesa) | VA |
| ------------------------------------- | ------- | ----------- | -------------- | ---------- |
| >= DG1 (Xe/Gen12.1), Battlemage (Xe2) | i915/xe | iris | anv | iHD/libvpl |
| >= Battlemage (Xe2) | xe | iris | anv | iHD/libvpl |
Usually, KMD/DRI/Vulkan should work as-is if you use a reasonably recent kernel and mesa, but video acceleration sure is a bit of a mess.Hell, the B580 is CPU bottlenecked on everything that isn't a 7800x3d or 9800x3d which is insane for a low-midrange GPU.
Intel Arc gpus also support hardware video encoding for the AV1 codec which even the just released Nvidia 50 series still doesn't support.
On the other hand, I have to keep the driver for the secondary GPU (also intel) blacklisted because last time I tried to use it it was constantly drawing power.
Whoops - included the wrong link! https://www.phoronix.com/review/intel-arc-b580-graphics-linu...