ComfyUI on Fedora 43: Two Virtual Environments + One-Click Start (March 2026)

Illustration
ComfyUI on Fedora 43: Two Virtual Environments + One-Click Start (March 2026)
Date: March 2026
OS: Fedora 43
Goal: Keep two Python venvs (e.g., 3.12 + 3.14) for compatibility, but start ComfyUI automatically with a clean, lightweight setup.
Enterprise Delivery Operating System
This guide is part of the Enterprise Delivery Operating System series. Use these category hubs to navigate the full stack (infra → workflows → governance).
ArchitectureReference architecture for the Enterprise Delivery Operating System.
DevOps & RuntimeDeployments, services, ports, runtime operations, and repeatability.
AI Tooling & AutomationLocal AI stack, orchestration, automation, and stable workflows.
Security & CompliancePermissions, hardening, and safe defaults for local AI systems.
Observability & PerformancePerformance tuning, monitoring, VRAM/RAM budgeting, and stability.
Why keep two venvs?
AI tooling moves fast. Some nodes and wheels lag behind the newest Python, while others require it.
- Python 3.12 venv → “boring but compatible” (TensorRT/LW wheels/Lightning often happier)
- Python 3.14 venv → newest features, but more missing wheels / import issues are common
Rule: never mix installs between venvs. Always run ComfyUI from the venv you intend.
Setup: One script per venv
Create a small launcher script that:
1) switches into ComfyUI folder
2) activates the chosen venv
3) runs ComfyUI on localhost
1) Create a launcher for Python 3.12 venv
mkdir -p ~/.local/bin
cat > ~/.local/bin/comfyui-start-312.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
cd /home/x/ai/ComfyUI
source /home/x/ai/ComfyUI/.venv312/bin/activate
exec python main.py --listen 127.0.0.1 --port 8188
EOF
chmod +x ~/.local/bin/comfyui-start-312.sh
2) (Optional) Create a launcher for Python 3.14 venv
cat > ~/.local/bin/comfyui-start-314.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
cd /home/x/ai/ComfyUI
source /home/x/ai/ComfyUI/.venv/bin/activate
exec python main.py --listen 127.0.0.1 --port 8189
EOF
chmod +x ~/.local/bin/comfyui-start-314.sh
Now you can run either version without thinking:
- ~/.local/bin/comfyui-start-312.sh
- ~/.local/bin/comfyui-start-314.sh
Autostart: systemd user service (best option)
This starts ComfyUI at login, restarts on crash, and stays minimal (no root, no heavy wrappers).
1) Create the user service for 3.12
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/comfyui312.service <<'EOF'
[Unit]
Description=ComfyUI (Python 3.12 venv)
After=network.target
[Service]
Type=simple
WorkingDirectory=/home/x/ai/ComfyUI
ExecStart=/home/x/.local/bin/comfyui-start-312.sh
Restart=on-failure
RestartSec=2
Environment=PYTHONUNBUFFERED=1
[Install]
WantedBy=default.target
EOF
2) Enable + start
systemctl --user daemon-reload
systemctl --user enable --now comfyui312.service
systemctl --user status comfyui312.service --no-pager
3) Logs (debug)
journalctl --user -u comfyui312.service -f
(If you also want the 3.14 service, repeat with comfyui314.service and the other script.)
One click GUI: Desktop launcher (open ComfyUI in browser)
This creates an app entry in your menu. Clicking it:
1) starts the service
2) opens the UI in your browser
mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/comfyui.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=ComfyUI (Local)
Comment=Start ComfyUI and open the UI
Exec=sh -lc 'systemctl --user start comfyui312.service; xdg-open http://127.0.0.1:8188'
Icon=utilities-terminal
Terminal=false
Categories=Graphics;AI;
EOF
Notes that prevent common mistakes
- If you see pip installing into ~/.local/..., you’re not in the right venv (or you didn’t activate it).
- If a node fails with pkg_resources missing → install setuptools inside the chosen venv:source /home/x/ai/ComfyUI/.venv312/bin/activatepython -m pip install -U pip setuptools wheel
- TensorRT node failures are normal on newer Python builds: if you don’t need it, disable that custom node folder.
Next reads
If you want to go deeper, these guides connect directly to the setup above:
ComfyUI nodes: dependency fixes (Lightning, pkg_resources, ffmpeg)Fix common node import failures and keep your ComfyUI stack stable across updates.
Two venvs, two ports, zero confusionRun multiple ComfyUI instances cleanly: ports, services, and predictable profiles.
VRAM budgeting: what actually reduces OOMPractical VRAM tactics: attention modes, model sizes, batching, and real-world limits.
Local AI hardening: permissions, sandboxing, and safe defaultsReduce risk on local AI systems: file permissions, service isolation, and safer defaults.
Tradeoffs (quick)
systemd user service
- ✅ stable, auto-restart, low overhead, clean
- ⛔ needs initial setup once
desktop launcher
- ✅ one click workflow
- ⛔ still depends on the browser UI
two venvs
- ✅ best of both worlds (compat + latest)
- ⛔ you must keep ports/services separated to avoid confusion
Related Articles

Enterprise-Grade Multi-Tenant Architecture for an International Platform
Loving Rocks is an enterprise-grade wedding platform designed with a true multi-tenant architecture, isolated databases per tenant, and built-in internationalization for global scalability, security, and long-term operational stability.

How to Install PHP 8.3 on Ubuntu 22.04
Up-to-date guide on installing PHP 8.3 on Ubuntu 22.04, including Apache and Nginx (PHP-FPM) integration, extensions, and running multiple PHP versions side by side.

Portal Development: A Scalable Platform for Performance, Multilingual Support, and Extensibility
building-visualsfm-on-ubuntu-17-10-with-nvidia-cuda-support

Comprehensive Guide to Evaluation Harness: Mastering LLM Performance Evaluation
This guide provides a detailed walkthrough of Evaluation Harness, an essential framework for rigorously assessing large language model (LLM) capabilities in enterprise LLMOps pipelines. Learn setup, best practices, and advanced techniques to ensure reliable model benchmarking and optimization.

Multi-Database Architecture with Prisma 7: A Deep Dive for Experts
The management of complex data landscapes requires modern architectures. Prisma 7 offers advanced functionalities for multi-database integration and addresses the challenges of Polyglot Persistence.

HEIC to JPG Conversion: Why You Should Consider It and How It Works
HEIC offers modern image compression and high quality, but JPG remains the most compatible format. This guide explains when and how to convert HEIC to JPG using Linux tools and automation.
mozilla-thunderbird-68-x-kann-oauth2-fuer-provider-for-google-calendar-nicht-speichern

Database Marketing: A Modern Approach to Customer Relationships
Database marketing is essential for modern customer relationship management. Learn how strategic data use, technical expertise, and innovation drive personalized customer interactions and sustainable growth.

Ubuntu Graphics Stack Transition: Hybrid GPU Boot Crashes, Wayland Risks, and Stable Deployment Practices
Ubuntu desktop upgrades can trigger boot hangs, missing login sessions, and unstable rendering—especially on hybrid Intel + NVIDIA systems. This article explains the underlying graphics stack transition, why regressions happen, and how to deploy Ubuntu safely using LTS baselines and validated driver strategies.

New Qwen 3.5-Plus: Open-source AI is getting serious now
Discover the groundbreaking features and benefits of Alibaba's Qwen 3.5-Plus, a revolutionary open-source AI for developers.

Understanding and Resolving npm ERESOLVE Dependency Conflicts
Resolve npm ERESOLVE peer dependency conflicts the right way: identify the real mismatch, align versions, use overrides safely, and know when pnpm or Yarn is a better fit.