Auteur Sujet: Afficher l'écran Android sur Ubuntu via scrcpy  (Lu 278 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 50 122
    • Bluesky LaFibre.info
Je cherche à afficher l'écran mon smartphone (Pixel 6) sur mon Linux via scrcpy

1/ J'ai installé les paquets adb et, scrcpy sur mon Ubuntu 25.04 via apt (sudo apt install adb scrcpy)

2/ J'ai connecté mon Pixel 6 en USB sur mon PC et activé le débogage USB ( Paramètres ⇒ Système ⇒ Options pour développeurs ⇒ Débogage USB) et redémarré mon téléphone

3/ Je lance scrcpy ou scrcpy -w -S depuis un terminal sur mon Ubuntu, j'ai une erreur [server] ERROR: Could not invoke method

Le débogage USB est bien activé (l'erreur est bien différente quand ce n'est pas activé).

$ scrcpy
scrcpy 1.25 <https://github.com/Genymobile/scrcpy>
/usr/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 289.8 MB/s (41652 bytes in 0.000s)
[server] INFO: Device: Google Pixel 6 (Android 16)
[server] ERROR: Could not invoke method
java.lang.NoSuchMethodException: android.content.IClipboard$Stub$Proxy.addPrimaryClipChangedListener [interface android.content.IOnPrimaryClipChangedListener, class java.lang.String, class java.lang.String, int]
at java.lang.Class.getMethod(Class.java:2940)
at java.lang.Class.getMethod(Class.java:2440)
at com.genymobile.scrcpy.wrappers.ClipboardManager.getAddPrimaryClipChangedListener(ClipboardManager.java:128)
at com.genymobile.scrcpy.wrappers.ClipboardManager.addPrimaryClipChangedListener(ClipboardManager.java:138)
at com.genymobile.scrcpy.Device.<init>(Device.java:100)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:64)
at com.genymobile.scrcpy.Server.main(Server.java:334)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:371)
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.AssertionError: java.lang.NoSuchMethodException: android.view.SurfaceControl.createDisplay [class java.lang.String, boolean]
at com.genymobile.scrcpy.wrappers.SurfaceControl.createDisplay(SurfaceControl.java:83)
at com.genymobile.scrcpy.ScreenEncoder.createDisplay(ScreenEncoder.java:278)
at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:84)
at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:74)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:100)
at com.genymobile.scrcpy.Server.main(Server.java:334)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:371)
Caused by: java.lang.NoSuchMethodException: android.view.SurfaceControl.createDisplay [class java.lang.String, boolean]
at java.lang.Class.getMethod(Class.java:2940)
at java.lang.Class.getMethod(Class.java:2440)
at com.genymobile.scrcpy.wrappers.SurfaceControl.createDisplay(SurfaceControl.java:81)
... 7 more
INFO: Renderer: opengl
INFO: OpenGL version: 4.6 (Compatibility Profile) Mesa 25.0.3-1ubuntu2
INFO: Trilinear filtering enabled
INFO: Initial texture: 1080x2400
WARN: Device disconnected
WARN: Killing the server...

La documentation ( https://github.com/Genymobile/scrcpy#prerequisites ) explique que sur certains téléphonnes il faut activer USB debugging (Security Settings). J'ai bien cherché, ce n'est pas proposé par mon Pixel 6.

Si vous avez une solution...

acut3

  • Abonné Sosh fibre
  • *
  • Messages: 30
Afficher l'écran Android sur Ubuntu via scrcpy
« Réponse #1 le: Hier à 10:29:42 »
Version trop vieille probablement... 1.25 date de 2022 et on en est à la 3.3.1.

vivien

  • Administrateur
  • *
  • Messages: 50 122
    • Bluesky LaFibre.info
Afficher l'écran Android sur Ubuntu via scrcpy
« Réponse #2 le: Hier à 10:43:58 »
La version 1.25 est celle qui est dans tous les dépôts de Linux :
- Ubuntu 25.04
- Debian SID Unstable
- Snap Store ( https://snapcraft.io/scrcpy )

Il y a bien une version non officielle : https://snapcraft.io/scrcpy-updated qui est en version 3.3.1, mais quand je la lance, j'ai une erreur :
$ scrcpy-updated.scrcpy
/snap/scrcpy-updated/118/usr/local/bin/scrcpy: error while loading shared libraries: libblas.so.3: cannot open shared object file: No such file or directory
Normalement un Snap vient avec ses dépendances...

acut3

  • Abonné Sosh fibre
  • *
  • Messages: 30
Afficher l'écran Android sur Ubuntu via scrcpy
« Réponse #3 le: Hier à 10:51:00 »
Essaie le binaire statique officiel : https://github.com/Genymobile/scrcpy/releases/download/v3.3.1/scrcpy-linux-x86_64-v3.3.1.tar.gz (c'est l'archive listée sur https://github.com/Genymobile/scrcpy/releases/tag/v3.3.1)

La doc officielle elle-même indique que les images des dépôts Debian/Ubuntu sont obsolètes : https://github.com/Genymobile/scrcpy/blob/master/doc/linux.md

dino

  • Abonné Free adsl
  • *
  • Messages: 200
Afficher l'écran Android sur Ubuntu via scrcpy
« Réponse #4 le: Hier à 16:12:17 »

La documentation ( https://github.com/Genymobile/scrcpy#prerequisites ) explique que sur certains téléphonnes il faut activer USB debugging (Security Settings). J'ai bien cherché, ce n'est pas proposé par mon Pixel 6.

Si vous avez une solution...


double question :
l'objectif est simplement par "curiosité", ou parce que l'écran du tel est explosé? souvent cette problématique intervient lorsque le tel s'est pris un mur..
pour l'USB debugging, je crois que c'est la traduction simple du "mode adb" à activer dans les outils développeur.. si le "adb shell" permet bien d'entrer sur l'appareil via terminal, alors normalement c'est la même chose..

vivien

  • Administrateur
  • *
  • Messages: 50 122
    • Bluesky LaFibre.info
Afficher l'écran Android sur Ubuntu via scrcpy
« Réponse #5 le: Hier à 16:32:23 »
Je souhaite remonter de la façon la plus propre possible ce que j'ai maladroitement mis sur le sujet https://lafibre.info/couverture/4g-avec-sosh-ou-5g-avec-free/msg1122353/#msg1122353 : Free a un problème de handover quand il y a du monde qui se balade ensemble à 100 Km/h. Mon exemple n'était pas bon, car il y a 3 sites Free HS sur le périmètre de ma copie d'écran, mais le pb se présente également sans sites en panne : Le mobile est en 5G, mais sur un site trop éloigné et la data ne passe pas. J'ai même noté un passage en itinérance Orange, sur une zone couverte et sans sites Free HS.

Il faut donc que j'ai sur ma vidéo les données de réception eNB Analytics + l'écran de mon PC qui montre qu'on n'a rien ou presque rien en data + moi qui des informations précises sur la localisation (car le GPS dans le train, ce n'est pas toujours ça, même en voiture haute).

Le plus propre est donc de déporter l'écran du mobile sur mon PC et de faire une capture vidéo de l'écran de mon PC.

hwti

  • Abonné Orange Fibre
  • *
  • Messages: 2 581
  • Chambly (60)
Afficher l'écran Android sur Ubuntu via scrcpy
« Réponse #6 le: Hier à 23:01:54 »
Une des erreurs correspond à https://github.com/Genymobile/scrcpy/issues/4678, le support Android 15 est arrivé dans la v2.4.

J'ai testé la v3.3.1 avec mon Pixel 8a sous Android 16.
L'audio a eu un peu de mal à démarrer, mais la capture de l'écran ainsi que la souris et le clavier du PC fonctionnent.