What's New in TinyPilot's November 2021 Update

TinyPilot's latest release focuses on performance, stability, and security.

There are no new features in this version. As much as we love adding useful features, we focused on improving TinyPilot's overall quality based on feedback from our users.

Improved macOS compatibility

TinyPilot uses the Linux USB gadget driver to emulate USB devices. This is a mature and widely-used driver, but some target systems fail to recognize it properly.

Over the past few months, users with Apple Mac systems have reported inconsistent behavior with their TinyPilot. Their macOS systems would fail to accept keystrokes from TinyPilot during the lock screen or recovery mode, or keystrokes would only work after plugging in a secondary keyboard.

Recent changes to the Linux USB gadget driver have improved compatibility, so this TinyPilot update integrates those fixes. macOS users should now see their hardware recognize TinyPilot at the lock screen and during recovery mode.

TinyPilot's latest release features improved compatibility with Apple Mac hardware.

Special thanks to Maxim Devaev for his work investigating this issue and contributing fixes to the Linux kernel.

Faster video and mouse performance

We know that performance is important to TinyPilot users, especially those who access their devices over the Internet.

A user reported to us that when they configured their video for a lower frame rate, they would occasionally observe their mouse cursor lag for a few seconds:

Previous versions of TinyPilot could have lag updating the mouse cursor at low framerates.

We discovered two root causes for this behavior.

The first issue was that our request orchestration system was buffering video frames, preventing them from reaching the user as quickly as possible. We solved that with a simple fix to TinyPilot's configuration.

The second issue was in our mouse throttling system. When you move your mouse, you generate dozens of input events per second. TinyPilot processes these events strategically to minimize the number of events it sends over the network.

We previously used a general-purpose, third-party library to throttle mouse events, but the library forced us to choose between performance and precision. In this release, we wrote our own custom throttling logic that optimizes for mouse movement. The result is faster mouse performance, greater accuracy, and lower network bandwidth.

TinyPilot's latest improves mouse cursor accuracy, especially over slow network connections.

Detection of insecure credentials

TinyPilot devices include SSH access to give users complete control over their devices. The quick-start instructions direct users to change their default SSH credentials after initial setup, but some of our users are so excited to begin using their TinyPilots that they forget to change the default password.

TinyPilot's security screen now warns if your device is still using the insecure default SSH credentials, and it includes instructions for how to fix the issue.

The update button is located in the navbar under System

In a future release, TinyPilot's web interface will allow you to disable SSH access entirely to minimize your device's security-sensitive interfaces.

Full changelog

For the full list of changes in TinyPilot Pro 2.3.1, see the changelog.

Updating to the latest version

You can update to the latest version of TinyPilot by clicking System > Update in the navigation bar:

The update button is located in the navbar under System

Don't see an update option? For older versions of TinyPilot, SSH into your device and update with the following command:

/opt/tinypilot/scripts/upgrade && sudo reboot

Written by Michael Lynch, TinyPilot Founder and CEO