You are not logged in.

#1 2024-01-28 17:08:04

daFritz84
Member
Registered: 2024-01-28
Posts: 5

Pipewire and Wine: No sound when starting game

Hey all,
I hope somebody can help me out debugging this rather weird sound issue: Sound usually works fine until I start a game (e.g. Age of Empires Definitive Edition via Steam Proton). Then the controls work, but no sound is heard until I stop the game. However sound works in the game when I play a sound during the startup of the game, i.e. I constantly toggle the volume so the volume sound change notification is played until I reach the game menu screen.

wireplumber log output:

Jän 28 17:47:57 orion wireplumber[925]: <WpSiStandardLink:0x5d0e1eaa3050> 2 of 2 PipeWire links failed to activate
Jän 28 17:48:43 orion wireplumber[925]: <WpSiAudioAdapter:0x5d0e1e9358a0> Object activation aborted: proxy destroyed
Jän 28 17:48:43 orion wireplumber[925]: <WpSiAudioAdapter:0x5d0e1e9358a0> failed to activate item: Object activation aborted: proxy destroyed
Jän 28 17:48:44 orion wireplumber[925]: <WpSiStandardLink:0x5d0e1ebbf4f0> item deactivated before format set
Jän 28 17:48:44 orion wireplumber[925]: <WpSiStandardLink:0x5d0e1ec0ec20> item deactivated before format set

pipewire log output:

Jän 28 17:48:38 orion pipewire[924]: spa.alsa: front:0p: (87 suppressed) snd_pcm_avail after recover: Datenübergabe unterbrochen (broken pipe)
Jän 28 17:48:40 orion pipewire[924]: spa.alsa: front:0p: (250 suppressed) snd_pcm_avail after recover: Datenübergabe unterbrochen (broken pipe)
Jän 28 17:48:42 orion pipewire[924]: spa.alsa: front:0p: (250 suppressed) snd_pcm_avail after recover: Datenübergabe unterbrochen (broken pipe)
Jän 28 17:48:44 orion pipewire[924]: spa.alsa: front:0p: (250 suppressed) snd_pcm_avail after recover: Datenübergabe unterbrochen (broken pipe)
Jän 28 17:48:46 orion pipewire[924]: spa.alsa: front:0p: (250 suppressed) snd_pcm_avail after recover: Datenübergabe unterbrochen (broken pipe)

versions:

pipewire
Compiled with libpipewire 1.0.1
Linked with libpipewire 1.0.1

wireplumber
Compiled with libwireplumber 0.4.17
Linked with libwireplumber 0.4.17

Offline

#2 2024-01-28 19:05:19

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,919

Re: Pipewire and Wine: No sound when starting game

Make sure lib32-libpulse and lib32-libpipewire are installed.

But these control failures read weird in any case, during reproduction what's your output for

sudo fuser -v /dev/snd/*

Last edited by V1del (2024-01-28 19:20:09)

Offline

#3 2024-01-28 20:24:14

Maniaxx
Member
Registered: 2014-05-14
Posts: 744

Re: Pipewire and Wine: No sound when starting game

Try 'qpwgraph' or 'carla' to visualize the audio render path. Maybe you can see the fighting.
You could also try switching wine to 'alsa' for testing purpose. Maybe behavior changes.


sys2064

Offline

#4 2024-01-30 18:02:42

daFritz84
Member
Registered: 2024-01-28
Posts: 5

Re: Pipewire and Wine: No sound when starting game

V1del wrote:

Make sure lib32-libpulse and lib32-libpipewire are installed.

But these control failures read weird in any case, during reproduction what's your output for

sudo fuser -v /dev/snd/*

Thanks for helping me out here. So I already had installed lib32-pulse and lib32-pipewire from the multilib repo.

before (working):

 
[sseifried@orion vladmandic-webui]$ sudo fuser -v /dev/snd/*
[sudo] Passwort für sseifried: 
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  sseifried    915 F.... wireplumber
/dev/snd/controlC1:  sseifried    915 F.... wireplumber
/dev/snd/controlC2:  sseifried    915 F.... wireplumber
/dev/snd/controlC3:  sseifried    915 F.... wireplumber
/dev/snd/seq:        sseifried    914 F.... pipewire

while running the game (no working/no sound):

[sseifried@orion vladmandic-webui]$ sudo fuser -v /dev/snd/*
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  sseifried    915 F.... wireplumber
/dev/snd/controlC1:  sseifried    915 F.... wireplumber
/dev/snd/controlC2:  sseifried    915 F.... wireplumber
/dev/snd/controlC3:  sseifried    915 F.... wireplumber
/dev/snd/pcmC1D0p:   sseifried    914 F...m pipewire
/dev/snd/seq:        sseifried    914 F.... pipewire

while running the game (sound working):

[sseifried@orion vladmandic-webui]$ sudo fuser -v /dev/snd/*
                     BEN.        PID ZUGR.  BEFEHL
/dev/snd/controlC0:  sseifried    915 F.... wireplumber
/dev/snd/controlC1:  sseifried    915 F.... wireplumber
/dev/snd/controlC2:  sseifried    915 F.... wireplumber
/dev/snd/controlC3:  sseifried    915 F.... wireplumber
/dev/snd/pcmC1D0p:   sseifried    914 F...m pipewire
/dev/snd/seq:        sseifried    914 F.... pipewire

Offline

#5 2024-01-30 18:54:13

daFritz84
Member
Registered: 2024-01-28
Posts: 5

Re: Pipewire and Wine: No sound when starting game

I also installed qpwgraph and I don't see any fighting in the audio rendering graph. Both times (working and not-working) Age of Empires pops up as a audio source and is connected to my USB Sound sink. But I see a lot of strange artefacts.
I.e., is it normal to have a lot of "Plasma-PulseAudio-15 [PlasmaPA-VolumeMeter]" objects? Note that the object count is already at 15

Offline

#6 2024-01-30 23:18:39

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,919

Re: Pipewire and Wine: No sound when starting game

These are normal they are monitoring sinks popping up from plasma-pa. From these outputs things look like they should. While sound isn't working what do you get from

pactl list cards
pactl list sinks
pactl list sink-inputs

Offline

#7 2024-01-31 18:02:48

daFritz84
Member
Registered: 2024-01-28
Posts: 5

Re: Pipewire and Wine: No sound when starting game

pactl list cards

[sseifried@orion ~]$ pactl list cards
Card #41
        Name: alsa_card.pci-0000_04_00.0
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "3"
                api.alsa.card.longname = "HDA Intel PCH at 0xf7300000 irq 144"
                api.alsa.card.name = "HDA Intel PCH"
                api.alsa.path = "hw:3"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio3"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:04:00.0"
                device.description = "DG2 Audio Controller"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-pci"
                device.name = "alsa_card.pci-0000_04_00.0"
                device.nick = "HDA Intel PCH"
                device.plugged.usec = "4907032"
                device.product.id = "0x4f90"
                device.product.name = "DG2 Audio Controller"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:04.0/0000:04:00.0/sound/card3"
                device.vendor.id = "0x8086"
                device.vendor.name = "Intel Corporation"
                media.class = "Audio/Device"
                factory.id = "14"
                client.id = "34"
                object.id = "41"
                object.serial = "41"
                object.path = "alsa:pcm:3"
                alsa.card = "3"
                alsa.card_name = "HDA Intel PCH"
                alsa.long_card_name = "HDA Intel PCH at 0xf7300000 irq 144"
                alsa.driver_name = "snd_hda_intel"
                device.string = "3"
        Profiles:
                off: Aus (sinks: 0, sources: 0, priority: 0, available: yes)
                output:hdmi-stereo: Digital Stereo (HDMI)-Ausgabe (sinks: 1, sources: 0, priority: 5900, available: no)
                output:hdmi-stereo-extra1: Digital Stereo (HDMI 2)-Ausgabe (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra2: Digital Stereo (HDMI 3)-Ausgabe (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-stereo-extra3: Digital Stereo (HDMI 4)-Ausgabe (sinks: 1, sources: 0, priority: 5700, available: no)
                output:hdmi-surround: Digital Surround 5.1 (HDMI)-Ausgabe (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround71: Digital Surround 7.1 (HDMI)-Ausgabe (sinks: 1, sources: 0, priority: 800, available: no)
                output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2)-Ausgabe (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2)-Ausgabe (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3)-Ausgabe (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3)-Ausgabe (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4)-Ausgabe (sinks: 1, sources: 0, priority: 600, available: no)
                output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4)-Ausgabe (sinks: 1, sources: 0, priority: 600, available: no)
                pro-audio: Pro Audio (sinks: 4, sources: 0, priority: 1, available: yes)
        Active Profile: off
        Ports:
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "video-display"
                                card.profile.port = "0"
                        Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
                hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 2"
                                device.icon_name = "video-display"
                                card.profile.port = "1"
                        Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
                hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 3, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 3"
                                device.icon_name = "video-display"
                                card.profile.port = "2"
                        Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-surround-extra2, output:hdmi-surround71-extra2
                hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 4, not available)
                        Properties:
                                port.type = "hdmi"
                                port.availability-group = "Legacy 4"
                                device.icon_name = "video-display"
                                card.profile.port = "3"
                        Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-surround-extra3, output:hdmi-surround71-extra3

Card #42
        Name: alsa_card.usb-Aisa_Expert_Wireless_Audio-03
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "2"
                api.alsa.card.longname = "Aisa Expert Wireless Audio at usb-0000:00:14.0-5.2, full speed"
                api.alsa.card.name = "Wireless Audio"
                api.alsa.path = "hw:2"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio2"
                device.api = "alsa"
                device.bus = "usb"
                device.bus-id = "usb-Aisa_Expert_Wireless_Audio-03"
                device.bus_path = "pci-0000:00:14.0-usb-0:5.2:1.3"
                device.description = "Wireless Audio"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-usb"
                device.name = "alsa_card.usb-Aisa_Expert_Wireless_Audio-03"
                device.nick = "Wireless Audio"
                device.plugged.usec = "14486614"
                device.product.id = "0x1517"
                device.product.name = "Wireless Audio"
                device.serial = "Aisa_Expert_Wireless_Audio"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2:1.3/sound/card2"
                device.vendor.id = "0x223d"
                device.vendor.name = "Aisa Expert"
                media.class = "Audio/Device"
                factory.id = "14"
                client.id = "34"
                object.id = "42"
                object.serial = "42"
                object.path = "alsa:pcm:2"
                alsa.card = "2"
                alsa.card_name = "Wireless Audio"
                alsa.long_card_name = "Aisa Expert Wireless Audio at usb-0000:00:14.0-5.2, full speed"
                alsa.driver_name = "snd_usb_audio"
                device.string = "2"
        Profiles:
                off: Aus (sinks: 0, sources: 0, priority: 0, available: yes)
                output:analog-stereo+input:mono-fallback: Analog Stereo-Ausgabe + Mono-Eingabe (sinks: 1, sources: 1, priority: 6501, available: yes)
                output:analog-stereo: Analog Stereo-Ausgabe (sinks: 1, sources: 0, priority: 6500, available: yes)
                output:iec958-stereo+input:mono-fallback: Digital Stereo (IEC958)-Ausgabe + Mono-Eingabe (sinks: 1, sources: 1, priority: 5501, available: yes)
                output:iec958-stereo: Digital Stereo (IEC958)-Ausgabe (sinks: 1, sources: 0, priority: 5500, available: yes)
                output:iec958-ac3-surround-51+input:mono-fallback: Digital Surround 5.1 (IEC958/AC3)-Ausgabe + Mono-Eingabe (sinks: 1, sources: 1, priority: 301, available: yes)
                output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3)-Ausgabe (sinks: 1, sources: 0, priority: 300, available: yes)
                pro-audio: Pro Audio (sinks: 1, sources: 1, priority: 1, available: yes)
                input:mono-fallback: Mono-Eingabe (sinks: 0, sources: 1, priority: 1, available: yes)
        Active Profile: output:analog-stereo+input:mono-fallback
        Ports:
                analog-input-mic: Mikrofon (type: Mic, priority: 8700, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "mic"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "0"
                        Part of profile(s): input:mono-fallback, output:analog-stereo+input:mono-fallback, output:iec958-stereo+input:mono-fallback, output:iec958-ac3-surround-51+input:mono-fallback
                analog-output: Analoge Ausgabe (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "analog"
                                card.profile.port = "1"
                        Part of profile(s): output:analog-stereo, output:analog-stereo+input:mono-fallback
                iec958-stereo-output: Digitalausgang (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "spdif"
                                card.profile.port = "2"
                        Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:mono-fallback

Card #43
        Name: alsa_card.usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "1"
                api.alsa.card.longname = "Teufel Cinebar One at usb-0000:00:14.0-8, full speed"
                api.alsa.card.name = "Teufel Cinebar One"
                api.alsa.path = "hw:1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                device.api = "alsa"
                device.bus = "usb"
                device.bus-id = "usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00"
                device.bus_path = "pci-0000:00:14.0-usb-0:8:1.0"
                device.description = "Teufel Cinebar One"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-usb"
                device.name = "alsa_card.usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00"
                device.nick = "Teufel Cinebar One"
                device.plugged.usec = "4230912"
                device.product.id = "0x0005"
                device.product.name = "Teufel Cinebar One"
                device.serial = "2cc2_Teufel_Cinebar_One_ABCDEF0123456789"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/sound/card1"
                device.vendor.id = "0x2cc2"
                device.vendor.name = "Lautsprecher Teufel GmbH"
                media.class = "Audio/Device"
                factory.id = "14"
                client.id = "34"
                object.id = "43"
                object.serial = "43"
                object.path = "alsa:pcm:1"
                alsa.card = "1"
                alsa.card_name = "Teufel Cinebar One"
                alsa.long_card_name = "Teufel Cinebar One at usb-0000:00:14.0-8, full speed"
                alsa.driver_name = "snd_usb_audio"
                device.string = "1"
        Profiles:
                off: Aus (sinks: 0, sources: 0, priority: 0, available: yes)
                output:analog-stereo: Analog Stereo-Ausgabe (sinks: 1, sources: 0, priority: 6500, available: yes)
                output:iec958-stereo: Digital Stereo (IEC958)-Ausgabe (sinks: 1, sources: 0, priority: 5500, available: yes)
                output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3)-Ausgabe (sinks: 1, sources: 0, priority: 300, available: yes)
                pro-audio: Pro Audio (sinks: 1, sources: 0, priority: 1, available: yes)
        Active Profile: output:analog-stereo
        Ports:
                analog-output: Analoge Ausgabe (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "analog"
                                card.profile.port = "0"
                        Part of profile(s): output:analog-stereo
                iec958-stereo-output: Digitalausgang (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "spdif"
                                card.profile.port = "1"
                        Part of profile(s): output:iec958-stereo

Card #44
        Name: alsa_card.pci-0000_00_1f.3
        Driver: alsa
        Owner Module: n/a
        Properties:
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "0"
                api.alsa.card.longname = "HDA Intel PCH at 0x2ffff20000 irq 140"
                api.alsa.card.name = "HDA Intel PCH"
                api.alsa.path = "hw:0"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio0"
                device.api = "alsa"
                device.bus = "pci"
                device.bus_path = "pci-0000:00:1f.3"
                device.description = "Internes Audio"
                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 = "4249425"
                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"
                media.class = "Audio/Device"
                factory.id = "14"
                client.id = "34"
                object.id = "44"
                object.serial = "44"
                object.path = "alsa:pcm:0"
                alsa.card = "0"
                alsa.card_name = "HDA Intel PCH"
                alsa.long_card_name = "HDA Intel PCH at 0x2ffff20000 irq 140"
                alsa.driver_name = "snd_hda_intel"
                device.string = "0"
        Profiles:
                off: Aus (sinks: 0, sources: 0, priority: 0, available: yes)
                output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: no)
                output:analog-stereo: Analog Stereo-Ausgabe (sinks: 1, sources: 0, priority: 6500, available: no)
                output:iec958-stereo+input:analog-stereo: Digital Stereo (IEC958)-Ausgabe + Analog Stereo-Eingabe (sinks: 1, sources: 1, priority: 5565, available: yes)
                output:iec958-stereo: Digital Stereo (IEC958)-Ausgabe (sinks: 1, sources: 0, priority: 5500, available: yes)
                output:iec958-ac3-surround-51+input:analog-stereo: Digital Surround 5.1 (IEC958/AC3)-Ausgabe + Analog Stereo-Eingabe (sinks: 1, sources: 1, priority: 365, available: no)
                output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3)-Ausgabe (sinks: 1, sources: 0, priority: 300, available: yes)
                input:analog-stereo: Analog Stereo-Eingabe (sinks: 0, sources: 1, priority: 65, available: no)
                pro-audio: Pro Audio (sinks: 2, sources: 2, priority: 1, available: yes)
        Active Profile: output:iec958-stereo+input:analog-stereo
        Ports:
                analog-input-front-mic: Vorderes Mikrofon (type: Mic, priority: 8500, latency offset: 0 usec, availability group: Legacy 1, not available)
                        Properties:
                                port.type = "mic"
                                port.availability-group = "Legacy 1"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "0"
                        Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:iec958-stereo+input:analog-stereo, output:iec958-ac3-surround-51+input:analog-stereo
                analog-input-rear-mic: Rückwärtiges Mikrofon (type: Mic, priority: 8200, latency offset: 0 usec, availability group: Legacy 2, not available)
                        Properties:
                                port.type = "mic"
                                port.availability-group = "Legacy 2"
                                device.icon_name = "audio-input-microphone"
                                card.profile.port = "1"
                        Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:iec958-stereo+input:analog-stereo, output:iec958-ac3-surround-51+input:analog-stereo
                analog-input-linein: Line-Eingang (type: Line, priority: 8100, latency offset: 0 usec, availability group: Legacy 3, not available)
                        Properties:
                                port.type = "line"
                                port.availability-group = "Legacy 3"
                                card.profile.port = "2"
                        Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:iec958-stereo+input:analog-stereo, output:iec958-ac3-surround-51+input:analog-stereo
                analog-output-lineout: Line-Ausgang (type: Line, priority: 9000, latency offset: 0 usec, availability group: Legacy 4, not available)
                        Properties:
                                port.type = "line"
                                port.availability-group = "Legacy 4"
                                card.profile.port = "3"
                        Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
                analog-output-headphones: Kopfhörer (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 5, not available)
                        Properties:
                                port.type = "headphones"
                                port.availability-group = "Legacy 5"
                                device.icon_name = "audio-headphones"
                                card.profile.port = "4"
                        Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
                iec958-stereo-output: Digitalausgang (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
                        Properties:
                                port.type = "spdif"
                                card.profile.port = "5"
                        Part of profile(s): output:iec958-stereo, output:iec958-stereo+input:analog-stereo

pactl list sinks

[sseifried@orion ~]$ pactl list sinks
Sink #49
        State: SUSPENDED
        Name: alsa_output.usb-Aisa_Expert_Wireless_Audio-03.analog-stereo
        Description: Wireless Audio Analog Stereo
        Driver: PipeWire
        Sample Specification: s16le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 36045 /  55% / -15,58 dB,   front-right: 36045 /  55% / -15,58 dB
                balance 0,00
        Base Volume: 63093 /  96% / -0,99 dB
        Monitor Source: alsa_output.usb-Aisa_Expert_Wireless_Audio-03.analog-stereo.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
        Properties:
                alsa.card = "2"
                alsa.card_name = "Wireless Audio"
                alsa.class = "generic"
                alsa.device = "0"
                alsa.driver_name = "snd_usb_audio"
                alsa.id = "USB Audio"
                alsa.long_card_name = "Aisa Expert Wireless Audio at usb-0000:00:14.0-5.2, full speed"
                alsa.name = "USB Audio"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                api.alsa.card.longname = "Aisa Expert Wireless Audio at usb-0000:00:14.0-5.2, full speed"
                api.alsa.card.name = "Wireless Audio"
                api.alsa.path = "front:2"
                api.alsa.pcm.card = "2"
                api.alsa.pcm.stream = "playback"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "3"
                device.api = "alsa"
                device.class = "sound"
                device.id = "42"
                device.profile.description = "Analog Stereo"
                device.profile.name = "analog-stereo"
                device.routes = "1"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Wireless Audio"
                node.name = "alsa_output.usb-Aisa_Expert_Wireless_Audio-03.analog-stereo"
                node.nick = "Wireless Audio"
                node.pause-on-idle = "false"
                object.path = "alsa:pcm:2:front:2:playback"
                priority.driver = "1009"
                priority.session = "1009"
                factory.id = "18"
                clock.quantum-limit = "8192"
                client.id = "34"
                node.driver = "true"
                factory.mode = "merge"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "49"
                object.serial = "49"
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "2"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio2"
                device.bus = "usb"
                device.bus-id = "usb-Aisa_Expert_Wireless_Audio-03"
                device.bus_path = "pci-0000:00:14.0-usb-0:5.2:1.3"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-usb"
                device.name = "alsa_card.usb-Aisa_Expert_Wireless_Audio-03"
                device.nick = "Wireless Audio"
                device.plugged.usec = "14486614"
                device.product.id = "0x1517"
                device.product.name = "Wireless Audio"
                device.serial = "Aisa_Expert_Wireless_Audio"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2:1.3/sound/card2"
                device.vendor.id = "0x223d"
                device.vendor.name = "Aisa Expert"
                device.string = "2"
        Ports:
                analog-output: Analoge Ausgabe (type: Analog, priority: 9900, availability unknown)
        Active Port: analog-output
        Formats:
                pcm

Sink #51
        State: RUNNING
        Name: alsa_output.usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00.analog-stereo
        Description: Teufel Cinebar One Analog Stereo
        Driver: PipeWire
        Sample Specification: s16le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 32768 /  50% / -18,06 dB,   front-right: 32768 /  50% / -18,06 dB
                balance 0,00
        Base Volume: 65536 / 100% / 0,00 dB
        Monitor Source: alsa_output.usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00.analog-stereo.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
        Properties:
                alsa.card = "1"
                alsa.card_name = "Teufel Cinebar One"
                alsa.class = "generic"
                alsa.device = "0"
                alsa.driver_name = "snd_usb_audio"
                alsa.id = "USB Audio"
                alsa.long_card_name = "Teufel Cinebar One at usb-0000:00:14.0-8, full speed"
                alsa.name = "USB Audio"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                api.alsa.card.longname = "Teufel Cinebar One at usb-0000:00:14.0-8, full speed"
                api.alsa.card.name = "Teufel Cinebar One"
                api.alsa.path = "front:1"
                api.alsa.pcm.card = "1"
                api.alsa.pcm.stream = "playback"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "1"
                device.api = "alsa"
                device.class = "sound"
                device.id = "43"
                device.profile.description = "Analog Stereo"
                device.profile.name = "analog-stereo"
                device.routes = "1"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Teufel Cinebar One"
                node.name = "alsa_output.usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00.analog-stereo"
                node.nick = "Teufel Cinebar One"
                node.pause-on-idle = "false"
                object.path = "alsa:pcm:1:front:1:playback"
                priority.driver = "1009"
                priority.session = "1009"
                factory.id = "18"
                clock.quantum-limit = "8192"
                client.id = "34"
                node.driver = "true"
                factory.mode = "merge"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "32"
                object.serial = "51"
                node.max-latency = "16384/48000"
                api.alsa.period-size = "64"
                api.alsa.period-num = "512"
                api.alsa.headroom = "64"
                api.acp.auto-port = "false"
                api.acp.auto-profile = "false"
                api.alsa.card = "1"
                api.alsa.use-acp = "true"
                api.dbus.ReserveDevice1 = "Audio1"
                device.bus = "usb"
                device.bus-id = "usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00"
                device.bus_path = "pci-0000:00:14.0-usb-0:8:1.0"
                device.enum.api = "udev"
                device.icon_name = "audio-card-analog-usb"
                device.name = "alsa_card.usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00"
                device.nick = "Teufel Cinebar One"
                device.plugged.usec = "4230912"
                device.product.id = "0x0005"
                device.product.name = "Teufel Cinebar One"
                device.serial = "2cc2_Teufel_Cinebar_One_ABCDEF0123456789"
                device.subsystem = "sound"
                sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-8/1-8:1.0/sound/card1"
                device.vendor.id = "0x2cc2"
                device.vendor.name = "Lautsprecher Teufel GmbH"
                device.string = "1"
        Ports:
                analog-output: Analoge Ausgabe (type: Analog, priority: 9900, availability unknown)
        Active Port: analog-output
        Formats:
                pcm

Sink #52
        State: SUSPENDED
        Name: alsa_output.pci-0000_00_1f.3.iec958-stereo
        Description: Internes Audio Digital Stereo (IEC958)
        Driver: PipeWire
        Sample Specification: s32le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 45875 /  70% / -9,29 dB,   front-right: 45875 /  70% / -9,29 dB
                balance 0,00
        Base Volume: 65536 / 100% / 0,00 dB
        Monitor Source: alsa_output.pci-0000_00_1f.3.iec958-stereo.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE HW_MUTE_CTRL DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                alsa.card = "0"
                alsa.card_name = "HDA Intel PCH"
                alsa.class = "generic"
                alsa.device = "1"
                alsa.driver_name = "snd_hda_intel"
                alsa.id = "ALC887-VD Digital"
                alsa.long_card_name = "HDA Intel PCH at 0x2ffff20000 irq 140"
                alsa.name = "ALC887-VD Digital"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                api.alsa.card.longname = "HDA Intel PCH at 0x2ffff20000 irq 140"
                api.alsa.card.name = "HDA Intel PCH"
                api.alsa.path = "iec958: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 = "44"
                device.profile.description = "Digital Stereo (IEC958)"
                device.profile.name = "iec958-stereo"
                device.routes = "1"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Internes Audio"
                node.name = "alsa_output.pci-0000_00_1f.3.iec958-stereo"
                node.nick = "ALC887-VD Digital"
                node.pause-on-idle = "false"
                object.path = "alsa:pcm:0:iec958:0:playback"
                priority.driver = "736"
                priority.session = "736"
                factory.id = "18"
                clock.quantum-limit = "8192"
                client.id = "34"
                node.driver = "true"
                factory.mode = "merge"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "48"
                object.serial = "52"
                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 = "4249425"
                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:
                iec958-stereo-output: Digitalausgang (S/PDIF) (type: SPDIF, priority: 0, availability unknown)
        Active Port: iec958-stereo-output
        Formats:
                pcm

pactl list sink-inputs

[sseifried@orion ~]$ pactl list sink-inputs
Sink Input #80
        Driver: PipeWire
        Owner Module: n/a
        Client: 79
        Sink: 51
        Sample Specification: s16le 1ch 44100Hz
        Channel Map: mono
        Format: pcm, format.sample_format = "\"s16le\""  format.rate = "44100"  format.channels = "1"  format.channel_map = "\"mono\""
        Corked: yes
        Mute: no
        Volume: mono: 65536 / 100% / 0,00 dB
                balance 0,00
        Buffer Latency: 0 usec
        Sink Latency: 0 usec
        Resample method: PipeWire
        Properties:
                client.api = "pipewire-pulse"
                pulse.server.type = "unix"
                application.name = "speech-dispatcher-dummy"
                application.process.id = "3668"
                application.process.user = "sseifried"
                application.process.host = "orion"
                application.process.binary = "sd_dummy"
                application.language = "C"
                window.x11.display = ":0"
                application.process.machine_id = "631990e1bb8d4a2997c78503681a1f47"
                application.process.session_id = "2"
                pulse.min.req = "512/48000"
                pulse.min.quantum = "512/48000"
                pulse.idle.timeout = "5"
                media.name = "playback"
                node.rate = "1/44100"
                node.latency = "471/44100"
                stream.is-live = "true"
                node.name = "speech-dispatcher-dummy"
                node.want-driver = "true"
                node.autoconnect = "true"
                media.class = "Stream/Output/Audio"
                adapt.follower.spa-node = ""
                object.register = "false"
                factory.id = "6"
                clock.quantum-limit = "8192"
                factory.mode = "split"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                client.id = "69"
                object.id = "71"
                object.serial = "80"
                pulse.attr.maxlength = "4194304"
                pulse.attr.tlength = "2826"
                pulse.attr.prebuf = "1886"
                pulse.attr.minreq = "942"
                module-stream-restore.id = "sink-input-by-application-name:speech-dispatcher-dummy"

Sink Input #355
        Driver: PipeWire
        Owner Module: n/a
        Client: 354
        Sink: 51
        Sample Specification: s16le 2ch 48000Hz
        Channel Map: front-left,front-right
        Format: pcm, format.sample_format = "\"s16le\""  format.rate = "48000"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
        Corked: no
        Mute: no
        Volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
                balance 0,00
        Buffer Latency: 0 usec
        Sink Latency: 0 usec
        Resample method: PipeWire
        Properties:
                client.api = "pipewire-pulse"
                pulse.server.type = "unix"
                application.name = "Age of Empires: Definitive Edition"
                application.process.id = "7740"
                application.process.user = "sseifried"
                application.process.host = "orion"
                application.process.binary = "wine64-preloader"
                application.language = "en_US.UTF-8"
                window.x11.display = ":0"
                application.process.machine_id = "631990e1bb8d4a2997c78503681a1f47"
                application.process.session_id = "2"
                media.name = "audio stream #1"
                node.rate = "1/48000"
                node.latency = "240/48000"
                stream.is-live = "true"
                node.name = "Age of Empires: Definitive Edition"
                node.want-driver = "true"
                node.autoconnect = "true"
                media.class = "Stream/Output/Audio"
                adapt.follower.spa-node = ""
                object.register = "false"
                factory.id = "6"
                clock.quantum-limit = "8192"
                factory.mode = "split"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                client.id = "77"
                object.id = "78"
                object.serial = "355"
                pulse.attr.maxlength = "5760"
                pulse.attr.tlength = "4800"
                pulse.attr.prebuf = "4"
                pulse.attr.minreq = "1920"
                module-stream-restore.id = "sink-input-by-application-name:Age of Empires: Definitive Edition"

Sink Input #385
        Driver: PipeWire
        Owner Module: n/a
        Client: 101
        Sink: 51
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Format: pcm, format.sample_format = "\"s16le\""  format.rate = "44100"  format.channels = "2"  format.channel_map = "\"front-left,front-right\""
        Corked: no
        Mute: no
        Volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
                balance 0,00
        Buffer Latency: 0 usec
        Sink Latency: 0 usec
        Resample method: PipeWire
        Properties:
                event.id = "audio-volume-change"
                event.description = "Volume Control Feedback Sound"
                media.role = "event"
                media.name = "audio-volume-change"
                client.api = "pipewire-pulse"
                pulse.server.type = "unix"
                application.name = "libcanberra"
                application.version = "0.30"
                application.id = "org.freedesktop.libcanberra"
                application.process.id = "999"
                application.process.user = "sseifried"
                application.process.host = "orion"
                application.process.binary = "plasmashell"
                application.language = "de_AT.UTF-8"
                window.x11.display = ":0"
                application.process.machine_id = "631990e1bb8d4a2997c78503681a1f47"
                application.process.session_id = "2"
                target.object = "51"
                media.filename = "/usr/share/sounds/freedesktop/stereo/audio-volume-change.oga"
                stream.is-live = "true"
                node.name = "libcanberra"
                node.want-driver = "true"
                node.autoconnect = "true"
                media.class = "Stream/Output/Audio"
                adapt.follower.spa-node = ""
                object.register = "false"
                factory.id = "6"
                clock.quantum-limit = "8192"
                factory.mode = "split"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                client.id = "81"
                object.id = "118"
                object.serial = "385"
                module-stream-restore.id = "sink-input-by-media-role:event"

Offline

#8 2024-01-31 18:07:24

daFritz84
Member
Registered: 2024-01-28
Posts: 5

Re: Pipewire and Wine: No sound when starting game

The correct output device is the "Teufel Cinebar One". So in my opinion for

cards: "alsa_card.usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00"
sinks: "alsa_output.usb-2cc2_Teufel_Cinebar_One_ABCDEF0123456789-00.analog-stereo"
sink-input: "Sink Input #355" -> application.name = "Age of Empires: Definitive Edition"

At first glance it looks ok to me.

Offline

#9 2024-02-05 20:11:24

DaveTheApe
Member
Registered: 2024-02-05
Posts: 1

Re: Pipewire and Wine: No sound when starting game

Got the same error with the Teufel Cinebar One conneted via USB, when launching games in bottles on my Fedora-System.
Try changing "api.alsa.period-size" and "api.alsa.headroom" in the section apply_properties of the 50-alsa-config.lua config-file of wireplumber.

$ cat .config/wireplumber/main.lua.d/50-alsa-config.lua

alsa_monitor.enabled = true

alsa_monitor.properties = {
  -- Create a JACK device. This is not enabled by default because
  -- it requires that the PipeWire JACK replacement libraries are
  -- not used by the session manager, in order to be able to
  -- connect to the real JACK server.
  --["alsa.jack-device"] = false,

  -- Reserve devices via org.freedesktop.ReserveDevice1 on D-Bus
  -- Disable if you are running a system-wide instance, which
  -- doesn't have access to the D-Bus user session
  ["alsa.reserve"] = true,
  --["alsa.reserve.priority"] = -20,
  --["alsa.reserve.application-name"] = "WirePlumber",

  -- Enables MIDI functionality
  ["alsa.midi"] = true,

  -- Enables monitoring of alsa MIDI devices
  ["alsa.midi.monitoring"] = true,

  -- MIDI bridge node properties
  ["alsa.midi.node-properties"] = {
    -- Name set for the node with ALSA MIDI ports
    ["node.name"] = "Midi-Bridge",
    -- Removes longname/number from MIDI port names
    --["api.alsa.disable-longname"] = true,
    ["priority.session"] = 100,
    ["priority.driver"] = 1,
  },

  -- These properties override node defaults when running in a virtual machine.
  -- The rules below still override those.
  ["vm.node.defaults"] = {
    ["api.alsa.period-size"] = 1024,
    ["api.alsa.headroom"] = 8192,
  },
}

alsa_monitor.rules = {
  -- An array of matches/actions to evaluate.
  --
  -- If you want to disable some devices or nodes, you can apply properties per device as the following example.
  -- The name can be found by running pw-cli ls Device, or pw-cli dump Device
  --{
  --  matches = {
  --    {
  --      { "device.name", "matches", "name_of_some_disabled_card" },
  --    },
  --  },
  --  apply_properties = {
  --    ["device.disabled"] = true,
  --  },
  --}
  {
    -- Rules for matching a device or node. It is an array of
    -- properties that all need to match the regexp. If any of the
    -- matches work, the actions are executed for the object.
    matches = {
      {
        -- This matches all cards.
        { "device.name", "matches", "alsa_card.*" },
      },
    },
    -- Apply properties on the matched object.
    apply_properties = {
      -- Use ALSA-Card-Profile devices. They use UCM or the profile
      -- configuration to configure the device and mixer settings.
      ["api.alsa.use-acp"] = true,

      -- Use UCM instead of profile when available. Can be
      -- disabled to skip trying to use the UCM profile.
      --["api.alsa.use-ucm"] = true,

      -- Don't use the hardware mixer for volume control. It
      -- will only use software volume. The mixer is still used
      -- to mute unused paths based on the selected port.
      --["api.alsa.soft-mixer"] = false,

      -- Ignore decibel settings of the driver. Can be used to
      -- work around buggy drivers that report wrong values.
      --["api.alsa.ignore-dB"] = false,

      -- The profile set to use for the device. Usually this is
      -- "default.conf" but can be changed with a udev rule or here.
      --["device.profile-set"] = "profileset-name",

      -- The default active profile. Is by default set to "Off".
      --["device.profile"] = "default profile name",

      -- Automatically select the best profile. This is the
      -- highest priority available profile. This is disabled
      -- here and instead implemented in the session manager
      -- where it can save and load previous preferences.
      ["api.acp.auto-profile"] = false,

      -- Automatically switch to the highest priority available port.
      -- This is disabled here and implemented in the session manager instead.
      ["api.acp.auto-port"] = false,

      -- Other properties can be set here.
      --["device.nick"] = "My Device",
    },
  },
  {
    matches = {
      {
        -- Matches all sources.
        { "node.name", "matches", "alsa_input.*" },
      },
      {
        -- Matches all sinks.
        { "node.name", "matches", "alsa_output.*" },
      },
    },
    apply_properties = {
      --["node.nick"]              = "My Node",
      --["node.description"]       = "My Node Description",
      --["priority.driver"]        = 100,
      --["priority.session"]       = 100,
      --["node.pause-on-idle"]     = false,
      --["monitor.channel-volumes"] = false
      --["resample.quality"]       = 4,
      --["resample.disable"]       = false,
      --["channelmix.normalize"]   = false,
      --["channelmix.mix-lfe"]     = false,
      --["channelmix.upmix"]       = true,
      --["channelmix.upmix-method"] = "psd",  -- "none" or "simple"
      --["channelmix.lfe-cutoff"]  = 150,
      --["channelmix.fc-cutoff"]   = 12000,
      --["channelmix.rear-delay"]  = 12.0,
      --["channelmix.stereo-widen"] = 0.0,
      --["channelmix.hilbert-taps"] = 0,
      --["channelmix.disable"]     = false,
      --["dither.noise"]           = 0,
      --["dither.method"]          = "none",  -- "rectangular", "triangular" or "shaped5"
      --["audio.channels"]         = 2,
      --["audio.format"]           = "S16LE",
      --["audio.rate"]             = 44100,
      --["audio.allowed-rates"]    = "32000,96000",
      --["audio.position"]         = "FL,FR",
      --["api.alsa.period-size"]   = 1024,
      ["api.alsa.period-size"]   = 1024,          -- CHANGED HERE
      --["api.alsa.period-num"]    = 2,
      --["api.alsa.headroom"]      = 0,
      ["api.alsa.headroom"]      = 8192,         -- CHANGED HERE
      --["api.alsa.start-delay"]   = 0,
      --["api.alsa.disable-mmap"]  = false,
      --["api.alsa.disable-batch"] = false,
      --["api.alsa.use-chmap"]     = false,
      --["api.alsa.multirate"]     = true,
      --["latency.internal.rate"]  = 0
      --["latency.internal.ns"]    = 0
      --["clock.name"]             = "api.alsa.0"
      --["session.suspend-timeout-seconds"] = 5,  -- 0 disables suspend
    },
  },
}

I used the following article for troubleshooting:
https://forum.manjaro.org/t/howto-troub … wire/82442

Hope this helps...

Last edited by DaveTheApe (2024-02-05 20:18:33)

Offline

Board footer

Powered by FluxBB