๐ŸŽจ comboom. sucht Native Wallpaper

Cross-platform animated particle wallpaper engine with native apps for Linux, Windows, and macOS using modern graphics APIs.


โœจ Features

  • ๐ŸŽฏ Particle Physics Engine: Real-time simulation of 100+ interactive particles
  • ๐Ÿ–ฑ๏ธ Mouse Tracking: Particles respond to cursor movement with smooth damping
  • ๐Ÿ“ Custom Text Overlay: Display headers and subtitles with dynamic font sizing
  • ๐Ÿ”„ Cross-Platform: Linux (X11/Wayland), Windows (Win32), macOS (Metal)
  • ๐ŸŽจ Native Rendering:
    • Vulkan 1.2+ on Linux & Windows
    • Metal on macOS (Apple Silicon optimized)
  • ๐ŸŒ Multi-Architecture: x86_64, ARM64 (Raspberry Pi, Apple Silicon, Snapdragon boards)
  • ๐Ÿ”ง System Integration:
    • Linux: AppIndicator3 system tray
    • Windows: Windows taskbar tray
    • macOS: Native menu bar
  • โšก Performance: Optimized for low latency, high FPS (60+)
  • ๐Ÿงน Zero Dependencies: Minimal external libraries (GLFW + graphics SDK only)

๐Ÿš€ Quick Start

Linux (X11 & Wayland)

# Download latest release
tar -xzf comboom-sucht-linux-x86_64.tar.gz

# Run with custom text
./comboom_punkt_sucht_wallpaper --h1 "Hello" --h2 "Wallpaper"

Windows

# Download latest release
tar -xf comboom-sucht-windows-x86_64.zip

# Run
comboom_punkt_sucht_wallpaper.exe --h1 "Hello" --h2 "Wallpaper"

macOS

# Download latest release
unzip comboom-sucht-macos-arm64.zip

# Launch
open "comboom.sucht Live Wallpaper.app"

๐Ÿ“ฆ Installation

From GitHub Releases

Download pre-built binaries from the latest release:

Platform Arch Format Size
๐Ÿง Linux x86_64 .tar.gz ~15MB
๐Ÿง Linux ARM64 .tar.gz ~15MB
๐ŸชŸ Windows x86_64 .zip ~20MB
๐ŸชŸ Windows ARM64 .zip ~20MB
๐ŸŽ macOS ARM64 .zip ~50MB

Build from Source

See BUILD.md for detailed instructions.

# Clone repository
git clone https://github.com/comboom/comboom-punkt-sucht.git
cd comboom-punkt-sucht

# Build native apps
just all-platforms

# Artifacts in:
# - Linux/build/bin/comboom_punkt_sucht_wallpaper (x86_64)
# - Linux/build-arm/bin/comboom_punkt_sucht_wallpaper (ARM64)
# - Windows/build/bin/comboom_punkt_sucht_wallpaper.exe (x86_64)
# - Windows/build-arm/bin/comboom_punkt_sucht_wallpaper.exe (ARM64)
# - MacOS/build/Release/comboom.sucht Live Wallpaper.app (ARM64)

๐Ÿ› ๏ธ Tech Stack

Component Technology Details
Language C++23 Modern, efficient, cross-platform
Compiler Clang 18 Full C++23 support, optimizations
Build System CMake 3.20+ Portable, parallel builds
Task Runner Justfile Simple commands:just linux-vulkan
Graphics (Linux/Windows) Vulkan 1.2+ High-performance rendering
Graphics (macOS) Metal 3+ Native Apple GPU optimization
Window Management GLFW 3.4+ Auto-detection: X11/Wayland/Win32
Memory Management VMA + RAII Safe GPU/CPU memory handling
System Tray AppIndicator3/Shell API/Cocoa Native platform integration

๐Ÿ’ป System Requirements

Linux

  • OS: Ubuntu 22.04+, Debian 12+, Fedora 36+, or similar
  • GPU: Vulkan-capable (Intel Gen 7+, AMD GCN, NVIDIA Kepler+)
  • CPU: x86_64 or ARM64
  • RAM: 256 MB free
  • Display: X11 or Wayland session

Windows

  • OS: Windows 10 or later
  • GPU: Vulkan-capable (Intel, AMD, NVIDIA)
  • CPU: x86_64 or ARM64
  • RAM: 256 MB free
  • Display: Standard desktop or laptop

macOS

  • OS: macOS 12 (Monterey) or later
  • CPU: Apple Silicon (M1, M2, M3, etc.)
  • RAM: 256 MB free
  • GPU: Metal-capable (all Apple Silicon have Metal)

๐ŸŽฎ Usage

Command-Line Arguments

# Custom header text
--h1 "Your Title"

# Custom subtitle text
--h2 "Your Subtitle"

# Show help
--help

# Example
./comboom_punkt_sucht_wallpaper --h1 "The Universe" --h2 "Made of Particles"

System Tray Integration

  • Linux: Click tray icon โ†’ Settings window to configure text
  • Windows: Right-click tray icon โ†’ Open settings
  • macOS: Click menu bar icon โ†’ Open settings

๐Ÿ“Š Architecture

High-Level Overview

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚         User Application Layer          โ”‚
โ”‚  (GLFW Window + Event Loop + Input)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€vโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚      Rendering Layer (GPU)              โ”‚
โ”‚  โ€ข Vulkan (Linux/Windows)               โ”‚
โ”‚  โ€ข Metal (macOS)                        โ”‚
โ”‚  โ€ข Particle rendering pipeline          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€vโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   C++ Engine Wrapper (RAII)             โ”‚
โ”‚  โ€ข Particle physics simulation          โ”‚
โ”‚  โ€ข State management                     โ”‚
โ”‚  โ€ข System tray integration              โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€vโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚    C Core Engine (Platform-Agnostic)    โ”‚
โ”‚  โ€ข Pure particle system                 โ”‚
โ”‚  โ€ข Physics calculations                 โ”‚
โ”‚  โ€ข No external dependencies             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Build Pipeline

Source Code (C++23)
    โ†“
Clang 18 Compiler
    โ†“
[Linux/Windows]          [macOS]
Vulkan Renderer          Metal Renderer
    โ†“                    โ†“
Static Binary            App Bundle

๐Ÿ”จ Development

Building Locally

Linux:

just linux-vulkan          # Main binary (x86_64)
just linux-vulkan-arm      # ARM64 cross-compile
just run-linux             # Test drive

Windows:

just windows-vulkan        # Main binary (x86_64)
just windows-vulkan-arm    # ARM64 cross-compile
just run-windows           # Test drive

macOS:

just macos-metal           # Metal app
just run-macos             # Launch

Build All Targets

just all-platforms         # Build 5 architectures for CI/release

Project Structure

.
โ”œโ”€โ”€ core/                      # C core engine (platform-agnostic)
โ”‚   โ””โ”€โ”€ cbps_wallpaper_engine_core.c
โ”œโ”€โ”€ Linux/                     # Linux/Vulkan app
โ”‚   โ”œโ”€โ”€ CMakeLists.txt
โ”‚   โ””โ”€โ”€ src/
โ”‚       โ”œโ”€โ”€ main.cpp
โ”‚       โ”œโ”€โ”€ wallpaper_engine.hpp/cpp
โ”‚       โ”œโ”€โ”€ vulkan_renderer.hpp/cpp
โ”‚       โ”œโ”€โ”€ window_manager.hpp/cpp
โ”‚       โ”œโ”€โ”€ system_tray.hpp
โ”‚       โ”œโ”€โ”€ linux/system_tray_linux.cpp
โ”‚       โ””โ”€โ”€ shaders/
โ”œโ”€โ”€ Windows/                   # Windows/Vulkan app
โ”‚   โ”œโ”€โ”€ CMakeLists.txt
โ”‚   โ””โ”€โ”€ src/
โ”œโ”€โ”€ MacOS/                     # macOS/Metal app (Xcode)
โ”‚   โ””โ”€โ”€ comboom.sucht Live Wallpaper.xcodeproj
โ”œโ”€โ”€ WASM/                      # Web version (SvelteKit + WebGL)
โ”œโ”€โ”€ .github/workflows/         # CI/CD automation
โ”œโ”€โ”€ Justfile                   # Build tasks
โ”œโ”€โ”€ BUILD.md                   # Build instructions
โ”œโ”€โ”€ JUSTFILE.md               # Justfile reference
โ””โ”€โ”€ RELEASE.md                # Release process

๐Ÿšข Release Process

Automated CI/CD

  • Trigger: Push a git tag (e.g., v1.0.6)
  • Build: GitHub Actions compiles all 5 architectures in parallel
  • Upload: Artifacts auto-upload to GitHub Release page
  • Notes: Release notes auto-generated from commit history

See RELEASE.md for detailed release instructions.


๐Ÿ“ˆ Performance

Benchmarks (1080p, 100 particles)

Platform GPU FPS GPU Load
Linux NVIDIA RTX 3060 144+ <5%
Linux Intel Iris Xe 60+ <10%
Linux ARM Mali-G78 60 ~15%
Windows NVIDIA GeForce GTX 1660 144+ <5%
macOS M3 Max 120 <10%

Lower GPU load = better battery life on laptops


๐Ÿ› Troubleshooting

Linux - Vulkan not found

sudo apt install vulkan-tools libvulkan-dev libvulkan1

Windows - Missing Visual C++ runtime

Download: https://support.microsoft.com/en-us/help/2977003/

macOS - App won't launch

# Remove quarantine attribute
xattr -d com.apple.quarantine "comboom.sucht Live Wallpaper.app"

Build fails on ARM64 cross-compile

sudo apt install gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu

See BUILD.md for more help.


๐Ÿค Contributing

Contributions welcome! Here's how:

  1. Fork the repository
  2. Create a branch: git checkout -b feature/my-feature
  3. Commit changes: git commit -am "Add my feature"
  4. Push: git push origin feature/my-feature
  5. Open PR against main

Guidelines

  • Follow C++23 best practices
  • Add comments for complex logic
  • Test on Linux, Windows, and macOS if possible
  • Update docs if adding features

See CONTRIBUTING.md for detailed guidelines.


๐Ÿ“„ License

This project is licensed under the MIT License - see LICENSE for details.

MIT License

Copyright (c) 2024 comboom. sucht

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.

๐ŸŽฏ Roadmap

Current (v1.0.5)

  • โœ… Core particle physics engine
  • โœ… Linux Vulkan app (X11 & Wayland)
  • โœ… Windows Vulkan app
  • โœ… macOS Metal app
  • โœ… System tray integration
  • โœ… Multi-architecture support (x86_64, ARM64)

๐Ÿ“ž Contact & Support


๐Ÿ™ Acknowledgments

  • GLFW: Cross-platform window management
  • Vulkan: Modern graphics API
  • vk-bootstrap: Vulkan boilerplate
  • Vulkan Memory Allocator: GPU memory management
  • CMake: Build system
  • Clang/LLVM: Compiler infrastructure

๐Ÿ“Š Stats

Lines of Code:     ~5,000 (C++ engine + apps)
Supported Archs:   5 (Linux x86_64/ARM64, Windows x86_64/ARM64, macOS ARM64)
Particle Count:    100+ (configurable)
Build Time:        ~2 minutes (full rebuild)
Binary Size:       ~15-20 MB

Made with โค๏ธ using modern C++23 graphics APIs

โฌ† back to top

Top categories

Loading Svelte Themes