dsh-ros2 v0.9.3
GPU passthrough rendering verified (30 Hz cap reached)
Tested the GPU-passthrough plan on the NVIDIA RTX 4060 Ti: the offscreen renderer now reaches the full 30 Hz request rate (was ~22 Hz on llvmpipe), with no extra pipeline cost (GPU->CPU readback 1-2ms vs ~20ms saved per frame).
Fix
NVIDIA GLX context creation failed with BadValue: rviz's default FSAA=4 makes OGRE select 32-bit ARGB-visual fbconfigs, which NVIDIA GLX refuses for GL 3.0 core contexts (verified: only 24-bit / samples=0 configs create). Fix: RenderSystem::disableAntiAliasing() in rviz_offscreen_node.
Results (1000x750, 0.39M-tris low-poly, rate=30)
| metric | llvmpipe | NVIDIA GPU |
|---|---|---|
| steady fps (static) | 21.5-22.9 Hz | 30.0 Hz |
| steady fps (motion) | 21.5 Hz | 30.0 Hz |
| onUpdate (render) | ~30 ms | ~9 ms |
| llvmpipe regression | - | 22.4 Hz (no degradation) |
Full report: docs/gpu-passthrough-test.md (hardware, 3-layer troubleshooting: NVML/DRM-perms/32-bit-visual GLX, usage).