Scrcpy: Use software rendering fallback when driver not availble

Created on 26 May 2020  Â·  5Comments  Â·  Source: Genymobile/scrcpy

I get this when trying it on Ubuntu over TightVNC:

INFO: scrcpy 1.13 <https://github.com/Genymobile/scrcpy>
/usr/local/share/scrcpy/scrcpy-server: 1 file pushed. 0.7 MB/s (27694 bytes in 0.040s)
Xlib:  extension "RANDR" missing on display ":1.0".
[server] INFO: Device: HUAWEI CLT-L09 (Android 9)CRITICAL: Could not create renderer: Couldn't find matching render driver

The majority of other programs including video players work over VNC as they fallback to software rendering. So why not this? I rather it work with a bit of a lag than it not work at all.

Most helpful comment

That option doesn't seem to be documented anywhere.

$ scrcpy --help
...
    --render-driver name
        Request SDL to use the given render driver (this is just a
        hint).
        Supported names are currently "direct3d", "opengl",
        "opengles2", "opengles", "metal" and "software".
        <https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER>
$ man scrcpy
...
       --render-driver name
              Request SDL to use the given render driver (this is just a hint).

              Supported names are currently "direct3d", "opengl", "opengles2", "opengles", "metal" and "software".  ⟨https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER⟩

But yes, it's not detailed in the README, too specific.

All 5 comments

Does it work with:

scrcpy --render-driver=software

?

Does it work with:

scrcpy --render-driver=software

?

Yes. Solved my problem. That option doesn't seem to be documented anywhere.

That option doesn't seem to be documented anywhere.

$ scrcpy --help
...
    --render-driver name
        Request SDL to use the given render driver (this is just a
        hint).
        Supported names are currently "direct3d", "opengl",
        "opengles2", "opengles", "metal" and "software".
        <https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER>
$ man scrcpy
...
       --render-driver name
              Request SDL to use the given render driver (this is just a hint).

              Supported names are currently "direct3d", "opengl", "opengles2", "opengles", "metal" and "software".  ⟨https://wiki.libsdl.org/SDL_HINT_RENDER_DRIVER⟩

But yes, it's not detailed in the README, too specific.

If it's too slow, I would also suggest -m800 --max-fps 15 (or other values) to reduce frame size and frame rate.

@rom1v where can i get the correct dll for opengles2 and opengles. it always defaults back to direct3d when i use --render-driver opengles

Was this page helpful?
0 / 5 - 0 ratings

Related issues

swamikamal picture swamikamal  Â·  3Comments

BloodPHamtOm picture BloodPHamtOm  Â·  3Comments

fleytman picture fleytman  Â·  4Comments

cutoseo picture cutoseo  Â·  4Comments

jonnybrooks picture jonnybrooks  Â·  3Comments