5.9 KiB
title, description, showHero, author, date, lastmod, tags
| title | description | showHero | author | date | lastmod | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Proxmox | Bare-metal Hypervisor Virtualization Platform | false | wompmacho | 2026-04-11 | 2026-04-11 |
|
What is Proxmox VE?
Proxmox Virtual Environment (VE) is a powerful, open-source Bare-metal Hypervisor / virtualization management platform. It integrates two virtualization technologies—Kernel-based Virtual Machine (KVM) for virtual machines and Linux Containers (LXC) for lightweight container-based virtualization—into a single, easy-to-manage solution with a web-based interface.
Pros and Cons
Pros
- Open-Source and Free: Proxmox VE is completely free to download and use, making it a cost-effective solution for both home labs and enterprise environments.
- Integrated Solution: It combines KVM and LXC, offering the flexibility to run full virtual machines or lightweight containers on the same host.
- Web-Based Management: The intuitive web interface allows for easy management of VMs, containers, storage, and networking without needing to use the command line for most tasks.
- Rich Feature Set: It includes enterprise-grade features like high availability (HA) clustering, live migration, software-defined storage (like Ceph and ZFS), and robust backup/restore capabilities out of the box.
Cons
- Learning Curve: For beginners, the initial setup and understanding of its advanced networking and storage options can have a steeper learning curve compared to some commercial alternatives.
- Community-Based Support: While the community support is strong, professional, enterprise-level support requires a paid subscription.
- Hardware Compatibility: While it supports a wide range of hardware, specific or very new components might lack immediate driver support.
When choosing CPU for VM...
Currently I am running Proxmox > Ubuntu VM > code-server for a nice CitC (client in the cloud) like interface I can use to access my projects / documentation and code from anywhere. Had some issues when I wanted to integrate gemini code assistant extension into my code-server instance.
Turns out: in version v2.56 they switched over to a more moderen cpu instruction set / in order to optimize for moderen ai-assisted workflows. Older default cpu architextures (like the one used by my ubuntu vm at the time) are missing some newer instruction sets that are required for the extension to run.
[!NOTE] I struggled with this for a few weeks until I finally looked a bit deeper / aided by gemini
xD
This is generally only a problem when you are creating a vm for the first time, so when making a vm; consider its uses and if it would make sense to not use the default options like I did. Luckily; they are interchangable on proxmox vms and do not require any sort of reinstalation like you would on a normal OS.
Gemini Code Assist on a VM
The "The Gemini Code Assist server crashed 5 times" error can occur when using code-server or VS Code. This crash, identified by the SIGILL (Illegal Instruction) signal, is usually due to a hardware mismatch.
The Problem
This is caused by a modern Instructions set on "Generic" Hardware. Starting with version 2.56, the Gemini Code Assist server binary needs the AVX (Advanced Vector Extensions) instruction set. Proxmox often sets a VM's CPU type to kvm64. This hides these instructions for compatibility. When the extension tries to run an AVX command on a CPU that doesn't "have" it, the process crashes.
The Solution
-
Step 1: Diagnosing the CPU:
A command can check for the required instruction flags. In the Ubuntu terminal, run:
lscpu | grep -i 'avx\|aes\|pclmul'The Result: If the output shows aes, but avx and pclmul are missing, the virtual processor is too "basic".
-
Step 2: The Immediate Fix (Downgrade)
To fix this, roll back to a version before these requirements were enforced:
- Go to the Extensions tab in VS Code.
- Click the gear icon for Gemini Code Assist and select "Install Another Version...".
- Choose v2.55.x or earlier.
- Important: Uncheck "Auto Update" to prevent it from breaking again.
-
Step 3: The Long-Term Fix (Proxmox CPU Passthrough)
The best fix is to expose the physical CPU's features to the VM. No reinstallation is required. How to change to "Host" Processor in Proxmox:
- Shut down the Ubuntu VM.
- Log into your Proxmox Web UI.
- Select the VM > Hardware > Processors.
- Double-click Type and change it from Default (kvm64) to host.
- Restart the VM.
Why use "Host"?
Setting the type to host passes the physical CPU's features—including AVX—directly to your Ubuntu instance. This fixes the Gemini crash and can improve performance.
- In host mode, the VM executes code directly on the physical hardware.
- This results in lower CPU latency and better performance in high-demand applications like databases, compilation (GCC/Clang), and web servers.
- Modern software often needs specific "shortcuts" in modern CPUs.
- AVX/AVX2/AVX-512: These are important for math-heavy tasks and AI.
- AES-NI: Speeds up encryption, which makes SSH, VPNs, and HTTPS faster.
- PCLMULQDQ: Speeds up data integrity checks and modern security protocols.
- The Linux scheduler can more intelligently place tasks on the right cores.
- The VM can sometimes access hardware-level performance counters, which is vital if you are doing any low-level debugging or performance profiling.
- If you want to run Docker with specialized isolation or even run a VM inside a VM (Nested Virtualization), host mode is usually the most stable way to pass through the necessary "VMX" (Intel) or "SVM" (AMD) flags.
- Modern CPUs have hardware-level protections (like Execute Disable Bit or SMEP/SMAP) that protect against memory injection attacks. Generic CPU models often disable these to ensure the VM can boot on any old server; host mode enables them fully.