[Released] Pro Pyro - Sparse GPU Volumetric Solver (Windows/Linux/macOS) ($)

Hi everyone,

After months of development, I’m excited to finally release Pro Pyro, a high-performance, sparse GPU-accelerated volume solver for Blender.

I built this because I was frustrated with the traditional “bake & wait” workflow of Mantaflow. I wanted something that gives mostly instant feedback while supporting professional features like VDB export and complex combustion. It is faster than Mantaflow and designed to stay interactive. But to be honest: while it’s fast, I’m not trying to beat Embergen’s pure sim speed, but rather focus on a seamless, high-quality Blender workflow!

Key Features:

  • Truly Sparse: Unlike traditional solvers, it only allocates space where smoke and fire actually exist. No more wasting VRAM on empty bounding boxes.

  • Modern Tech: Written in Rust and wgpu, running natively on Vulkan (Windows/Linux) and Metal (macOS Apple Silicon) with identical, stable results.

  • Full Combustion Model: Fuel, Flame, Ignition, and Heat Release for realistic fire.

  • Cinematic Detail: Baroclinic Torque & Vorticity Confinement to get those nice shredded edges in explosions.

  • GPU Upres Pass: 2x, 3x, 4x upscaling and sharpening for massive output resolution.

  • Export: Output blosc-compressed OpenVDB files.

  • Interactive Preview: Fast Point Cloud or accurate Live VDB (which looks great in the viewport!).

Integration:
It feels like a native part of Blender. The UI is located in the N-panel, and I’ve worked hard to keep it artist-friendly and intuitive.

Release Special:
It’s available now on Superhive. To celebrate the launch, there is a 20% discount until March 31st.
Get Pro Pyro on Superhive

Free Demo:
I’ve provided a free technical demo for everyone to test hardware compatibility and quality:
Try the Demo
(The demo is fully functional with a 120-frame limit and no final VDB export).

I’d love to hear your feedback and see what you create with it!

9 Likes

This looks quite promising. Alas, I coudn’t get the demo to run under Linux Mint with a 4070super using Blender 4.5 and 5.01. The solver was put in the correct folder and the full addon does show up. When scanning for gpu device, it can’t find any gpu.

I have no issue on this machine with Cycles gpu rendering or using Embergen, so I don’t think it is a driver issue. My only Windows machine is a lowly 3050 and I did get it to run, but it was so slow that it was unusable.

Hi Jamez, thanks for your feedback. Embergen works, but Pro Pyro doesn’t - that’s strange, because I mainly develop on Linux, but of course I also test on Windows and macOS to make sure it works everywhere. Cycles runs via CUDA, and my solver uses Vulkan. So Cycles isn’t necessarily an indicator that my solver works. But of course it should…

Since the solver runs as an external process, it’s important that Blender is installed natively (not as Flatpak or Snap). Due to some dependencies, I unfortunately have to use a relatively new version of Glibc. But that should run without any problems on distributions like Ubuntu 24.04 or Mint 22. Did you run chmod +x on the solver? Because otherwise it won’t run. Embergen is a standalone application, after all. Unfortunately, this differs somewhat from a solver launched from within Blender. That’s why complications can arise in sandboxed environments like Flatpak or Snap.

Your Windows machine with the 3050 isn’t ideal, but it should still work. I tested it myself with a GTX 1060 6GB and an RTX 3070M 8GB. It ran quite well on both. The 1060 is naturally slower, but it wasn’t unusable for me. Maybe you can try increasing the voxel size or reducing the max sparse cells.

1 Like

Thanks for the info. I did try these but still can’t get a device to show up in the addon panel. When I click the device index - refresh button I also get the “No GPU devices found or solver returned empty list”.

Yes I am on Mint 22 and the solver has permissions set, but not sure what you mean by installing blender natively? I always just unzip the blender tarball and run the blender file from the folder.

Thanks for testing. I just set up a completely fresh Linux Mint 22.3 environment on a test laptop (AMD iGPU + RTX 3070m) using the recommended NVIDIA 580 drivers to reproduce your issue.

Interestingly, on this clean install, the solver detected the GPU immediately (after driver installation) and runs without any issues. This confirms that the solver’s Vulkan-backend is fully compatible with Mint 22.3 and the current NVIDIA driver stack. Your installation via tarball is actually the ideal way to run it!

Since it works on a barebone Mint install for me, the problem on your side is likely related to the Vulkan ICD configuration or missing loaders. Could you please try to run the solver directly in your terminal from the libs/linux folder?

./pyro_solver --list-devices

Check if it outputs anything or shows an error like ‘libvulkan.so not found’. If the command returns an empty list, your system might be defaulting to a different Vulkan driver (like a CPU-based one) that doesn’t see the 4070 Super for compute tasks.

1 Like

Thanks for your help with this. After updating some drivers I did end up realsing that this machine was running Mint 21.3, which must have been the issue. I did get it running on a lower powered laptop running the latest Mint 22, and it does work. Only has a 2060, but good enough to evaluate the addon. cheers!

1 Like

I’m happy to announce that version 1.1.0 of Pro Pyro is now available! Based on initial feedback and testing, this update focuses on memory optimization, more precise collision handling, and several workflow improvements.

Here is a summary of the key changes in this release:

Performance & Compatibility

  • Memory Optimization: Optimized the memory layout, resulting in approximately 20% less VRAM usage compared to previous versions.

  • Linux Compatibility: Lowered the requirement to GLIBC 2.34+ (supporting Ubuntu 22.04+ and compatible distributions), making setup on Linux systems smoother.

Simulation & Control

  • SDF Collisions: Implemented Signed Distance Fields for collisions, providing more accurate and smoother boundary interactions for complex collider shapes.

  • Collider Color Transfer: Colliders can now transfer their color data to adjacent fluid voxels.

  • Initial State: You can now pre-fill the simulation domain with smoke, fuel, or flame before the playback starts.

  • Emitter Pressure & Velocity Noise: Added options to inject outward-pressured smoke (useful for explosions) and apply procedural noise to the initial velocity.

Quality of Life & UI

  • Press ESC to Cancel: You can now abort frame processing at any time by pressing the Escape key.

  • VDB Cache Versioning: Optional versioning for multi-session bakes, allowing you to compare and load different iterations safely.

  • UI Warnings: The user interface now displays a warning when a changed setting requires a solver restart.


Full Changelog (v1.1.0):

  • New Features:

    • Collider Color Transfer - colliders transfer color to adjacent fluid voxels.

    • SDF Collisions - smooth, accurate collision boundaries.

    • Vortex Modes - toggle to prevent fluid from flying away (conservative mode) and dedicated attract parameter for suction effects.

    • Curve Emitter Range - control which portion of a curve emits (start/end percentage).

    • Initial Velocity Noise - procedural noise variation for initial motion.

    • Emitter Pressure - injects outward-pressured expanding smoke.

    • Initial State - pre-fill domain before playback.

    • Emission Modes (Set/Add) - “set” replaces existing fluid; “add” accumulates on top.

    • Smoke & Extinction Color - dedicated color fields for combustion-produced smoke and extinguished flame smoke.

    • Sharpen for Non-Upres - sharpening parameter can now be applied without upscaling enabled.

    • Max Preview Particles - configurable viewport particle limit (10k to 1m, default 100k).

    • VDB Cache Versioning - optional cache versions for multi-session baking.

  • Improvements & Fixes:

    • Press ESC to cancel baking/processing.

    • Solver restart warning in UI for critical settings.

    • Bug fix: Gravity now correctly affects density and temperature only, not empty space.

    • Updated presets and default values for better out-of-the-box fire look.

    • Optimized preset loading and engine performance.

    • Better Linux (GLIBC 2.34+) compatibility.

    • 20% less VRAM required.

The updated version and the free technical demo (also updated to v1.1.0) are available on Superhive.

2 Likes