Ciao, volendo usare waydroid su debian testing con lxqt mi sono imbattuto in un paio di problemi:
1. waydroid usa wayland. Soluzione: A forza di cercare un modo di attivare wayland senza dover reinstallare tutto o cambiare il desktop, alla fine ho scoperto che il DE weston è utilizzabile anche all'interno di lxqt, quindi tutto figo e posso avviarlo. 2. wayland si bloccava con il messaggio: [gbinder] WARNING: Service manager /dev/binder has died Anche se in alcune guide veniva detto che per avere il modulo binder, non attivo di default nel kernel debian, o lo si inseriva con dkms o si usava il kernel zen, che ho trovato approdando a questo sito: https://liquorix.net/ Quindi ho installato il kernel liquorix/zen scoprendo che in realtà non ha il modulo binder, allora ho provato la compilazione via dkms che non ha funzionato. Soluzione: Il kernel di debian tipo linux-image-6.1.0-1-amd64 o linux-image-6.4.0-2-amd64, come anche il kernel xanmod linux-image-6.4.11-x64v3-xanmod1 hanno già il modulo binder attivo e waydroid funziona via weston anche in lxqt. Il liquorix/zen no. $ lsmod | grep bind binder_linux 135168 0 Quindi tutto figo e problemi zero. Allora ho voluto fare un passetto in più, cioè ho pensato che potevo scaricare i sorgenti del kernel liquorix/zen modificare il config e ricompilare. Ovviamente no, perché tendando di applicare le stesse impostazioni trovate dove il modulo binder veniva compilato ottenevo che i valori non erano applicabili generando questi errori: .config:10176:warning: symbol value 'm' invalid for ANDROID_BINDER_IPC .config:10177:warning: symbol value 'm' invalid for ANDROID_BINDERFS scoprendo poi (la compilazione del kernel non è mai stata una mia passione) che bisognava modificare da bool a tristate l'impostazione del relativo file Kconfig: $ grep -A2 config\ ANDROID_BINDER_IPC$ /home/bpxroot/kernel-src/liquorix-package/lqx-zen-02/zen-kernel/drivers/android/Kconfig config ANDROID_BINDER_IPC tristate "Android Binder IPC Driver" depends on MMU Gli errori sono scomparsi ma, ne sono arrivati dei nuovi. Poi la cosa meravigliosa è che la compilazione ci mette più di due ore per dare l'errore. Comando di compilazione: $ make -j8 deb-pkg LOCALVERSION=-bpxlab KDEB_PKGVERSION=$(make kernelversion)-20230820-02 Errore: AR drivers/powercap/built-in.a drivers/android/binderfs.c:86:6: error: redefinition of ‘is_binderfs_device’ 86 | bool is_binderfs_device(const struct inode *inode) | ^~~~~~~~~~~~~~~~~~ In file included from drivers/android/binderfs.c:37: drivers/android/binder_internal.h:87:20: note: previous definition of ‘is_binderfs_device’ with type ‘bool(const struct inode *)’ {aka ‘_Bool(const struct inode *)’} 87 | static inline bool is_binderfs_device(const struct inode *inode) | ^~~~~~~~~~~~~~~~~~ drivers/android/binderfs.c:500:6: error: redefinition of ‘binderfs_remove_file’ 500 | void binderfs_remove_file(struct dentry *dentry) | ^~~~~~~~~~~~~~~~~~~~ drivers/android/binder_internal.h:98:20: note: previous definition of ‘binderfs_remove_file’ with type ‘void(struct dentry *)’ 98 | static inline void binderfs_remove_file(struct dentry *dentry) {} | ^~~~~~~~~~~~~~~~~~~~ drivers/android/binderfs.c:515:16: error: redefinition of ‘binderfs_create_file’ 515 | struct dentry *binderfs_create_file(struct dentry *parent, const char *name, | ^~~~~~~~~~~~~~~~~~~~ drivers/android/binder_internal.h:91:30: note: previous definition of ‘binderfs_create_file’ with type ‘struct dentry *(struct dentry *, const char *, const struct file_operations *, void *)’ 91 | static inline struct dentry *binderfs_create_file(struct dentry *dir, | ^~~~~~~~~~~~~~~~~~~~ drivers/android/binderfs.c:799:12: error: redefinition of ‘init_binderfs’ 799 | int __init init_binderfs(void) | ^~~~~~~~~~~~~ drivers/android/binder_internal.h:104:26: note: previous definition of ‘init_binderfs’ with type ‘int(void)’ 104 | static inline int __init init_binderfs(void) | ^~~~~~~~~~~~~ make[7]: *** [scripts/Makefile.build:252: drivers/android/binderfs.o] Error 1 make[6]: *** [scripts/Makefile.build:497: drivers/android] Error 2 A questo punto dopo vari tentativi e lunghe ore, arrivato all'alba ho detto tante parolacce e chiuso la questione. Ma non mi spiego quale sia il problema. Perché i kernel linux-image-6.4.0-2-amd64 e linux-image-6.4.11-x64v3-xanmod1 sono compilati con il modulo binder attivo, ma se cerco di riportare le stesse impostazioni sul sorgente di linux-image-6.4.11-2-liquorix-amd64 la compilazione fallisce? Qualche idea in merito ? Grazie -- *CANTANNA Giuseppe* cel. +39 349 1998700 [email protected] [email protected] [email protected] bproot.bc - Linux user n. 502620 registered on http://counter.li.org/ *Nodo NINUX: *broot*.* *Per favore non inviatemi allegati in formato MS Office.Utilizzate alternativamente documenti in formato OpenDocument.* http://en.wikipedia.org/wiki/OpenDocument http://it.wikipedia.org/wiki/OpenDocument http://www.documentfoundation.org/ https://it.libreoffice.org/

