<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Intel on homelab</title>
    <link>https://homelab.nbkelley.com/tags/intel/</link>
    <description>Recent content in Intel on homelab</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://homelab.nbkelley.com/tags/intel/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>GPU Passthrough for Proxmox LXCs</title>
      <link>https://homelab.nbkelley.com/docs/infrastructure/gpu-passthrough-lxc/</link>
      <pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate>
      <guid>https://homelab.nbkelley.com/docs/infrastructure/gpu-passthrough-lxc/</guid>
      <description>&lt;h1 id=&#34;gpu-passthrough-for-proxmox-lxcs&#34;&gt;GPU Passthrough for Proxmox LXCs&lt;a class=&#34;anchor&#34; href=&#34;#gpu-passthrough-for-proxmox-lxcs&#34;&gt;#&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;h2 id=&#34;what-was-established&#34;&gt;What Was Established&lt;a class=&#34;anchor&#34; href=&#34;#what-was-established&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Intel GPU passthrough to Proxmox LXCs requires both host-side module loading and specific LXC device mounts.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;vainfo&lt;/code&gt; frequently fails with X11/X server errors in headless containers; this is expected and does not indicate a broken passthrough.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;intel_gpu_top&lt;/code&gt; requires &lt;code&gt;i915&lt;/code&gt; module loaded on the host and accessible debugfs/sysfs paths inside the container.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;key-decisions&#34;&gt;Key Decisions&lt;a class=&#34;anchor&#34; href=&#34;#key-decisions&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Headless VA-API Testing&lt;/strong&gt;: When &lt;code&gt;vainfo&lt;/code&gt; reports &lt;code&gt;error: can&#39;t connect to X server!&lt;/code&gt;, set environment variables to bypass X11:&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export XDG_RUNTIME_DIR&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/tmp/runtime-root&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;export LIBVA_DRIVER_NAME&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;iHD&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;vainfo&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Module Verification&lt;/strong&gt;: &lt;code&gt;lsmod | grep i915&lt;/code&gt; confirms the driver is loaded inside the container. Presence of &lt;code&gt;i915&lt;/code&gt;, &lt;code&gt;drm_buddy&lt;/code&gt;, &lt;code&gt;ttm&lt;/code&gt;, and &lt;code&gt;drm_display_helper&lt;/code&gt; indicates successful module injection.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Device Access&lt;/strong&gt;: &lt;code&gt;intel_gpu_top&lt;/code&gt; failing with &lt;code&gt;No device filter specified...&lt;/code&gt; typically points to missing debugfs mounts or host-side &lt;code&gt;i915&lt;/code&gt; parameters, not necessarily a broken &lt;code&gt;/dev/dri/&lt;/code&gt; passthrough.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;current-configuration&#34;&gt;Current Configuration&lt;a class=&#34;anchor&#34; href=&#34;#current-configuration&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Proxmox LXC Config (&lt;code&gt;/etc/pve/lxc/&amp;lt;container-id&amp;gt;.conf&lt;/code&gt;)&lt;/strong&gt;:&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
