Solved ogst odroid n64 case
-
@ViRuS-MaN : ho oui moi aussi :):) suis bien trop amoureux pour changer !!:)
J'ai quand même testé hier Ogst (juste une mini infidélité très discrète), et c'est (très très) sympa les animations sur l'écran !!@Dragu : pas bête !!
-
j ai installer sur un autre micro sd je vais tester cette semaine pour voir mais perso j aime pas trop kodi
-
Moi aussi ça m'interesse (les stats vont grimper )
J'ai jeté un œil à OGST mais ça me plait pas vraiment. Recalbox qui prendrait en charge ce kit ce serait vraiment fun.
Pour faire avancer un peu le schmilblick voici ce que raconte le script d'installation et d'activation d'OGST pour le kit:
# code en provenance de OGST 3.9.6, fichier '/usr/local/sbin/setup-ogst' ligne 895 console_kit() { msgbox "Making sure that Logo pack for ODROID GameStation Turbo is installed." apt-get install -y ogst-logo-odroid mplayer # make sure joystick is disabled if [ -f /etc/mplayer/mplayer.conf ]; then if [ `grep -c "nojoystick" /etc/mplayer/mplayer.conf` -lt 1 ]; then echo "nojoystick=1" >> /etc/mplayer/mplayer.conf fi fi if [ `grep -c "CONSOLE KIT START" /etc/rc.local` -lt 1 ]; then sed -i "s?^exit 0?##### CONSOLE KIT START #####\n\n[ \`/sbin/lsmod | grep -c spi_s3c64xx\` -ge 1 ] \&\& rmmod spi_s3c64xx\nmodprobe spi_s3c64xx force32b=1\nmodprobe fbtft_device name=hktft9340 busnum=1 rotate=270\ndraw-logo.sh /usr/local/share/setup-ogst/logos/blank.gif 0\n\n##### CONSOLE KIT END #####\n\nexit 0?" /etc/rc.local [ `/sbin/lsmod | grep -c spi_s3c64xx` -ge 1 ] && rmmod spi_s3c64xx modprobe spi_s3c64xx force32b=1 modprobe fbtft_device name=hktft9340 busnum=1 rotate=270 sleep 1 draw-logo.sh /usr/local/share/setup-ogst/logos/blank.gif 0 msgbox "LCD Display configured and activated" fi }
Script pour afficher un logo/clip:
# code en provenance de OGST 3.9.6, fichier '/usr/local/sbin/draw-logo.sh' #!/bin/bash run=true while $run do mplayer -nolirc -vo fbdev2:/dev/fb1 $1 2>/dev/null >/dev/null if [ ! -z $2 ] && [ $2 -eq 0 ]; then run=false fi done
Le logo par défaut est
/usr/local/share/setup-ogst/logos/blank.gif
Les logos et clips par système sont stockés sous/usr/local/share/ogst-logo-odroid/ROMS/
example de commande que vous pouvez tester depuis le treminal:
draw-logo.sh /usr/local/share/setup-ogst/logos/blank.gif 0
ceci (re)chargera le logo par défaut (gif annimé)
draw-logo.sh /usr/local/share/ogst-logo-odroid/ROMS/N64/VideoSnaps/logo.mp4 1
ceci fera tourner le clip N64 en boucleedit:
Donc voici comment le kit est initialisé au démarrage (via/etc/rc.local
. issue du script d'installation montré plus haut) :##### CONSOLE KIT START ##### [ `/sbin/lsmod | grep -c spi_s3c64xx` -ge 1 ] && rmmod spi_s3c64xx modprobe spi_s3c64xx force32b=1 modprobe fbtft_device name=hktft9340 busnum=1 rotate=270 draw-logo.sh /usr/local/share/setup-ogst/logos/blank.gif 0 ##### CONSOLE KIT END #####
et comment les clips sont joués juste après le lancement de retroarch (exemple de la N64):
# code en provenance de OGST 3.9.6, fichier '/usr/local/bin/n64-xbmc' ligne 12 retroarch -L /usr/local/share/retroarch/cores/mupen64plus_libretro.so "$1" & running=1 while [ $running -eq 1 ]; do if [ `lsmod | grep -c fbtft_device` -ge 1 ]; then if [ ! `pidof mplayer` ]; then if [ -f $HOME/ROMS/N64/VideoSnaps/logo.mp4 ]; then sudo /usr/local/sbin/draw-logo.sh $HOME/ROMS/N64/VideoSnaps/logo.mp4 0 & fi fi fi if [ ! `pidof retroarch` ]; then running=0 if [ `lsmod | grep -c fbtft_device` -ge 1 ]; then sudo killall mplayer fi fi sleep 1 done if [ `lsmod | grep -c fbtft_device` -ge 1 ]; then sudo /usr/local/sbin/draw-logo.sh /usr/local/share/setup-ogst/logos/blank.gif 0 fi
Je pense avoir fait le tour du comment c'est géré sur OGST. Y a plus qu'a porter ça sur recalbox
J'essaierais de bidouiller un peu. Mais j'ai encore jamais mis les main dans le cambouis de recalbox... -
Bon, sous recalbox xu4 on n'a pas mplayer, ni omxplayer d'installé. Sur XU4 le splash screen utilise ffplay (et ç'est buggé d'ailleur). Voir
S02splash
.A priori ffplay ne permet pas de choisir le device de sortie (en tout cas j'ai pas trouvé comment).
En revanche on a aussi ffmpeg de disponible et ceci : https://www.ffmpeg.org/ffmpeg-devices.html#fbdev-1Donc un petit test via ssh sur recalbox (pour ce test j'ai préalablement copié un logo.mp4 provenant d'OGST sous
/recalbox/share/system/logo.mp4
# initialisation (idem que OGST) [ `/sbin/lsmod | grep -c spi_s3c64xx` -ge 1 ] && rmmod spi_s3c64xx modprobe spi_s3c64xx force32b=1 modprobe fbtft_device name=hktft9340 busnum=1 rotate=270 # lecture sur l'écran TFT /dev/fb1 avec ffmpeg ffmpeg -re -i /recalbox/share/system/logo.mp4 -c:v rawvideo -pix_fmt rgb565le -f fbdev /dev/fb1
ça fonctionne impec!
Fonctionne également avec gif annimés ! (testé avec le logo par défaut d'OGST copié sous
/recalbox/share/system/blank.gif
)ffmpeg -re -i /recalbox/share/system/blank.gif -c:v rawvideo -pix_fmt rgb565le -f fbdev /dev/fb1
Ce fut plus simple que prévu. Il n'y a plus qu'a...
à suivre -
Après un peu de bricolage, voici ce que ça donne en image (désolé pour la qualité de la vidéo, je suis pas très fortiche...)
https://youtu.be/N_8o-SnqtP4Il faut que je fasse un peu de propre puis je vais essayer de faire un script d'installation simple pour partager ça.
-
Super ! Ça renforce grandement l'intérêt de ce boitier, qui est déjà le seul à ressembler à quelque chose sur XU4
-
tout simplement manifique vivement que tu puisse creer un script pour pouvoir installer sur mon odroid , en esperant que se sera facile a installer et qu il y aura tout les videos des systemes bien sur
-
@littlebalup said in ogst odroid n64 case:
/usr/local/share/ogst-logo-odroid/ROMS/
bon ben il faut faire l'install full d'ogst pour avoir les videos ;). Pour ceux qui veulent faire des tests directement sur RB, il faut dl https://oph.mdrjr.net/meveric/pool/main/o/ogst-logo-odroid/ogst-logo-odroid_20180208-1_all.deb et en extraire le rep ogst-logo-odroid qui contient toutes les vidéos des systèmes.
sinon c'est bien top, on suit de prêt pour l'intégration dans RB
-
c est bon j ai extrait les logo je dois les copier ou maintenant ???
-
@ViRuS-MaN ou tu veux c'est juste pour faire des tests.. pour l'instant le support n'est pas effectif, il faut faire à la mano avec les lignes de commande de @littlebalup
mais tu peux utiliser le rep/recalbox/share/system/
pour le gif d'intro et les reps de roms en créeant un rep video dans chaque systeme et y mettre la video logo.mp4ffmpeg -re -i /recalbox/share/roms/n64/video/logo.mp4 -c:v rawvideo -pix_fmt rgb565le -f fbdev /dev/fb1
je ne pense pas que les vidéos de
/recalbox/system/resources/splash
soient utilisables, il faut que je mes mette dans la résolution native de l'écran -
les ligne de commande il faut les mettre ou exactement car franchement je suis pas bon du tout sous linux et la je suis un peux perdu faudrais savoir quel fichier je dois editer et ou mettre la ligne pour jouer le logo
-
@ViRuS-MaN tu peux déjà faire un test en ligne de commande via ssh ensuite tu peux tenter d'éditer le fichier /etc/init.d/S02splash pour y placer les commandes de @littlebalup
-
bon j ai tester mais ca fonctionne pas j ai tester avec winscp et commande ssh ou putty mais pas moyen quand je lance sous winscp ca m ouvre une fenetre avec un long message d erreur
-
voila le message que j ai sous putty
ffmpeg -re -i /recalbox/share/roms/n64/video/logo.mp4 -c:v rawvideo -pix_fmt rgb565le -f fbdev /dev/fb1
ffmpeg version 3.2 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.4 (Buildroot 2016.11-00025-g5f691d1-dirty)
configuration: --enable-cross-compile --cross-prefix=/share/host/usr/bin/arm-buildroot-linux-gnueabihf- --sysroot=/share/host/usr/arm-buildroot-linux-gnueabihf/sysroot --host-cc='/share/host/usr/bin/ccache /usr/bin/gcc' --arch=arm --target-os=linux --disable-stripping --pkg-config=/share/host/usr/bin/pkg-config --enable-static --enable-shared --prefix=/usr --enable-avfilter --disable-version3 --enable-logging --enable-optimizations --disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat --disable-x11grab --enable-network --disable-gray --enable-swscale-alpha --disable-small --enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd --disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables --disable-memalign-hack --disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels --disable-avisynth --disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libcdio --disable-libdc1394 --disable-libgsm --disable-libilbc --disable-libnut --disable-libopenjpeg --disable-libschroedinger --disable-libvo-amrwbenc --disable-symver --disable-doc --enable-gpl --disable-nonfree --enable-ffmpeg --enable-ffplay --disable-ffserver --disable-avresample --disable-ffprobe --enable-postproc --enable-swscale --enable-indevs --enable-outdevs --enable-pthreads --enable-zlib --enable-bzlib --disable-libfdk-aac --disable-gnutls --disable-openssl --disable-libopenh264 --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis --enable-vaapi --disable-vdpau --disable-libopencv --enable-libopus --disable-libvpx --enable-libass --disable-libbluray --enable-librtmp --enable-libmp3lame --enable-libmodplug --disable-libspeex --enable-libtheora --disable-libwavpack --enable-libfreetype --enable-fontconfig --enable-libx264 --disable-libx265 --disable-yasm --disable-mmx --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-avx2 --enable-armv6 --enable-vfp --enable-neon --disable-altivec --enable-pic --cpu=cortex-a15
libavutil 55. 34.100 / 55. 34.100
libavcodec 57. 64.100 / 57. 64.100
libavformat 57. 56.100 / 57. 56.100
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/recalbox/share/roms/n64/video/logo.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:01:48.20, start: 0.000000, bitrate: 87 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 320x240, 85 kb/s, 20 fps, 20 tbr, 10240 tbn, 40 tbc (default)
Metadata:
handler_name : VideoHandler
[swscaler @ 0x74130] No accelerated colorspace conversion found from yuv420p to rgb565le.
[fbdev @ 0x5aa30] Could not open framebuffer device '/dev/fb1': No such file or directory
Could not write header for output file #0 (incorrect codec parameters ?): No such file or directoryStream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
Last message repeated 1 times -
@virus-man
L'initialisation de l'écran doit être faite à chaque démarrage/redémarrage de RC pour que l'écran soit reconnu par le système ( /dev/fb1 ).Ensuite tu peux lancer la commande ffmeg.
voir mon 2ème poste ci-dessus : https://forum.recalbox.com/post/116833
-
@virus-man said in ogst odroid n64 case:
[fbdev @ 0x5aa30] Could not open framebuffer device '/dev/fb1': No such file or directory
voila l'erreur, l’écran n'est pas configuré!
-
c est quoi la commande pour initialiser l ecran ???
tu aurais pas un fichier deja modifier que je pourrais mettre sur mon odroid pour qu a chaque fois j ai la possibilite de voir les animation sur l ecran tout en sachant que je n ai pas le logo recalbox que tu a fait et que j ai mis les animation dans le dossier roms /video comme dit mais que je n ai pas toutes les animation de tous les systemes car elle n etait pas tous dans l archive -
@virus-man
Les commandes d'initialisation sont sont dans l'ordre:[ `/sbin/lsmod | grep -c spi_s3c64xx` -ge 1 ] && rmmod spi_s3c64xx
modprobe spi_s3c64xx force32b=1
modprobe fbtft_device name=hktft9340 busnum=1 rotate=270
Sinon attends un peu. Je devrais pouvoir terminer le script d'installation ce soir.
-
ok je vais attendre un peu , sinon je voudrais savoir si tu va fournir ton logo recalbox avec et si tu a toutes les animation de tous les systeme emuler car moi dans l archive m en manque quelques une et je trouve pas sur le net
-
Le script d'installation est prêt. Voici comment procéder:
Avant toute chose, pensez a faire une sauvegarde de vos données.
Je l'ai testé dans tout les sens, sur la version stable et la version beta christmass. Mais juste au cas où...Note : J'ai tout fait pour que ce soit ultra simple (une seule ligne de commande est c'est fait). Cependant il est nécessaire d'être connecté à internet pour que les téléchargements se fassent. Plus bas je donne les liens de téléchargement de l'archive et du script d'installation pour les curieux qui veulent bidouiller.
L'installation va, entre autre, créer un fichier script
/recalbox/share/system/custom.sh
. Avant de commencer, assurez vous qu'il n'existe pas déjà (en principe non si vous ne l'avez pas créé vous même). Sinon il sera écrasé.-
ouvrer une session root via ssh : https://github.com/recalbox/recalbox-os/wiki/accès-root-sur-Terminal--(FR)
-
copiez dans le terminal et lancez la ligne de commandes suivante:
wget https://www.dropbox.com/s/jp85fh6j4lkoz8m/install.sh && chmod +x install.sh && ./install.sh
-
c'est tout
Alors maintenant, comment ça fonctionne? Quelques explications sans rentrer dans le dur :
- Au démarrage de la recalbox, le script de démarrage
/etc/init.d/S99custom
lance le script/recalbox/share/system/custom.sh
si il existe (C'est un script de démarrage natif inutilisé par défaut. Je me suis pas embêté à créer un autre script de démarrage...) qui lui va initialiser l'écran et charger l'image par défaut. - Quand on charge un jeu ou une appli, le lanceur (
emulatorlauncher.py
pour les intimes. Préalablement modifié par mon script d'install) va lui aussi lancercustom.sh
en passant comme paramètre le nom du système démarré pour que celui-ci affiche l'image/animation correspondante. - Le script
custom.sh
continu de tourner en fond pour surveiller si l'appli lancé tourne toujours (en fait il surveille le process python / emulatorlauncher). - Quand l'appli est quittée le script ré-affiche l'image par défaut.
Donc vous l’aurez compris, tout se passe dans
/recalbox/share/system/custom.sh
.Customisation:
- Toutes les images et animations sont stockés dans le répertoire
/recalbox/share/system/tft_logos
. - Par défaut vous retrouverez tout ce qu'il y a dans le package original d'OGST plus le logo par défaut et un logo Doom et Kodi que j'ai rajouté.
- Vous pouvez en rajouter, modifier, compléter, enlever... comme il vous chante mais il vous faudra éditer le fichier
/recalbox/share/system/custom.sh
en conséquence pour rajouter ou modifier les chemins vers les fichiers (veillez à conserver la structure de la fonction case). - Si tout par en sucette suite à une mauvaise manip, faite une sauvegarde de votre dossier
/recalbox/share/system/tft_logos
si vous avez modifié ou rajouté de éléments, puis relancer l'installation avec la commande ci-dessus. - Toutes les images et vidéos doivent être en 320 x 240 pixels. J'ai testé les mp4, jpg, png, gif. D'autres formats doivent fonctionner. Je vous laisse tester (tout ce que supporte ffmpeg doit passer en principe).
Et pour finir, voici les "sources" pour ceux qui veulent bidouiller: https://www.dropbox.com/sh/6ef219vlp2615rh/AADXF3mHeaJgEP12nFBNWqf_a?dl=0
Amusez-vous bien
P.S.: pour l'écran qui clignote au démarrage, c'est ici que ça se passe : https://forum.recalbox.com/post/117325
-