Environment
- OS: macOS (M2)
- Scrcpy version: 3.3.1
- Installation method: brew
- Device model: Google Pixel 8
- Android version: 16 (Security update: 5 Setember 2025)
Describe the bug
Context: I was trying to display the new Desktop Mode on the Google Pixel phones.
Developer options > Windows Management > Enable desktop experience features (After reboot it shows icon bar via HDMI Out or via Developer options > Drawing > Simulate secondary displays)
After the command it opens a new window and flashes the new display (with wallpaper and icons) and errors out.
Tried it with tcpip and usb, no difference.
user@macbook ~ % scrcpy --new-display=1920x1080/240
scrcpy 3.3.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO: --> (tcpip) 10.0.0.100:5555 device Pixel_8
/opt/homebrew/Cellar/scrcpy/3.3.1_1/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 60.4 MB/s (90788 bytes in 0.001s)
[server] INFO: Device: [Google] google Pixel 8 (Android 16)
INFO: Renderer: metal
INFO: Texture: 1920x1080
[server] INFO: New display: 1920x1080/240 (id=100)
[server] ERROR: Exception on thread Thread[binder:7103_1,5,main]
java.lang.AbstractMethodError: abstract method "void android.view.IDisplayWindowListener.onDisplayAddSystemDecorations(int)" on receiver java.lang.Class<com.genymobile.scrcpy.video.DisplaySizeMonitor$1>
at android.view.IDisplayWindowListener$Stub.onTransact(IDisplayWindowListener.java:231)
at android.os.Binder.execTransactInternal(Binder.java:1446)
at android.os.Binder.execTransact(Binder.java:1385)
WARN: Device disconnected
Aborted
The screen doesn't appear on display list:
user@macbook ~ % scrcpy --list-displays
scrcpy 3.3.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO: --> (usb) GPIXEL8 device Pixel_8
/opt/homebrew/Cellar/scrcpy/3.3.1_1/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 57.3 MB/s (90788 bytes in 0.002s)
[server] INFO: Device: [Google] google Pixel 8 (Android 16)
[server] INFO: List of displays:
--display-id=0 (1080x2400)
I can do it manually without a problem with adb and use scrcpy to view that display, it works without any error:
user@macbook ~ % adb shell settings put global overlay_display_devices 1920x1080/240
user@macbook ~ % scrcpy --list-displays
scrcpy 3.3.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO: --> (usb) GPIXEL8 device Pixel_8
/opt/homebrew/Cellar/scrcpy/3.3.1_1/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 40.2 MB/s (90788 bytes in 0.002s)
[server] INFO: Device: [Google] google Pixel 8 (Android 16)
[server] INFO: List of displays:
--display-id=0 (1080x2400)
--display-id=106 (1920x1080)
user@macbook ~ % scrcpy --display-id=106
scrcpy 3.3.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO: --> (usb) GPIXEL8 device Pixel_8
/opt/homebrew/Cellar/scrcpy/3.3.1_1/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 35.5 MB/s (90788 bytes in 0.002s)
[server] INFO: Device: [Google] google Pixel 8 (Android 16)
INFO: Renderer: metal
[server] WARN: Display doesn't have FLAG_SUPPORTS_PROTECTED_BUFFERS flag, mirroring can be restricted
INFO: Texture: 1920x1080
Environment
Describe the bug
Context: I was trying to display the new Desktop Mode on the Google Pixel phones.
Developer options > Windows Management > Enable desktop experience features (After reboot it shows icon bar via HDMI Out or via Developer options > Drawing > Simulate secondary displays)
After the command it opens a new window and flashes the new display (with wallpaper and icons) and errors out.
Tried it with tcpip and usb, no difference.
The screen doesn't appear on display list:
I can do it manually without a problem with adb and use scrcpy to view that display, it works without any error: