Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Problem with pipewire no devices no sound
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
poe_1957
Apprentice
Apprentice


Joined: 26 Sep 2018
Posts: 192
Location: Mortsel

PostPosted: Sun Sep 17, 2023 7:12 pm    Post subject: Problem with pipewire no devices no sound Reply with quote

Code:
Server tekenreeks: /run/user/1000/pulse/native
Bibliotheek protocolversie: 35
Server protocolversie: 35
Is Local: ja
Cliënt-index: 41
Tegelgrootte: 65472
Gebruikersnaam: poe
Hostnaam: POERYZEN
Servernaam: PulseAudio (on PipeWire 0.3.77)
Serverversie: 15.0.0
Standaard-bemonsteringsspecificatie: float32le 2ch 192000Hz
Standaard-kanalenkaart: front-left,front-right
Standaardafvoer: @DEFAULT_SINK@
Standaardbron: @DEFAULT_SOURCE@
Cookie:  54bd:26a2

Code:
 ps -eaf | grep -E 'pipewire-pulse|pulseaudio' | head -1
poe         1034    1025  0 21:03 ?        00:00:00 /usr/bin/pipewire-pulse

Code:
inxi -Aaz
Audio:
  Device-1: AMD Navi 10 HDMI Audio driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 11:00.1 chip-ID: 1002:ab38
    class-ID: 0403
  Device-2: AMD Starship/Matisse HD Audio vendor: ASRock
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 13:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: Logitech HD Webcam C910 driver: snd-usb-audio,uvcvideo type: USB
    rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-2.2:5
    chip-ID: 046d:0821 class-ID: 0e02 serial: <filter>
  API: ALSA v: k6.1.53-gentoo_ZENBLEED1_ status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: jack_control
  Server-2: PipeWire v: 0.3.77 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: off 3: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl

Everything done as in the pipewire wiki was mentioned. Previousl everything worked perfectly under pulseaudio.
recompiled everything with new parameters for pipewire.
Anyone an idea ? Pipewire does not find any hardware. Pulseaudio is not running as a server & deamon. pipewire runs as server.
_________________
Linuxpioneer
ALUG
Back to top
View user's profile Send private message
poe_1957
Apprentice
Apprentice


Joined: 26 Sep 2018
Posts: 192
Location: Mortsel

PostPosted: Sun Sep 17, 2023 9:42 pm    Post subject: more info Reply with quote

Code:
emerge --info
setlocale: unsupported locale setting
Portage 3.0.49 (python 3.11.5-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-12, glibc-2.37-r3, 6.1.53-gentoo_ZENBLEED1_ x86_64)
=================================================================
System uname: Linux-6.1.53-gentoo_ZENBLEED1_-x86_64-AMD_Ryzen_9_3900X_12-Core_Processor-with-glibc2.37
KiB Mem:    98766588 total,  94692180 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Sat, 16 Sep 2023 23:00:01 +0000
Head commit of repository gentoo: bfe1c2774de8c6de8863e1df5381d3b7b6ed47be
sh bash 5.1_p16-r6
ld GNU ld (Gentoo 2.40 p5) 2.40.0
app-misc/pax-utils:        1.3.5::gentoo
app-shells/bash:           5.1_p16-r6::gentoo
dev-java/java-config:      2.3.1-r1::gentoo
dev-lang/perl:             5.38.0-r1::gentoo
dev-lang/python:           3.11.5::gentoo
dev-lang/rust:             1.71.1::gentoo
dev-util/cmake:            3.26.5-r2::gentoo
dev-util/meson:            1.1.1::gentoo
sys-apps/baselayout:       2.14::gentoo
sys-apps/sandbox:          2.37::gentoo
sys-apps/systemd:          253.6::gentoo
sys-devel/autoconf:        2.13-r7::gentoo, 2.71-r6::gentoo
sys-devel/automake:        1.16.5-r1::gentoo
sys-devel/binutils:        2.40-r5::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           16.0.6::gentoo
sys-devel/gcc:             12.3.1_p20230526::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/libtool:         2.4.7-r1::gentoo
sys-devel/lld:             16.0.6::gentoo
sys-devel/llvm:            15.0.7-r3::gentoo, 16.0.6::gentoo
sys-devel/make:            4.4.1-r1::gentoo
sys-kernel/linux-headers:  6.1::gentoo (virtual/os-headers)
sys-libs/glibc:            2.37-r3::gentoo
sys-libs/libselinux:       3.5-r1::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts:
    sync-rsync-verify-jobs: 1

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=znver2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/fax /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /var/spool/fax/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.1/ext-active/ /etc/php/cgi-php8.1/ext-active/ /etc/php/cli-php8.1/ext-active/ /etc/php/fpm-php8.1/ext-active/ /etc/php/phpdbg-php8.1/ext-active/ /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /var/spool/fax/etc/xferfaxlog"
CXXFLAGS="-O2 -march=znver2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-O2 -march=znver2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=znver2 -pipe"
GENTOO_MIRRORS="https://mirror.netcologne.de/gentoo/ http://mirror.netcologne.de/gentoo/ rsync://mirror.netcologne.de/gentoo/"
LANG="nl_BE.utf-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j24"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi activities alsa amd64 amdgpu apache2 bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus declarative dri dts dvd dvdr encode exif flac fortran gdbm gif gpm gtk gui iconv icu ipv6 jpeg kde kwallet lcms libnotify libtirpc lm-sensors mad mng mp3 mp4 mpeg multilib ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf pipewire plasma png policykit ppds pulseaudio qml qt5 radeonsi readline screencast sdl seccomp semantic-desktop sound spell split-usr ssl startup-notification svg systemd test-rust tiff truetype udev udisks unicode upower usb vaapi vdpau vorbis vulkan wayland widgets wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 3dnowprefetch abm adx aes aperfmperf apic arat avx avx2 bmi1 bmi2 clflush clflushopt cmov cmp_legacy constant_tsc cpb cr8_legacy cx16 cx8 de decodeassists eagerfpu extapic f16c flushbyasid fma fpu fsgsbase fxsr fxsr_opt ht hw_pstate ibs lahf_lm lbrv lm mca mce misalignsse monitor movbe msr mtrr nonstop_tsc nopl npt nrip_save nx osvw pae pat pausefilter pclmulqdq pdpe1gb perfctr_core perfctr_l2 perfctr_nb pfthreshold pge pni popcnt pse pse36 rdrand rdseed rdtscp rep_good sep skinit smap smep sse3 sse4_1 sse4_2 sse4a ssse3 svm svm_lock syscall tce topoext tsc tsc_scale vmcb_clean vme vmmcall wdt xgetbv1 xsave xsavec xsaveopt" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="nl en-GB de es" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11" RUBY_TARGETS="ruby31" VIDEO_CARDS="amdgpu radeonsi vmware" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS

This is the /etc/pipewire/pipewire.conf = I have no idea what to change.
Code:
# Daemon config file for PipeWire version "0.3.77" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/pipewire.conf.d/ for system-wide changes or in
# ~/.config/pipewire/pipewire.conf.d/ for local changes.
#

context.properties = {
    ## Configure properties in the system.
    library.name.system                   = support/libspa-support
    context.data-loop.library.name.system = support/libspa-support
    support.dbus                          = true
    link.max-buffers                      = 64
    link.max-buffers                       = 16                       # version < 3 clients can't handle more
    mem.warn-mlock                         = true                     # Gentoo should have good RLIMITs now
    mem.allow-mlock                       = true
    mem.mlock-all                         = false
    clock.power-of-two-quantum            = true
    log.level                             = 2
    cpu.zero.denormals                    = false

    core.daemon = true              # listening for socket connections
    core.name   = pipewire-0        # core name and socket name

    ## Properties for the DSP configuration.
    default.clock.rate          = 192000
    default.clock.allowed-rates = [ 192000 48000 44100 ]
    #default.clock.quantum       = 1024
    #default.clock.min-quantum   = 32
    #default.clock.max-quantum   = 2048
    #default.clock.quantum-limit = 8192
    #default.video.width         = 640
    #default.video.height        = 480
    #default.video.rate.num      = 25
    #default.video.rate.denom    = 1
    #
    #settings.check-quantum      = false
    #settings.check-rate         = false
    #
    # These overrides are only applied when running in a vm.
    vm.overrides = {
        default.clock.min-quantum = 1024
    }

    # keys checked below to disable module loading
    module.x11.bell = true
    # enables autoloading of access module, when disabled an alternative
    # access module needs to be loaded.
    module.access = true
}

context.spa-libs = {
    #<factory-name regex> = <library-name>
    #
    # Used to find spa factory names. It maps an spa factory name
    # regular expression to a library name that should contain
    # that factory.
    #
    audio.convert.* = audioconvert/libspa-audioconvert
    avb.*           = avb/libspa-avb
    api.alsa.*      = alsa/libspa-alsa
    api.v4l2.*      = v4l2/libspa-v4l2
    api.libcamera.* = libcamera/libspa-libcamera
    api.bluez5.*    = bluez5/libspa-bluez5
    api.vulkan.*    = vulkan/libspa-vulkan
    api.jack.*      = jack/libspa-jack
    support.*       = support/libspa-support
    #videotestsrc   = videotestsrc/libspa-videotestsrc
    #audiotestsrc   = audiotestsrc/libspa-audiotestsrc
}

context.modules = [
    #{ name = <module-name>
    #    ( args  = { <key> = <value> ... } )
    #    ( flags = [ ( ifexists ) ( nofail ) ] )
    #    ( condition = [ { <key> = <value> ... } ... ] )
    #}
    #
    # Loads a module with the given parameters.
    # If ifexists is given, the module is ignored when it is not found.
    # If nofail is given, module initialization failures are ignored.
    # If condition is given, the module is loaded only when the context
    # properties all match the match rules.
    #

    # Uses realtime scheduling to boost the audio thread priorities. This uses
    # RTKit if the user doesn't have permission to use regular realtime
    # scheduling.
    { name = libpipewire-module-rt
        args = {
            nice.level    = -11
            #rt.prio      = 88
            #rt.time.soft = -1
            #rt.time.hard = -1
        }
        flags = [ ifexists nofail ]
    }

    # The native communication protocol.
    { name = libpipewire-module-protocol-native }

    # The profile module. Allows application to access profiler
    # and performance data. It provides an interface that is used
    # by pw-top and pw-profiler.
    # Allows applications to create metadata objects. It creates
    # a factory for Metadata objects.
    { name = libpipewire-module-metadata }

    # Creates a factory for making devices that run in the
    # context of the PipeWire server.
    { name = libpipewire-module-spa-device-factory }

    # Creates a factory for making nodes that run in the
    # context of the PipeWire server.
    { name = libpipewire-module-spa-node-factory }

    # Allows creating nodes that run in the context of the
    # client. Is used by all clients that want to provide
    # data to PipeWire.
    { name = libpipewire-module-client-node }

    # Allows creating devices that run in the context of the
    # client. Is used by the session manager.
    { name = libpipewire-module-client-device }

    # The portal module monitors the PID of the portal process
    # and tags connections with the same PID as portal
    # connections.
    { name = libpipewire-module-portal
        flags = [ ifexists nofail ]
    }

    # The access module can perform access checks and block
    # new clients.
    { name = libpipewire-module-access
        args = {
            # access.allowed to list an array of paths of allowed
            # apps.
            #access.allowed = [
            #    /usr/bin/pipewire-media-session
            #]

            # An array of rejected paths.
            #access.rejected = [ ]

            # An array of paths with restricted access.
            #access.restricted = [ ]
            # Anything not in the above lists gets assigned the
            # access.force permission.
            #access.force = flatpak
        }
        condition = [ { module.access = true } ]
    }

    # Makes a factory for wrapping nodes in an adapter with a
    # converter and resampler.
    { name = libpipewire-module-adapter }

    # Makes a factory for creating links between ports.
    { name = libpipewire-module-link-factory }

    # Provides factories to make session manager objects.
    { name = libpipewire-module-session-manager }

    # Use libcanberra to play X11 Bell
    { name = libpipewire-module-x11-bell
        args = {
            #sink.name = ""
            #sample.name = "bell-window-system"
            #x11.display = null
            #x11.xauthority = null
        }
        flags = [ ifexists nofail ]
        condition = [ { module.x11.bell = true } ]
    }
]

context.objects = [
    #{ factory = <factory-name>
    #    ( args  = { <key> = <value> ... } )
    #    ( flags = [ ( nofail ) ] )
    #    ( condition = [ { <key> = <value> ... } ... ] )
    #}
    #
    # Creates an object from a PipeWire factory with the given parameters.
    # If nofail is given, errors are ignored (and no object is created).
    # If condition is given, the object is created only when the context properties
    # all match the match rules.
    #
    #{ factory = spa-node-factory   args = { factory.name = videotestsrc node.name = videotestsrc Spa:Pod:Object:Param:Props:patternType = 1 } }
    #{ factory = spa-device-factory args = { factory.name = api.jack.device foo=bar } flags = [ nofail ] }
    #{ factory = spa-device-factory args = { factory.name = api.alsa.enum.udev } }
    #{ factory = spa-node-factory   args = { factory.name = api.alsa.seq.bridge node.name = Internal-MIDI-Bridge } }
    #{ factory = adapter            args = { factory.name = audiotestsrc node.name = my-test } }
    #{ factory = spa-node-factory   args = { factory.name = api.vulkan.compute.source node.name = my-compute-source } }

    # A default dummy driver. This handles nodes marked with the "node.always-driver"
    # property when no other driver is currently active. JACK clients need this.
    { factory = spa-node-factory
        args = {
            factory.name    = support.node.driver
            node.name       = Dummy-Driver
            node.group      = pipewire.dummy
            priority.driver = 20000
            #clock.id       = monotonic # realtime | tai | monotonic-raw | boottime
            #clock.name     = "clock.system.monotonic"
        }
    }
    { factory = spa-node-factory
       args = {
            factory.name    = support.node.driver
            node.name       = Freewheel-Driver
            priority.driver = 19000
            node.group      = pipewire.freewheel
            node.freewheel  = true
        }
    }

    # This creates a new Source node. It will have input ports
    # that you can link, to provide audio for this source.
    #{ factory = adapter
    #    args = {
    #        factory.name     = support.null-audio-sink
    #        node.name        = "my-mic"
    #        node.description = "Microphone"
    #        media.class      = "Audio/Source/Virtual"
    #        audio.position   = "FL,FR"
    #    }
    #}

    # This creates a single PCM source device for the given
    # alsa device path hw:0. You can change source to sink
    # to make a sink in the same way.
    #{ factory = adapter
    #    args = {
    #        factory.name           = api.alsa.pcm.source
    #        node.name              = "alsa-source"
    #        node.description       = "PCM Source"
    #        media.class            = "Audio/Source"
    #        api.alsa.path          = "hw:0"
    #        api.alsa.period-size   = 1024
    #        api.alsa.headroom      = 0
    #        api.alsa.disable-mmap  = false
    #        api.alsa.disable-batch = false
    #        audio.format           = "S16LE"
    #        audio.rate             = 48000
    #        audio.channels         = 2
    #        audio.position         = "FL,FR"
    #    }
    #}

    # Use the metadata factory to create metadata and some default values.
    #{ factory = metadata
    #    args = {
    #        metadata.name = my-metadata
    #        metadata.values = [
    #            { key = default.audio.sink   value = { name = somesink } }
    #            { key = default.audio.source value = { name = somesource } }
    #        ]
    #    }
    #}
]

context.exec = [
    #{   path = <program-name>
    #    ( args = "<arguments>" )
    #    ( condition = [ { <key> = <value> ... } ... ] )
    #}
    #
    # Execute the given program with arguments.
    # If condition is given, the program is executed only when the context
    # properties all match the match rules.
    #
    # You can optionally start the session manager here,
    # but it is better to start it as a systemd service.
    # Run the session manager with -h for options.
    #
    { path = "/usr/bin/pipewire-media-session" args = ""
      condition = [ { exec.session-manager = null } { exec.session-manager = true } ] }
    #
    # You can optionally start the pulseaudio-server here as well
    # but it is better to start it as a systemd service.
    # It can be interesting to start another daemon here that listens
    # on another address with the -a option (eg. -a tcp:4713).
    #
    { path = "/usr/bin/pipewire" args = "-c pipewire-pulse.conf"
      condition = [ { exec.pipewire-pulse = null } { exec.pipewire-pulse = true } ] }

_________________
Linuxpioneer
ALUG
Back to top
View user's profile Send private message
poe_1957
Apprentice
Apprentice


Joined: 26 Sep 2018
Posts: 192
Location: Mortsel

PostPosted: Sun Sep 17, 2023 10:51 pm    Post subject: sound in kernel Reply with quote

Code:
#
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=0
CONFIG_SND_HDA_PATCH_LOADER=y
# CONFIG_SND_HDA_SCODEC_CS35L41_I2C is not set
# CONFIG_SND_HDA_SCODEC_CS35L41_SPI is not set
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
# CONFIG_SND_HDA_CODEC_VIA is not set
CONFIG_SND_HDA_CODEC_HDMI=y
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_CS8409 is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_CA0110 is not set
# CONFIG_SND_HDA_CODEC_CA0132 is not set
# CONFIG_SND_HDA_CODEC_CMEDIA is not set
# CONFIG_SND_HDA_CODEC_SI3054 is not set
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y
CONFIG_SND_HDA_CTL_DEV_ID=y
# end of HD-Audio

CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_EXT_CORE=m
CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
# CONFIG_SND_INTEL_BYT_PREFER_SOF is not set
CONFIG_SND_PXA2XX_LIB=m
# CONFIG_SND_SPI is not set
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_USB_UA101=m
CONFIG_SND_USB_USX2Y=m

_________________
Linuxpioneer
ALUG
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4264
Location: Bavaria

PostPosted: Sun Sep 17, 2023 11:59 pm    Post subject: Reply with quote

Moved from Installing Gentoo to Multimedia.
Back to top
View user's profile Send private message
kimchi_sg
Advocate
Advocate


Joined: 26 Nov 2004
Posts: 2969

PostPosted: Thu Sep 21, 2023 11:24 pm    Post subject: Re: Problem with pipewire no devices no sound Reply with quote

poe_1957 wrote:
Pipewire does not find any hardware.


How do you know this?
Back to top
View user's profile Send private message
poe_1957
Apprentice
Apprentice


Joined: 26 Sep 2018
Posts: 192
Location: Mortsel

PostPosted: Fri Sep 22, 2023 11:59 pm    Post subject: Reply with quote

Well the taskbar in KDE has a loudspeaker with a red cross over it and when you tick it it says no devices for input or output found.
Secondly i still haven't found how to introduce the hardware into the pipewire soundsystem. Is it automaticly found ? Need it ALSA or pulseaudio to find it ? I do not know. Nowhere explained in the documentation. I looked into the conf files but could not see where to introduce the hardware parameters. I might be too stupid but honestly these .conf files are ununderstandable.
Not written for a normal person. Maybe written with CHATAI ?
_________________
Linuxpioneer
ALUG
Back to top
View user's profile Send private message
kimchi_sg
Advocate
Advocate


Joined: 26 Nov 2004
Posts: 2969

PostPosted: Sat Sep 23, 2023 3:01 am    Post subject: Reply with quote

poe_1957 wrote:
Well the taskbar in KDE has a loudspeaker with a red cross over it and when you tick it it says no devices for input or output found.


Sounds to me that plasma-pa may not be finding the pulseaudio server that pipewire emulates.
May we see your /etc/pipewire/pipewire-pulse.conf and /etc/pulse/client.conf?
Back to top
View user's profile Send private message
poe_1957
Apprentice
Apprentice


Joined: 26 Sep 2018
Posts: 192
Location: Mortsel

PostPosted: Sat Sep 23, 2023 7:28 pm    Post subject: Reply with quote

pipewire-pulse.conf
Code:
# PulseAudio config file for PipeWire version "0.3.77" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.
#
# It is also possible to place a file with an updated section in
# /etc/pipewire/pipewire-pulse.conf.d/ for system-wide changes or in
# ~/.config/pipewire/pipewire-pulse.conf.d/ for local changes.
#

context.properties = {
    ## Configure properties in the system.
    #mem.warn-mlock  = false
    #mem.allow-mlock = true
    #mem.mlock-all   = false
    #log.level       = 2

    #default.clock.quantum-limit = 8192
}

context.spa-libs = {
    audio.convert.* = audioconvert/libspa-audioconvert
    support.*       = support/libspa-support
}

context.modules = [
    { name = libpipewire-module-rt
        args = {
            nice.level   = -11
            #rt.prio      = 88
            #rt.time.soft = -1
            #rt.time.hard = -1
        }
        flags = [ ifexists nofail ]
    }
    { name = libpipewire-module-protocol-native }
    { name = libpipewire-module-client-node }
    { name = libpipewire-module-adapter }
    { name = libpipewire-module-metadata }

    { name = libpipewire-module-protocol-pulse
        args = {
            # contents of pulse.properties can also be placed here
            # to have config per server.
        }
    }
   Extra scripts can be started here. Setup in default.pa can be moved in
# a script or in pulse.cmd below
context.exec = [
    #{ path = "pactl"        args = "load-module module-always-sink" }
    #{ path = "pactl"        args = "upload-sample my-sample.wav my-sample" }
    #{ path = "/usr/bin/sh"  args = "~/.config/pipewire/default.pw" }
]

# Extra commands can be executed here.
#   load-module : loads a module with args and flags
#      args = "<module-name> <module-args>"
#      ( flags = [ nofail ] )
pulse.cmd = [
    { cmd = "load-module" args = "module-always-sink" flags = [ ] }
    { cmd = "load-module" args = "module-switch-on-connect" }
    { cmd = "load-module" args = "module-gsettings" flags = [ nofail ] }
]

stream.properties = {
    #node.latency          = 1024/48000
    node.autoconnect      = true
    resample.quality      = 4
    channelmix.normalize  = false
    channelmix.mix-lfe    = true
    channelmix.upmix      = true
    channelmix.upmix-method = psd  # none, simple
    channelmix.lfe-cutoff = 150
    channelmix.fc-cutoff  = 12000
    channelmix.rear-delay = 12.0
    channelmix.stereo-widen = 0.0
    channelmix.hilbert-taps = 0
    dither.noise = 0
}

pulse.properties = {
    # the addresses this server listens on
    server.address = [
        "unix:native"
        #"unix:/tmp/something"              # absolute paths may be used
        #"tcp:4713"                         # IPv4 and IPv6 on all addresses
        #"tcp:[::]:9999"                    # IPv6 on all addresses
        #"tcp:127.0.0.1:8888"               # IPv4 on a single address
        #
        #{ address = "tcp:4713"             # address
        #  max-clients = 64                 # maximum number of clients
        #  listen-backlog = 32              # backlog in the server listen queue
        #  client.access = "restricted"     # permissions for clients
        #}
    ]
    server.dbus-name       = "org.pulseaudio.Server"
    pulse.min.req          = 128/48000     # 2.7ms
    pulse.default.req      = 960/48000     # 20 milliseconds
    pulse.min.frag         = 128/48000     # 2.7ms
    pulse.default.frag     = 96000/48000   # 2 seconds
    pulse.default.tlength  = 96000/48000   # 2 seconds
    pulse.min.quantum      = 128/48000     # 2.7ms
    pulse.idle.timeout     = 0             # don't pause after underruns
    pulse.default.format   = F32
    pulse.default.position = [ FL FR ]
    # These overrides are only applied when running in a vm.
    vm.overrides = {
        pulse.min.quantum = 1024/48000      # 22ms
    }
}

# client/stream specific properties
pulse.rules = [
    {
        matches = [
            {
                # all keys must match the value. ~ starts regex.
                client.name                = "Firefox"
                application.process.binary = "teams"
                application.name           = "~speech-dispatcher.*"
            }
        ]
        actions = {
            update-props = {
                node.latency = 512/48000
            }
            # Possible quirks:"
            #    force-s16-info                 forces sink and source info as S16 format
            #    remove-capture-dont-move       removes the capture DONT_MOVE flag
            #    block-source-volume            blocks updates to source volume
            #    block-sink-volume              blocks updates to sink volume
            #quirks = [ ]
        }
    }
    {
        # skype does not want to use devices that don't have an S16 sample format.
        matches = [
              { application.process.binary = "teams" }
             { application.process.binary = "teams-insiders" }
             { application.process.binary = "skypeforlinux" }
        ]
        actions = { quirks = [ force-s16-info ] }
    }
    {
        # firefox marks the capture streams as don't move and then they
        # can't be moved with pavucontrol or other tools.
        matches = [ { application.process.binary = "firefox" } ]
        actions = { quirks = [ remove-capture-dont-move ] }
    }
    {
        # speech dispatcher asks for too small latency and then underruns.
        matches = [ { application.name = "~speech-dispatcher.*" } ]
        actions = {
            update-props = {
                pulse.min.req          = 512/48000      # 10.6ms
                pulse.min.quantum      = 512/48000      # 10.6ms
                pulse.idle.timeout     = 5              # pause after 5 seconds of underrun
            }
        }
    }
    {
        matches = [ { application.process.binary = "Discord" } ]
        actions = { quirks = [ block-source-volume ] }
    }

/etc/pulse/client.conf
Code:

# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

## Configuration file for PulseAudio clients. See pulse-client.conf(5) for
## more information. Default values are commented out.  Use either ; or # for
## commenting.

; default-sink =
; default-source =
; default-server =
; default-dbus-server =

autospawn = no
; daemon-binary = /usr/bin/pulseaudio
; extra-arguments = --log-target=syslog

; cookie-file =

; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB

; auto-connect-localhost = no
; auto-connect-display = no

_________________
Linuxpioneer
ALUG
Back to top
View user's profile Send private message
kimchi_sg
Advocate
Advocate


Joined: 26 Nov 2004
Posts: 2969

PostPosted: Sun Sep 24, 2023 1:48 am    Post subject: Reply with quote

In pipewire-pulse.conf, try uncomment
Code:
#"tcp:127.0.0.1:8888"               # IPv4 on a single address

Then in /etc/pulse/client.conf put correspondingly:
Code:
default-server = tcp:127.0.0.1:8888

(no need for quotes in client.conf, remove the leading semicolon)

This sets the pulseaudio server explicitly for both pipewire and pulseaudio clients.

poe_1957 wrote:
pipewire-pulse.conf
Code:
...

pulse.properties = {
    # the addresses this server listens on
    server.address = [
        "unix:native"
        #"unix:/tmp/something"              # absolute paths may be used
        #"tcp:4713"                         # IPv4 and IPv6 on all addresses
        #"tcp:[::]:9999"                    # IPv6 on all addresses
        #"tcp:127.0.0.1:8888"               # IPv4 on a single address
        #
        #{ address = "tcp:4713"             # address
        #  max-clients = 64                 # maximum number of clients
        #  listen-backlog = 32              # backlog in the server listen queue
        #  client.access = "restricted"     # permissions for clients
        #}
    ]
    server.dbus-name       = "org.pulseaudio.Server"
    pulse.min.req          = 128/48000     # 2.7ms
    pulse.default.req      = 960/48000     # 20 milliseconds
    pulse.min.frag         = 128/48000     # 2.7ms
    pulse.default.frag     = 96000/48000   # 2 seconds
    pulse.default.tlength  = 96000/48000   # 2 seconds
    pulse.min.quantum      = 128/48000     # 2.7ms
    pulse.idle.timeout     = 0             # don't pause after underruns
    pulse.default.format   = F32
    pulse.default.position = [ FL FR ]
    # These overrides are only applied when running in a vm.
    vm.overrides = {
        pulse.min.quantum = 1024/48000      # 22ms
    }
}
...

/etc/pulse/client.conf
Code:
...
; default-sink =
; default-source =
; default-server =
; default-dbus-server =
...
Back to top
View user's profile Send private message
poe_1957
Apprentice
Apprentice


Joined: 26 Sep 2018
Posts: 192
Location: Mortsel

PostPosted: Thu Sep 28, 2023 12:55 pm    Post subject: kimchi_sg Reply with quote

I have tried your suggestion but no result. But maybe i miss a package because i saw a problem to connect to a bus ?
And are you sure I need no hardware parameters to introduce ?
_________________
Linuxpioneer
ALUG
Back to top
View user's profile Send private message
kimchi_sg
Advocate
Advocate


Joined: 26 Nov 2004
Posts: 2969

PostPosted: Thu Sep 28, 2023 2:50 pm    Post subject: Re: kimchi_sg Reply with quote

poe_1957 wrote:
But maybe i miss a package because i saw a problem to connect to a bus ?
And are you sure I need no hardware parameters to introduce ?


Well, what is that exact message regarding "connect to a bus"?
Lastly, let us see output of
Code:

# emerge -pv libpulse pulseaudio pipewire
Back to top
View user's profile Send private message
kimchi_sg
Advocate
Advocate


Joined: 26 Nov 2004
Posts: 2969

PostPosted: Fri Sep 29, 2023 11:11 am    Post subject: Re: Problem with pipewire no devices no sound Reply with quote

poe_1957 wrote:

Everything done as in the pipewire wiki was mentioned. Previousl everything worked perfectly under pulseaudio.
recompiled everything with new parameters for pipewire.
Anyone an idea ? Pipewire does not find any hardware. Pulseaudio is not running as a server & deamon. pipewire runs as server.

I noticed you never mentioned anything about your user's groups.
Whats is the output of
Code:
groups | tr ' ' '\n' | sort

FWIW my user is in both audio and pipewire groups with no rtkit installed.\

Below is the relevant part of pipewire wiki article:
Quote:

PipeWire's default configuration tries to use realtime scheduling to increase audio thread priorities. It's recommended that users are in the pipewire group. If the user doesn't have the necessary permissions for this, the configuration will try to use RTKit instead, so the sys-auth/rtkit package may need to be installed. This behavior is defined under the context.modules portion of PipeWire's configuration.
Back to top
View user's profile Send private message
dalek
Veteran
Veteran


Joined: 19 Sep 2003
Posts: 1353
Location: Mississippi USA

PostPosted: Sat Sep 30, 2023 1:07 am    Post subject: Reply with quote

I just ran into the same thing here. When I tried to run pipewire manually, I would get this error in part.

Code:
conf.c:  573 load_module()] 0x55ba9b7615b0: could not load mandatory module "libpipewire-module-protocol-native": No such file or directory


I tried emerging relevant packages but no change. I also searched and found the file, it does exist. I then came here and searched to see if anyone else had this problem. I found this thread. What worked for me, adding my user to the pipewire group and logging out and back in solved the problem. My best guess, the group was added but we have to add ourselves to the group manually. This worked before my updates the other day. I tend to run a lot of stuff unstable, KDE and its friends and web browsers as examples.

Hope that info helps someone else who runs up on this thread and problem.
_________________
My rig: Gigabyte GA-970A-UD3P mobo, AMD FX-8350 Eight-Core CPU, ZALMAN CNPS10X Performa CPU cooler,
G.SKILL 32GB DDR3 PC3 12800 Memory Nvidia GTX-650 video card LG W2253 Monitor
60TBs of hard drive space using LVM
Cooler Master HAF-932 Case
Back to top
View user's profile Send private message
poe_1957
Apprentice
Apprentice


Joined: 26 Sep 2018
Posts: 192
Location: Mortsel

PostPosted: Sun Oct 01, 2023 1:26 pm    Post subject: @dalek Reply with quote

This problem i had indeed but this was already fixed when I posted this thread.
Code:
audio:x:18:vdr,pulse
video:x:27:sddm,users,motion,poe
pulse-access:x:172:david,poe,alug
pulse:x:171:david,poe,alug
pipewire:x:509:poe,david,alug

The output for groups | tr ' ' '\n' | sort
is
Code:
root

_________________
Linuxpioneer
ALUG


Last edited by poe_1957 on Mon Oct 02, 2023 12:30 am; edited 1 time in total
Back to top
View user's profile Send private message
dalek
Veteran
Veteran


Joined: 19 Sep 2003
Posts: 1353
Location: Mississippi USA

PostPosted: Sun Oct 01, 2023 4:02 pm    Post subject: Reply with quote

Looks like something went sideways, or backwards, then. For some reason, mine wasn't added. In a way, maybe emerge/portage shouldn't add things to groups but just drop a note for us to if we want too. I guess it depends on what the change is.

Either way, my updates last weekend seems to have added a pipewire group but didn't add any users. I ended up with no sound or sound devices. If someone else runs into this, might help them to have this info. Then again, I'm known to run into odd problems. :roll: :D
_________________
My rig: Gigabyte GA-970A-UD3P mobo, AMD FX-8350 Eight-Core CPU, ZALMAN CNPS10X Performa CPU cooler,
G.SKILL 32GB DDR3 PC3 12800 Memory Nvidia GTX-650 video card LG W2253 Monitor
60TBs of hard drive space using LVM
Cooler Master HAF-932 Case
Back to top
View user's profile Send private message
poe_1957
Apprentice
Apprentice


Joined: 26 Sep 2018
Posts: 192
Location: Mortsel

PostPosted: Mon Oct 02, 2023 12:35 am    Post subject: @ Reply with quote

I also encountered now problems with the merge
Code:
https://leo3418.github.io/2021/01/16/gentoo-merge-usr.html

I had to do it manually. Maybe that was interfering with the change to pipewire. Because I saw a lot of links in red. Meaning they were not good anymore. This is fixed now. And I try to do a reinstall of pipewire.
_________________
Linuxpioneer
ALUG
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 3267
Location: Canada

PostPosted: Mon Oct 02, 2023 10:00 pm    Post subject: Reply with quote

dalek wrote:
Looks like something went sideways, or backwards, then. For some reason, mine wasn't added. In a way, maybe emerge/portage shouldn't add things to groups but just drop a note for us to if we want too. I guess it depends on what the change is.

Either way, my updates last weekend seems to have added a pipewire group but didn't add any users. I ended up with no sound or sound devices. If someone else runs into this, might help them to have this info. Then again, I'm known to run into odd problems. :roll: :D



I am not in pipewire group, and sound works perfectly. With all these new layers, sound is quite a mess on now. If something produces no sound, I have to look in like 5 different places where it can be off - say youtube, browser tab, kde subsytem, pavucontrol for pulse part, pipewire profile (few time I found that pipewire sets wrong profile), physical button on my speakers .... already more than 5 places
Back to top
View user's profile Send private message
dalek
Veteran
Veteran


Joined: 19 Sep 2003
Posts: 1353
Location: Mississippi USA

PostPosted: Mon Oct 02, 2023 10:46 pm    Post subject: Reply with quote

I remember when I first installed Linux. It was the same way back then. By default, every audio volume control was set to mute. Sometimes there is at least three places you had to check. If I recall them all, alsa mixer, Kmix and one other one I can't recall. Also, each one controlled the volume to some degree so if you couldn't hear it because the volume was to low, you had to find the one that was to low. I tended to start by setting them all to about 80%. Then I used one to actually control the volume, Kmix for example.

This isn't just Gentoo either. I started out on Mandrake way back. I've recently installed Ubuntu on a older rig and it was the same. I've installed other distros on a temporary basis and they were also muted by default. I'm not sure about windoze.

For me, adding my user to the pipewire group fixed my issue. It seems there may be more than one thing causing this. While I kinda like pipewire, it does seem to have some issues right out of the gate. Hopefully they will be sorted out soon, by default.
_________________
My rig: Gigabyte GA-970A-UD3P mobo, AMD FX-8350 Eight-Core CPU, ZALMAN CNPS10X Performa CPU cooler,
G.SKILL 32GB DDR3 PC3 12800 Memory Nvidia GTX-650 video card LG W2253 Monitor
60TBs of hard drive space using LVM
Cooler Master HAF-932 Case
Back to top
View user's profile Send private message
dmpogo
Advocate
Advocate


Joined: 02 Sep 2004
Posts: 3267
Location: Canada

PostPosted: Mon Oct 02, 2023 10:54 pm    Post subject: Reply with quote

dalek wrote:
I remember when I first installed Linux. It was the same way back then. By default, every audio volume control was set to mute. Sometimes there is at least three places you had to check. If I recall them all, alsa mixer, Kmix and one other one I can't recall. Also, each one controlled the volume to some degree so if you couldn't hear it because the volume was to low, you had to find the one that was to low. I tended to start by setting them all to about 80%. Then I used one to actually control the volume, Kmix for example.

This isn't just Gentoo either. I started out on Mandrake way back. I've recently installed Ubuntu on a older rig and it was the same. I've installed other distros on a temporary basis and they were also muted by default. I'm not sure about windoze.

For me, adding my user to the pipewire group fixed my issue. It seems there may be more than one thing causing this. While I kinda like pipewire, it does seem to have some issues right out of the gate. Hopefully they will be sorted out soon, by default.


Yes, I remember that. I was also remember using Skype to wake up my audio subsystem, because skype was somehow able to overwrite everything :). But I have to admit that there was a period of relative stabilization with pulseaudio. Pavucontrol was ok, and let you somehow feel what really is going on.
Back to top
View user's profile Send private message
poe_1957
Apprentice
Apprentice


Joined: 26 Sep 2018
Posts: 192
Location: Mortsel

PostPosted: Mon Oct 09, 2023 10:07 pm    Post subject: Missing systemd entry ? Reply with quote

I was searching and I found in /usr/lib/systemd/system nothing about pipewire, wireplumber.
I found however sound.service and sound.target, pavucontrol.service and pulse.service.
Maybe this is why pipewire does not function ? Does anybody knows what is needed there ?
I found also sound.target.wants and there @alsa-restore.service and @alsa-state.service.

And then they say systemd makes everything easier ... :cry:
_________________
Linuxpioneer
ALUG
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum