Skip to content

larry-oates/doomfire-wallpaper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOOM-style fire wallpaper for Hyprland

Want to use the fire from DOOM as a dynamic wallpaper in Arch linux?

Demo.mp4

This project generates an animated fire effect in real-time and displays it in a GTK4 window.
Setting this as your wallpaper depends on your compositor, currently there is only a guide for Hyprland using Hyprwinwrap
if you want it for another please raise an issue! XWinWrap could potentially work for a X11 setup


Features

  • Real-time animated fire: Classic DOOM-style fire simulation.
  • Auto-pause: The animation pauses when all screens (outputs) have a window (client) on them or your system is asleep to save CPU.
  • Multiple colour palettes: Original, blue, rainbow, toxic, purple, white-hot... add your own!
  • Parallel rendering: Uses all CPU cores for fast frame generation.
  • Configurable via TOML file: Resolution, speed, palette, background colour, and more.
  • FPS Counter: Displays the current frames per second in the top-right corner.

Requirements

  • Linux (Wayland, with Hyprland and Hyprwinwrap)
  • Rust/cargo (edition 2021)
  • Hyprwinwrap - running and configured (as described below)

Installation

  1. Install with Yay:

Install a prebuilt binary for X86 (faster):

yay -Sy doomfire-wallpaper-bin

Or build on your PC:

yay -Sy doomfire-wallpaper-bin

Or Make package manually

git clone --recurse-submodules https://github.com/larry-oates/doomfire-wallpaper.git
cd doomfire-wallpaper
makepkg -Cfsri
  1. Set up hyprwinwrap

Make sure Hyprwinwrap is enabled and running in your Hyprland session.
Add this to your hyprland.conf:

  plugin {
    hyprwinwrap {
      class = com.leafman.doomfirewallpaper
    }
  }
  1. Run the wallpaper on startup!

Configuration

Create or edit the config file at ~/.config/doom-fire-wallpaper/config.toml:

screen_width = 1920
screen_height = 1080
scale = 4
fps = 23
fire_type = "Original"    # See fire type section below for options
background = [0, 0, 0]  # Optional: RGB array, e.g. [20, 20, 20] for dark grey
restart_on_pause = true # Optional: true (default) or false, controls if animation restarts after pause. 
pause_on_cover = true   # Optional: true (default) pauses animation when all screens contain a window; set to false to keep animating even when covered
screen_burn = false # Optional: false (default), true, or "image". If true, closing windows leaves a burning trail. If "image", the image_path is used for the burn effect.
image_path = "/path/to/image.png" # Optional: Path to an image. Used for "image" screen_burn mode, or as a static background if screen_burn is false.
show_fps = false # Optional: false (default). If true, displays FPS counter in top right

All fields are optional; defaults will be used if not set.

Applying Config Changes

After you change the configuration you must restart the wallpaper service for changes to take effect:

Fire Types

  • Original: Classic DOOM fire
  • WhiteHot: Classic DOOM palette, but blends to white at the top (hotter white flames)
  • White: White-hot fire (all shades of white)
  • Blue: Blue flame
  • Rainbow: Animated rainbow
  • Green: Toxic green
  • Purple: Purple flame
  • Ice: Cold blue/white
  • Toxic: Neon green/yellow
  • FireAndIce: Cold blue ice blending into hot fire
  • ChemicalFire: Fire at the chemical plant
  • Cyberpunk: Neon magenta/cyan
  • Aurora: Animated Northern lights effect
  • Plasma: Electric blue/purple/white bolts, fading to black
  • Void: Deep blue/black cosmic
  • Candy: Pastel rainbow stripes
  • Random: Randomly selects a fire type on startup

Troubleshooting

  • Wallpaper not updating?
    Make sure you have no other programs managing your wallpaper (e.g. waypaper).
  • Performance issues?
    Increase the scale value or lower the resolution/FPS.
  • Flickering animation?
    Disable any system animations (see Hyprland animation docs).

Credits


License

0BSD
Enjoy your everliving flame!

About

Rust based live doom fire wallpaper for my arch setup

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages