
scrcpy 4.0 brings SDL3 support, dynamic aspect ratio, enhanced camera controls, and more
scrcpy 4.0 introduces a series of user-focused enhancements, starting with the migration from Simple DirectMedia Layer 2 (SDL2) to SDL3. This switch brings the benefit of ongoing maintenance and unlocks new features such as aspect-ratio locking. Using a new SDL3 API, the application now preserves the window aspect ratio while resizing, eliminating the previous need for black borders to maintain proportions. In addition, a new flex display mode, enabled with --flex-display or -x, allows virtual displays to be dynamically resized alongside the client window.
Building on interface improvements, camera control options are more advanced. Users can toggle the camera torch at startup, set zoom levels, and retrieve the supported zoom range for each camera via dedicated commands. To prevent the device from sleeping without altering system-wide settings, the --keep-active feature can now simulate user activity regardless of charging status.
Following these usability upgrades, disconnection handling now displays a dedicated icon for two seconds before closing the app window, clarifying any loss of connection. The background color defaults to dark gray instead of black, with a new setting for user customization. For Meta Quest users, a workaround addresses flickering that occurred after device firmware updates. Finally, an audio issue causing high CPU usage during OPUS stream silence playback is fixed through denormal number mitigation, and FFmpeg has now been updated to version 8.1.1.
scrcpy 4.0 also includes updated dependencies, as well as numerous other enhancements and bug fixes that are detailed in the release notes.




