Bonjour,
J’utilise virt-manager pour faire tourner des machines virtuelles dans une Leap 15.6
Ces machines sont :
- une en windows 11
- une en windows XP
- une en windows 7
- une en android-x86-9.0-r2
Une fois Leap 15.6 installé sur le PC, j’ai installé KVM et virt-manager.
Toutes les machines virtuelles fonctionnent et leur audio sort vers la Leap 15.6.
La commande pavucontrol permet de visualiser l’audio qui « sort » de virt-manager.
Virt-manager est vu comme un logiciel envoyant du son, tout comme VLC.
Tout allait bien jusqu’au jour où virt-manger n’a plus envoyé aucune audio.
Plus rien dans pavucontrol
J’ai essayé de changer les périphériques déclarés sur les machine virtuelles, en passant de HDA (ICH6) à HDA (ICH9), ou même AC97 (qui n’a pas de pilotes sous win 11) : rien à faire.
Je suppose que ça s’est arrếté à l’occasion d’une mise à jour des paquetages. Mais je suis incapable d’identifier les changements responsables.
J’avais fait fonctionner les machines virtuelles sous Leap 15.4, Leap 15.5 pendant des années. Tout marchait bien.
Quelqu’un aurait une idée de tests à réaliser pour voir ce qui bloque l’audio ?
Merci d'avance.
Wallace
Configuration :
openSUSE Leap 15.6
virt-manager 4.1.0
Virtualisation avec hyperviseur KVM installé depuis Yast
qemu 8.2.9
@wallace J'utilise qemu-kvm, depuis pas mal de temps.
J'ai viré virtualbox, trop de soucis..
Dans virt-manager il faut que tu choisisses, ta carte son :
- pipewire
ou
- pulseaudio
Si tu as besoin d'info, n'hésites pas ..
En passant j'ai galéré pour installé "windows 10 sur kvm.. j'ai mon ancienne clé d'activation, ça passe à l'install.. mais après pour les mise à jour , il ne l'a reconnais plus.... si tu peux m'orienter... sinon tu fais comment pour installer windows sur qemu-kvm via virt-manager ou en terminal ?
Après on peut bidouiller dans la base de registre, mais bon mon pc je l'ai acheté avec windows à l'époque autant se servir de la clé d'origine
Bonjour,
Merci pour les infos.
Pour installer win10, j'utilise virt-mamager, comme pour les autres systèmes. Je n'ai pas eu de PB de clé. Désolé de ne pas pouvoir t'aider.
Pour la première question, je ne savais pas qu'on pouvait choisir la carte son de virt-mamager. Comment fait-on ?
Je sais seulement sélectionner l'une des 3 cartes son pour les machines virtuelles.
A+
Wallace
@Yoman Je ne sais pas comment choisir la carte audio dans virt-manager :
- pipewire
ou
- pulseaudio
C'est dans un fichier de configuration ?
A+
Wallace
Bonjour,
Une petite avancée.
Pour essayer de comprendre ce qui se passe, j'ai lancé virt-manager en console:
/usr/bin/virt-manager --debug
J'ai eu tout un tas de messages, et surtout un message d'erreur répété de nombreuses fois au moment où la machine virtuelle produit du son :
(virt-manager:22705): GStreamer-App-CRITICAL **: 17:42:39.902: gst_app_src_push_internal: assertion 'GST_IS_APP_SRC (appsrc)' failed
En entrant ce message dans un moteur de recherche, je trouve le site :
https://github.com/NixOS/nixpkgs/issues/284447
Et dont le contenu est :
virt-viewer: No Audio due to Missing GStreamer Plugins #284447
Describe the bug:
virt-viewer lacks sound support due to being built without GStreamer plugins. This prevents audio playback from virtual machines on the host system.
C'est bien ce qui se produit. J'incrimine donc la relation virt-manger <> GStreamer
Malheureusement, je ne sais pas interpréter la suite.
Quelqu'un d'expérimenté saurait décoder tout ça ?
Pour info, sur ma distribution :
virt-manager --version 4.1.0-150600.12.6.2
gstreamer version 1.24.12-lp156.238.3
A+
wallace
@wallace Que te donne la commande :
inxi -A
Si tu vois "pipewire", c'est maintenant intégré directement dans virt-manager.. il n'y a plus a choisir.
@Yoman inxi -A donne :
Audio:
Device-1: Conexant Systems CX23887/8 PCIe Broadcast Audio and Video Decoder
with 3D Comb driver: cx23885
Device-2: NVIDIA driver: snd_hda_intel
Device-3: AMD Starship/Matisse HD Audio driver: snd_hda_intel
API: ALSA v: k6.4.0-150600.23.50-default status: kernel-api
Server-1: PulseAudio v: 17.0 status: active
Pas de pipewire à l'horizon.
J'ai regardé dans Yast : j'ai bien le paquetage pipewire 1.0.5+git36.60deeb2-150600.3.3.5
@pépé On va vérifier quel service de son est actif avec la commande suivante :
systemctl --user list-units | grep -E "(pulse|pipe)"
C'est pour vérifier si les paquets adéquats sont installés et n'ont pas été supprimé par ta MAJ
J'obtiens :
var-lib-nfs-rpc_pipefs.mount
loaded active mounted /var/lib/nfs/rpc_pipefs
pipewire.service
loaded active running PipeWire Multimedia Service
pulseaudio.service
loaded active running Sound Service
pipewire.socket
loaded active running PipeWire Multimedia System Sockets
pulseaudio.socket
loaded active running Sound System
@Yoman J'ai progressé en ajoutant quelques paquetages de pipewire, comme pipewire-pulseaudio
Voici les nouveaux résultats des commandes :
pulseaudio --check donne :
var-lib-nfs-rpc_pipefs.mount loaded active mounted /var/lib/nfs/rpc_pipefs
pipewire-pulse.service loaded active running PipeWire PulseAudio
pipewire.service loaded active running PipeWire Multimedia Service
pipewire-pulse.socket loaded active running PipeWire PulseAudio
pipewire.socket loaded active running PipeWire Multimedia System Sockets
inxi -A donne :
Audio:
Device-1: Conexant Systems CX23887/8 PCIe Broadcast Audio and Video Decoder
with 3D Comb driver: cx23885
Device-2: NVIDIA driver: snd_hda_intel
Device-3: AMD Starship/Matisse HD Audio driver: snd_hda_intel
API: ALSA v: k6.4.0-150600.23.50-default status: kernel-api
Server-1: PipeWire v: 1.4.3 status: active
On voit apparaître PipeWire en serveur. On progresse !
Et
pactl info donne :
Version du protocole de bibliothèque : 35
Version du protocole du serveur : 35
Local : oui
Index client : 98
Tile Size : 65472
Nom d’hôte : localhost
Nom du serveur : PulseAudio (on PipeWire 1.4.3)
Version du serveur : 15.0.0
Spécification d’échantillon par défaut : float32le 2ch 48000Hz
Plan de canaux par défaut : front-left,front-right
Destination par défaut : alsa_output.pci-0000_0d_00.4.iec958-stereo
Source par défaut : alsa_input.pci-0000_07_00.0.stereo-fallback
Malgré tout, ça ne marche toujours pas. Avec /usr/bin/virt-manager --debug je vois toujours :
(virt-manager:5923): GStreamer-App-CRITICAL **: 21:39:50.101: gst_app_src_push_internal: assertion 'GST_IS_APP_SRC (appsrc)' failed
@Yoman Je n'ai pas progressé depuis le 28 mai.
Des suggestions ?
Bonjour,
J'ai passé virt-manager en version 5.0.0 et qemu en version 10.0.2 : toujours le même résultat.
Quelqu'un aurait une idée ?
Wallace
@wallace , Bonjour
Pas souvent présent sur le forum... je me bat sur mon projet de blog "safetitexperts.com" (beaucoup de taff)
Mise à part de dire que c'est étrange, je pense que ton soucis ne vient pas de qemu-kvm , virt-manager.
Je l'utilise au quotidien... sans soucis... et pourtant j'ai une config assez paranoïaque.
Si ça te gêne pas donne moi pas à pas ta procédure de configuration de virt-manager pour une iso lambda...
(surtout n'oublie rien, même les choix les plus anecdotiques que tu fais)
Prends ton temps... rien ne presse....
@Yoman Merci de m'avoir répondu.
Avant de lire ton message d'aujourd'hui, j'avais voulu faire un test de distribution.
Vu que j'avais fait un tas d'installations de paquetages, certains avec des sources expérimentales, je me suis dit que j'avais mis la pagaille dans la Leap 15.6
J'ai donc tenté, sur une autre machine, deux install minimales de la Leap 15.6
La première, en utilisant la source openSUSE-Leap-15.6-NET-x86_64-Media.iso
J'ai installé le minimum de KDE, et la virtualisation avec KVM.
Je lance virt-manager --debug
Je crée une machine virtuelle avec un disque utilisé dans la machine où j'avais des ennuis. Un Windows 7.
Résultat : pas de son, et même message :
(virt-manager:22705): GStreamer-App-CRITICAL **: 17:42:39.902: gst_app_src_push_internal: assertion 'GST_IS_APP_SRC (appsrc)' failedLa deuxième, en utilisant la source openSUSE-Leap-15.6-DVD-x86_64-Media.iso
Et en débranchant le cable réseau, pour empêcher de charger les dernières versions de paquetages.
J'ai installé le minimum de KDE, et la virtualisation avec KVM.
Je lance virt-manager --debug
Je crée une machine virtuelle avec le disque du même Windows 7 que précédemment.
Résultat : ça marche !!!!! Pas de message d'erreur, et le son sort de la machine virtuelle.
Comment interpréter ça ?
Peut-on dire que la 15.6 "up to date" qui s'installe avec openSUSE-Leap-15.6-NET-x86_64-Media.iso amène des paquetages dont les conflits de versions ne permettent plus de faire fonctionner virt-manager correctement ?
Dois-je tenter, avec la dernière install, en rebranchant le cable, de mettre à jour paquet par paquet, afin de voir le coupable qui bloque le son ?
@wallace Bonsoir
Je t'avouerais que c'est un mystère...
Pourquoi ça fonctionne avec un média et pas avec un autre...?
Une histoire de kernel et pilote....(je ne vois que ça)
Tente voir avec une tumbleweed.. ?
J'ai continué sur mon idée du openSUSE-Leap-15.6-DVD-x86_64-Media.iso et j'ai regardé quels étaient les paquets mis à jour qui pouvaient amener à la panne.
J'ai trouvé le coupable : gstreamer. Mais c'est très très bizarre.
Solution:
Sur un système où apparaît le phénomène, la solution est de descendre la version de gstreamer-plugins-good pour l'amener à 1.24.0-150600.1.1
Sur la première machine où j'ai le défaut, elle est à 1.24.0-150600.3.3.1
Youpie ! Plus d'erreur ! Le son sort correctement !
L'histoire aurait pu s'arrêter là. Mais j'ai voulu tenter de remettre la version 1.24.0-150600.3.3.1 qui foirait. Résultat : ça marche toujours ! Le son continue à sortir !
Peut-être que l'ordre d'installation des paquetages entre eux a un effet ?
Je laisse le soin aux spécialistes et passionnés de trouver l'explication technique.
Pour ma part je vous propose cette solution de dépannage: passer provisoirement gstreamer-plugins-good en version 1.24.0-150600.1.1
Merci à Yoman. Grace à toi, j'ai découvert et installé pipewire que je ne connaissais pas du tout.
A+
Wallace
@wallace Content pour toi, je n'aurais jamais pensé à allez jusque là pour la résolution de ce problème... (chapeau)
Si tu permets je vais faire de ton bug un article sur mon blog en te citant bien entendu, et vais vérifier si il s'agit d'un bug répertorié.
Je t'avouerais que je n'ai pas approfondi le successor de pulseaudio, j'ai juste téléchargé la partie graphique de pipewire, mais c'est du chinois pour moi (pour le moment)
@Yoman OK pour le blog.
Pour pipewire, je vois que c'est une interface graphique ressemblant énormément à Jack.
Ce Jack est une surcouche de ALSA qui permet de connecter des entrées et des sorties audio. Avec des câbles virtuels. Jack a besoin d'un serveur qu'il faut paramétrer, avec même des notions de temps réel. Et j'ai pas mal galéré pour identifier la numérotation des entrées/sorties des carte son. Cette numérotation étant différente de celle d'ALSA.
Sur pipewire, pour le peu que j'ai vu, on a la notion des câbles virtuels, mais sans l'inconvénient du paramétrage d'un serveur. Bonne expérimentation !
Wallace