This commit is contained in:
MacRimi 2025-03-03 19:08:52 +01:00
parent ed5d87c986
commit 4d81cdb4f7

View File

@ -1,76 +1,80 @@
import type { Metadata } from "next" "use client"
import { Steps } from "@/components/ui/steps"
export const metadata: Metadata = { import { Steps } from "@/components/ui/steps"
title: "HW iGPU Acceleration to an LXC | ProxMenux Documentation", import CopyableCode from "@/components/CopyableCode"
description: "Learn how to enable hardware iGPU acceleration for an LXC container in Proxmox VE using ProxMenux.", import Image from "next/image"
export const metadata = {
title: "Enable iGPU Acceleration in LXC | ProxMenux Documentation",
description: "Step-by-step guide to enable Intel iGPU acceleration in an LXC container using ProxMenux.",
} }
export default function IGPUAccelerationLXC() { export default function IGPUAccelerationLXC() {
return ( return (
<div className="max-w-3xl mx-auto"> <div className="max-w-3xl mx-auto">
<h1 className="text-3xl font-bold mb-6">HW iGPU Acceleration to an LXC</h1> <h1 className="text-3xl font-bold mb-6">Enable Intel iGPU Acceleration in an LXC</h1>
<p className="mb-4"> <p className="mb-4">
This guide explains how ProxMenux helps you enable Intel Integrated GPU (iGPU) acceleration for LXC containers This guide explains how to configure Intel Integrated GPU (iGPU) acceleration for LXC containers in Proxmox VE
in Proxmox VE. This feature allows your containers to use the host's Intel GPU for tasks like video transcoding, using <strong>ProxMenux</strong>. Enabling iGPU support allows containers to use the hosts GPU for hardware acceleration
rendering, and accelerating graphics-intensive applications. in applications such as video transcoding and rendering.
</p> </p>
<h2 className="text-2xl font-semibold mt-8 mb-4">What Does This Script Do?</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Overview of the Process</h2>
<p className="mb-4">When you run this script through ProxMenux, it performs the following actions:</p> <p className="mb-4">When you run this script in ProxMenux, it performs the following steps:</p>
<ol className="list-decimal pl-6 space-y-2 mb-6"> <ol className="list-decimal pl-6 space-y-2 mb-6">
<li>Presents a list of your LXC containers for you to choose from</li> <li>Prompts you to select an existing LXC container.</li>
<li>Configures the selected container to support iGPU acceleration</li> <li>Checks if the container is privileged and adjusts its settings accordingly.</li>
<li>Installs necessary drivers and tools inside the container</li> <li>Modifies the containers configuration to allow GPU access.</li>
<li>Installs the required Intel GPU drivers inside the container.</li>
</ol> </ol>
<h2 className="text-2xl font-semibold mt-8 mb-4">Key Steps</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Step-by-Step Guide</h2>
<Steps> <Steps>
<Steps.Step title="Container Selection"> <Steps.Step title="Select an LXC Container">
<p>You'll be prompted to select the LXC container you want to enable iGPU acceleration for.</p> <p>You will be presented with a list of your LXC containers to choose from.</p>
<Image src="https://macrimi.github.io/ProxMenux/igpu/select-container.png" alt="Select LXC Container" width={800} height={400} className="rounded shadow-lg" />
</Steps.Step> </Steps.Step>
<Steps.Step title="Container Configuration"> <Steps.Step title="Modify Container Configuration">
<p>The script modifies the container's configuration to allow iGPU access. This includes:</p> <p>The script applies the following changes to your container:</p>
<ul className="list-disc pl-6 space-y-1 mt-2"> <ul className="list-disc pl-6 space-y-1 mt-2">
<li>Ensuring the container is privileged (for necessary permissions)</li> <li>Switches to privileged mode if required.</li>
<li>Enabling nesting feature</li> <li>Enables the nesting feature.</li>
<li>Adding device permissions for GPU access</li> <li>Grants permissions for GPU access.</li>
<li>Setting up proper mounts for GPU devices</li> <li>Configures necessary device mounts.</li>
</ul> </ul>
<Image src="https://macrimi.github.io/ProxMenux/igpu/configure-container.png" alt="Modify Container Configuration" width={800} height={400} className="rounded shadow-lg" />
</Steps.Step> </Steps.Step>
<Steps.Step title="Driver Installation"> <Steps.Step title="Install Intel GPU Drivers">
<p>Inside the container, the script installs required packages:</p> <p>Inside the container, the following GPU-related packages will be installed:</p>
<ul className="list-disc pl-6 space-y-1 mt-2"> <ul className="list-disc pl-6 space-y-1 mt-2">
<li>GPU drivers (va-driver-all)</li> <li><strong>va-driver-all</strong> - Video acceleration drivers</li>
<li>OpenCL libraries</li> <li><strong>ocl-icd-libopencl1</strong> - OpenCL runtime</li>
<li>Intel GPU tools</li> <li><strong>intel-opencl-icd</strong> - Intel OpenCL implementation</li>
<li><strong>vainfo</strong> - Tool to verify VAAPI support</li>
<li><strong>intel-gpu-tools</strong> - Intel GPU debugging tools</li>
</ul> </ul>
</Steps.Step> <Image src="https://macrimi.github.io/ProxMenux/igpu/install-drivers.png" alt="Install GPU Drivers" width={800} height={400} className="rounded shadow-lg" />
<Steps.Step title="Permission Setup">
<p>The script sets up proper permissions for GPU access within the container.</p>
</Steps.Step> </Steps.Step>
</Steps> </Steps>
<h2 className="text-2xl font-semibold mt-8 mb-4">What to Expect</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Expected Outcome</h2>
<ul className="list-disc pl-6 space-y-2 mb-6"> <ul className="list-disc pl-6 space-y-2 mb-6">
<li>The script will guide you through the process with clear prompts.</li> <li>Your LXC container will be configured for Intel iGPU acceleration.</li>
<li>Your selected container will be stopped briefly during configuration.</li> <li>The required GPU drivers and tools will be installed inside the container.</li>
<li>The entire process usually takes a few minutes to complete.</li> <li>The container will briefly stop and restart as part of the setup.</li>
<li>After completion, your container will be ready to use the host's iGPU.</li> <li>After completion, applications inside the container will be able to leverage the GPU for acceleration.</li>
</ul> </ul>
<h2 className="text-2xl font-semibold mt-8 mb-4">Important Notes</h2> <h2 className="text-2xl font-semibold mt-8 mb-4">Important Notes</h2>
<ul className="list-disc pl-6 space-y-2 mb-6"> <ul className="list-disc pl-6 space-y-2 mb-6">
<li>This script is designed for Intel iGPUs. It may not work with other GPU types.</li> <li>This script is designed specifically for Intel iGPUs.</li>
<li>The container will be changed to privileged mode if it wasn't already.</li> <li>Make sure your Proxmox host has Intel GPU drivers installed.</li>
<li>Ensure your Proxmox host has the necessary Intel GPU drivers installed.</li> <li>Some applications inside the container may need additional setup to use the GPU.</li>
<li>Some applications inside the container may require additional setup to utilize the GPU.</li>
</ul> </ul>
<p className="mt-6 italic"> <p className="mt-6 italic">
By using this ProxMenux script, you can easily enable iGPU acceleration in your LXC containers without needing By using ProxMenux, you can enable iGPU acceleration in your LXC containers easily, without manual configuration.
to manually edit configuration files or run complex commands.
</p> </p>
</div> </div>
) )