The osgtext issue is a long-standing problem:
http://wiki.flightgear.org/OSGText_IssuesWhat you have done is the recommended fix, i.e. porting features to use the Canvas instead.
However, I think you should be able to merge multiple textures using the Canvas system if that works for you ?
There are actually multiple pathways here.
For instance, you could add Canvas.Image child nodes to your canvas to emulate multi-texturing and then play with the z-index/alpha settings as needed, possibly in conjunction with custom effects.
You could also set up a transparent Canvas. People have used this approach to implement dynamic liveries:
http://wiki.flightgear.org/Howto:Dynami ... via_CanvasOther than that, having a built-in mechanism to let legacy features use a canvas fallback is also a long-standing idea.
Specifically, there have been talks to create a Canvas based back-end for the HUD and 2D panels module, as well as experimental work to render PUI/XML dialogs via Canvas.
The HUD/2D panels efforts are actively being pursued at the moment:
http://wiki.flightgear.org/Post_FlightG ... ges#CanvasThe long term idea being to help unify the 2D rendering back-end so that a more recent version OpenGL (GLES/Core profile) can be used by FlightGear.
And maybe some day, only use OSG so that VSG can be adopted more easily.
http://wiki.flightgear.org/Unifying_the ... via_canvashttp://wiki.flightgear.org/FlightGear_and_OpenGL_ESIf in doubt, feel free to reach out to the devel mailing list