Author: foo

  • Moonlight / Sunshine stuttering on Android with Wi-Fi and Bluetooth game controller.

    When using local-lan game streaming with Moonlight/Sunshine (https://moonlight-stream.org) or it’s fork Apollo (https://github.com/ClassicOldSong/Apollo)/Artemis (https://github.com/ClassicOldSong/moonlight-android) on Android-based devices, I encountered an irritating micro-stuttering in the video and sound every few seconds.

    I was using a Wi-Fi connection with a Xiaomi Router AX3000T (Wi-Fi 6) with OpenWrt software and a GameSir G8 Plus game controller via Bluetooth (https://gamesir.com/pl/products/g8plus-bluetooth-mobile-controller).

    I encountered the same problem with top-tier performamce REDMAGIC Astra tablet (Snapdragon 8 Elite), Samsung Galaxy S24 Ultra smartphone (Snapdragon 8 gen 3) and Samsung Galaxy Tab S9 (Snapdragon 8 gen 2).

    The problem was strange in that it only affected Android devices, while when playing via Wi-Fi using a laptop with a Bluetooth controller and via Steam Deck, the game streamed without any glitches.

    There was also no problem when streaming to Android TV devices connected not via Wi-Fi but via a 1Gb Ethernet cable (cat. 6) – in my case, NVIDIA Shield TV Pro 2019 and a budget TCL 65P638 TV, which, despite its weak processor and only 2 GB of RAM, handled streaming Apollo/ Artemis surprisingly well.

    Through trial and error, I found that the micro-stuttering in Android was caused in my case by some strange Wi-Fi interference when using the controller via Bluetooth. After connecting both tablets or phone to the Ethernet cable network via the cheapest Amazon USB-C to Ethernet (RJ45) adapter and turning off the Wi-Fi function on the device, the problem completely disappeared.

    However, using a wired Ethernet network was at odds with the essence of mobile cloud gaming, and I didn’t really like the idea of dragging several dozen meters of cable into the garden or tripping over it at home.

    The ideal solution turned out to be using Wi-Fi with Bluetooth turned off and connecting the game controller via a USB-C cable with the appropriate 180° adapters (so as not to block the right trigger and bumper (in the case of my Redmagic Astra tablet – other tablets such as the Lenovo Legion Y700 gen 4 have 2 independent USB-C ports on perpendicular edges).

    This way, you can play in the cloud on Android via Wi-Fi without stuttering, and the bonus is no controller response delay due to the wired connection instead of wireless BT.

    You can skip the USB-C angle adapters and instead purchase a ready-made cable approx. 15 cm long on AliExpress (https://pl.aliexpress.com/item/1005007470555389.html?spm=a2g0o.order_list.order_list_main.25.2f821802wZdsb0&gatewayAdapt=glo2pol)