RaphAstronome

vendredi, 22 septembre 2017

Corriger un problème de son haché avec Mumble et PulseAudio

J'ai eu un soucis avec PulseAudio : en usage général tout semble fonctionner mais dès que l'on lance Mumble c'est le drame : le son devient totalement haché à un point où il est carrément incompréhensible. Cela hache le son de Mumble mais aussi des autres programmes (jeux, musique ...). Le fait de fermer Mumble corrige le problème après quelques secondes d'attente mais revient lorsque l'on le relance.

À cause de ce bug je suis resté longtemps sur ALSA, l'ancien système de son, mais depuis la fin de son support par Firefox il me fallait remettre PulseAudio. Je n'arrivais pas à trouver l'origine du problème et pensais au début qu'il y avait un soucis au niveau de l'interface entre Mumble et PulseAudio ou alors un problème avec la gestion de l'écho. Le bug n'était pas systématique donc les rares fois où j'utilisais Mumble j'arrêtais et relançais Mumble jusqu'à ce que cela fonctionne normalement. Pas pratique !

Mumble.png

Au final en cherchant totalement autre chose je suis tombé sur un sujet de forum où quelqu'un avait ce genre de soucis avec un programme Windows qu'il faisait tourner sous Linux avec Wine. Il était question de la variable d'environnement PULSE_LATENCY_MSEC . Je ne sais pas trop pourquoi mais avec la carte son de ma carte mère la mémoire tampon alloué par PulseAudio est trop petite dans certains cas. J'ignore totalement pourquoi cela le fait spécifiquement avec Mumble, peut être qu'il passe en mode de faible latence. J'avoue ne pas avoir démonté Mumble pour voir ce qu'il fait d'autant plus que je ne connais que très peu les API lié au son.

Toujours est t'il qu'une valeur de PULSE_LATENCY_MSEC à 30 règle le soucis pour moi. Si vous avez le même problème mettez un son en arrière plan (voir le dernier paragraphe si le son ce coupe) et lancez Mumble avec la commande suivante :

PULSE_LATENCY_MSEC=30 mumble

Répétez la commande plusieurs fois pour vérifier. Si cela ne suffit pas essayez une valeur plus grande. Ne mettez pas une valeur énorme non plus car vous auriez alors une latence gênante sur le son.

Si vous êtes satisfait de cette valeur vous pouvez la fixer dans la configuration du système dans le /etc/environment (à modifier en root), ajoutez :

# Correctif PulseAudio-Mumble
PULSE_LATENCY_MSEC=30

Vous pouvez aussi faire l'ajout dans le fichier ~/.bashrc pour ne configurer que votre compte personnel. Dans les deux cas le paramètre ne sera pris en compte qu'après avoir fermé et rouvert votre session.

Dernière chose : si lancer Mumble éteint la musique c'est normal puisque Mumble est considéré comme étant une application téléphonique ce qui coupe la musique de fond automatiquement. Si cela pose soucis cela ce configure dans /etc/pulse/default.pa où j'ai retiré la ligne "load-module module-role-cork" (mettez plutôt un "#" devant pour désactiver la ligne). PulseAudio doit être relancé pour que cela soit pris en charge.

mercredi, 21 septembre 2016

Ubuntu Touch OTA-13 : écran noir au premier reboot

Aujourd'hui mise à jour des téléphones portable Ubuntu Touch. Bien entendu je fais la mise à jour, jusque là tout ce passe bien.

En téléphone redémarre, c'est un bq Aquarius E4.5 donc lorsqu'il redémarre il affiche son logo ... longtemps ... puis écran noir ... longtemps ... très longtemps ... cela commence à être inquiétant ...

Bon, je vais voir un peu ce que cela dit sur le web car normalement c'est plutôt rapide. Visiblement au premier boot il y a un bug qui fait qu'il est extrêmement long, cela parle de 15 min environ, il faut le laisser tourner et il devrait démarrer.

Connexion via SSH

Ayant préalablement activé SSH sur le téléphone je regarde si il répond à SSH : c'est le cas !

Je regarde un peu ce qu'il ce passe et effectivement rien de très spécial, le téléphone semble attendre un événement quelconque pour lancer l'interface graphique et il faut attendre le timeout.

La commande "w" ne donne personne d'autre connecté que moi via ssh, normalement l'interface graphique devrait apparaître si elle avait démarrée. Le réseau WiFi n'est que peu utilisé et il n'y a pas de connexion réseau mobile (logique, je n'ai pas entré le code SIM).

Finalement lorsque je branche le chargeur l'interface graphique apparaît. C'est peut être un hasard mais visiblement le fait de le recharger relance l'interface. "upstart --user" apparaît dans "w" :

phablet@ubuntu-phablet:~$ w
 20:15:40 up 37 min,  2 users,  load average: 0,00, 0,01, 0,05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
phablet  pts/7    raph2015.home.ga 19:50    4.00s  0.13s  0.04s w
phablet                            19:54   21:13   6:58  16.81s upstart --user

Retour à la normale

Bon, je commence à tester le téléphone, il a l'air OK, les mises à jour sont assez intéressantes, l'interface est maintenant plus rapide à lancer les applis et pas mal de petites améliorations. À noter qu'il affiche une indication "carte SIM absente" en plus de l'indication de qualité de réseau mobile, cela doit être dû à ce que je n'ai qu'une carte SIM sur un téléphone qui propose d'en mettre deux, les appels fonctionnent en tout cas.

Je le redémarres avec et sans chargeur ... aucun problème constaté du moins lors de mes premiers essais, on verra à l'usage.

À lire aussi :

dimanche, 15 mai 2016

Ubuntu Touch : exporter les contacts dans un .vcf

Pour exporter les contacts du téléphone l'application classique ne semble pas proposer de fonction d'exportation. Il existe la synchronisation des contacts mais ce n'est pas une vraie solution.

Pour exporter vers un fichier .vcf dans le dossier Documents vous pouvez utiliser la commande suivante :

syncevolution --export /home/phablet/Documents/contacts.vcf backend=evolution-contacts

Les arguments :

  • --export : fichier vers lequel exporter, par précaution j'ai mis le chemin complet mais ce n'est pas obligatoire. Vous pouvez utiliser "-" pour l'envoyer sur la sortie standard.
  • backend=evolution-contacts : le backend indiquant comment accéder au données

Le man n'est pas présent sur le téléphone, vous pouvez le consulter sur le site de SyncEvolution

Contrairement à ce que l'on peut lire parfois je n'ai pas eu besoin de passer root.

Si, comme moi, vous le faite via une connexion SSH, sachez que la commande ne répondra pas (ou peut être très lentement) lorsque l'écran est éteint. Cela doit probablement être dû à un système d'économie d'énergie. Le fait d'appuyer sur le bouton pour allumer l'écran règle le problème. Quelque chose de semblable arrive avec la commande "top" lancée en SSH : le top s'ouvre mais ne se rafraîchit pas comme elle devrait le faire, écran allumé par contre tout est normal.

Une fois exporté récupérez le fichier par tout moyen à votre convenance (SSH ou autre). Une fois que c'est fait je vous conseille de supprimer le fichier .vcf car une application pourrait tout à fait le lire depuis ce dossier.

À lire sur le sujet :

samedi, 2 juillet 2011

Changer son mot de passe MySQL lorsque l'on est pas admin

Il suffit de ce logger sur le serveur (par exemple avec "mysql -p" dans une invite de commande) et d'utiliser la commande suivante :

SET PASSWORD = PASSWORD('votre nouveau pass ici !');

Attention la commande "mysql" garde un historique des commandes passées et notamment votre nouveau mot de passe. Modifier le fichier .mysql_history de façon à ce qu'il n'apparaisse pas.

dimanche, 19 juin 2011

Configurer une tablette graphique en environnement dual-screen

Lorsque l'on utilise une tablette tactile avec une configuration à deux écrans cette dernière mappe sur la zone recouvrant les deux écrans ce qui est embêtant car les dessins ce retrouvent alors très fortement déformés.

Le but est ici de limiter les mouvement du curseur à la zone correspondant au premier écran. On suppose que les écrans sont organisés horizontalement.

Le tutoriel est valable pour Linux Ubuntu et Debian et concerne les tablettes Wacom. Il devrait être compatible avec d'autres systèmes Linux ayant la commande xsetwacom.

Lire la suite...

- page 1 de 6