SoFIS can be built with software-rendering only (and obviously no synthetic vision). This mode breaks often due to rotations being implemented in each gauge with #define guards to select an alternative code path when SDL_gpu is not available.
All rotation code should be factored out in a RotatingLayer class which will then select (compile-time) the appropriate code path when SDL_gpu is available or not. No more #define for that in the gauges and less breakages (hopefully).