Enregistrer les paramètres son alsamixer

Bonsoir
Ma 12.2 xfce vient d’une installation directe depuis une clé usb + MàJ +autoremove
Je viens de lire plusieurs pages sur pipewire / bookworm et il semblerait que ce soit plus ergonomique et qualitatif que pulseaudio, d’où des questions :
_ pipewire est il compatible avec mon bureau xfce 4 ? En 2021 il n’était fait que pour gnome
_ si oui comment en faire le gestionnaire de son par défaut compte tenu des paquets installés ?

Je pose ces questions parce que ça fait longtemps que je cherche et je suis un peu découragé avec pulseaudio
Merci

Je reprends sur l’ordinateur

    joel@hP600:~$ sudo apt autoremove
[sudo] Mot de passe de joel : 
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

ensuite 
joel@hP600:~$ sudo dpkg -l |egrep "^rc"
rc  cracklib-runtime                       2.9.6-5+b1                           amd64        runtime support for password checker library cracklib2
rc  cryptsetup                             2:2.6.1-4~deb12u1                    amd64        disk encryption support - startup scripts
rc  kded5                                  5.103.0-1                            amd64        Extensible daemon for providing session services
rc  keyutils                               1.6.3-2                              amd64        Linux Key Management Utilities
rc  kio                                    5.103.0-1                            amd64        resource and network access abstraction
rc  kwayland-data                          4:5.103.0-1                          all          Qt library wrapper for Wayland libraries - data files
rc  kwayland-integration:amd64             5.27.5-2                             amd64        kwayland runtime integration plugins
rc  libkf5activities5:amd64                5.103.0-1                            amd64        Library to organize the user work in separate activities.
rc  libkf5archive5:amd64                   5.103.0-1                            amd64        Qt 5 addon providing access to numerous types of archives
rc  libkf5attica5:amd64                    5.103.0-1                            amd64        Qt library that implements the Open Collaboration Services API
rc  libkf5auth-data                        5.103.0-1                            all          Abstraction to system policy and authentication features
rc  libkf5codecs-data                      5.103.0-1                            all          collection of methods to manipulate strings
rc  libkf5configwidgets-data               5.103.0-1                            all          Extra widgets for easier configuration support.
rc  libkf5coreaddons-data                  5.103.0-1                            all          KDE Frameworks 5 addons to QtCore - data files
rc  libkf5crash5:amd64                     5.103.0-1                            amd64        Support for application crash analysis and bug report from apps
rc  libkf5dbusaddons-data                  5.103.0-1                            all          class library for qtdbus
rc  libkf5globalaccel5:amd64               5.103.0-1                            amd64        Configurable global shortcut support.
rc  libkf5iconthemes-data                  5.103.0-1                            all          Support for icon themes.
rc  libkf5itemmodels5:amd64                5.103.0-1                            amd64        additional item/view models for Qt Itemview
rc  libkf5jobwidgets-data                  5.103.0-1                            all          Widgets for tracking KJob instances
rc  libkf5kiocore5:amd64                   5.103.0-1                            amd64        resource and network access abstraction (KIO core library)
rc  libkf5notifications-data               5.103.0-1                            all          Framework for desktop notifications
rc  libkf5notifications5:amd64             5.103.0-1                            amd64        Framework for desktop notifications
rc  libkf5package-data                     5.103.0-1                            all          non-binary asset management framework
rc  libkf5runner5:amd64                    5.103.0-1                            amd64        Used to write plugins loaded at runtime called "Runners".
rc  libkf5service-data                     5.103.0-1                            all          Advanced plugin and service introspection
rc  libkf5solid5:amd64                     5.103.0-1                            amd64        Qt library to query and control hardware
rc  libkf5sonnet5-data                     5.103.0-1                            all          spell checking library for Qt, data files
rc  libkf5wallet-data                      5.103.0-1                            all          Secure and unified container for user passwords.
rc  libkf5windowsystem-data                5.103.0-1                            all          Convenience access to certain properties and features of the window manager
rc  libkf5xmlgui-data                      5.103.0-1                            all          User configurable main windows.
rc  libkf5xmlgui5:amd64                    5.103.0-1                            amd64        User configurable main windows.
rc  libpwquality-common                    1.4.5-1                              all          library for password quality checking and generation (data files)
rc  live-tools                             1:20190831.1                         all          Live System Extra Components
rc  systemsettings                         4:5.27.5-2                           amd64        System Settings interface
rc  usbmuxd                                1.1.1-2                              amd64        USB multiplexor daemon for iPhone and iPod Touch devices
rc  user-setup                             1.95                                 all          Set up initial user and password
joel@hP600:~$

Bonjour
J’ai testé 2 commandes

joel@hP600:~$ pactl list sinks
Destination #45
	État : SUSPENDED
	Nom : alsa_output.pci-0000_00_1f.3.analog-stereo
	Description : Audio interne Stéréo analogique
	Pilote : PipeWire
	Spécification de l’échantillon : s32le 2ch 48000Hz
	Plan des canaux : front-left,front-right
	Module du propriétaire : 4294967295
	Sourdine : non
	Volume : front-left: 26291 /  40% / -23,80 dB,   front-right: 26291 /  40% / -23,80 dB
	        balance 0,00
	Volume de base : 65536 / 100% / 0,00 dB
	Source du moniteur : alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
	Latence : 0 usec, configuré 0 usec
	Marqueurs : HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
	Propriétés :
		alsa.card = "0"
		alsa.card_name = "HDA Intel PCH"
		alsa.class = "generic"
		alsa.device = "0"
		alsa.driver_name = "snd_hda_intel"
		alsa.id = "CX20952 Analog"
		alsa.long_card_name = "HDA Intel PCH at 0x1fff010000 irq 129"
		alsa.name = "CX20952 Analog"
		alsa.resolution_bits = "16"
		alsa.subclass = "generic-mix"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		api.alsa.card.longname = "HDA Intel PCH at 0x1fff010000 irq 129"
		api.alsa.card.name = "HDA Intel PCH"
		api.alsa.path = "front:0"
		api.alsa.pcm.card = "0"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		card.profile.device = "6"
		device.api = "alsa"
		device.class = "sound"
		device.id = "42"
		device.profile.description = "Stéréo analogique"
		device.profile.name = "analog-stereo"
		device.routes = "2"
		factory.name = "api.alsa.pcm.sink"
		media.class = "Audio/Sink"
		device.description = "Audio interne"
		node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
		node.nick = "CX20952 Analog"
		node.pause-on-idle = "false"
		object.path = "alsa:pcm:0:front:0:playback"
		priority.driver = "1009"
		priority.session = "1009"
		factory.id = "18"
		clock.quantum-limit = "8192"
		client.id = "33"
		node.driver = "true"
		factory.mode = "merge"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "45"
		object.serial = "45"
		api.acp.auto-port = "false"
		api.acp.auto-profile = "false"
		api.alsa.card = "0"
		api.alsa.use-acp = "true"
		api.dbus.ReserveDevice1 = "Audio0"
		device.bus = "pci"
		device.bus_path = "pci-0000:00:1f.3"
		device.enum.api = "udev"
		device.form_factor = "internal"
		device.icon_name = "audio-card-analog-pci"
		device.name = "alsa_card.pci-0000_00_1f.3"
		device.nick = "HDA Intel PCH"
		device.plugged.usec = "5985677"
		device.product.id = "0xa2f0"
		device.product.name = "200 Series PCH HD Audio"
		device.subsystem = "sound"
		sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
		device.vendor.id = "0x8086"
		device.vendor.name = "Intel Corporation"
		device.string = "0"
	Ports :
		analog-output-speaker: Haut-parleurs (type: Haut-parleur, priority: 10000, availability group: Legacy 3, availability unknown)
		analog-output-headphones: Casque audio (type: Casque audio, priority: 9900, availability group: Legacy 4, not available)
	Port actif : analog-output-speaker
	Formats :
		pcm

joel@hP600:~$ pacmd dump
Aucun démon PulseAudio en cours d’exécution, ou ne s’exécutant pas dans une session de type démon.
joel@hP600:~$ 

en fin de 1ère commande je ne sais pas interpréter les 2 dernières indications sur les ports, je n’ai jamais fait de test avec un casque, dans alsamixer il faut que je remette Headphon en positif, Speakers est toujours ok
Bonne fin d’année

Bonjour et bonne année
Petit progrès : j’ai supprimé le paquet pulseaudio sans dommage, le paquet pulseaudio-module-bluetooth s’est trouvé supprimé en même temps, ils ne devaient pas servir puisque bluetooth fonctionne correctement.
Et j’ai trouvé la commande sudo alsactl init pour paramétrer directement alsamixer avec headphones positif:

`joel@hP600:~$ sudo alsactl init
      [sudo] Mot de passe de joel : 
      Found hardware: "HDA-Intel" "Conexant CX20952"
      "HDA:14f151d7,103c82b5,00100000 HDA:8086280b,80860101,00100000"
      "0x103c" "0x82b5"
      Hardware is initialized using a generic method
      joel@hP600:~$ `

Mais le problème persiste à chaque redémarrage, que ce soit une nouvelle session ou une sortie de veille, mon identifiant et mon mot de passe utilisateur sont demandés à chaque fois
Existerait-il un moyen de lancer automatiquement la commande alsactl init au démarrage ?
merci

J’ai trouvé cette page et j’ai testé plusieurs commandes

    joel@hP600:~$ sudo inxi -ACSxxz
System:
  Kernel: 6.1.0-13-amd64 arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
    Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 wm: xfwm dm: LightDM
    Distro: Debian GNU/Linux 12 (bookworm)
CPU:
  Info: quad core model: Intel Core i5-7500 bits: 64 type: MCP arch: Kaby Lake
    rev: 9 cache: L1: 256 KiB L2: 1024 KiB L3: 6 MiB
  Speed (MHz): avg: 800 min/max: 800/3800 cores: 1: 800 2: 800 3: 800 4: 800
    bogomips: 27199
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3
Audio:
  Device-1: Intel 200 Series PCH HD Audio vendor: Hewlett-Packard
    driver: snd_hda_intel v: kernel bus-ID: 00:1f.3 chip-ID: 8086:a2f0
  API: ALSA v: k6.1.0-13-amd64 status: kernel-api
  Server-1: PipeWire v: 0.3.65 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: wireplumber status: active
    3: pipewire-alsa type: plugin 4: pw-jack type: plugin
joel@hP600:~$ 

les paquets
firmware-sof-signed
alsa-ucm-conf
sont installés
J’ai installé le paquet
pipewire-audio-client-libraries
Vérifié le serveur de son

joel@hP600:~$ LANG=C pactl info | grep '^Server Name'
Server Name: PulseAudio (on PipeWire 0.3.65)
joel@hP600:~$ 

mais j’hésite à lancer

systemctl --user --now enable wireplumber.service

car wireplumber est déjà donné comme actif comme vu plus haut

    1: pipewire-pulse status: active 2: wireplumber status: active

et j’ai un message d’avertissement
merci

J’ai fini par lancer cette commande

systemctl --user --now enable wireplumber.service

sans résultat

je suis allé voir cette page
j’ai lancé

joel@hP600:~$ sudo systemctl --no-p status alsa-{state,restore} -l
○ alsa-state.service - Manage Sound Card State (restore and store)
    Loaded: loaded (/lib/systemd/system/alsa-state.service; static)
    Active: inactive (dead)
 Condition: start condition failed at Fri 2024-01-05 14:35:28 CET; 4h 36min ago
            └─ ConditionPathExists=/etc/alsa/state-daemon.conf was not met
      Docs: man:alsactl(1)

janv. 05 14:35:28 hP600 systemd[1]: alsa-state.service - Manage Sound Card State (restore and store) was skipped because of an unmet condition check (ConditionPathExists=/etc/alsa/state-daemon.conf).

● alsa-restore.service - Save/Restore Sound Card State
    Loaded: loaded (/lib/systemd/system/alsa-restore.service; static)
    Active: active (exited) since Fri 2024-01-05 14:35:28 CET; 4h 36min ago
      Docs: man:alsactl(1)
   Process: 658 ExecStart=/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_DIR=/run/alsa/runtime restore (code=exited, status=0/SUCCESS)
  Main PID: 658 (code=exited, status=0/SUCCESS)
       CPU: 9ms

janv. 05 14:35:28 hP600 systemd[1]: Starting alsa-restore.service - Save/Restore Sound Card State...
janv. 05 14:35:28 hP600 systemd[1]: Finished alsa-restore.service - Save/Restore Sound Card State.
joel@hP600:~$ 

je vois que alsa-state.service n’est pas actif :

     Active: inactive (dead)
  Condition: start condition failed at Fri 2024-01-05 14:35:28 CET; 4h 36min ago
             └─ ConditionPathExists=/etc/alsa/state-daemon.conf was not met

Est-ce qu’il faudrait le rendre actif ?
Merci

Bonjour
Je repars du message du 3 janvier

joel@hP600:~$ sudo grep -R "Hardware is initialized using a generic method" /var/log
grep: /var/log/journal/c2e4fdab4fda4cccbbee1deff0f23bd2/user-1000.journal : fichiers binaires correspondent
grep: /var/log/journal/c2e4fdab4fda4cccbbee1deff0f23bd2/user-1000@5f07e3f95db341a7bcbbc614106abbc3-0000000000139393-00060df735bbfc38.journal : fichiers binaires correspondent
grep: /var/log/journal/c2e4fdab4fda4cccbbee1deff0f23bd2/system@66c8944ea9c14babaf504488d8bafd63-0000000000000001-00060bb04308c214.journal : fichiers binaires correspondent
joel@hP600:~$

J’ai lu cette page c’est le même problème mais sur une Ubuntu 20.04 , normalement je ne risque rien à explorer sans changer des parmètres

joel@hP600:~$ sudo systemctl status alsa-restore.service
[sudo] Mot de passe de joel : 
● alsa-restore.service - Save/Restore Sound Card State
     Loaded: loaded (/lib/systemd/system/alsa-restore.service; static)
     Active: active (exited) since Tue 2024-04-09 09:30:18 CEST; 30min ago
       Docs: man:alsactl(1)
    Process: 662 ExecStart=/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_D>
   Main PID: 662 (code=exited, status=0/SUCCESS)
        CPU: 3ms

avril 09 09:30:18 hP600 systemd[1]: Starting alsa-restore.service - Save/Restor>
avril 09 09:30:18 hP600 systemd[1]: Finished alsa-restore.service - Save/Restor>
lines 1-10/10 (END)

Voici le contenu du fichier /lib/systemd/system/alsa-restore.service

Note that two different ALSA card state management schemes exist and they

can be switched using a file exist check - /etc/alsa/state-daemon.conf .

[Unit]
Description=Save/Restore Sound Card State
Documentation=man:alsactl(1)
ConditionPathExists=!/etc/alsa/state-daemon.conf
ConditionPathExistsGlob=/dev/snd/control*
After=alsa-state.service

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=-/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_DIR=/run/alsa/runtime restore
ExecStop=-/usr/sbin/alsactl -E HOME=/run/alsa -E XDG_RUNTIME_DIR=/run/alsa/runtime store

Ensuite la page continue en disant " si le service existe mais est désactivé vous pouvez lancer les commandes suivantes : "

sudo systemctl enable alsa-restore.service
sudo systemctl start alsa-restore.service

mais j’hésite à le faire, vu que c’est Ubuntu, ces commandes marchent-elles sous Debian ?
Merci

Suite à un autre problème j’ai installé le bureau cinnamon mais ça ne change rien

salut
je viens de regarder man alsactl : il ets marqué qu’il faut spécifier la carte
alsactl [options] [store|restore|init] <card # or id or device>

Bonjour
Je ne sais pas comment faire pour spécifier la carte

J’ai cherché aussi le fichier /etc/alsa/statedaemon.conf. mais pas trouvé, sous /etc/alsa il y a un seul dosssier nommé conf .d qui contient des fichiers autres


Bonjour
Je suis allé voir ce tuto et j’ai lancé la commande crontab -e



mais je ne sais pas aller plus loin pour que ma commande sudo alsactl initse lance automatiquement au démarrage

Bonjour
Je reviens sur ce fil après une constatation (bien tardive ! )
la commande sudo alsactl initrésoud le problème à chaque fois pour la session en cours.
Mais la même commande effectuée en mode utilisateur alsactl init ne renvoie rien :
joel@hP600:~$ alsactl init bash: alsactl : commande introuvable joel@hP600:~$
par ailleurs après avoir rétabli le son, la commande sudo alsactl store ne conserve pas le paramétrage pour la session suivante
Autre constat : il faut être en mode administrateur pour obtenir la version d’alsactl
``joel@hP600:~$ alsactl -version

bash: alsactl : commande introuvable
joel@hP600:~$ sudo alsactl -version
[sudo] Mot de passe de joel : 
alsactl version 1.2.8
joel@hP600:~$ ```

Cela voudrait-il dire que la session s'ouvre en mode utilisateur en non en mode administrateur, raison pour laquelle le `sudo` est nécessaire ? A l'installation si je me souviens bien, je n'ai pas mis de mot de passe administrateur
merci

A quels groupes ton utilisateur appartient-il? fait-il parti du groupe audio?

Je suis le seul utilisateur, je n’ai pas défini de groupe(s)

audio est un groupe par defaut du système.

Etant le seul utilisateur, il faudrait donc que je sois enregistré dans le groupe audio ?
Ca se fait comment ?

Je sui allé voir cette page
et ensuite : ```
joel@hP600:~$ # adduser joel audio
joel@hP600:~$

joel@hP600:~$ sudo # adduser joel audio
usage: sudo -h | -K | -k | -V
usage: sudo -v [-ABkNnS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-ABkNnS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
[command [arg …]]
usage: sudo [-ABbEHkNnPS] [-r role] [-t type] [-C num] [-D directory] [-g
group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user]
[VAR=value] [-i | -s] [command [arg …]]
usage: sudo -e [-ABkNnS] [-r role] [-t type] [-C num] [-D directory] [-g group]
[-h host] [-p prompt] [-R directory] [-T timeout] [-u user] file …```

Pas de son

[sudo] Mot de passe de joel :
Found hardware: "HDA-Intel" "Conexant CX20952" "HDA:14f151d7,103c82b5,00100000 HDA:8086280b,80860101,00100000" "0x103c" "0x82b5"
Hardware is initialized using a generic method
joel@hP600:~$ sudo alsactl store
joel@hP600:~$ ```

toujours pas de son au redémarrage

que done en root ou sudo:

lsmod | sort -u| grep snd

Personnellement je suis sous Cinnamon et j’utilise pipewire
avec pipewire-pulse.

Re bonjour
pour ta question : joel@hP600:~$ lsmod | sort -u| grep snd

ledtrig_audio          16384  1 snd_hda_codec_generic
snd                   126976  17 snd_hda_codec_generic,snd_seq,snd_hda_codec_conexant,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_timer,snd_pcm
snd_hda_codec         184320  4 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel
snd_hda_codec_conexant    32768  1
snd_hda_codec_generic    98304  1 snd_hda_codec_conexant
snd_hda_codec_hdmi     81920  1
snd_hda_core          122880  5 snd_hda_codec_generic,snd_hda_codec_conexant,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_hda_intel          57344  3
snd_hrtimer            16384  1
snd_hwdep              16384  1 snd_hda_codec
snd_intel_dspcfg       36864  1 snd_hda_intel
snd_intel_sdw_acpi     20480  1 snd_intel_dspcfg
snd_pcm               159744  5 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
snd_seq                90112  7 snd_seq_dummy
snd_seq_device         16384  1 snd_seq
snd_seq_dummy          16384  0
snd_timer              49152  3 snd_seq,snd_hrtimer,snd_pcm
soundcore              16384  1 snd
joel@hP600:~$ ```


par ailleurs [mon message n° 20 du 4 janvier](https://www.debian-fr.org/t/enregistrer-les-parametres-son-alsamixer/89317/20?u=degolarson)