Bonjour à tous,

Je souhaite tester waydroid, je l’installe via dnf:

$ sudo dnf install waydroid

en suivant les instructions du site de waydroid.

Seulement en exécutant via le menu, il ne se passe rien.

j’ai bien démarrer waydroid-container dans systemd.

Si quelqu’un a déjà testé waydroid, je suis friand de savoir comment il fait.

Lorsque tu le lances en mode terminal ça donne quoi comme retour ?

sudo waydroid container start
et
waydroid session start

Alors le container est deja en route:

$ sudo waydroid container start
[sudo] Mot de passe de ben : 
ERROR: WayDroid container service is already running

et

$ waydroid session start

et je peux attendre des heures, il ne se passe rien. Dans un autre terminal en même temps que ça mouline dans le vide:

$ waydroid status
Session:	RUNNING
Container:	STOPPED
Vendor type:	MAINLINE
IP address:	UNKNOWN
Session user:	ben(1000)
Wayland display:	wayland-0

Je fais le test suivant:

$ sudo systemctl disable  waydroid-container
Removed "/etc/systemd/system/multi-user.target.wants/waydroid-container.service".
$ sudo waydroid container start

et… à ce moment bah je reste bloqué à cet étape, le container se lance pas, c’est peut-èetre là ou ça bloque.

En regardant bien la page troubleshooting: voilà ce que j’obtiens:

$ sudo rm -rf /var/lib/waydroid /home/.waydroid ~/waydroid ~/.share/waydroid ~/.local/share/applications/*aydroid* ~/.local/share/waydroid
$ sudo waydroid init -f
[08:56:43] x86_64 CPU does not support SSE4.2, falling back to x86...
[08:56:43] ERROR: Failed to get system OTA channel: /lineage/waydroid_x86/VANILLA.json, error: -1
[08:56:43] See also: <https://github.com/waydroid>
Run 'waydroid log' for details.

Problème d’instruction CPU avec SSE4.2, par contre ça foire pour une execution en 32bits

Par contre en faisant waydroid first-launch Cette fois j’ai la fenêtre d’initialisation qui se lance. Je continue mes tests

Edit: ajout d’infos

Android se télécharge bien, et la session essaye de se lancer mais reste figée.

Voici les logs:

(016911) [09:05:17] % modprobe -q ashmem_linux
(016911) [09:05:17] % chmod 666 -R /dev/binder
(016911) [09:05:17] % chmod 666 -R /dev/vndbinder
(016911) [09:05:17] % chmod 666 -R /dev/hwbinder
(017034) [09:05:17] Starting waydroid session
(016911) [09:05:17] % /usr/lib/waydroid/data/scripts/waydroid-net.sh start
vnic is waydroid0
Warning: ZONE_ALREADY_SET: 'waydroid0' already bound to 'trusted'
success
(016911) [09:05:18] % chmod 777 -R /dev/dri
(016911) [09:05:18] % chmod 777 -R /dev/video0
(016911) [09:05:18] % chmod 777 -R /dev/video1
(016911) [09:05:18] % mv /var/lib/waydroid/config_session /var/lib/waydroid/lxc/waydroid
(016911) [09:05:18] % mount -o context="system_u:object_r:waydroid_rootfs_t:s0",ro /var/lib/waydroid/images/system.img /var/lib/waydroid/rootfs
(016911) [09:05:18] % mkdir -p /var/lib/waydroid/overlay_work/system
(016911) [09:05:18] % mount -t overlay -o context="system_u:object_r:waydroid_rootfs_t:s0",ro,lowerdir=/var/lib/waydroid/overlay:/var/lib/waydroid/rootfs,upperdir=/var/lib/waydroid/overlay_rw/system,workdir=/var/lib/waydroid/overlay_work/system,xino=off overlay /var/lib/waydroid/rootfs
(016911) [09:05:18] % mount -o context="system_u:object_r:waydroid_rootfs_t:s0",ro /var/lib/waydroid/images/vendor.img /var/lib/waydroid/rootfs/vendor
(016911) [09:05:18] % mkdir -p /var/lib/waydroid/overlay_work/vendor
(016911) [09:05:18] % mount -t overlay -o context="system_u:object_r:waydroid_rootfs_t:s0",ro,lowerdir=/var/lib/waydroid/overlay/vendor:/var/lib/waydroid/rootfs/vendor,upperdir=/var/lib/waydroid/overlay_rw/vendor,workdir=/var/lib/waydroid/overlay_work/vendor,xino=off overlay /var/lib/waydroid/rootfs/vendor
(016911) [09:05:18] % mount -o bind /var/lib/waydroid/waydroid.prop /var/lib/waydroid/rootfs/vendor/waydroid.prop
(016911) [09:05:18] Save config: /var/lib/waydroid/waydroid.cfg
(016911) [09:05:18] % lxc-start -P /var/lib/waydroid/lxc -F -n waydroid -- /init
(016911) [09:05:18] New background process: pid=17644, output=background
(016911) [09:05:18] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH
RUNNING
lxc-start: waydroid: ../src/lxc/conf.c: run_buffer: 322 Script exited with status 126
lxc-start: waydroid: ../src/lxc/start.c: lxc_end: 985 Failed to run lxc.hook.post-stop for container "waydroid"
(016911) [09:05:25] % lxc-info -P /var/lib/waydroid/lxc -n waydroid -sH
STOPPED

Normal il te faut remplir ces 2 parties avec l’adresse web (d’ou ton message d’erreur) :

System OTA: https://ota.waydro.id/system
Vendor OTA: https://ota.waydro.id/vendor
    10 jours plus tard

    Refuznik cet étape je l’ai faite.

    J’ai voulu tester sur une autre distribution en VM, mais mauvaise idée, il manquait des instructions CPU.

    Si j’ai le temps, je vais essayer depuis un live Ubuntu. Histoire d’être sur.

    Bon… j’ai testé avec ubuntu en live et j’ai le même problème qu’en vm: il me manque le support du SSSE3.

    Ce que ne me dit pas la version de fedora.

    Je pense que mon CPU est trop agé. J’abandonne.

      xylphute

      Alors…

      Tu utilise quoi pour la VM? Il faut utiliser le host/cpu passthrough (du moins dans libvirt/qemu/KVM avec virt-manager) ou émuler un processeur le supportant.

      Tu as activé les options pour la virtualisation matériel dans ton bios?

      Exemple sur l’admin de mon deuxième labo kubernetes sur libvirt/qemu/kvm en faisant du host passthrough sur l’hôte :

       ktest1
      Last login: Mon May 27 14:08:29 2024 from 192.168.110.1
      root@kubetest2-1:~# grep ssse /proc/cpuinfo
      flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean flushbyasid pausefilter pfthreshold v_vmsave_vmload vgif umip pku ospke vaes vpclmulqdq rdpid fsrm arch_capabilities
      flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean flushbyasid pausefilter pfthreshold v_vmsave_vmload vgif umip pku ospke vaes vpclmulqdq rdpid fsrm arch_capabilities
      flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean flushbyasid pausefilter pfthreshold v_vmsave_vmload vgif umip pku ospke vaes vpclmulqdq rdpid fsrm arch_capabilities
      flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean flushbyasid pausefilter pfthreshold v_vmsave_vmload vgif umip pku ospke vaes vpclmulqdq rdpid fsrm arch_capabilities
      root@kubetest2-1:~# 

      Que retourne sur l’hôte :

      dnf list *kvm*

      Aussi par exemple : sur hyperV il faut cocher/décocher une case au niveau de l’option pour le processeur pour activer/désactiver (je sais plus dans quel sens…).

        Alors,

        Quand je j’ai fait le test avec un linux guest (Ubuntu) j’ai bien évidemment le cpu-passthrough. La virtualisation est bien activée dans le bios.

        Pour en revenir avec waydroid, sous Ubuntu virtualisé ou pas, l’interface init se lance bien, mais j’ai l’erreur ssse3.

        Sous F40, c’est parcours du combattant pour avoir l’interface init de waydroid, il me pète une erreur sur le sse4 nécessaire pour Android 64bits, du coup il bascule sur une version 32 bits qui est téléchargeable, mais après rien.

        Perso j’installe les agents invités dispo avec la everything. Mais bon cela bute toujours sur le pilote graphique, pas sur le ssse3.

        Sinon abrt rapporte des erreurs en boucle…

        VINDICATORs Que retourne sur l’hôte :

        dnf list kvm

        $ sudo dnf list *kvm*
        Dernière vérification de l’expiration des métadonnées effectuée il y a 0:00:51 le mar. 28 mai 2024 08:03:49.
        Paquets installés
        libvirt-daemon-kvm.x86_64                                 10.1.0-1.fc40                      @fedora
        qemu-kvm.x86_64                                           2:8.2.2-1.fc40                     @fedora
        qemu-kvm-core.x86_64 

        C’est quoi la everything?

          xylphute

          Version plus personalisable de fedora. Ta une liste de choix plus complet,ais cela demande d’avoir un bon débit.

          Par contre cela n’explique pas pourquoi tu as aussi peu d’options coté processeur de disponible.Ton cpu c’est un?

          Un AMD Phenom II B55

          $ lscpu
          Architecture:             x86_64
            CPU op-mode(s):         32-bit, 64-bit
            Address sizes:          48 bits physical, 48 bits virtual
            Byte Order:             Little Endian
          CPU(s):                   4
            On-line CPU(s) list:    0,2,3
            Off-line CPU(s) list:   1
          Vendor ID:                AuthenticAMD
            Model name:             AMD Phenom(tm) II X4 B55 Processor
              CPU family:           16
              Model:                4
              Thread(s) per core:   1
              Core(s) per socket:   3
              Socket(s):            1
              Stepping:             3
              BogoMIPS:             6428,85
              Flags:                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl
                                    flush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3d
                                    nowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid pni 
                                    monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a mi
                                    salignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm
                                    _lock nrip_save
          Virtualization features:  
            Virtualization:         AMD-V
          Caches (sum of all):      
            L1d:                    192 KiB (3 instances)
            L1i:                    192 KiB (3 instances)
            L2:                     1,5 MiB (3 instances)
            L3:                     18 MiB (3 instances)
          NUMA:                     
            NUMA node(s):           1
            NUMA node0 CPU(s):      0,2,3
          Vulnerabilities:          
            Gather data sampling:   Not affected
            Itlb multihit:          Not affected
            L1tf:                   Not affected
            Mds:                    Not affected
            Meltdown:               Not affected
            Mmio stale data:        Not affected
            Reg file data sampling: Not affected
            Retbleed:               Not affected
            Spec rstack overflow:   Not affected
            Spec store bypass:      Not affected
            Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
            Spectre v2:             Mitigation; Retpolines; STIBP disabled; RSB filling; PBRSB-eIBRS Not affec
                                    ted; BHI Not affected
            Srbds:                  Not affected
            Tsx async abort:        Not affected

          Du coup je ne vois pas de ssse3 dans le support du proc.

          Regarde la conf du BIOS.

          A la limite il faudrait que je regarde si je peux avoir de l’athlon FX en reconditionné si compatible avec ma carte mère.

            Il y a des erreurs sur ce site, le phenom 2 n’a pas de sse3,et pour le coup, c’est ssse3 qui manquait.

            Je check la notice du bios, car c’est quand meme assez etrange d’avoir le sse4 sans le 3…