Quest Link USB3 transmit latency significantly higher on Quest Pro
Hey all, I recently got a Quest Pro (and shortly after, a Quest 2) and being the stubborn person that I am, decided to try writing an OpenXR driver for Quest Link to use on macOS and Linux, since Meta does not currently support these platforms (nor do I expect them to any time soon lol). However while writing my own driver, I noticed that the Quest Pro consistently had worse performance. Looking further, I found that with the exact same resolution, encoding settings, etc, Quest 2's USB transmit is a stable 0.5ms, whereas the Quest Pro often crosses the 1ms transmit time. Quest 2: INFO [comp_ql_calc_frame_pacing] Avg: tx 0.575194ms, encode 18.336222ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.479831ms, encode 18.421983ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.482888ms, encode 18.347163ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.480982ms, encode 18.464094ms Quest Pro: INFO [comp_ql_calc_frame_pacing] Avg: tx 1.075382ms, encode 12.934615ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.710841ms, encode 10.299981ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.850958ms, encode 10.371938ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.645109ms, encode 10.543258ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.592482ms, encode 10.271824ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.770167ms, encode 10.140699ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.911711ms, encode 10.275272ms INFO [comp_ql_calc_frame_pacing] Avg: tx 0.556561ms, encode 10.065738ms Both devices are on v47, and `libusb_get_device_speed` returns `LIBUSB_SPEED_SUPER` for both headsets, so in theory they should be operating at 5000Mbit/s. It's worth noting that I'm including the cap'n proto preamble packets, so that's 0.4ms Quest 2/1ms Quest Pro across 3-4 packets (segment sizes + cap'n proto + optional csd + idr/coded slices).2.3KViews2likes1Comment