<?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[Set passthrough GPU as a primary graphics card for a VM]]></title><description><![CDATA[<p dir="auto">I am trying to passthrough my Intel iGPU to an Ubuntu VM.<br />
I can see a passed through card in the guest using <code>lspci</code> and there is new card in <code>/dev/dri</code> however Ubuntu uses the primary emulated VGA GPU for display output instead.<br />
I want my passed through GPU to be a primary graphics card for my VM but I do not see any option in XCP-NG to do that.<br />
I came accross this wiki page: <a href="https://wiki.xenproject.org/wiki/Xen_VGA_Passthrough" target="_blank" rel="noopener noreferrer nofollow ugc">https://wiki.xenproject.org/wiki/Xen_VGA_Passthrough</a>.<br />
In <code>The effect of gfx_passthru= option</code> section of that article there are described ways to make Xen change primary graphics card OR remove <code>curris</code> vga card.<br />
I tried adding <code>gfx_passthru=1</code> and <code>vga=none</code> to VM <code>other-config</code> params list but it had no effect at all <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f61e.png?v=2bdbead4301" class="not-responsive emoji emoji-android emoji--disappointed" style="height:23px;width:auto;vertical-align:middle" title=":(" alt="😞" /><br />
So, my question is: how to achieve the behaviour described on the Xen Wiki page in XCP-NG? How to either set a primary graphics card or disabling virtual <code>curris</code> card?</p>
]]></description><link>https://xcp-ng.org/forum/topic/9821/set-passthrough-gpu-as-a-primary-graphics-card-for-a-vm</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 15:20:03 GMT</lastBuildDate><atom:link href="https://xcp-ng.org/forum/topic/9821.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Oct 2024 16:52:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Mon, 11 Aug 2025 10:16:37 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/kubuntu-newbie" aria-label="Profile: kubuntu-newbie">@<bdi>kubuntu-newbie</bdi></a> I've looked at the code. The intel passthrough seems to not care about the value of the <code>vga</code> key in platform, and instead it expects the key <code>igd_passthrough</code> to be set to true.</p>
<p dir="auto"><a href="https://github.com/xapi-project/xen-api/blob/9eb5f9f9f3c742c0c0b691098e1dafc02e40c856/ocaml/xapi/xapi_xenops.ml#L390" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/xapi-project/xen-api/blob/9eb5f9f9f3c742c0c0b691098e1dafc02e40c856/ocaml/xapi/xapi_xenops.ml#L390</a></p>
]]></description><link>https://xcp-ng.org/forum/post/96204</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96204</guid><dc:creator><![CDATA[psafont]]></dc:creator><pubDate>Mon, 11 Aug 2025 10:16:37 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Fri, 08 Aug 2025 17:51:30 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/olivierlambert" aria-label="Profile: olivierlambert">@<bdi>olivierlambert</bdi></a></p>
<p dir="auto">thank you! I did a little digging, but I could be looking at the wrong place, according to:</p>
<p dir="auto"><a href="https://github.com/xcp-ng/qemu-dp/blob/master/qemu-options.hx" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/xcp-ng/qemu-dp/blob/master/qemu-options.hx</a></p>
<p dir="auto">there is an option vga: none</p>
<p dir="auto">DEF("vga", HAS_ARG, QEMU_OPTION_vga,<br />
"-vga [std|cirrus|vmware|qxl|xenfb|tcx|cg3|virtio|none]\n"<br />
"                select video card type\n", QEMU_ARCH_ALL)<br />
SRST<br />
<code>-vga type</code><br />
...<br />
<code>none</code><br />
Disable VGA card.</p>
<p dir="auto">I tried setting this manually via "xe vm-param-set platform:vga=none " and I still get Cirrus PCI device created in the VM</p>
<p dir="auto">Is there something else that needs to be done to have no virtual VGA in the VM at all?</p>
]]></description><link>https://xcp-ng.org/forum/post/96145</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96145</guid><dc:creator><![CDATA[kubuntu-newbie]]></dc:creator><pubDate>Fri, 08 Aug 2025 17:51:30 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Fri, 08 Aug 2025 17:29:45 GMT]]></title><description><![CDATA[<p dir="auto">Because it's the default you cannot bypass. <a class="plugin-mentions-group plugin-mentions-a" href="/forum/groups/team-xapi-network" aria-label="Profile: Team-XAPI-Network">@<bdi>Team-XAPI-Network</bdi></a> could confirm</p>
]]></description><link>https://xcp-ng.org/forum/post/96143</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96143</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Fri, 08 Aug 2025 17:29:45 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Fri, 08 Aug 2025 16:13:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/olivierlambert" aria-label="Profile: olivierlambert">@<bdi>olivierlambert</bdi></a></p>
<p dir="auto">and removing key vga from platform all together has the same result as switching to cirrus, there is still a virtual vga Cirrus Logic in the VM</p>
]]></description><link>https://xcp-ng.org/forum/post/96137</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96137</guid><dc:creator><![CDATA[kubuntu-newbie]]></dc:creator><pubDate>Fri, 08 Aug 2025 16:13:05 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Fri, 08 Aug 2025 16:08:27 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/olivierlambert" aria-label="Profile: olivierlambert">@<bdi>olivierlambert</bdi></a><br />
it is still not clear to me how changing vga: std to vga: cirrus in platform parameter of a vm constitute turning off vga (this is what happens when you turn off vga in Xen Orchestra)</p>
<p dir="auto">manually setting vga to off in platform produces the same result as vga: cirrus, VM still sees  "VGA compatible controller [0300]: Cirrus Logic GD 5446 [1013:00b8]"</p>
<p dir="auto">is there a way to completely turn off creating this virtual VGA in the VM?</p>
]]></description><link>https://xcp-ng.org/forum/post/96134</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96134</guid><dc:creator><![CDATA[kubuntu-newbie]]></dc:creator><pubDate>Fri, 08 Aug 2025 16:08:27 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Fri, 08 Aug 2025 06:53:45 GMT]]></title><description><![CDATA[<p dir="auto">IIRC, Intel iGPU is very different than a discrete GPU from a system perspective, that might explain your problem.</p>
]]></description><link>https://xcp-ng.org/forum/post/96115</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96115</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Fri, 08 Aug 2025 06:53:45 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Thu, 07 Aug 2025 20:21:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/kubuntu-newbie" aria-label="Profile: kubuntu-newbie">@<bdi>kubuntu-newbie</bdi></a></p>
<p dir="auto">Yeah i didnt do anything with disabling the vgpu.  Just a standard Win 11 or ubuntu VM and attached the nivdia gpu.</p>
]]></description><link>https://xcp-ng.org/forum/post/96111</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96111</guid><dc:creator><![CDATA[acebmxer]]></dc:creator><pubDate>Thu, 07 Aug 2025 20:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Thu, 07 Aug 2025 20:01:33 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/acebmxer" aria-label="Profile: acebmxer">@<bdi>acebmxer</bdi></a> in my case it appears to be a Wayland issue, using the wrong card. I was hoping that I could disable virtual gpu all together</p>
<p dir="auto">curious though that disabling virtual GPU just changes the device id in the vm from 1234:1111 to "cirrus" - that seems to be a bug in XCP-ng</p>
]]></description><link>https://xcp-ng.org/forum/post/96110</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96110</guid><dc:creator><![CDATA[kubuntu-newbie]]></dc:creator><pubDate>Thu, 07 Aug 2025 20:01:33 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Thu, 07 Aug 2025 20:00:56 GMT]]></title><description><![CDATA[<p dir="auto">Good to see some successes here, no luck for me with Intel N100 iGPU though <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f615.png?v=2bdbead4301" class="not-responsive emoji emoji-android emoji--confused" style="height:23px;width:auto;vertical-align:middle" title=":/" alt="😕" /><br />
Both Linux and Windows.</p>
]]></description><link>https://xcp-ng.org/forum/post/96109</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96109</guid><dc:creator><![CDATA[miltador]]></dc:creator><pubDate>Thu, 07 Aug 2025 20:00:56 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Thu, 07 Aug 2025 19:57:57 GMT]]></title><description><![CDATA[<p dir="auto">I was able to get nvidia rtx 4070 passed through to a windows VM and Ubuntu server.  Need to make sure you passing all the devices associated with the GPU, specifically the Audio controller on the GPU.</p>
<p dir="auto">These were on AMD systems.</p>
]]></description><link>https://xcp-ng.org/forum/post/96108</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96108</guid><dc:creator><![CDATA[acebmxer]]></dc:creator><pubDate>Thu, 07 Aug 2025 19:57:57 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Thu, 07 Aug 2025 19:47:22 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/miltador" aria-label="Profile: miltador">@<bdi>miltador</bdi></a></p>
<p dir="auto">I was able to get it working with kubuntu from 22.04 through 25.10, running X11 plasma session just by passing through PCI and running "nvidia-xconfig --enable-all-gpus --separate-x-screens to create xorg.conf" in the VM.</p>
<p dir="auto">It used to work with Wayland as well on XCP-ng 8.2 and kubuntu 22.04 without any modifications to the VM (just had to create xorg.conf so SDDM would use correct display)</p>
<p dir="auto">now Wayland tries to use 1234:1111 (that's how virtual GPU is showing up in the VM when vga=on ) or "Cirrus" 1013:00b8 (when vga is disabled), I'm still trying to figure out how to tell Wayland to use nvidia</p>
<p dir="auto">I'm using Nvidia A4000, no iGPU</p>
]]></description><link>https://xcp-ng.org/forum/post/96107</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96107</guid><dc:creator><![CDATA[kubuntu-newbie]]></dc:creator><pubDate>Thu, 07 Aug 2025 19:47:22 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Thu, 07 Aug 2025 19:25:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/kubuntu-newbie" aria-label="Profile: kubuntu-newbie">@<bdi>kubuntu-newbie</bdi></a> nah, I gave up on this. I think it's generally not suited for such use cases.<br />
PCI passthrough works well in XCP-ng, GPU passthrough - nope unless you have special hardware <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f615.png?v=2bdbead4301" class="not-responsive emoji emoji-android emoji--confused" style="height:23px;width:auto;vertical-align:middle" title=":/" alt="😕" /></p>
]]></description><link>https://xcp-ng.org/forum/post/96106</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96106</guid><dc:creator><![CDATA[miltador]]></dc:creator><pubDate>Thu, 07 Aug 2025 19:25:42 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Thu, 07 Aug 2025 19:21:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/miltador" aria-label="Profile: miltador">@<bdi>miltador</bdi></a> have you ever been able to figure this out? I'm having the same problem with plasmashell trying to use virtual gpu instead of nvidia</p>
]]></description><link>https://xcp-ng.org/forum/post/96105</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/96105</guid><dc:creator><![CDATA[kubuntu-newbie]]></dc:creator><pubDate>Thu, 07 Aug 2025 19:21:38 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Mon, 21 Oct 2024 17:12:18 GMT]]></title><description><![CDATA[<p dir="auto">I've tried an experiment and modified slightly <code>qemu-wrapper</code> script to not add <code>cirrus-vga</code> device to the VM. THe VM starts, but I still have no signal on my HDMI output. Seems like more work needs to be done in order to use my iGPU for display on HDMI output...<br />
Browsing through similar topics on the forum it seems like it's not a supported use case? Are there any plans to support this use case?</p>
]]></description><link>https://xcp-ng.org/forum/post/84556</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/84556</guid><dc:creator><![CDATA[miltador]]></dc:creator><pubDate>Mon, 21 Oct 2024 17:12:18 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Sat, 19 Oct 2024 15:57:10 GMT]]></title><description><![CDATA[<p dir="auto">@Teddy-Astie hello, thank you for the reply.<br />
I have a physical screen plugged on the motherboard but it receives no output.<br />
I suppose it is because the Ubuntu desktop VM detects emulated Cirrus GPU as a primary one and uses it for video output.<br />
I can see Intel iGPU in Ubuntu VM but I want to use it as a video output on my connected physical display.</p>
]]></description><link>https://xcp-ng.org/forum/post/84506</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/84506</guid><dc:creator><![CDATA[miltador]]></dc:creator><pubDate>Sat, 19 Oct 2024 15:57:10 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Sat, 19 Oct 2024 15:54:07 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/miltador" aria-label="Profile: miltador">@<bdi>miltador</bdi></a> ,</p>
<p dir="auto">If I understand correctly, your VM has this setup :</p>
<ul>
<li>a emulated Cirrus with a virtual display plugged in (this is what you see in Xen Orchestra) as primary device</li>
<li>a physical (real) Intel iGPU with (supposedly) no display plugged in (i.e no physical screen plugged on the server motherboard)</li>
</ul>
<p dir="auto">The catch is that the physical Intel iGPU can only display on real physical screens (and thus not in Xen Orchestra).</p>
<p dir="auto">So the Ubuntu desktop will display on the Cirrus display (which is the one you see in Xen Orchestra) and only it as you have no other display (otherwise, Ubuntu would show you multiples screens).</p>
<p dir="auto">That doesn't prevent Ubuntu from using the Intel GPU, just that it's not used for display.</p>
<p dir="auto">Depending on what you are looking for, you can make Ubuntu use the Intel GPU by :</p>
<ul>
<li>if you want to run a graphical program (and perhaps the entire desktop) with the GPU, you may need to use DRI PRIME offload to make the emulated gpu display what the Intel iGPU computes (see <a href="https://docs.mesa3d.org/envvars.html#envvar-DRI_PRIME" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.mesa3d.org/envvars.html#envvar-DRI_PRIME</a>)</li>
<li>for multimedia software such as Jellyfin, you don't need to do anything special as e.g Jellyfin supports headless setups on Ubuntu (which is what you have basically)</li>
</ul>
]]></description><link>https://xcp-ng.org/forum/post/84505</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/84505</guid><dc:creator><![CDATA[TeddyAstie]]></dc:creator><pubDate>Sat, 19 Oct 2024 15:54:07 GMT</pubDate></item><item><title><![CDATA[Reply to Set passthrough GPU as a primary graphics card for a VM on Thu, 17 Oct 2024 17:00:12 GMT]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">Maybe @Teddy-Astie might help <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=2bdbead4301" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://xcp-ng.org/forum/post/84411</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/84411</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Thu, 17 Oct 2024 17:00:12 GMT</pubDate></item></channel></rss>