I VJ’d on Resolume Arena for nine years. I shipped club nights, festival sidestages, and a long Houston residency. I loved it. And in 2025, I left.
This is the long version of why. Not a takedown. Not a marketing post dressed up as a confession. The honest story of why a Mac-only VJ stopped paying €219 a year for Arena and started writing a Metal-native shader instrument instead.
What Resolume got right
Before I talk about why I left, I want to be clear about what Resolume earned.
The layer-based clip-launcher workflow is the workflow. Almost every VJ I’ve ever met learned to think about visuals as music inside Resolume. Decks, layers, columns, the BPM grid, the deck switch on a chorus — that mental model didn’t come out of nowhere. Resolume taught a generation of performers how to read a dancefloor with a clip grid in front of them.
The DXV codec is a real engineering accomplishment. Most video codecs were never designed for the random-access frame scrubbing a VJ actually does. H.264 and HEVC use temporal compression — every frame depends on the frames around it, so jumping mid-clip costs you. DXV is intra-frame, GPU-decoded, and tuned for VJ access patterns. Resolume’s own docs say it plainly at resolume.com/support/en/codec. On Windows with a beefy NVIDIA card, DXV plus Arena is still the reference rig for clip launching.
Projection mapping inside Arena is mature. Slice-based output, screen warping, edge-blending, soft masks. Anyone who has stood in a venue at 4pm trying to align a column-mapped projection knows how much work went into that toolset.
And the marketplace — Footage Crate, the official footage packs, the third-party DXV libraries — that ecosystem doesn’t exist anywhere else at that scale.
If you VJ on a Windows tower with an NVIDIA GPU, a curated DXV clip library, and a touring rig that expects Arena to be there, none of what I’m about to say is your problem. Stay on Resolume. It’s the right tool for that show.
I wasn’t running that show.
Where it stopped working for me
I run a 16-inch M2 Max MacBook Pro. 64GB unified memory. The “right” rig for a Mac VJ in 2024. And the friction kept stacking.
The Sonoma upgrade that broke my rig. I updated to macOS Sonoma the week before a Friday gig. Arena 7 started refusing to recognize my second display on output. I lost an evening to it — running through the usual checklist of display arrangement, color profiles, NDI off, Syphon off, plugging the projector into a different port, restarting twice. None of it helped. The Resolume forum had a thread on the same problem at resolume.com/forum/viewtopic.php?t=23787 — same OS, same hardware class, same broken output. The fix that worked for me was a clean reinstall plus a display-profile reset. The fix on tour would have been “play half the show on a preview window.” I made it work that night, but I shouldn’t have had to.
M2 Max rendering 4K at 45fps when it should have been hitting 60. I logged it for a few weeks. Same comp, same clips, same monitor — sometimes 58fps, sometimes 42fps, with nothing else on the machine. The forum thread at resolume.com/forum/viewtopic.php?t=24948 has multiple Mac users reporting the same drift on M2/M3/M4 Max machines. Some of them came from older Intel Macs with AMD eGPUs and described the new rig as a downgrade. That’s not how Apple Silicon is supposed to read.
DXV conversion eating 30 minutes per session prep. Every time I added a new clip to my library — a render from After Effects, a clip a friend sent, footage I shot on my phone — I had to convert it. Alley would chew through it, but on a Tuesday night when I’m trying to test material before Friday, 30 minutes is 30 minutes. Across a year that’s days of my life spent transcoding.
HEVC files from my own iPhone requiring conversion before I could use them. I shoot a lot of texture and city footage on my phone. iPhones record HEVC by default. Resolume’s own docs are explicit: H.264 and HEVC are “not designed for live VJing” and will stutter under load. Which means the device sitting in my pocket — the one Apple just shipped with hardware-accelerated HEVC decode on the same Mac I’m running Arena on — produces files I can’t drop straight into the show. I have to convert them first.
The phantom watermark incident. This is the one that finally tipped it. April 2024. Live FOH feed at a 600-cap room. Arena went into offline-mode mid-set and started watermarking the output. Properly licensed Arena 7. Licensed laptop. No network changes on my end. The fix — reactivating the license — is not a thing you do on stage at 1am. There are forum threads going back years on this same pattern; search “watermark” on the Resolume forum and you’ll find them, including resolume.com/forum/viewtopic.php?t=21491. I covered the watermark with a strobe pass and finished the set. Then I went home and started writing notes for what would become RenderWave.
The €219/year “not a subscription” renewal. Arena is roughly €799 up front. To stay on current versions you pay around €219 a year. Resolume frames upgrades as optional, which is technically true — you can keep running an older version. But if a macOS update breaks your old version, “optional” becomes “mandatory” pretty fast. The renewal hit my card in the middle of a tour. That’s a subscription with a different name on it. Pricing is at resolume.com/buy.
None of these are dealbreakers in isolation. Together, they added up to a rig I was babysitting instead of playing.
The Mac problem nobody talks about
Here’s the part of the story that goes deeper than any single bug.
Resolume is a cross-platform product. It supports Windows and Mac from one codebase. To do that, you pick a graphics abstraction layer that works on both — and that abstraction is the lowest common denominator of what both platforms support.
Resolume’s own developer addressed this on the forum. The framing in resolume.com/blog/21445 — when they were explaining their approach to the Apple Silicon transition — was that the move to native ARM “does not bring much performance gain” because the rendering bottleneck is elsewhere. A Universal Binary is not the same thing as an Apple-Silicon-optimized binary. Shipping for both architectures means the renderer doesn’t get to take advantage of unified memory layouts, Metal-compute pipelines, MetalFX upscaling, or any of the things that make modern Mac graphics actually fast.
I’m not saying Resolume is lazy. I’m saying the architecture has constraints. When you build for Windows + DirectX + NVIDIA and also Mac + Metal + Apple Silicon, the surface where both stacks agree is smaller than the surface where either one excels. You ship to the intersection.
The Mac performance gap between Resolume and a Mac-native tool isn’t a bug. It’s the design.
That’s the realization that made me stop waiting for it to get better and start building the alternative.
What I wanted instead
I wrote a list. I still have it. The headers were:
Metal-native from line one. Not a port. Not a Universal Binary. Swift and Metal as the primary runtime, with the renderer architected for Apple Silicon unified memory from the start. MTLComputeCommandEncoder for the heavy work. Zero-copy CVPixelBuffer where possible. Shader compilation ahead-of-time so the show never stutters on a cold cache. The Apple GPU should be running native MSL, not a translated abstraction.
Per-band FFT audio modulation. Not a 1990s envelope follower with a “make everything pulse” knob. A real frequency-band system — bass, mid, mid-high, high, presence — with per-parameter routing and modulation modes (Fade, Hit, Loop, Ping Pong). The visual response to a bass kick should be different from the visual response to a hi-hat, and that should be a thirty-second mapping, not a weekend of patching. Most “audio reactive” features in legacy VJ apps are a global gain envelope on a single low-pass band. The dancefloor can feel the difference between that and real per-band routing — they don’t have a name for what’s better, but they react to it.
HEVC and ProRes drop-in. No DXV. If the file plays in QuickTime, it should play in the VJ app. The Mac has hardware HEVC decode in the media engine block of every M-series chip — Apple documents it at developer.apple.com/documentation/avfoundation/optimizing-video-decode-for-apple-silicon. The Mac has hardware ProRes decode on every M-series Pro, Max, and Ultra. Both are sitting right there in the silicon. Make the VJ tool use them. The whole point of paying for an Apple Silicon Mac is that the media path is already accelerated; an app that refuses to use that path is leaving most of the machine on the floor.
A $9.99/month entry tier. The VJ scene has a real onboarding problem. There is no $10/month door into Resolume. There is the demo and there is the €799. That gap eats the next generation of VJs. I wanted a tier you could pay for with one tip from one Saturday gig. The cheapest paid Resolume product (Avenue, €299) is still half a month’s rent for a 21-year-old in Berlin or Houston trying to figure out if they like this. I’ve watched friends bounce off that price and never come back.
A $499 founder lifetime, capped at 200 seats. Lifetime, no annual renewal. Capped because scarcity makes the early supporters real co-founders, not random first customers. Linear did this. Raycast did this. Superhuman did a version of this. It’s the right shape for a one-developer tool that intends to be around in five years — predictable upfront revenue, a real ceiling on support load, and a community that signed up specifically because they wanted in early.
One developer. No VC. No surveillance. No telemetry I didn’t write. No analytics SDK shipping events from your machine. No “we collected feedback to improve the product” emails. Just a license server, a Sparkle appcast, and your visuals. The license check happens twice a week against my own server. The update check is a signed Sparkle XML feed. That’s the entire network surface. If RenderWave stops being a company tomorrow, you can keep using the version you have.
What building RenderWave taught me
I’m not going to pretend the architecture wrote itself.
Going Mac-native means the GPU pipeline is MTLComputeCommandEncoder for the per-pixel shader work, MTLRenderCommandEncoder for the composition pass, and MetalFX spatial upscaling for the 8K output path. Unified memory means the audio engine can write FFT bins directly into a buffer the GPU reads next frame, no staging copy, no synchronization headache. Ahead-of-time shader compilation means I ship .metallib files in the bundle instead of crossing fingers at first-launch — the first time you press a pad, the shader is already compiled and warm. The Metal pipeline state objects are built once at shader-load and cached for the life of the session. None of this is possible in a cross-platform architecture. It only falls out of “Mac only, Apple Silicon only, from day one.”
The audio path was the second biggest surprise. CoreAudio plus Accelerate’s vDSP framework gets you an FFT in microseconds per frame on Apple Silicon. I rebuilt the spectral analysis for 1.5 using Mel-scale binning, transient detection, loudness normalization, and bar-aware beat tracking. The whole stack runs on a single CoreAudio render thread and writes its output into a small ring buffer the GPU samples next frame. There is no Java, no Electron, no Web Audio, no third-party DSP library. Just CoreAudio, Accelerate, and Metal — the same primitives Apple’s own Logic and GarageBand use. It is fast because it is the platform’s actual stack.
The trade-offs are real and I want to name them.
The shader catalog is smaller. RenderWave 1.5 ships with 70 curated shaders across abstract, circuit, fluid, fractal, geometric, multipass, organic, particle, space, and tunnel categories. Resolume plus the wider DXV ecosystem catalogs orders of magnitude more visual content. The bet is that 70 well-tuned, per-parameter-audio-reactive, MIDI-mappable Metal shaders give you more live performance surface than 3,000 video clips, because each shader is itself a thousand visuals when you start moving the parameters. I think I’m right about that for live shader VJing. I’m honest that it’s a bet, and that some performers want the clip library.
Mac-only is a real constraint. If your touring partner runs Windows, you can’t loan them your rig. If a festival hands you a Windows tower, you can’t bring your show. RenderWave doesn’t pretend to solve that. It solves “Mac VJ on Apple Silicon” exhaustively and ignores everything else. That is a deliberate choice, not a temporary state. There is no roadmap entry for a Windows port. There never will be. Cross-platform is how Resolume ended up where it is on Mac, and I’d rather solve one platform completely than two platforms partially.
The product is still maturing. 1.5 shipped in May 2026 — five months of public releases. There is no decade-deep YouTube tutorial archive. There’s no third-party marketplace yet. There are bugs to fix and shaders to add. I’m one person building this. If you sign up at the founder tier, you are signing up for a relationship with a one-person company that has shipped consistently for five months and intends to keep shipping. That is what it is, and I want you to see it clearly before you decide.
What’s next: ShaderForge, the visual editor for authoring new RenderWave shader bundles without writing Metal by hand. A CLI for shader artists who do want to write Metal and ship to the runtime. More 3D and volumetric shaders, including a proper laser-beam volumetric pass I’ve been prototyping. Better MIDI controller LED feedback past the APC40 mkII — Launchpad Pro and Push 3 are next. Ableton Link improvements. None of it is hypothetical — it’s on the public roadmap at renderwave.io/roadmap, and the changelog is at renderwave.io/changelog if you want to see the cadence.
Should you switch?
Don’t switch if you tour on Windows rigs. Don’t switch if you’ve spent five years curating a DXV clip library and your show is built around it — the migration cost is real and rebuilding from clips to shaders is a different aesthetic, not just a different tool. Don’t switch if your festival contract specifies Resolume Wire patches or Arena Sync; those are workflow contracts you can’t break unilaterally. Don’t switch if projection mapping a building is the primary thing you do — pair MadMapper with whatever visual source you like, but don’t expect RenderWave to be a mapper, because it isn’t and won’t be.
Do switch if you VJ on a Mac and feel the codec friction. Do switch if you want Metal-native performance instead of a cross-platform compromise. Do switch if per-band audio modulation matters to your show and you’ve outgrown the global pulse knob. Do switch if you’re tired of the annual renewal and would rather pay once for a founder license or month-to-month for the entry tier. Do switch if you want to play a shader instrument instead of launching clips. Do switch if you’re starting from zero and don’t have a Resolume rig to migrate from — that’s the easiest possible on-ramp.
The honest test: try it for 30 minutes with a track you know well. If the audio reactivity feels right, if the FX rack does what you want, if the MIDI mapping is fast, you’ll keep going. If it doesn’t click in 30 minutes, it isn’t going to click in 30 hours and you should stay where you are.
Closing
I still respect what Resolume built. The DXV codec, the clip-launch workflow, the projection toolset, the marketplace — that’s a real product that earned its place. I just didn’t want to keep paying for it, and I didn’t want to keep absorbing the Mac tax that comes with a cross-platform renderer.
If I were a Windows touring VJ, I’d still be on Arena. The Windows + NVIDIA + DXV story is genuinely good and there is no obvious reason to leave. This whole post is a Mac post. It is about a specific class of frustration that only exists on a specific platform, and the alternative I built is for exactly that class of person — Mac VJs who feel the codec friction, the Apple Silicon underperformance, and the annual renewal, and who are open to a shader-instrument model instead of a clip-launcher model.
If you’re at a similar fork in the road, download RenderWave free — 14 days, full access, watermark-free, no card on the free trial download. If it’s not for you, you’ll know in 30 minutes and we’ll part as friends. If it is for you, the founder license is $499 lifetime, capped at 200 seats, and it’s how I’m funding the next year of development without taking outside money. As of writing, seats are still available; when they’re gone, the price is gone and the next tier up is the regular perpetual at $299 or the subscription at $9.99/month — both fine choices, just not the same deal.
Either way, I hope you ship the show. The dancefloors need more of you than they need more of me.
By Wesley Walz, founder of RenderWave. I VJ at Houston clubs on my MacBook and built RenderWave because I got tired of being a Resolume QA tester for free.