LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 02-14-2022, 12:39 PM   #226
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 770

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872

I've tried pipewire with or without rtkit and I find that it makes little difference. I also found that it didnt obey the "our realtime priority" property and always assigns itself the max realtime priority.

Pipewire likes to spew all kinds of warnings about rtkit missing. However, I have seen no observable difference in latency or xruns using rtkit v.s. using the PAM rtprio settings in /etc/security/limits.conf and/or the built in "module-rt" that pipewire uses.

Also rtkit is a Poettering creation which seems to get some people grabbing pitchforks over. I dont care but to some people that matters.

I'll attach the slackbuild I used in case you want to try it. Its just created with "alienBob's slackbuild generator" so it has Eric Hameleers name in the script, but he only provided the slackbuild gen script. Also, this slackbuild fetches the source automatically when you run it, fyi. Also note I had to add the .txt to get LQ to allow me to upload it.
Attached Files
File Type: txt rtkit.SlackBuild.txt (9.7 KB, 22 views)

Last edited by 0XBF; 02-14-2022 at 12:45 PM. Reason: Missed a directory in the limits.conf path
 
Old 02-14-2022, 09:47 PM   #227
Lockywolf
Member
 
Registered: Jul 2007
Posts: 683

Rep: Reputation: 253Reputation: 253Reputation: 253
Quote:
Originally Posted by 0XBF View Post
Also rtkit is a Poettering creation which seems to get some people grabbing pitchforks over. I dont care but to some people that matters.
I prefer critisizing an idea not a person, and while I am not in favour of systemd, I not apply that by extension to everything Poettering does.

Quote:
Originally Posted by 0XBF View Post
I'll attach the slackbuild I used in case you want to try it. Its just created with "alienBob's slackbuild generator" so it has Eric Hameleers name in the script, but he only provided the slackbuild gen script. Also, this slackbuild fetches the source automatically when you run it, fyi. Also note I had to add the .txt to get LQ to allow me to upload it.
In my log files a naive build of rtkit complains about not being able to find a user called "rtkit". I had to add one, as well as a group with the same name.

Code:
groupadd -g 370 rtkit
useradd -u 370 -s /bin/false -d /var/lib/rtkit \
    -g rtkit rtkit
Not sure it matters, because pipewire still complains about "RTKit Error: Access denied".
 
Old 02-15-2022, 09:37 AM   #228
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 770

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
Quote:
Originally Posted by Lockywolf View Post
In my log files a naive build of rtkit complains about not being able to find a user called "rtkit". I had to add one, as well as a group with the same name.

Code:
groupadd -g 370 rtkit
useradd -u 370 -s /bin/false -d /var/lib/rtkit \
    -g rtkit rtkit
Not sure it matters, because pipewire still complains about "RTKit Error: Access denied".
Sorry Lockywolf, it's been a year since I've tested rtkit and it completely slipped my mind that I had to set up an rtkit group and user to get that working. Thanks for the reminder. I managed to dig up the commands I used to add my rtkit user and group.

Code:
groupadd -r -g 172 rtkit
useradd -r -l -u 172 -g rtkit -d /proc -s /sbin/nologin -c "RealtimeKit" rtkit
I'm not sure on the error. I'll check on my pipewire machine after work today and see if that's occurring here. Usually I redirect pipewires spew to /dev/null so I haven't been paying attention for a while.
 
Old 02-15-2022, 06:28 PM   #229
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 770

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
Okay I poked around with the pipewire and rtkit daemons a little. I did see one warning in the pipewire console about failing to set the nice level to -11.
Code:
[W][57959.598618] mod.rt       | [     module-rt.c:  538 set_nice()] could not set nice-level to -11: Permission denied
Perhaps this is the same warning that you get?

I'm not sure why the nice level is having a permission denied issue yet. This "nice -11" level is the default in the pipewire.conf and pipewire-pulse.conf settings. You can copy the relevant conf to your /etc/pipewire/ directory and comment that out to prevent it from trying to set it and the warning will go away.

As to the functionality of rtkit, I can see that it is indeed granting realtime privileges as advertised. However, if you have set up realtime privileges for your user with the PAM limits, then pipewire will prefer this over rtkit. E.g. Here's my '/etc/security/limits.d/rt_audio.conf' file:
Code:
# Real-Time Priority allowed for user in the 'audio' group:
# Use 'unlimited' with care,a misbehaving application can
# lock up your system. Try reserving half your physical memory:
bob - memlock unlimited
bob - rtprio 95
I also have rtkit installed: it will only run by dbus activation when pipewire goes looking for it. With that above rule and rtkit present, pipewire gets its rtprio set, but using FF scheduling:
Code:
# ps -eLo rtprio,pid,cls,pri,nice,cmd | grep -E 'FF|RR' | sort -r
    99    28  FF 139   - [migration/3]
    99    23  FF 139   - [migration/2]
    99    18  FF 139   - [migration/1]
    99    15  FF 139   - [migration/0]
    79  1268  FF 119   - /usr/bin/pipewire
    77  1278  FF 117   - /usr/bin/pipewire-pulse
    77  1269  FF 117   - /usr/bin/pipewire-media-session
    50   733  FF  90   - [irq/137-brcmf_p]
    50   718  FF  90   - [irq/51-DLL0704:]
    50   714  FF  90   - [card0-crtc2]
    50   710  FF  90   - [card0-crtc1]
    50   708  FF  90   - [card0-crtc0]
    50   675  FF  90   - [irq/133-mei_me]
    50   127  FF  90   - [watchdogd]
     -  1348  TS  19   0 grep -E FF|RR
I set the 77 and 79 levels as a test to see if the pipewire configs are followed.

Next I commented out the PAM limit rules, rebooted, and fired up pipewire again. This time pipewire activates rtkit, and gets rtprio set that way.
Note that rtkit uses RR scheduling, which you see for itself and pipewire when its used:
Code:
# ps -eLo rtprio,pid,cls,pri,nice,cmd | grep -E 'FF|RR' | sort -r
    99  1279  RR 139   - /usr/libexec/rtkit-daemon --our-realtime-priority=95 --max-realtime-priority=80
    99    28  FF 139   - [migration/3]
    99    23  FF 139   - [migration/2]
    99    18  FF 139   - [migration/1]
    99    15  FF 139   - [migration/0]
    79  1535  RR 119   - /usr/bin/pipewire
    77  1544  RR 117   - /usr/bin/pipewire-pulse
    77  1536  RR 117   - /usr/bin/pipewire-media-session
    50   734  FF  90   - [irq/137-brcmf_p]
    50   718  FF  90   - [irq/51-DLL0704:]
    50   716  FF  90   - [card0-crtc2]
    50   715  FF  90   - [card0-crtc1]
    50   714  FF  90   - [card0-crtc0]
    50   676  FF  90   - [irq/132-mei_me]
    50   127  FF  90   - [watchdogd]
     -  1616  TS  19   0 grep -E FF|RR
You can also see rtkit not following its own priority setting... not sure whats up with that.

So in the end rtkit works to grant rtprio, but if PAM is set up to allow this already then pipewire wont even bother.

Either way works so i guess choose one that works for you. Still not sure on the "nice" level, or if it really matters.

Also should note I was running without 'threadirqs' here. If you enable that you'll see a few more realtime threads show up in the ps output.

Last edited by 0XBF; 02-15-2022 at 06:30 PM.
 
1 members found this post helpful.
Old 02-15-2022, 07:46 PM   #230
0XBF
Member
 
Registered: Nov 2018
Distribution: Slackware
Posts: 770

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
Looks like its just a matter of setting the nice limit to something lower than -11 to get rid of the warning:
Code:
[W][57959.598618] mod.rt       | [     module-rt.c:  538 set_nice()] could not set nice-level to -11: Permission denied
My user limits for example:
Code:
bob - memlock unlimited
bob - rtprio 95
bob - nice -15
I can start the pipewire daemons without any warnings with my -15 limit. The available range is -20 to 19. You can see 'man limits.conf' and 'man sched' to read more about nice levels and realtime scheduling btw.
 
1 members found this post helpful.
Old 02-15-2022, 09:47 PM   #231
Lockywolf
Member
 
Registered: Jul 2007
Posts: 683

Rep: Reputation: 253Reputation: 253Reputation: 253
The actual error I am getting looks like this:

Code:
[W][09642.228922] mod.rt       | [     module-rt.c:  224 translate_error()] RTKit error: org.freedesktop.DBus.Error.AccessDenied
[W][09642.229043] mod.rt       | [     module-rt.c:  716 impl_acquire_rt()] could not make thread 3242 realtime using RTKit: Permission denied
 
Old 02-15-2022, 10:06 PM   #232
Lockywolf
Member
 
Registered: Jul 2007
Posts: 683

Rep: Reputation: 253Reputation: 253Reputation: 253
I think I actually solved this particular thing:

I have a cpu cgroup called "sysdefault", which gets all the processes that have not been assigned elsewhere.
However, even though for most resources child cgroups inherit everything from the parent cgroup (root in my case), this is not the case for cpu.rt_runtime_us.

Now I have set it up manually, and it seems to work.
 
Old 02-17-2022, 04:25 AM   #233
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,395

Rep: Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122
Pipewire 0.3.46

https://gitlab.freedesktop.org/pipew.../-/tags/0.3.46
Code:
Highlights
- Fix a critical bug in pipewire-pulse buffer size handling that made some apps (MuseScore, ... ) stutter.
- Fix a critical bug where devices would not show when the kernel was compiled without VERBOSE_PROCSFS.
- JACK clients will now use lock-quantum by default. This makes sure that all dynamic quantum changes are disabled while a 
JACK app is running. The only way to force a quantum chance is through a JACK app or with the metadata.
- Almost all limits on number of ports, clients and nodes are removed.
- A Dummy fallback sink is now automatically created when there are no other sinks. This avoids stalling browsers.
- Sound sharing with Zoom should work better. A new WirePlumber release might be required.
- Many more fixes and improvements.

Last edited by marav; 02-18-2022 at 02:38 AM.
 
1 members found this post helpful.
Old 02-18-2022, 02:38 AM   #234
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,395

Rep: Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122
Pipewire 0.3.47

https://gitlab.freedesktop.org/pipew.../-/tags/0.3.47
Code:
Highlights
- Fixes a bug in pulse-server that caused cached notifications to play multiple times. (#2142)
- Removed check and warnings to catch leaked listeners on the proxy. This might access invalid memory and cause infinite
loops in older wireplumber.
 
1 members found this post helpful.
Old 03-03-2022, 05:08 AM   #235
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,395

Rep: Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122
Pipewire 0.3.48

https://gitlab.freedesktop.org/pipew.../-/tags/0.3.48

Code:
Highlights
- Fix IEC958 passthrough again.
- Fix pulse-server crashes when playing a sample.
- Support for more a more advanced upmixing algorithm.
- filter-chain now supports arbitrary many ports.
- Fix multichannel support in WINE. (with new WirePlumber).
- Many bugfixes and improvements.
 
1 members found this post helpful.
Old 03-03-2022, 07:12 AM   #236
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,395

Rep: Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122
Quote:
Originally Posted by marav View Post
Thanks to Pat for his major improvements to the Pipewire integration in Slackware

Based on his scripts, I've made similar method to enable/disable wireplumber (as a replacement of pipewire-media-session)
with 2 scripts in /usr/sbin/ :
- wireplumber-enable.sh
- wireplumber-disable.sh

+ it's no longer necessary to write your own wireplumber.desktop, it's now included as wireplumber.desktop.sample

note: the addition of
Code:
X-KDE-autostart-after=pipewire
in wireplumber.desktop

https://gitlab.com/maravtdm/wireplumber-slackbuild

EDIT: Since wireplumber is, in a sense, part of pipewire, it is assumed that pulseaudio is already disabled in favor of pipewire
FYI
I updated wireplumber-enable/-disable scripts
So now wireplumber can be enabled only if pipewire is enabled.
 
1 members found this post helpful.
Old 03-05-2022, 12:49 PM   #237
daemonspudguy
LQ Newbie
 
Registered: Mar 2022
Location: This Universe
Distribution: Slackware64-current
Posts: 3

Rep: Reputation: 0
The wireplumber SlackBuild doesn't work for me on -current.

Code:
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/c4c5ca8e2215e5fc295b39af4504c43ed3fe176f
|
|From c4c5ca8e2215e5fc295b39af4504c43ed3fe176f Mon Sep 17 00:00:00 2001
|From: George Kiagiadakis <george.kiagiadakis@collabora.com>
|Date: Mon, 14 Feb 2022 10:38:51 +0200
|Subject: [PATCH] policy-bluetooth: fix string.find crash with nil string
|
|Fixes #193
|---
| src/scripts/policy-bluetooth.lua | 2 +-
| 1 file changed, 1 insertion(+), 1 deletion(-)
|
|diff --git a/src/scripts/policy-bluetooth.lua b/src/scripts/policy-bluetooth.lua
|index 24fbffbb..f8f69a14 100644
|--- a/src/scripts/policy-bluetooth.lua
|+++ b/src/scripts/policy-bluetooth.lua
--------------------------
patching file src/scripts/policy-bluetooth.lua
Using Plan A...
Hunk #1 succeeded at 118.
Hmm...  Ignoring the trailing garbage.
done
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/5f96f69218273573e625475846269b3914cfcecf
|
|From 5f96f69218273573e625475846269b3914cfcecf Mon Sep 17 00:00:00 2001
|From: George Kiagiadakis <george.kiagiadakis@collabora.com>
|Date: Wed, 9 Feb 2022 13:35:13 +0200
|Subject: [PATCH] restore-stream: do not crash if config.properties is nil
|
|Fixes #190
|---
| src/scripts/restore-stream.lua | 1 +
| 1 file changed, 1 insertion(+)
|
|diff --git a/src/scripts/restore-stream.lua b/src/scripts/restore-stream.lua
|index 404eede5..0c17bdd7 100644
|--- a/src/scripts/restore-stream.lua
|+++ b/src/scripts/restore-stream.lua
--------------------------
patching file src/scripts/restore-stream.lua
Using Plan A...
Hunk #1 succeeded at 10.
Hmm...  Ignoring the trailing garbage.
done
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/e429db7e8c266045aee25e153fb2308bd61fe233
|
|From e429db7e8c266045aee25e153fb2308bd61fe233 Mon Sep 17 00:00:00 2001
|From: Julian Bouzas <julian.bouzas@collabora.com>
|Date: Wed, 9 Feb 2022 07:59:59 -0500
|Subject: [PATCH] spa-json: fix va_list APIs for different architectures
|
|The va_list type might not always be a pointer in some architectures, so we
|cannot guarantee it will be modified after using it for a second time in another
|function. This fixes the issue by using macros so args does not get copied, and
|always gets modified when using it more than once.
|---
| lib/wp/spa-json.c | 156 ++++++++++++++++++++++++----------------------
| 1 file changed, 80 insertions(+), 76 deletions(-)
|
|diff --git a/lib/wp/spa-json.c b/lib/wp/spa-json.c
|index f14f395d..c5e59a3e 100644
|--- a/lib/wp/spa-json.c
|+++ b/lib/wp/spa-json.c
--------------------------
patching file lib/wp/spa-json.c
Using Plan A...
Hunk #1 succeeded at 363.
Hunk #2 succeeded at 724.
Hunk #3 succeeded at 825.
Hunk #4 succeeded at 1363.
Hunk #5 succeeded at 1419.
Hmm...  Ignoring the trailing garbage.
done
The Meson build system
Version: 0.61.2
Source dir: /tmp/wireplumber-0.4.8
Build dir: /tmp/wireplumber-0.4.8/meson-build
Build type: native build
Project name: wireplumber
Project version: 0.4.8
C compiler for the host machine: ccache cc (gcc 11.2.0 "cc (GCC) 11.2.0")
C linker for the host machine: cc ld.bfd 2.38-slack151
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Run-time dependency glib-2.0 found: YES 2.70.4
Run-time dependency gobject-2.0 found: YES 2.70.4
Run-time dependency gmodule-2.0 found: YES 2.70.4
Run-time dependency gio-2.0 found: YES 2.70.4
Run-time dependency gio-unix-2.0 found: YES 2.70.4
Run-time dependency libspa-0.2 found: YES 0.2
Run-time dependency libpipewire-0.3 found: YES 0.3.47
Library m found: YES
Run-time dependency threads found: YES
Found CMake: /usr/bin/cmake (3.22.2)
Run-time dependency lua-5.4 found: NO (tried pkgconfig and cmake)
Run-time dependency lua5.4 found: NO (tried pkgconfig and cmake)
Run-time dependency lua54 found: NO (tried pkgconfig and cmake)
Run-time dependency lua-5.3 found: YES $VERSION
Dependency systemd skipped: feature systemd disabled
Dependency libsystemd skipped: feature systemd disabled
Run-time dependency libelogind found: YES 246.10
Compiler for C supports arguments -fvisibility=hidden: YES 
Compiler for C supports arguments -Wsuggest-attribute=format: YES 
Compiler for C supports arguments -Wsign-compare: YES 
Compiler for C supports arguments -Wpointer-arith: YES 
Compiler for C supports arguments -Wpointer-sign: YES 
Compiler for C supports arguments -Wformat: YES 
Compiler for C supports arguments -Wformat-security: YES 
Compiler for C supports arguments -Wimplicit-fallthrough: YES 
Compiler for C supports arguments -Wmissing-braces: YES 
Compiler for C supports arguments -Wtype-limits: YES 
Compiler for C supports arguments -Wvariadic-macros: YES 
Compiler for C supports arguments -Wno-missing-field-initializers: YES 
Compiler for C supports arguments -Wno-unused-parameter: YES 
Compiler for C supports arguments -Wno-pedantic: YES 
Compiler for C supports arguments -Wold-style-declaration: YES 
Compiler for C supports arguments -Wunused-result: YES 
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Configuring wpversion.h using configuration
Found pkg-config: /usr/bin/pkg-config (0.29.2)
Program glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Program python3 found: NO (disabled by: doc )
Program python3 found: NO (disabled by: introspection )
Program sphinx-build skipped: feature doc disabled
Program g-ir-scanner skipped: feature introspection disabled
Program gdbus-codegen found: YES (/usr/bin/gdbus-codegen)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-mkenums found: YES (/usr/bin/glib-mkenums)
Program glib-compile-resources found: YES (/usr/bin/glib-compile-resources)
Program valgrind found: NO
Configuring wp-uninstalled.sh.in using configuration
Build targets in project: 55

wireplumber 0.4.8

    Lua version                    : $VERSION (system)
    systemd conf data              : NO
    libsystemd                     : NO
    libelogind                     : YES

  For documentation
    Python 3 Sphinx related modules: NO
    Doxygen                        : NO
    sphinx-build                   : NO

  For introspection
    Python 3 lxml module           : NO
    Doxygen                        : NO
    g-ir-scanner                   : NO

  User defined options
    bindir                         : /usr/bin
    datadir                        : /usr/share
    includedir                     : /usr/include
    libdir                         : lib64
    libexecdir                     : /usr/libexec
    prefix                         : /usr
    sbindir                        : /usr/sbin
    doc                            : disabled
    introspection                  : disabled
    system-lua                     : true
    systemd                        : disabled
    systemd-user-service           : false

Found ninja-1.10.2 at /usr/bin/ninja
[46/146] Compiling C object lib/wplua/libwplua-0.4.a.p/boxed.c.o
../lib/wplua/boxed.c: In function ‘_wplua_init_gboxed’:
../lib/wplua/boxed.c:69:3: warning: implicit declaration of function ‘luaL_setfuncs’; did you mean ‘lua_setfenv’? [-Wimplicit-function-declaration]
   69 |   luaL_setfuncs (L, gboxed_meta, 0);
      |   ^~~~~~~~~~~~~
      |   lua_setfenv
[47/146] Compiling C object lib/wplua/libwplua-0.4.a.p/object.c.o
../lib/wplua/object.c: In function ‘_wplua_init_gobject’:
../lib/wplua/object.c:207:3: warning: implicit declaration of function ‘luaL_setfuncs’; did you mean ‘lua_setfenv’? [-Wimplicit-function-declaration]
  207 |   luaL_setfuncs (L, gobject_meta, 0);
      |   ^~~~~~~~~~~~~
      |   lua_setfenv
[48/146] Compiling C object lib/wplua/libwplua-0.4.a.p/userdata.c.o
../lib/wplua/userdata.c: In function ‘_wplua_isgvalue_userdata’:
../lib/wplua/userdata.c:29:7: warning: implicit declaration of function ‘lua_rawlen’; did you mean ‘lua_rawset’? [-Wimplicit-function-declaration]
   29 |   if (lua_rawlen (L, idx) != sizeof (GValue))
      |       ^~~~~~~~~~
      |       lua_rawset
[51/146] Compiling C object lib/wplua/libwplua-0.4.a.p/closure.c.o
FAILED: lib/wplua/libwplua-0.4.a.p/closure.c.o 
ccache cc -Ilib/wplua/libwplua-0.4.a.p -Ilib/wplua -I../lib/wplua -Ilib -I../lib -Ilib/wp -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid '-I/usr/include/lua$MAJVER' -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O2 -g -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_62 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_62 -fvisibility=hidden -Wsuggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -O2 -fPIC -fPIC -pthread -D_GNU_SOURCE -DG_LOG_USE_STRUCTURED '-DG_LOG_DOMAIN="wplua"' -MD -MQ lib/wplua/libwplua-0.4.a.p/closure.c.o -MF lib/wplua/libwplua-0.4.a.p/closure.c.o.d -o lib/wplua/libwplua-0.4.a.p/closure.c.o -c ../lib/wplua/closure.c
../lib/wplua/closure.c: In function ‘_wplua_closure_marshal’:
../lib/wplua/closure.c:98:14: error: ‘LUA_OK’ undeclared (first use in this function); did you mean ‘LUA_QL’?
   98 |   if (res == LUA_OK && return_value) {
      |              ^~~~~~
      |              LUA_QL
../lib/wplua/closure.c:98:14: note: each undeclared identifier is reported only once for each function it appears in
[52/146] Compiling C object lib/wplua/libwplua-0.4.a.p/wplua.c.o
FAILED: lib/wplua/libwplua-0.4.a.p/wplua.c.o 
ccache cc -Ilib/wplua/libwplua-0.4.a.p -Ilib/wplua -I../lib/wplua -Ilib -I../lib -Ilib/wp -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid '-I/usr/include/lua$MAJVER' -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O2 -g -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_62 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_62 -fvisibility=hidden -Wsuggest-attribute=format -Wsign-compare -Wpointer-arith -Wpointer-sign -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wold-style-declaration -Wunused-result -O2 -fPIC -fPIC -pthread -D_GNU_SOURCE -DG_LOG_USE_STRUCTURED '-DG_LOG_DOMAIN="wplua"' -MD -MQ lib/wplua/libwplua-0.4.a.p/wplua.c.o -MF lib/wplua/libwplua-0.4.a.p/wplua.c.o.d -o lib/wplua/libwplua-0.4.a.p/wplua.c.o -c ../lib/wplua/wplua.c
../lib/wplua/wplua.c: In function ‘_wplua_openlibs’:
../lib/wplua/wplua.c:33:6: error: ‘LUA_UTF8LIBNAME’ undeclared (first use in this function); did you mean ‘LUA_STRLIBNAME’?
   33 |     {LUA_UTF8LIBNAME, luaopen_utf8},
      |      ^~~~~~~~~~~~~~~
      |      LUA_STRLIBNAME
../lib/wplua/wplua.c:33:6: note: each undeclared identifier is reported only once for each function it appears in
../lib/wplua/wplua.c:33:23: error: ‘luaopen_utf8’ undeclared (first use in this function); did you mean ‘luaopen_math’?
   33 |     {LUA_UTF8LIBNAME, luaopen_utf8},
      |                       ^~~~~~~~~~~~
      |                       luaopen_math
../lib/wplua/wplua.c:40:5: warning: implicit declaration of function ‘luaL_requiref’; did you mean ‘luaL_unref’? [-Wimplicit-function-declaration]
   40 |     luaL_requiref (L, lib->name, lib->func, 1);
      |     ^~~~~~~~~~~~~
      |     luaL_unref
../lib/wplua/wplua.c: In function ‘_wplua_errhandler’:
../lib/wplua/wplua.c:48:3: warning: implicit declaration of function ‘luaL_traceback’ [-Wimplicit-function-declaration]
   48 |   luaL_traceback (L, L, NULL, 1);
      |   ^~~~~~~~~~~~~~
../lib/wplua/wplua.c: In function ‘_wplua_pcall’:
../lib/wplua/wplua.c:58:13: error: ‘LUA_OK’ undeclared (first use in this function); did you mean ‘LUA_QL’?
   58 |   int ret = LUA_OK;
      |             ^~~~~~
      |             LUA_QL
In file included from ../lib/wplua/wplua.h:14,
                 from ../lib/wplua/wplua.c:9:
../lib/wplua/wplua.c: In function ‘_wplua_load_buffer’:
../lib/wplua/wplua.c:187:7: error: void value not ignored as it ought to be
  187 |   if (lua_getglobal (L, "sandbox") == LUA_TFUNCTION)
      |       ^~~~~~~~~~~~~
../lib/wplua/wplua.c:200:14: error: ‘LUA_OK’ undeclared (first use in this function); did you mean ‘LUA_QL’?
  200 |   if (ret != LUA_OK) {
      |              ^~~~~~
      |              LUA_QL
../lib/wplua/wplua.c:208:3: warning: implicit declaration of function ‘lua_rotate’ [-Wimplicit-function-declaration]
  208 |   lua_rotate (L, args_top, -nargs);
      |   ^~~~~~~~~~
[54/146] Compiling C object lib/wplua/libwplua-0.4.a.p/value.c.o
../lib/wplua/value.c: In function ‘wplua_table_to_properties’:
../lib/wplua/value.c:18:15: warning: implicit declaration of function ‘lua_absindex’ [-Wimplicit-function-declaration]
   18 |   int table = lua_absindex (L, idx);
      |               ^~~~~~~~~~~~
../lib/wplua/value.c:23:11: warning: implicit declaration of function ‘luaL_tolstring’; did you mean ‘lua_tolstring’? [-Wimplicit-function-declaration]
   23 |     key = luaL_tolstring (L, -2, NULL);
      |           ^~~~~~~~~~~~~~
      |           lua_tolstring
../lib/wplua/value.c:23:9: warning: assignment to ‘const gchar *’ {aka ‘const char *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   23 |     key = luaL_tolstring (L, -2, NULL);
      |         ^
../lib/wplua/value.c:24:11: warning: assignment to ‘const gchar *’ {aka ‘const char *’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
   24 |     value = luaL_tolstring (L, -2, NULL);
      |           ^
../lib/wplua/value.c: In function ‘wplua_lua_to_gvariant’:
../lib/wplua/value.c:65:9: warning: implicit declaration of function ‘lua_isinteger’; did you mean ‘lua_tointeger’? [-Wimplicit-function-declaration]
   65 |     if (lua_isinteger (L, idx))
      |         ^~~~~~~~~~~~~
      |         lua_tointeger
../lib/wplua/value.c: In function ‘wplua_gvariant_to_lua’:
../lib/wplua/value.c:140:27: warning: implicit declaration of function ‘lua_tointegerx’; did you mean ‘lua_tointeger’? [-Wimplicit-function-declaration]
  140 |         lua_Integer num = lua_tointegerx (L, -1, &isnum);
      |                           ^~~~~~~~~~~~~~
      |                           lua_tointeger
../lib/wplua/value.c:158:7: warning: implicit declaration of function ‘lua_seti’; did you mean ‘luaL_setn’? [-Wimplicit-function-declaration]
  158 |       lua_seti (L, -2, i + 1);
      |       ^~~~~~~~
      |       luaL_setn
[55/146] Compiling C object modules/libwireplumber-module-metadata.so.p/module-metadata.c.o
ninja: build stopped: subcommand failed.
 
Old 03-05-2022, 01:19 PM   #238
bl0tt0
Member
 
Registered: Aug 2005
Location: The Glorious People's Republic of Austin
Posts: 178

Rep: Reputation: 62
I just discovered this while digging into why sound was so terrible on my bluetooth headset, but pipewire needs to be compiled with libfdk-aac installed in order to support the AAC codec. Stock Slackware has just the SBC Bluetooth audio codec included.

The libfdk-aac library available from SBo is auto-detected when rebuilding from the pipewire.SlackBuild script.
 
1 members found this post helpful.
Old 03-05-2022, 01:27 PM   #239
marav
LQ Sage
 
Registered: Sep 2018
Location: Gironde
Distribution: Slackware
Posts: 5,395

Rep: Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122Reputation: 4122
Quote:
Originally Posted by daemonspudguy View Post
The wireplumber SlackBuild doesn't work for me on -current.
you must install lua >=5.3 as mentioned in the requirements

SBo:
https://cgit.ponce.cc/slackbuilds/pl...lopment/lua53/

AlienBob or Corrado Franco provide a .txz
https://slack.conraid.net/repository...x86_64-1cf.txz
https://slackware.nl/people/alien/sb..._64-1alien.txz

Last edited by marav; 03-05-2022 at 01:54 PM. Reason: typo
 
1 members found this post helpful.
Old 03-05-2022, 10:01 PM   #240
adcdam
Member
 
Registered: Aug 2020
Location: Berisso, Argentina
Distribution: Slackware
Posts: 255

Rep: Reputation: 205Reputation: 205Reputation: 205
deleted.

Last edited by adcdam; 03-05-2022 at 10:23 PM.
 
  


Reply

Tags
pipewire, pulseaudio



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Pipewire pulseaudio emulation without pulseaudio installed (works) adcdam Slackware 18 04-02-2021 01:34 AM
Plasma 5.20 Beta? It is rock solid, excluding the taskbar thumbnails on Wayland - or rather because Pipewire needs "per user" init scripts LuckyCyborg Slackware 3 09-21-2020 02:50 PM
LXer: This Week in Linux 94: Mesa 20, PipeWire, Linux Be Scary, MyPaint, GTK, Microsoft Defender LXer Syndicated Linux News 0 02-26-2020 07:23 PM
LXer: Improved multimedia support with Pipewire in Fedora 27 LXer Syndicated Linux News 0 09-20-2017 02:54 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 07:58 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration