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)

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

RBAC vs Tenant Isolation: Two Different Security Boundaries

RBAC vs Tenant Isolation: Two Different Security Boundaries

RBAC controls what a user may do; tenant isolation controls which tenant’s resources that action may reach. Learn why multi-tenant SaaS security requires both boundaries.

ZBT Z8102AX Dual-SIM Failover: What Works, What Is Missing and What Needs Better Firmware

ZBT Z8102AX Dual-SIM Failover: What Works, What Is Missing and What Needs Better Firmware

The ZBT Z8102AX is a dual-SIM 5G OpenWrt router, but dual-SIM hardware alone is not the same as intelligent failover. The router recognizes the SIM and connects successfully, but automatic switching, modem recovery, signal-based decisions and clean failover logic still need deeper testing.

How to Know Whether an AI Agent Actually Used the Right Evidence

How to Know Whether an AI Agent Actually Used the Right Evidence

An AI agent can cite sources and still use the wrong evidence. This article introduces a practical method for checking claim support, source authority, applicability, provenance, and whether the evidence actually influenced the answer.

From Research Protocol to a General AI Reasoning Framework

From Research Protocol to a General AI Reasoning Framework

A methodology developed for rigorous AI-assisted research can be generalized far beyond research itself. By separating evidence from assumptions, testing competing hypotheses, controlling prompt framing, searching for counter-evidence and applying domain-specific validators, the same reasoning architecture can improve debugging, software design, strategy, technical analysis and AI-assisted decision support.

The Next OpenWrt 5G Router: Why Wi-Fi 7, a Stronger CPU and Better Firmware Matter

The Next OpenWrt 5G Router: Why Wi-Fi 7, a Stronger CPU and Better Firmware Matter

The ZBT Z8102AX is a useful first sample, but the next step should be stronger: Wi-Fi 7, a more powerful four-core platform, better firmware clarity, improved packaging and a more stable pricing policy. The goal is not just another 5G router, but a better configured OpenWrt-based prosumer device.

Canonical Architecture, URL Design, Resolver Logic, API & Scalability Specification

Canonical Architecture, URL Design, Resolver Logic, API & Scalability Specification

Geo-based discovery architecture for multi-tenant portals. Defines canonical URLs, resolver logic, caching strategy, and a geo read-model without CMS coupling or database refactoring. Designed for SEO stability, scalability, and future extensions like booking and maps.

The GPU Is Not the Product: Future-Proof Private AI Architecture

The GPU Is Not the Product: Future-Proof Private AI Architecture

Private AI infrastructure should not be designed around one GPU or one model. A more resilient approach combines fast inference GPUs, memory-rich AI systems, physical-AI nodes and optional frontier cloud models behind a capability-aware routing layer.

How Far Is an AI Claim From the Evidence? — Evidence Distance

How Far Is an AI Claim From the Evidence? — Evidence Distance

Not all supported answers are equally close to their evidence. Evidence Distance is a practical way to describe how many transformations, summaries, assumptions and inferential steps separate an AI claim from directly inspectable evidence.

AI Agent Reliability: Why the Final Answer Is Not Enough

AI Agent Reliability: Why the Final Answer Is Not Enough

Correct output does not prove correct reasoning, safe execution, or a trustworthy system.

Google I/O 2026: Gemini Omni, Gemini 3.5, and the Compute Layer Behind Agentic AI

Google I/O 2026: Gemini Omni, Gemini 3.5, and the Compute Layer Behind Agentic AI

Google I/O 2026 put Gemini Omni and Gemini 3.5 at the center of Google’s agentic AI strategy. This article breaks down the difference between multimodal creation and action-grade intelligence, why Gemini 3.5 Flash matters for agents and coding, and how these models power the wider Google I/O 2026 platform shift.

The Answer Validity Boundary: The Missing Layer Between Relevance and Reliable AI Answers

The Answer Validity Boundary: The Missing Layer Between Relevance and Reliable AI Answers

A source can be relevant, authoritative and still be wrong for the question being asked. The missing layer is applicability: the conditions under which an answer holds, and the changes that force it to be reconsidered. This article introduces the Answer Validity Boundary as a source-design pattern for humans, AI search and RAG systems.

MCP vs A2A vs UCP vs AP2 vs A2UI: The Agent Protocol Stack Explained

MCP vs A2A vs UCP vs AP2 vs A2UI: The Agent Protocol Stack Explained

MCP, A2A, UCP, AP2 and A2UI are often presented as competing agent standards. They mostly solve different interoperability problems. This guide maps each protocol to the boundary it actually standardizes—and shows how they can work together in one production system.