<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.wilsoz.com/index.php?action=history&amp;feed=atom&amp;title=Services%2FArcB580Driver</id>
	<title>Services/ArcB580Driver - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wilsoz.com/index.php?action=history&amp;feed=atom&amp;title=Services%2FArcB580Driver"/>
	<link rel="alternate" type="text/html" href="https://wiki.wilsoz.com/index.php?title=Services/ArcB580Driver&amp;action=history"/>
	<updated>2026-07-06T07:04:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.wilsoz.com/index.php?title=Services/ArcB580Driver&amp;diff=16&amp;oldid=prev</id>
		<title>Wikibot: Migrated from services/ARC-B580-DRIVER.md</title>
		<link rel="alternate" type="text/html" href="https://wiki.wilsoz.com/index.php?title=Services/ArcB580Driver&amp;diff=16&amp;oldid=prev"/>
		<updated>2026-07-05T18:16:21Z</updated>

		<summary type="html">&lt;p&gt;Migrated from services/ARC-B580-DRIVER.md&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;As of: 2026-07-05 — migrated from `services/ARC-B580-DRIVER.md`&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= Intel Arc B580 (Battlemage) — xe Driver Notes =&lt;br /&gt;
&lt;br /&gt;
== Problem ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;xe&amp;lt;/code&amp;gt; kernel driver for the Arc B580 crashes the system when the monitor is switched&lt;br /&gt;
off/on manually. Root cause: the driver uses aggressive display power-saving states (DC states)&lt;br /&gt;
that fail to wake properly on Battlemage, causing a cascade of GPU timeouts that brings&lt;br /&gt;
the system down.&lt;br /&gt;
&lt;br /&gt;
Symptoms in logs:&lt;br /&gt;
&amp;#039;&amp;#039; &amp;lt;code&amp;gt;xe 0000:0b:00.0: [drm] &amp;#039;&amp;#039;ERROR* Tile0: GT1: Force wake domain X failed to ack wake (-ETIMEDOUT)&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;xe 0000:0b:00.0: [drm] Tile0: GT1: trying reset from guc_exec_queue_timedout_job&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039; &amp;lt;code&amp;gt;xe 0000:0b:00.0: [drm] &amp;#039;&amp;#039;ERROR* PCODE Mailbox failed: 1 Illegal Command&amp;lt;/code&amp;gt;&lt;br /&gt;
* UBSAN: array-index-out-of-bounds in &amp;lt;code&amp;gt;mtd_intel_dg.c&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Fix Applied (2026-05-03) ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;File 1: &amp;lt;code&amp;gt;/etc/modprobe.d/xe-options.conf&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
options xe enable_dc=0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Disables aggressive display C-states so the driver doesn&amp;#039;t enter a deep sleep it can&amp;#039;t&lt;br /&gt;
wake from when the monitor is switched off.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;File 2: &amp;lt;code&amp;gt;/etc/modprobe.d/blacklist.conf&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; (appended)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
blacklist mtd_intel_dg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Blacklists the &amp;lt;code&amp;gt;mtd_intel_dg&amp;lt;/code&amp;gt; module which has a confirmed kernel UBSAN bug on this GPU.&lt;br /&gt;
&lt;br /&gt;
Both changes require initramfs rebuild + reboot to take effect.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== How to Revert (if the fix breaks boot) ==&lt;br /&gt;
&lt;br /&gt;
SSH in from another host, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# 1. Remove the xe options file&lt;br /&gt;
sudo rm /etc/modprobe.d/xe-options.conf&lt;br /&gt;
&lt;br /&gt;
# 2. Remove the two lines added to blacklist.conf&lt;br /&gt;
#    (the blank line, comment, and blacklist entry at the bottom)&lt;br /&gt;
sudo nano /etc/modprobe.d/blacklist.conf&lt;br /&gt;
# Delete the last 3 lines:&lt;br /&gt;
#   (blank line)&lt;br /&gt;
#   # Intel Arc B580 - mtd_intel_dg has a confirmed kernel UBSAN bug (array out-of-bounds)&lt;br /&gt;
#   blacklist mtd_intel_dg&lt;br /&gt;
&lt;br /&gt;
# 3. Rebuild initramfs&lt;br /&gt;
sudo update-initramfs -u&lt;br /&gt;
&lt;br /&gt;
# 4. Reboot&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or as a one-liner if you want to skip the editor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo rm /etc/modprobe.d/xe-options.conf &amp;amp;&amp;amp; \&lt;br /&gt;
sudo head -n -3 /etc/modprobe.d/blacklist.conf | sudo tee /etc/modprobe.d/blacklist.conf.tmp &amp;amp;&amp;amp; \&lt;br /&gt;
sudo mv /etc/modprobe.d/blacklist.conf.tmp /etc/modprobe.d/blacklist.conf &amp;amp;&amp;amp; \&lt;br /&gt;
sudo update-initramfs -u &amp;amp;&amp;amp; \&lt;br /&gt;
sudo reboot&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== If you need to go back to the Radeon ==&lt;br /&gt;
&lt;br /&gt;
# Power off, swap GPU physically&lt;br /&gt;
# SSH in (or boot to TTY) and blacklist xe so it doesn&amp;#039;t try to load for a missing device:&lt;br /&gt;
   ```bash&lt;br /&gt;
   echo &amp;quot;blacklist xe&amp;quot; | sudo tee /etc/modprobe.d/blacklist-xe.conf&lt;br /&gt;
   sudo update-initramfs -u&lt;br /&gt;
   sudo reboot&lt;br /&gt;
   ```&lt;br /&gt;
# The &amp;lt;code&amp;gt;radeon&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;amdgpu&amp;lt;/code&amp;gt; driver will load automatically depending on which card.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Kernel / Firmware versions at time of fix ==&lt;br /&gt;
&lt;br /&gt;
* Kernel: &amp;lt;code&amp;gt;6.18.1-061801-generic&amp;lt;/code&amp;gt;&lt;br /&gt;
* GuC firmware: &amp;lt;code&amp;gt;xe/bmg_guc_70.bin&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;70.60.0&amp;lt;/code&amp;gt;&lt;br /&gt;
* HuC firmware: &amp;lt;code&amp;gt;xe/bmg_huc.bin&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;8.2.10&amp;lt;/code&amp;gt;&lt;br /&gt;
* DMC firmware: &amp;lt;code&amp;gt;i915/bmg_dmc.bin&amp;lt;/code&amp;gt; version &amp;lt;code&amp;gt;2.6&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you upgrade the kernel and the crashes stop, the fix may no longer be needed — test by&lt;br /&gt;
removing &amp;lt;code&amp;gt;xe-options.conf&amp;lt;/code&amp;gt; after a kernel upgrade to see if stability holds without it.&lt;/div&gt;</summary>
		<author><name>Wikibot</name></author>
	</entry>
</feed>