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

Goal: Keep two Python venvs (e.g., 3.12 + 3.14) for compatibility, but start ComfyUI automatically with a clean, lightweight setup.
Published:
Aleksandar Stajić
Updated: March 1, 2026 at 10:36 AM
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).

Architecture

Reference architecture for the Enterprise Delivery Operating System.

DevOps & Runtime

Deployments, services, ports, runtime operations, and repeatability.

AI Tooling & Automation

Local AI stack, orchestration, automation, and stable workflows.

Security & Compliance

Permissions, hardening, and safe defaults for local AI systems.

Observability & Performance

Performance 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 confusion

Run multiple ComfyUI instances cleanly: ports, services, and predictable profiles.

VRAM budgeting: what actually reduces OOM

Practical VRAM tactics: attention modes, model sizes, batching, and real-world limits.

Local AI hardening: permissions, sandboxing, and safe defaults

Reduce 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

konvertieren-rpm-in-debian-ubuntu-deb-format-debian-package-manager

Google I/O 2026: Antigravity, AI Studio, and the Shift to Agentic DevTools

Google I/O 2026: Antigravity, AI Studio, and the Shift to Agentic DevTools

Google I/O 2026 made one thing clear for engineers: AI tooling is moving beyond autocomplete into managed agentic execution. This article breaks down Antigravity 2.0, the expanding role of Google AI Studio, Gemini 3.5 Flash, and the real trade-offs around orchestration, lock-in, verification, and developer workflow design.

mozilla-thunderbird-68-x-kann-oauth2-fuer-provider-for-google-calendar-nicht-speichern

apache-ubuntu-17-10-install-certbot-lets-encrypt

force-install-package-in-virtualenv

installation-mod_wsgi-auf-ubuntu-80-04-python-apache-2-4-und-django

Using Cygwin’s bash Babun terminal in a JetBrains IDE

Using Cygwin’s bash Babun terminal in a JetBrains IDE

Ubuntu Graphics Stack Transition: Hybrid GPU Boot Crashes, Wayland Risks, and Stable Deployment Practices

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.

Comprehensive Guide to Evaluation Harness: Mastering LLM Performance Evaluation

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.

git-with-ssh-on-windows

building-visualsfm-on-ubuntu-17-10-with-nvidia-cuda-support

HEIC to JPG Conversion: Why You Should Consider It and How It Works

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.