Long story short: We took the old Xmas Demo 2017, fixed a busload of bugs, and replaced the music, the pictures, and the fonts.
To recap: The OpenGL shaders, most of them from shadertoy.com, were optimized and rewritten specifically to run in 60 fps on the cute NVidia Tegra X2 GPU back in 2017. They were kept pretty much as is but are no longer dependent on NVidia-specific shader features.
Make sure your screen is set up to 1920x1080 (or larger) in 60 fps.
Windows: Tested with Visual Studio Community 2019, but you have to figure out how to include libpng, libmikmod, and OpenGL. One day the NuGet package manager will be useful. Today was not that day.
Linux: The super-simple makefile should work on any target. It needs the usual OpenGL packages and libmikmod and libpng. All the cool kids have those installed already.
Tested on the Jetson AGX Xavier Developer Kit. Works perfectly, but it's necessary to lock the GPU clock to max speed. The auto speed crap just isn't quick enough.
Also tested on an assortment of random NVidia and AMD graphics cards. Seemed to work ok.
v5 2021-03-03: Linux window size, vsync, music, and key handling fix.
v4 2021-02-02: Improve tracer GLSL probe lookup code
v3 2021-01-30: Fix remaining font issues, use libpng instead of libjpeg
v2 2021-01-02: Fix some font rendering issues, add Linux support
v1 2020-12-23: Initial Release
The picture called Mega Monitor is made by Sjur Julin. License: CC0 1.0
The music called Mad Dubs Xmas is made by Sjur Julin. License: CC0 1.0