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.

1 Like

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

I created an account just to say that I got a B60 thinking it would work with truenas (silly of me).
Have been really hoping 26 would bring support, sadly it sounds like based on your experience that’s not really happening.

I’ll be trying out the steps you took to try and make my B60 work once the full release of 26 is out and I update to it.

Hopefully the devs see enough demand for it and are able to fit some more intel support in among all the work they do.

Report a Bug in the TrueNAS GUI. Attach a Debug Dump to your ticket. TrueNAS developers work off of those JIRA tickets. Please post a link or the ticket number back to the forums so others can try to follow
There is also Report a Bug link at the top right of the forums.

I have created NAS-141511 for Issue 2: GuC firmware version mismatch in my original post, for the issue that prevents initialization of the Arc B60.

It seems however the ticket was automatically closed with out of scope , it might be because I’ve described the workaround (disabling rootfs protection) in the ticket and it was flagged because of that, I’m not sure.

please open a new ticket if you are able to reproduce the behavior on a TrueNAS install that has not installed OS development tools.

I guess I will try opening another issue when I have time, without explicitly mentioning how I applied the fix, and just mentioning the issue and attaching logs.

Hopefully these workarounds won’t be needed in the final release, but for now it’s the only way to make the card work. After the correct firmware is placed, the card can be used in Docker containers just fine (passing through /dev/dri), however trying to pass it through into LXC or a VM results in the iommu group error mentioned in Issue 3 in my original post, about which I’ll also try raising a ticket.

1 Like

@generic_username_69 @hunty We need a ticket and a Debug Dump from an unaltered system. Tickets are closed if ‘Developer Mode’ or mods were done to the base system, by policy.

Does the “Developer” update train count as “Developer mode”? Sorry, it’s a bit confusing for me.

And I suppose by disabling rootfs protection and installing the correct firmware manually, and editing code for the iommu check, I did “mod” the system, if those count.

Developer Mode and the Developer train are two different issues. I think you got caught with disabling rootfs protection which looks like ‘Developer Mode’ to them. I don’t know if you could set a previous boot environment, delete the 26 Beta 2 boot environment and then do and upgrade again. That should give a default install, I think. Then use Report a Bug with a new Debug Dump.

1 Like

I got it, it’s probably me mentioning it in the ticket, and the debug dump also probably contains it as well.
If I remember right, updating the system usually resets rootfs protection (had a few run ins with that), and since updates are pretty frequent on the Dev train I’ll just try updating and see if that works.
Thanks!

You might want to change to the Early Adopter train, if you only want to see the Beta and RC updates, etc. The Developer train will take you onto the nightlies and you may not be able to update to the next Beta and/or RC. Sometimes the nightlies are considered ‘newer’ than some upgrades.

Tested in a VirtualBox VM of TrueNAS.
I booted into TrueNAS Beta 1. I did a clone of the original Beta 2 environment. I then did an upgrade to Beta 2. I think you should be able to do the same and then use Report a Bug with the fresh Beta 2 but you will still be able to use your current Beta 2 environment with your system changes to get your B60 to work.
I created a clone thinking I was going to delete the original Beta 2 upgrade / boot environment but upon updating from Beta 1, it created another boot environment (26.0.0-BETA.2-1 )

1 Like

Yeeah I think I’m stuck on the nightly…

And I’m not able to set the train anymore either:

It’s weird, as far as I remember with the Early Adopter train the Beta just didn’t appear for me, or it was something like the Early Adopter train still showing 25.10.[something] when I was on 25.10.

So I was just like “well alright, 26.0 must still only be on the Developer train” so I went with that… (25.10 didn’t have the required xe driver at all, so the card wasn’t even detected, that’s why I wanted to try 26.0)

But in reality I probably just had to press “Update” a few times on the Early Adopter train before it caught me up with the 26.0 Betas…
So I guess I’d need to revert my boot env to 25.10.0.1, and then update to the Beta properly on the Early Adopter train.

Guessing it wasn’t showing the Beta since you were on 25.10.0.1. I tested a VM and I can see the Beta as an update option with 25.10.3 and 25.10.4 versions and EA train.

If you want to go through that, otherwise we can wait and see if the other user posts back and we can get them to create Bug and Dump

1 Like

I’m still on 25, so if I move to 26 beta and then put the card in and raise a ticket with the debug dump will that qualify for what you’re talking about here?

I’m more than happy to put the card back in the machine and get whatever data is necessary to raise a bug report. Just want to make sure I do it right.

1 Like

I think that should be good enough. Make sure to get a download of your system configuration when you upgrade along with secret keys, if necessary for encryption. I think you will be able to use Report a Bug in the newer Beta 2 and upload a Debug Dump. If you can’t uploaded the Debug Dump, the system should send you an email with a link to do so. Please post the ticket number or a link to the created Bug ticket back to the forum. That way we can try to track it and see, if and when, any updates will be made.
After that, feel free to set your 25 version back to the active boot environment and remove the card, if necessary. You should be able to use the B60 inside of a VM but I don’t think you would be able to use it otherwise under 25 or 26, currently

EDIT. If you don’t want the system to show up available updates to the Beta, RC, etc. change the train on the update screen of 25 to General Availability. That should stop update notifications until a future 26 version is listed for GA status.

1 Like

An update to this topic:

Another user created NAS-141562 with an Arc B70 and an unmodified system. However their issue was automatically closed because it’s marked as a duplicate of my issue (NAS-141511) which was itself closed without changes because of the developer modifications.

I’m not sure if anything can be done about this topic (maybe firmware files are periodically updated in releases?), for now the cards only function using the firmware workaround. I honestly don’t understand how the Arc B50 (which is a newer card than the B60 i think) worked for me on 25.10.0.1…