Intel Arc B60 (Battlemage) issues on TrueNAS-26-BETA

Hi everyone,

I’ve recently got an Arc B50 in my Truenas (25.10) box and it worked nicely, I could use it for AI inference and whatnot and was nearly a plug and play experience.

I returned it to get a B60 and that’s where the list of problems started…

Hardware: i7-8600K, Z370M Mortar, ASRock Arc Pro B60 Creator 24GB (device ID e211)


Issue 1: Card not detected on 25.10 / Linux 6.12

The B60’s PCI device ID (e211) is not in the xe driver’s device table in Linux 6.12. The card shows up in lspci but the driver never binds, /dev/dri never appears. Seems to be a hard kernel ver wall, force_probe and new_id both failed because e211 is actively rejected by the 6.12 xe driver internals, not just missing from the alias table it seems…

Fix: Upgraded to TrueNAS 26.0 to get kernel 6.18, where e211 is properly supported (somewhat). I also needed pci=nocrs in kernel parameters because the BAR just wouldn’t allocate on my Z370 board correctly…


Issue 2: GuC firmware version mismatch

Even on 6.18, the bundled xe/bmg_guc_70.bin (version 70.40.2) is too old for the B60 and causes GuC initialization failure:

GuC firmware (70.49.4) is recommended, but only (70.40.2) was found
Failed to initialize uC (-ENXIO)

The newer firmware (70.65.0) from linux-firmware git resolves this. Rootfs is read only and apt is disabled so I had to grab the firmware manually. I store the firmware file on a data pool dataset and apply it via an init script in System → Advanced → Init/Shutdown Scripts using /usr/local/libexec/disable-rootfs-protection.

The init script also triggers an xe driver reload (rmmod xe && modprobe xe) so the card is available without a reboot after the firmware is placed. (though a reboot is safer in my experience)


Issue 3: Intel GPU passthrough to containers

The B60 (device ID e211) shows as generic “INTEL” in the container GPU dropdown rather than “Battlemage G21” (like the B50 does). Attempting to add it fails with a middleware validation error about IOMMU groups. Maybe it needs to be added to a lookup table or something?

Meanwhile lspci:

hunty@truenas:~$ lspci | grep -i vga
03:00.0 VGA compatible controller: Intel Corporation Battlemage G21 [Intel Graphics]

The INTEL fallback class in truenas_pylibvirt/device/gpu_utils.py appears to be incomplete, so out of curiosity I had Claude add a proper validate() implementation that checks for the render node rather than IOMMU groups, and now I can select it on the GUI and the render node is passed into the container just fine. (though it still shows up as INTEL)

There is also the filesystem bug I encountered but that’s already described in this thread: LXC created in 25.04.x won’t start in 26.0.0-BETA.1

Current status: Card works, I can run llamacpp+SYCL on it in the LXC, but the entire setup is kinda held together by duct tape.


I’d be happy to provide logs or anything, and also I might’ve missed things so any input is appreciated.

Please file a bug report from TrueNAS. This is what BETA is for, and developers are NOT expected to read this forum.

1 Like

Ah right, thanks and sorry, just wanted to post here so any wayward souls running the B60 can find it, I’ll file reports properly soon.

1 Like

Make sure you attach the Debug Dump to your ticket. Note any and all changes you made to your system from default. Post a link to this thread in the ticket. Post the ticket number back into this thread so other can follow, if necessary.

1 Like