To receive a notification when a new release is available, click on Watch > Custom > Releases at the top.
scrcpy v3.1
Changes since v3.0.2:
- Add
--no-vd-destroy-content
(#5615) - Improve gamepad support in games (#5623, #5362)
- Inject events to main display (#5614, #5545, #5605, #5616)
- Fix "turn screen off" on some devices (#4544, #5274)
- Improve cleanup reliability (#5613, #5601)
- Add dav1d in release builds (#5644, #4744)
- Upgrade SDL to 2.30.10
Highlights
Keep virtual display content on close
When a virtual display is closed, the running apps are destroyed.
A new option (--no-vd-destroy-content
, #5615) allows moving the apps to the main display instead:
scrcpy --new-display --no-vd-destroy-content
This is particularly useful for avoiding the loss of work due to unexpected disconnections. The running app can be moved back to a new virtual display afterward.
Note that the running apps follow the standard Android lifecycle. Some apps, especially 3D games, may simply restart on the main display when the virtual display is closed.
Gamepad support
Gamepad support was implemented by #5270 in scrcpy 2.7.
While it worked well with gamepad testers, it was partially or totally incompatible with many games.
In this new version, several changes (#5623) allow games to detect and use gamepads correctly:
- fixing the gamepad HID report descriptor
- declaring the gamepad to be a well-known Xbox 360 controller
Fix unclickable elements
Since the introduction of virtual displays in scrcpy 3.0, the injection of input events has been slightly modified. While the new behavior resolves issues with virtual displays (#4598, #5137), it caused some UI elements in overlays to become unclickable.
To fix the problem, this new release restores the previous behavior when mirroring the main display (#5614).
Fix "turn screen off" on some devices
On Android 14, scrcpy uses a specific mechanism to turn the screen off (#4456), but this method failed on some devices.
Now, it also works on these devices: #4544 (comment)
AV1 decoder
Recent devices have an AV1 encoder (and it works quite well).
On Linux, when building using system libraries, it was already working. But no AV1 decoder was included in release builds.
This new version adds dav1d support to decode AV1 streams (#5644).
If your device has an AV1 encoder (scrcpy --list-encoders
):
scrcpy --video-codec=av1
- BlueSky:
@scrcpy.bsky.social
- Twitter:
@scrcpy_app
- Reddit:
r/scrcpy