まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - Logiciel libre

Fil des billets - Fil des commentaires

lundi, 11 janvier 2021

Un Raspberry Pi 3 en MediaCenter #Kodi

On va ici reparler de l'installation manuelle de Kodi sur RaspberryPi, étant donné les quelques difficultés qui se sont présentées, alors que je souhaitais installer un Add-on sur ma précédente installation datant de 2016.

Depuis 2016 oui !
Entre temps j'avais juste — sans modification logicielle — échangé le Pi2 par un Pi3, pour un petit gain de performances appréciable.

  • Sans soucis majeur donc, sauf à avoir des Add-on parfois défaillants, comme l'Add-on youtube (sans pub !) qui demande maintenant (mais à priori les dév travaillent à y remédier) à ce que soit renseigné une identité d'API développer pour faire fonctionner l'Add-on.
  • Autre problème cet été… La chaleur. Comme chacun·e sait, le Pi3 vient sans dissipateur thermique, et il ne chauffe pas trop en temps normal, autour de 40° suivant la température ambiante. Jusqu'ici tout va bien comme dirait l'autre, mais arrivé en Août, pourquoi diable ma télécommande InfraRouge se met elle à déconner grave !?? J'appuie une fois sur le bouton et zouuu la commande est prise façon mitraillette par le Pi… J'ai rapidement remarqué qu'au démarrage du médiacenter, la télécommande fonctionnait bien, et ce n'est qu'au bout de quelques courtes minutes que le problème apparaissait, et vu les fortes chaleurs, j'ai fais le lien… Et « anéfé» le Pi tournait autour de 50° !
  • J'ai donc entrepris de changer mon boîtier (cf. Précédent billet) et d'en imprimer un nouveau (téléchargeable ici ou en annexe de ce billet), tenant compte du dissipateur thermique de récup découpé en gros rectangle et de ventilateurs ajoutés.

Voilà, avec ça c'est autour de 30°C et la télécommande n'a plus bronché !

  • Le système tournait donc, après mise à jour, avec Kodi 17.3, sur Raspbian GNU/Linux 8 (jessie), et un Kernel Linux 4.9.

Mais le nouvel Add-on ma dit : « trop vieux mec ! »… Mm'ok, je pourrais mettre à jour l'OS… Mais sur un Pi, avec une carte SD, c'est non, alors je réinstalle !

Le nouvel OS pour RaspberryPi à changé, c'est maintenant Raspberry Pi OS qui remplace Raspbian… cherchez pas c'est juste le nom qui change…
Allons-zy !

Lire la suite...

jeudi, 16 avril 2020

Créer une vidéo à partir d'une sauvegarde de partie MAME

Comme je le racontais il y a 6 ans, il est possible d'enregistrer des parties de jeux sur MAME, de rejouer la partie et si besoin d'enregistrer une vidéo de celle-ci.

J'en avais profité pour publier une page dédiée.
Comme je trouvais les manipulations en ligne de commande fastidieuses, j'avais écris un script bash pour faciliter l'opération, mais ça restait de l'austère ligne de commande.

  • Un peu moins austère, j'ambitionnais de créer une interface graphique pour faire cela, et c'est donc aujourd'hui que je publie enfin un script python3 qui permet donc en quelques clicks de rejouer une partie et d'en générer une vidéo au format mp4/h264, le tout de manière automatisée.

Le code de ce logiciel est disponible ici, mais il vous manquera l'exécutable MAME que j'ai compilé.

  • J'ai donc réunis tout le nécessaire dans le fichier zip en annexe de ce billet.[1]

Une fois extrait, il suffit d'exécuter install.sh afin d'installer les paquets pré-requis.
Ensuite exécuter Lanceur_Mame-inp2video4GnuLinux.sh qui a pour tâche de démarrer le logiciel que j'ai nommé pompeusement Mame-inp2video4GnuLinux.

  • Voici une capture d'écran…


C'est un peu moins austère que je disais…

  • À toute fin utiles, et comme il faudra bien ça pour alimenter le logiciel, voici la commande qui permettra d'enregistrer la partie de jeu, valable pour Windows® ou GNU/Linux :
mame nom_de_la_rom -record ma_partie.inp

Attention, il faut juste se contenter de jouer et de quitter l'émulateur en fin de partie, le fichier inp étant dés lors disponible, généralement dans le dossier inp.
En effet il semble qu'utiliser les menu mame ou les raccourcis clavier (par ex pour faire un save_state) soit incompatible avec un enregistrement correct de la partie de jeu dans le fichier inp.

  • Enfin, puisqu'il faut évidemment le préciser, le Logiciel Mame-inp2video4GnuLinux fonctionnera, depuis n'importe quel ordinateur équipé de GNU/Linux de la famille Debian (Ubuntu18.04 testé ok).

Il n'est pas nécessaire d'avoir MAME installé sur cette machine.
Vous aurez besoin cependant du fichier ROM et bien entendu du fichier INP correspondant.
Laissez vous ensuite guidé par l'interface graphique…

  • Je suis débutant dans l'exercice, suis ouvert à l'apprentissage, et ne recevrais donc aucune critique non-constructive. Vous pouvez bien entendu me faire part des problèmes d'exécutions qui pourraient advenir.

Note

[1] Ci-dessous…

dimanche, 5 avril 2020

Seafile, comment vider la corbeille ?

Si comme moi vous vous êtes trouvé désemparé devant la corbeille à fichier de Seafile, qui malgré vidage et suppression, ne libérait toujours pas son espace disque, Et bien c'est… Normal.

  • En effet, j'ai fini par apprendre qu'il fallait exécuter le garbage collector, alias Seafile GC (seaf-gc.sh) pour supprimer réellement les fichiers après avoir vidé la corbeille.

J'avais pourtant recherché après ce genre de fonction, mais sans jamais trouver ni de bouton cliquable dans l'interface web, ni d'info dans la documentation…
Et pourtant l'info existe bien, mais faut croire qu'elle n'est pas suffisamment mise en avant, l'obscure intitulé Seafile GC n’encourageant pas à faire cliquer le visiteur occasionnel…

  • Bref, comme je n'avais aussi rien trouvé de clair via les moteurs de rechercher web, voici un petit script pour Yunohost (les chemins et commandes service étant sinon différentes), à lancer manuellement ou à faire exécuter périodiquement par cron.
#!/bin/bash

echo "Poids total des fichiers contenu dans Seafile"
du -sh /home/yunohost.app/seafile-data/

echo "Arrêt du service"
#/opt/yunohost/seafile/seafile-server-7.0.5/seafile.sh stop
yunohost service stop seafile

#echo "État de la corbeille"
#/opt/yunohost/seafile/seafile-server-7.0.5/seaf-gc.sh –dry-run

echo "Vidage de la corbeille"
/opt/yunohost/seafile/seafile-server-7.0.5/seaf-gc.sh

echo "Poids total des fichiers contenu dans Seafile, après vidage corbeille"
du -sh /home/yunohost.app/seafile-data/

echo "Relance du service"
yunohost service start seafile

Merci @jcvassort pour l'info !

dimanche, 1 mars 2020

Mame en vrai 15 kHz, le retour !

Près de 7 ans plus tard, est-il toujours possible de modifier Linux afin qu'on puisse brancher un écran cathodique, comme une TV ou un écran d'arcade, autrement appelé moniteur 15 kHz, sur un ordinateur muni d'une carte graphique ATI ?
La démarche décrite dans mon billet de l'époque pour patcher 15 kHz, puis compiler un noyaux Linux est-elle toujours valable ?

  • C'est ce que j'ai eu besoin de valider afin de pouvoir mettre à jour l'OS de ma borne et utiliser les dernières versions de mame.

Le temps passe à une vitesse folle. À peine a-t'on un système jouable en place qu'il est déjà sur la sellette du remplacement, et fatigué par ce manège, j'avais fini par laisser courir… Après tout, ma borne fonctionne, pas besoin d'y toucher !
Jusqu'au moment où l'on voudrait bien pouvoir profiter des dernières innovations de mame.
Problème, l'OS (debian8) est trop vieux pour supporter SDL2 requis maintenant par mame, et une fois debian10 réinstallé, impossible de faire fonctionner le noyaux Linux 3.2 patché 15 kHz compilé à l'époque.
Malheureusement une recherche rapide sur les forums d'alors me fit comprendre que les patches Linux n'étaient plus publié et disponible pour les versions récentes…
Occupé ailleurs j'avais un peu mis ça de côté, et puis un jour, au détour de la consultation des statistiques du blog, j'ai découvert qu'on « linkait » gentiment mon billet sur github.
Le dénommé Doozer proposait donc des patches pour le noyaux v5, et dés la première lecture du document, je compris que pas mal de choses avaient changé, dans la façon de faire fonctionner ce noyau patché, et plus tard dans la manière de le compiler.
Avant de continuer à raconter ma vie, on va déjà faire ça !

Compilation de Linux patché @15kHz :

Voici donc la nouvelle routine de compilation au goût du jour !

  • 1 — Prérequis :

Installer debian 10 Buster, puis les paquets nécessaires à la compilation :

apt update
apt upgrade
apt install build-essential bc kmod cpio flex libncurses5-dev dpkg-dev debconf-utils debhelper fakeroot zlib1g-dev rsync


  • 2 — Préparatifs :

Récupérer les sources et les extraire dans un dossier de travail : /home/user/kernel5.5

mkdir /home/user/kernel5.5
cd /home/user/kernel5.5
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.tar.gz
tar xvf linux-5.5.tar.gz

Se rendre dans le dossier crée :

cd linux-5.0.1

Configurer le kernel :

make olddefconfig

Cette commande va chercher la configuration du kernel actuel (booté) et met toutes les nouvelles options en « par défaut ».
Il faut donc s'assurer que le debian actuel est démarré sur un noyaux 5.4 au moins.

Éditer le fichier .config, afin de vérifier que cette ligne ne contient rien entre les guillemets (sinon la compilation plantera dés les premières minutes) :

CONFIG_SYSTEM_TRUSTED_KEYS = ""

Exécuter ce script permet de ne pas compiler un noyau de debug, et donc de gagner du temps :

./scripts/config -d CONFIG_DEBUG_INFO


Lire la suite...

- page 1 de 15