<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[iGPU PCI passthrough: new experimental packages need testers]]></title><description><![CDATA[<h1><img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=1d3f495298e" class="not-responsive emoji emoji-android emoji--warning" style="height:1.4em;width:auto;vertical-align:middle" title=":warning:" alt="⚠" /> <strong>DO NOT TEST THIS IN PRODUCTION</strong><img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=1d3f495298e" class="not-responsive emoji emoji-android emoji--warning" style="height:1.4em;width:auto;vertical-align:middle" title=":warning:" alt="⚠" /></h1>
<p dir="auto">I did a Proof-of-Concept to improve the iGPU passthrough situation in the case where the vbios is not in the ROM BAR. This would usually fail in the guest because the guest <code>amdgpu</code> or <code>i915</code>driver would not be able to find the vbios.<br />
I would like to share this PoC with you to gather feedback / testing.</p>
<p dir="auto"><img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/26a0.png?v=1d3f495298e" class="not-responsive emoji emoji-android emoji--warning" style="height:1.4em;width:auto;vertical-align:middle" title=":warning:" alt="⚠" /> This is not at all a production ready solution, as you will see with the manual steps which are needed to test this.</p>
<p dir="auto"><strong>Who should test this?</strong></p>
<p dir="auto">If you have an host with an iGPU, and the usual 8.3 PCI passthrough procedure described at <a href="https://docs.xcp-ng.org/compute/#pci-passthrough" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.xcp-ng.org/compute/#pci-passthrough</a> does not work because the guest <code>dmesg</code> prints something like</p>
<pre><code>Invalid PCI ROM header signature: expecting 0xaa55, got 0x4556
</code></pre>
<p dir="auto">or</p>
<pre><code>Failed to find VBIOS tables (VBT)
</code></pre>
<p dir="auto">or</p>
<pre><code>Unable to locate a BIOS ROM
</code></pre>
<p dir="auto"><strong>What has been tested so far</strong></p>
<p dir="auto">I only tested on an <code>AMD Ryzen Embedded V2748 with Radeon Graphics</code> embedded APU system with a <code>Radeon RX Vega series</code> integrated GPU (PCI vendor id 1002 PCI device id 1636). With this config, I tested that the guest VM was able to correctly probe the GPU with the <code>amgdpu</code> driver.</p>
<p dir="auto"><strong>How to test</strong></p>
<ul>
<li>Install a brand new XCP-ng 8.3 on a <em>test</em> host (or make sure you are up to date with latest 8.3 packages on your <em>test</em> host)</li>
<li>Configure XCP-ng user repositories:</li>
</ul>
<pre><code>wget https://koji.xcp-ng.org/repos/user/8/8.3/xcpng-users.repo -O /etc/yum.repos.d/xcpng-users.repo
</code></pre>
<ul>
<li>Update your system with the iGPU PoC packages</li>
</ul>
<pre><code>yum update --enablerepo=xcp-ng-ysionneau1
</code></pre>
<ul>
<li>it will prompt you about importing a new GPG key</li>
<li>it should install the following packages:</li>
</ul>
<pre><code>=============================================================================================================================================================================================================================================================================================================================
 Package                                                                      Arch                                                            Version                                                                                       Repository                                                                  Size
=============================================================================================================================================================================================================================================================================================================================
Updating:
 edk2                                                                         x86_64                                                          20220801-1.7.11.3~romtest.2.xcpng8.3                                                          xcp-ng-ysionneau1                                                          3.0 M
 forkexecd                                                                    x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          2.5 M
 message-switch                                                               x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          4.6 M
 qcow-stream-tool                                                             x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.4 M
 qemu                                                                         x86_64                                                          2:4.2.1-5.2.18.1.0.fixrom.1.xcpng8.3                                                          xcp-ng-ysionneau1                                                           16 M
 rrdd-plugins                                                                 x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          9.9 M
 sm-cli                                                                       x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          4.9 M
 squeezed                                                                     x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.9 M
 varstored-guard                                                              x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          5.0 M
 vhd-tool                                                                     x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          5.0 M
 wsproxy                                                                      x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.1 M
 xapi-core                                                                    x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                           30 M
 xapi-nbd                                                                     x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          3.1 M
 xapi-rrd2csv                                                                 x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          3.0 M
 xapi-storage-script                                                          x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          2.5 M
 xapi-tests                                                                   x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          5.0 M
 xapi-xe                                                                      x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.5 M
 xcp-networkd                                                                 x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          4.9 M
 xcp-rrdd                                                                     x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          3.6 M
 xenopsd                                                                      x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          1.4 M
 xenopsd-cli                                                                  x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          2.0 M
 xenopsd-xc                                                                   x86_64                                                          26.1.19-1.2.0.romtest.1.xcpng8.3                                                              xcp-ng-ysionneau1                                                          5.3 M

Transaction Summary
=============================================================================================================================================================================================================================================================================================================================
Upgrade  22 Packages
</code></pre>
<ul>
<li>Then you will have to manually dump your iGPU VBIOS to precisely this path: <code>/root/vbios.bin</code>
<ul>
<li>for AMD modern iGPU it should be located in an ACPI table called <code>VFCT</code>, you could first call <code>acpidump -b</code> then use this """one liner"""</li>
</ul>
</li>
</ul>
<pre><code>python3 -c 'import struct,sys;d=open(sys.argv[1],"rb").read();assert d[:4]==b"VFCT",d[:4];n=struct.unpack("&lt;I",d[4:8])[0];off=struct.unpack("&lt;I",d[0x34:0x38])[0];i=0
while off and off+28&lt;=n:
  pcibus,pcidev,pcifunc,vendor,device,ssvid,ssid,rev,imagelen=struct.unpack("&lt;IIIHHHHII",d[off:off+28])
  if imagelen==0 or off+28+imagelen&gt;n:break
  fn="vbios_%02d_%04x_%04x.bin"%(i,vendor,device);open(fn,"wb").write(d[off+28:off+28+imagelen]);print(fn,"bus=%d dev=%d func=%d vid=%04x did=%04x len=%d"%(pcibus,pcidev,pcifunc,vendor,device,imagelen));off+=28+imagelen;i+=1' vfct.dat
</code></pre>
<ul>
<li>Reboot the host</li>
<li>Follow the usual PCI Passthrough procedure to pass-through the iGPU PCI device to a Linux VM (a Debian 13 for instance): <a href="https://docs.xcp-ng.org/compute/#pci-passthrough" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.xcp-ng.org/compute/#pci-passthrough</a></li>
<li>Make sure you have the corresponding gpu firmware Debian package installed in your VM: <code>firmware-amd-graphics</code> or <code>firmware-intel-graphics</code></li>
<li>Start the VM</li>
<li>Check in the <code>dmesg</code> if the GPU is correctly detected and probed by the driver (<code>amdgpu</code> for AMD for instance)</li>
</ul>
<p dir="auto"><strong>What to report</strong><br />
Report as replies to this thread, putting text files as attached-files</p>
<ul>
<li>If it worked or not</li>
<li>the <code>dmesg</code> of the Linux VM</li>
<li>the <code>xl dmesg</code> of the host (dom0)</li>
<li>the output of <code>grep xen-pci-passthrough /var/log/xensource.log*</code></li>
<li>the <code>lspci -n -vvv -s SBDF</code> (replace <code>SBDF</code> with the <code>domain:bus:device.function</code>) or your GPU, both in the host (dom0) and in the VM (beware the SBDF will be different!)</li>
<li><code>hexdump -C /boot/vbios.bin | head -n100</code> on the host (dom0)</li>
</ul>
<p dir="auto">Thank you for your help! <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f64f.png?v=1d3f495298e" class="not-responsive emoji emoji-android emoji--pray" style="height:1.4em;width:auto;vertical-align:middle" title=":pray:" alt="🙏" /></p>
]]></description><link>https://xcp-ng.org/forum/topic/12523/igpu-pci-passthrough-new-experimental-packages-need-testers</link><generator>RSS for Node</generator><lastBuildDate>Thu, 08 Oct 2026 10:26:59 GMT</lastBuildDate><atom:link href="https://xcp-ng.org/forum/topic/12523.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Oct 2026 08:07:31 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 09:32:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/yannsionneau" aria-label="Profile: yannsionneau">@<bdi>yannsionneau</bdi></a> Yes it works with the stock packages.</p>
]]></description><link>https://xcp-ng.org/forum/post/108951</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108951</guid><dc:creator><![CDATA[ovicz]]></dc:creator><pubDate>Thu, 08 Oct 2026 09:32:41 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 09:27:58 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/ovicz" aria-label="Profile: ovicz">@<bdi>ovicz</bdi></a> It seems your gpu works even without vbios since in your dmesg I can see</p>
<pre><code>[    7.424250] i915 0000:00:08.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0x0000
[    7.424259] i915 0000:00:08.0: [drm] Failed to find VBIOS tables (VBT)
</code></pre>
<p dir="auto">So you're saying that anyway your setup was working even without all those new packages?<br />
Thanks for testing anyway!</p>
]]></description><link>https://xcp-ng.org/forum/post/108950</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108950</guid><dc:creator><![CDATA[yannsionneau]]></dc:creator><pubDate>Thu, 08 Oct 2026 09:27:58 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 09:20:58 GMT]]></title><description><![CDATA[<p dir="auto">Yes it does see it.<br />
<a href="/forum/assets/uploads/files/1791451208788-dmesg.txt">dmesg.txt</a><br />
Passthrough was working and without that file from your repo.</p>
]]></description><link>https://xcp-ng.org/forum/post/108949</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108949</guid><dc:creator><![CDATA[ovicz]]></dc:creator><pubDate>Thu, 08 Oct 2026 09:20:58 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 09:14:31 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/ovicz" aria-label="Profile: ovicz">@<bdi>ovicz</bdi></a> with the new edk2 package it should help your VM access the vbios in the rom bar.<br />
Does the VM see the gpu?<br />
Can you share the VM dmesg as attached file?<br />
Also, are you trying to passthrough a sriov virtual function? or the entire physical gpu?<br />
Thanks</p>
]]></description><link>https://xcp-ng.org/forum/post/108948</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108948</guid><dc:creator><![CDATA[yannsionneau]]></dc:creator><pubDate>Thu, 08 Oct 2026 09:14:31 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 09:12:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/yannsionneau" aria-label="Profile: yannsionneau">@<bdi>yannsionneau</bdi></a> Reverted to stable and I upgraded only that package from your repo. VMs start now.  At what should i look for now ?</p>
]]></description><link>https://xcp-ng.org/forum/post/108947</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108947</guid><dc:creator><![CDATA[ovicz]]></dc:creator><pubDate>Thu, 08 Oct 2026 09:12:53 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 08:55:34 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/yannsionneau" aria-label="Profile: yannsionneau">@<bdi>yannsionneau</bdi></a> cd /sys/bus/pci/devices/0000:00:02.0/<br />
[11:55 xcp-ng-akz 0000:00:02.0]# echo 1 &gt; rom<br />
[11:55 xcp-ng-akz 0000:00:02.0]# cat rom &gt; /root/vbios.bin<br />
cat: rom: Input/output error<br />
[11:55 xcp-ng-akz 0000:00:02.0]# echo 0 &gt; rom</p>
]]></description><link>https://xcp-ng.org/forum/post/108946</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108946</guid><dc:creator><![CDATA[ovicz]]></dc:creator><pubDate>Thu, 08 Oct 2026 08:55:34 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 08:53:04 GMT]]></title><description><![CDATA[<p dir="auto">Another possibility for you would be to <code>yum downgrade</code> qemu and the xapi packages, everything except edk2 and try again.</p>
]]></description><link>https://xcp-ng.org/forum/post/108945</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108945</guid><dc:creator><![CDATA[yannsionneau]]></dc:creator><pubDate>Thu, 08 Oct 2026 08:53:04 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 08:51:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/ovicz" aria-label="Profile: ovicz">@<bdi>ovicz</bdi></a> in your case it seems the vbios is in the ROM BAR.<br />
You can dump the vbios by doing something like</p>
<pre><code>cd /sys/bus/pci/devices/0000:00:02.0/
echo 1 &gt; rom
cat rom &gt; /root/vbios.bin
echo 0 &gt; rom
</code></pre>
]]></description><link>https://xcp-ng.org/forum/post/108944</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108944</guid><dc:creator><![CDATA[yannsionneau]]></dc:creator><pubDate>Thu, 08 Oct 2026 08:51:50 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 08:48:13 GMT]]></title><description><![CDATA[<p dir="auto">lspci -n -vvv -s 00:02.0<br />
00:02.0 0300: 8086:46d1 (prog-if 00 [VGA controller])<br />
Subsystem: 8086:7270<br />
Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-<br />
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast &gt;TAbort- &lt;TAbort- &lt;MAbort- &gt;SERR- &lt;PERR- INTx-<br />
Interrupt: pin A routed to IRQ 16<br />
Region 0: Memory at 60e7000000 (64-bit, non-prefetchable) [disabled] [size=16M]<br />
Region 2: Memory at 4000000000 (64-bit, prefetchable) [disabled] [size=256M]<br />
Region 4: I/O ports at 3000 [disabled] [size=64]<br />
[virtual] Expansion ROM at 000c0000 [disabled] [size=128K]<br />
Capabilities: [40] Vendor Specific Information: Len=0c &lt;?&gt;<br />
Capabilities: [70] Express (v2) Root Complex Integrated Endpoint, MSI 00<br />
DevCap: MaxPayload 128 bytes, PhantFunc 0<br />
ExtTag- RBE+<br />
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-<br />
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-<br />
MaxPayload 128 bytes, MaxReadReq 128 bytes<br />
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-<br />
DevCap2: Completion Timeout: Not Supported, TimeoutDis-, LTR-, OBFF Not Supported<br />
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled<br />
Capabilities: [ac] MSI: Enable- Count=1/1 Maskable+ 64bit-<br />
Address: 00000000  Data: 0000<br />
Masking: 00000000  Pending: 00000000<br />
Capabilities: [d0] Power Management version 2<br />
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)<br />
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-<br />
Capabilities: [100 v1] Process Address Space ID (PASID)<br />
PASIDCap: Exec- Priv-, Max PASID Width: 14<br />
PASIDCtl: Enable- Exec- Priv-<br />
Capabilities: [200 v1] Address Translation Service (ATS)<br />
ATSCap: Invalidate Queue Depth: 00<br />
ATSCtl: Enable-, Smallest Translation Unit: 00<br />
Capabilities: [300 v1] Page Request Interface (PRI)<br />
PRICtl: Enable- Reset-<br />
PRISta: RF- UPRGI- Stopped+<br />
Page Request Capacity: 00008000, Page Request Allocation: 00000000<br />
Capabilities: [320 v1] Single Root I/O Virtualization (SR-IOV)<br />
IOVCap: Migration-, Interrupt Message Number: 000<br />
IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy-<br />
IOVSta: Migration-<br />
Initial VFs: 7, Total VFs: 7, Number of VFs: 0, Function Dependency Link: 00<br />
VF offset: 1, stride: 1, Device ID: 46d1<br />
Supported Page Size: 00000553, System Page Size: 00000001<br />
Region 0: Memory at 00000060e0000000 (64-bit, non-prefetchable)<br />
Region 2: Memory at 0000006000000000 (64-bit, prefetchable)<br />
VF Migration: offset: 00000000, BIR: 0<br />
Kernel driver in use: pciback</p>
<p dir="auto">Now the VMs don't start at all.</p>
<p dir="auto">vm.start<br />
{<br />
"id": "6783fdf9-3569-0224-fdc0-0082323305fe",<br />
"bypassMacAddressesCheck": false,<br />
"force": false<br />
}<br />
{<br />
"code": "INTERNAL_ERROR",<br />
"params": [<br />
"xenopsd internal error: Cannot_add(0000:00:02.0, Device_common.QMP_Error(5, "{\"error\":{\"class\":\"GenericError\",\"desc\":\"failed to find romfile \\\"/root/vbios.bin\\\"\",\"data\":{}},\"id\":\"qmp-000015-5\"}"))"<br />
],<br />
"call": {<br />
"duration": 4031,<br />
"method": "VM.start",<br />
"params": [<br />
"* session id *",<br />
"OpaqueRef:2877507a-7ad9-f1e6-2b9c-e5690cb21e76",<br />
false,<br />
false<br />
]<br />
},<br />
"message": "INTERNAL_ERROR(xenopsd internal error: Cannot_add(0000:00:02.0, Device_common.QMP_Error(5, "{\"error\":{\"class\":\"GenericError\",\"desc\":\"failed to find romfile \\\"/root/vbios.bin\\\"\",\"data\":{}},\"id\":\"qmp-000015-5\"}")))",<br />
"name": "XapiError",<br />
"stack": "XapiError: INTERNAL_ERROR(xenopsd internal error: Cannot_add(0000:00:02.0, Device_common.QMP_Error(5, "{\"error\":{\"class\":\"GenericError\",\"desc\":\"failed to find romfile \\\"/root/vbios.bin\\\"\",\"data\":{}},\"id\":\"qmp-000015-5\"}")))<br />
at XapiError.wrap (file:///opt/xo/xo-builds/xen-orchestra-202610080923/packages/xen-api/_XapiError.mjs:16:12)<br />
at file:///opt/xo/xo-builds/xen-orchestra-202610080923/packages/xen-api/transports/json-rpc.mjs:38:21<br />
at runNextTicks (node:internal/process/task_queues:65:5)<br />
at processImmediate (node:internal/timers:541:9)"<br />
}</p>
]]></description><link>https://xcp-ng.org/forum/post/108943</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108943</guid><dc:creator><![CDATA[ovicz]]></dc:creator><pubDate>Thu, 08 Oct 2026 08:48:13 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 08:41:07 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/ovicz" aria-label="Profile: ovicz">@<bdi>ovicz</bdi></a> <a href="/forum/post/108941">a dit</a>:</p>
<p dir="auto">intel alder lake cpu</p>
</blockquote>
<p dir="auto">Thanks for giving this a try!<br />
Can you give me the output of <code>lspci -n -vvv -s SBDF_OF_GPU</code> on your dom0 please?</p>
]]></description><link>https://xcp-ng.org/forum/post/108942</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108942</guid><dc:creator><![CDATA[yannsionneau]]></dc:creator><pubDate>Thu, 08 Oct 2026 08:41:07 GMT</pubDate></item><item><title><![CDATA[Reply to iGPU PCI passthrough: new experimental packages need testers on Thu, 08 Oct 2026 08:39:25 GMT]]></title><description><![CDATA[<p dir="auto">Hi. I only have this after acpidump -b on a igpu from intel alder lake cpu.</p>
<p dir="auto">ls -l | grep dat<br />
-rw-r--r-- 1 root root     476 Oct  8 11:35 apic.dat<br />
-rw-r--r-- 1 root root      92 Oct  8 11:35 dbg2.dat<br />
-rw-r--r-- 1 root root      52 Oct  8 11:35 dbgp.dat<br />
-rw-r--r-- 1 root root  480216 Oct  8 11:35 dsdt.dat<br />
-rw-r--r-- 1 root root     276 Oct  8 11:35 facp.dat<br />
-rw-r--r-- 1 root root      64 Oct  8 11:35 facs.dat<br />
-rw-r--r-- 1 root root     156 Oct  8 11:35 fidt.dat<br />
-rw-r--r-- 1 root root      68 Oct  8 11:35 fpdt.dat<br />
-rw-r--r-- 1 root root      56 Oct  8 11:35 hpet.dat<br />
-rw-r--r-- 1 root root     204 Oct  8 11:35 lpit.dat<br />
-rw-r--r-- 1 root root      60 Oct  8 11:35 mcfg.dat<br />
-rw-r--r-- 1 root root      45 Oct  8 11:35 nhlt.dat<br />
-rw-r--r-- 1 root root    1553 Oct  8 11:35 phat.dat<br />
-rw-r--r-- 1 root root     136 Oct  8 11:35 rmad.dat<br />
-rw-r--r-- 1 root root    1850 Oct  8 11:35 ssdt10.dat<br />
-rw-r--r-- 1 root root   15082 Oct  8 11:35 ssdt11.dat<br />
-rw-r--r-- 1 root root   14810 Oct  8 11:35 ssdt12.dat<br />
-rw-r--r-- 1 root root     324 Oct  8 11:35 ssdt13.dat<br />
-rw-r--r-- 1 root root     916 Oct  8 11:35 ssdt14.dat<br />
-rw-r--r-- 1 root root     419 Oct  8 11:35 ssdt15.dat<br />
-rw-r--r-- 1 root root     427 Oct  8 11:35 ssdt16.dat<br />
-rw-r--r-- 1 root root    7087 Oct  8 11:35 ssdt17.dat<br />
-rw-r--r-- 1 root root    4937 Oct  8 11:35 ssdt18.dat<br />
-rw-r--r-- 1 root root    4027 Oct  8 11:35 ssdt19.dat<br />
-rw-r--r-- 1 root root     908 Oct  8 11:35 ssdt1.dat<br />
-rw-r--r-- 1 root root   23819 Oct  8 11:35 ssdt2.dat<br />
-rw-r--r-- 1 root root   10549 Oct  8 11:35 ssdt3.dat<br />
-rw-r--r-- 1 root root   13271 Oct  8 11:35 ssdt4.dat<br />
-rw-r--r-- 1 root root   54407 Oct  8 11:35 ssdt5.dat<br />
-rw-r--r-- 1 root root    7962 Oct  8 11:35 ssdt6.dat<br />
-rw-r--r-- 1 root root   10883 Oct  8 11:35 ssdt7.dat<br />
-rw-r--r-- 1 root root    9047 Oct  8 11:35 ssdt8.dat<br />
-rw-r--r-- 1 root root    6425 Oct  8 11:35 ssdt9.dat<br />
-rw-r--r-- 1 root root      76 Oct  8 11:35 tpm2.dat<br />
-rw-r--r-- 1 root root      72 Oct  8 11:35 uefi.dat<br />
-rw-r--r-- 1 root root      40 Oct  8 11:35 wsmt.dat</p>
<p dir="auto">And the python script throws an error :</p>
<p dir="auto">python3 -c 'import struct,sys;d=open(sys.argv[1],"rb").read();assert d[:4]==b"VFCT",d[:4];n=struct.unpack("&lt;I",d[4:8])[0];off=struct.unpack("&lt;I",d[0x34:0x38])[0];i=0<br />
while off and off+28&lt;=n:<br />
pcibus,pcidev,pcifunc,vendor,device,ssvid,ssid,rev,imagelen=struct.unpack("&lt;IIIHHHHII",d[off:off+28])<br />
if imagelen==0 or off+28+imagelen&gt;n:break<br />
fn="vbios_%02d_%04x_%04x.bin"%(i,vendor,device);open(fn,"wb").write(d[off+28:off+28+imagelen]);print(fn,"bus=%d dev=%d func=%d vid=%04x did=%04x len=%d"%(pcibus,pcidev,pcifunc,vendor,device,imagelen));off+=28+imagelen;i+=1' vfct.dat<br />
Traceback (most recent call last):<br />
File "&lt;string&gt;", line 1, in &lt;module&gt;<br />
FileNotFoundError: [Errno 2] No such file or directory: 'vfct.dat'</p>
]]></description><link>https://xcp-ng.org/forum/post/108941</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/108941</guid><dc:creator><![CDATA[ovicz]]></dc:creator><pubDate>Thu, 08 Oct 2026 08:39:25 GMT</pubDate></item></channel></rss>