Fooocus on Thumper

Fooocus is a simplified image generation tool — enter a prompt and get an image. No node editor, no complex settings. It’s the fastest way to generate high-quality images with SDXL.

Manual vs Thumper Install

Installing Fooocus manually requires cloning the repo, setting up Python, downloading SDXL models, and configuring GPU-specific flags. Thumper handles all of this in one click.

StepManual InstallThumper InstallTime Saved
1. Clone repositorygit clone + cdClick Install~1 min
2. Create Python venvpython -m venv + activateAutomatic~2 min
3. Install PyTorchpip install torch (GPU-specific)GPU auto-detected~5 min
4. Install dependenciespip install -r requirements.txtAutomatic~3 min
5. Download modelsManual HF/CivitAI download (~6.5 GB)Model pack auto-download~10 min
6. Configure GPU flagsResearch + set env varsPlatform patches applied~10 min

Model Configuration

Fooocus ships with an SDXL-based model by default. It includes built-in style presets (cinematic, anime, photographic, etc.) that modify the generation pipeline without requiring manual prompt engineering.

Default Model

The default checkpoint is an SDXL variant optimized for Fooocus. Style presets are applied as additional prompt conditioning and LoRA weights — no separate model downloads needed.

Changing the Default Model

To use a different checkpoint, edit the Fooocus config file or place a new .safetensors file in the models directory:

bash
# Model directory:
~/.local/share/tr-desktop/apps/fooocus/models/checkpoints/
# Set default model in config:
"default_model": "your-model.safetensors"

Key Features

  • Prompt-only generation — type and click Generate
  • Style presets: cinematic, anime, photographic, and more
  • Inpaint and outpaint for editing existing images
  • Upscaling with built-in upscale models
  • Image variation — generate alternatives from a source image
  • Describe (reverse prompt) — generate a text prompt from an image

GPU-Specific Tips

Thumper auto-detects your GPU and applies appropriate launch flags. Here are the vendor-specific details:

GPUStatusBackendImage GenLLM SpeedNotes
RTX 4090 (24 GB)FullCUDA 12.4~3s~120 tok/sFastest consumer GPU
RTX 4070 (12 GB)FullCUDA 12.4~8s~80 tok/sGreat balance of price/performance
RTX 3060 (12 GB)FullCUDA 11.8~15s~45 tok/s12 GB VRAM at budget price
GTX 1660 (6 GB)PartialCUDA 11.8~30s~20 tok/s6 GB limits model size
RX 7900 XT (20 GB)FullROCm 6.2~6s~90 tok/sBest AMD option, large VRAM
RX 7600 (8 GB)FullROCm 6.2~18s~40 tok/sBudget AMD with ROCm support
Radeon 780M APU (8 GB shared)PartialROCm 6.2~45s~15 tok/sBF16 only, 5-min MIOpen warmup
Arc A770 (16 GB)PartialoneAPI/IPEX~20s~35 tok/sRequires oneAPI runtime
M2 Pro (16 GB unified)FullMPS (Metal)~12s~50 tok/sUnified memory, no discrete VRAM limit
M1 (8 GB unified)PartialMPS (Metal)~35s~25 tok/s8 GB tight for SDXL
M3 Max (36 GB unified)FullMPS (Metal)~8s~70 tok/sRuns large models easily
CPU only (no GPU)PartialCPU fallback~180s~5 tok/sWorks but 10-50x slower

NVIDIA (CUDA)

  • Works out of the box with CUDA 11.8+
  • For 4 GB VRAM cards, --lowvram is applied automatically
  • FP16 is the default precision for best speed

AMD Discrete GPU (ROCm)

  • Requires ROCm 5.7+
  • Set TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 for flash attention
  • First run may be slow while MIOpen builds its Find-DB

AMD APU (Integrated Graphics)

  • Use --disable-offload-from-vram to prevent partial eviction OOM
  • BF16 is mandatory — FP16 causes overflow in SDXL attention layers
NEVER use --lowvram on AMD APU. Per-layer offload shuffles data between the same physical RAM, causing ~5% GPU utilization.

Apple Silicon (MPS)

  • Set PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 for maximum memory usage
  • Unified memory — no explicit VRAM limit

CPU Only

  • Very slow — basic images only, expect 5–10 minutes per generation
  • FP32 precision is used automatically

Troubleshooting

Common issues and how to fix them:

SymptomCauseFix
CUDA out of memorySDXL too large for GPU VRAMEnable --lowvram (NVIDIA only) or use a smaller model
Black images on AMDFP16 overflow in attention layersSwitch to BF16 precision
MIOpen first-run delay (5–8 min)Building kernel cache for AMD GPUNormal on first run; subsequent launches use cached kernels
Broken symlinks in models dirModel files moved or deletedRe-launch the app to regenerate symlinks
Windows DirectML errorsIncompatible DirectML versionUpdate GPU drivers; use CUDA or ROCm if available
Port 7865 conflictOld Fooocus process still runningKill the stale process or let Thumper manage it
macOS MPS warnings in consoleFP32 fallback for unsupported opsSafe to ignore; generation still works correctly

Fooocus vs ComfyUI

Both tools generate images with SDXL, but they serve very different workflows:

FeatureFooocusComfyUI
DifficultyBeginner-friendlyAdvanced (node editor)
CustomizationPresets and slidersFull pipeline control via nodes
Speed to first imageSeconds (type + click)Minutes (wire nodes first)
Models supportedSDXL checkpointsAny diffusion model (SDXL, SD3, Flux, LTX-Video)
Best forQuick image generationComplex pipelines, batch workflows, video
Start with Fooocus to learn prompt crafting. Move to ComfyUI when you need advanced control like ControlNet, IP-Adapter, or multi-model pipelines.

Adding Custom LoRAs

LoRA (Low-Rank Adaptation) files add trained styles or subjects to the base model. To use custom LoRAs with Fooocus:

bash
# 1. Place LoRA files in the models directory:
~/.local/share/tr-desktop/apps/fooocus/models/loras/
# 2. Supported formats:
your-style.safetensors # SDXL-compatible LoRA
# 3. Enable in Fooocus UI:
# Advanced > LoRA tab > select your LoRA and set weight (0.5-1.0)
Download LoRA files from CivitAI or HuggingFace. Make sure they are SDXL-compatible — SD 1.5 LoRAs will not work with Fooocus.

Upscale Models

Fooocus includes built-in upscaling. These are the upscale models it supports:

ModelScale FactorQualitySpeed
fooocus_upscaler_s (default)2xGoodFast
RealESRGAN_x4plus4xExcellentModerate
RealESRGAN_x4plus_anime_6B4xBest for anime/illustrationModerate
SwinIR_4x4xExcellent detail preservationSlow