v2.7

Genymobile/scrcpyv2.7Sep 15, 2024by rom1v

AI Summary

This version adds gamepad support for playing Android games with controllers and improves the --max-fps option to accept floating-point values.

Key Highlights

  • Gamepad support (PS4/PS5/XBox) enabled via -G flag.
  • Support for floating-point values in --max-fps (e.g., 0.2 fps for timelapses).
  • Fix workarounds for ONYX devices.
  • Upgraded SDL to 2.30.7 in Windows releases.

New Features

  • Gamepad support.

Full Release Notes

_To receive a notification when a new release is available, click on **Watch > Custom > Releases** at the top._

---

**scrcpy v2.7**

Changes since v2.6.1:
 - Add gamepad support (#99, #2130, #5270)
 - Fix workarounds for ONYX devices (#5182)
 - Accept float values for --max-fps (265a15e0)
 - Upgrade SDL to 2.30.7 in Windows releases
 - Various technical fixes

---

# Highlights

## Gamepad support

With this new version, it is possible to play Android games using game controllers (for example a PS4/PS5 or XBox gamepad) connected to the computer (provided that the game supports gamepads).

Like physical [keyboard] and [mouse] simulation, gamepads can use either UHID or AOA.

[keyboard]: https://github.com/Genymobile/scrcpy/blob/master/doc/keyboard.md#physical-keyboard-simulation
[mouse]: https://github.com/Genymobile/scrcpy/blob/master/doc/mouse.md#physical-mouse-simulation

To enable gamepad support, just run:

```
scrcpy -G
```

It can work without mirroring:

```
scrcpy --no-video --no-audio -G
```

and in OTG mode (i.e. without requiring USB debugging):

```
scrcpy --otg -G
```

More details in #5270 and in [the documentation](https://github.com/Genymobile/scrcpy/blob/master/doc/gamepad.md).


## `--max-fps` improvement

Android accepts floating point values for the frame rate limitation, but `--max-fps` only accepted integers. Now, it accepts floating point values.

In particular, this allows to capture at a frame rate lower than 1 fps. For example, to capture 1 frame every 5 seconds:

```
scrcpy --video-source=camera --camera-size=1920x1080 --max-fps=0.2 --record=file.mp4
```

This might be useful for creating a timelapse. (The video can be [sped up] afterwards with FFmpeg.)

[sped up]: https://trac.ffmpeg.org/wiki/How%20to%20speed%20up%20/%20slow%20down%20a%20video

---

 - Twitter: [`@scrcpy_app`](https://twitter.com/scrcpy_app)
 - Reddit: [`r/scrcpy`](https://www.reddit.com/r/scrcpy)