13.2 amd64. Previous version work fine, but 23.08.0 can't detect mixers: ============================================================ $ kmix --multidriver percent 5 -> divisor 20 org.kde.kmix: Backends from settings = () org.kde.kmix: Multi driver mode from settings = false org.kde.kmix: Multi driver mode from command line = true org.kde.kmix: true org.kde.kmix: org.kde.kmix: Starting KMix using keepvisibility= false , failsafe= false , sessionRestore= false org.kde.kmix: Creating new KMix window org.kde.kmix: card "OSS::Realtek_ALC883_(Rear_Analog_7.1:1" control "0" preferred? true org.kde.kmix: multiDriverMode = MULTI org.kde.kmix: Sound drivers supported = ALSA,OSS4,MPRIS2 org.kde.kmix: Looking for mixers with the "ALSA" driver org.kde.kmix: "Trying ALSA Device 'hw:0': " not found: snd_ctl_open err= No such file or directory org.kde.kmix: Looking for mixers with the "OSS4" driver org.kde.kmix: Looking for mixers with the "MPRIS2" driver org.kde.kmix: cardBaseName= "Application Streams" cardDiscriminator= 1 org.kde.kmix: Get control of busDestination= "org.mpris.MediaPlayer2.smplayer" id= "smplayer" org.kde.kmix: MPRIS2: Attached media player on busDestination= "org.mpris.MediaPlayer2.smplayer" org.kde.kmix: opened "Application Streams" count 0 dynamic? true needsPolling? false org.kde.kmix: No master detected but dynamic org.kde.kmix: Create QDBusConnection for object "/Mixers/MPRIS2__Playback_Streams_1" org.kde.kmix: Added mixer "MPRIS2::Playback_Streams:1" org.kde.kmix: Accepted mixer "MPRIS2::Playback_Streams:1" for the "MPRIS2" driver org.kde.kmix: Sound drivers detected = MPRIS2 org.kde.kmix: Sound drivers used = ALSA,MPRIS2 org.kde.kmix: Hotplug events accepted = ALSA org.kde.kmix: Total detected mixers 1 org.kde.kmix: Connecting to Solid QKqueueFileSystemWatcherEngine::addPaths: open: No such file or directory org.kde.kmix: Searching for GUI profile "MPRIS2.default" org.kde.kmix: reading "/usr/local/share/kmix/profiles/MPRIS2.default.xml" org.kde.kmix: "Application Streams MPRIS2.default" org.kde.kmix: I have added "MPRIS2.default" ; Number of profiles is now 1 org.kde.kmix: Add "MPRIS2.default" org.kde.kmix: id "MPRIS2.default" flags QFlags(0x1|0x2) org.kde.kmix: "MPRIS2.default" orientation Qt::Vertical org.kde.kmix: KMixToolBox::loadView() grp= "View.MPRIS2.default" org.kde.kmix: No global master, returning the first device org.kde.kmix: id "dockArea" flags QFlags() org.kde.kmix: "dockArea" orientation Qt::Vertical adding 1 mixers mixer "MPRIS2::Playback_Streams:1" "Application Streams" org.kde.kmix: No global master, returning the first device org.kde.kmix: No global master, returning the first device org.kde.kmix: No global master, returning the first device org.kde.kmix: No global master, returning the first device org.kde.kmix: Checking KDED "kmixd" module org.kde.kmix: KDED module checks done org.kde.kmix: Plugging id= "smplayer" , busDestination "org.mpris.MediaPlayer2.smplayer" , name= "smplayer" org.kde.kmix: no desktop file or known icon for "smplayer" got icon "smplayer" for application "SMPlayer" for "SMPlayer" icon "smplayer" org.kde.kmix: no desktop file or known icon for "smplayer" org.kde.kmix: "MPRIS2.default" orientation Qt::Vertical org.kde.kmix: "dockArea" orientation Qt::Vertical adding 1 mixers mixer "MPRIS2::Playback_Streams:1" "Application Streams" org.kde.kmix: No global master, returning the first device org.kde.kmix: No global master, returning the first device ============================================================ In GUI it show Applications only, but not any channels. Sound work as before - input and output, in firefox, smplayer and etc. All ports build locally withput pulseaudio. $ ls -l /dev/dsp* /dev/sndstat /dev/mixer* crw-rw-rw- 1 root wheel 0x104 31 авг. 14:18 /dev/dsp0.0 crw-rw-rw- 1 root wheel 0xfd 30 авг. 19:23 /dev/dsp1.0 crw-rw-rw- 1 root wheel 0xfe 30 авг. 19:23 /dev/dsp2.0 crw-rw-rw- 1 root wheel 0x100 30 авг. 19:23 /dev/dsp3.0 crw-rw-rw- 1 root wheel 0xff 30 авг. 19:23 /dev/dsp4.0 crw-rw-rw- 1 root wheel 0x43 30 авг. 19:19 /dev/mixer0 crw-rw-rw- 1 root wheel 0x5b 30 авг. 19:19 /dev/mixer1 crw-rw-rw- 1 root wheel 0x5c 30 авг. 19:19 /dev/mixer2 crw-rw-rw- 1 root wheel 0x5d 30 авг. 19:19 /dev/mixer3 crw-rw-rw- 1 root wheel 0x96 30 авг. 19:19 /dev/mixer4 crw-r--r-- 1 root wheel 0xa 30 авг. 19:19 /dev/sndstat $ cat /dev/sndstat Installed devices: pcm0: <Creative CT5880-C> (play/rec) default pcm1: <Realtek ALC883 (Rear Analog 7.1/2.0)> (play/rec) pcm2: <Realtek ALC883 (Front Analog)> (play/rec) pcm3: <Realtek ALC883 (Rear Digital)> (play) pcm4: <USB audio> (rec) No devices installed from userspace. $ pkg info | grep phonon phonon-gstreamer-qt5-4.10.0_5 GStreamer backend for Phonon phonon-qt5-4.11.1_3 KDE multimedia framework KMix: https://ibb.co/fSTck76 https://ibb.co/Fb8nxQf https://ibb.co/JCfBcjG phononsettings: https://ibb.co/DfkhCK9 systemsettings: https://ibb.co/MGYBW97
Same problem here. In the tray it shows a tooltip with "No mixer devices available".
Same here. In addition, I use a setup without pulseaudio: x11/plasma5-plasma has PULSEAUDIO=off. -- Martin
This is probably interesting: https://invent.kde.org/multimedia/kmix/-/blob/master/README.oss4?ref_type=heads
If I just copy the following to /tmp [0]% ll /tmp/*mix* -rwxr-xr-x 1 root wheel 412368 17 Sep. 10:59 /tmp/kmix -rwxr-xr-x 1 root wheel 287648 7 Aug. 20:02 /tmp/libkmixcore.so.23.04.3 lrwxr-xr-x 1 root wheel 22 17 Sep. 11:01 /tmp/libkmixcore.so.5 -> libkmixcore.so.23.04.3 [0]% then I can start a functioning kmix using LD_LIBRARY_PATH=/tmp /tmp/kmix All the rest is KDE Gear 23.08.1 and latest ports, in general. Therefore, not much else besides kmix itself seems to be wrong. -- Martin
Starting the old and the new kmix with stdout and stderr redirected to logfiles, and then diffing the logfiles, yields only a very small difference: 2,6d1 < org.kde.kmix: Mixer id was empty when creating DBUS path. Emergency code created the id= "OSS:::1" < org.kde.kmix: Mixer id was empty when creating DBUS path. Emergency code created the id= "OSS:::1" < org.kde.kmix: Mixer id was empty when creating DBUS path. Emergency code created the id= "OSS:::1" < org.kde.kmix: Mixer id was empty when creating DBUS path. Emergency code created the id= "OSS:::1" < org.kde.kmix: Mixer id was empty when creating DBUS path. Emergency code created the id= "OSS:::1" 7a3,4 > adding 1 mixers > mixer "MPRIS2::Playback_Streams:1" "Flux pour applications" -- Martin
(In reply to Martin Birgmeier from comment #4) To clarify the /tmp/kmix shown, it is the 23.04.3 version. Forgot to specify -p when copying it from the backup. -- Martin
(In reply to Martin Birgmeier from comment #6) After read commit https://invent.kde.org/multimedia/kmix/-/commit/dbf2ddad I created this "hack" and it fixed (partially?) the issue: --- CMakeLists.txt.orig +++ CMakeLists.txt @@ -126,7 +126,7 @@ if (${TEST_COMPILE_RESULT} AND (${TEST_RUN_RESULT} EQUAL 0)) message(STATUS "Detected OSS version ${TEST_RESULT_VERSION}") - if (${TEST_RESULT_VERSION} GREATER_EQUAL 0x040000) + if (${TEST_RESULT_VERSION} GREATER_EQUAL 0x050000) message(STATUS "Building with OSS 4 support") set(HAVE_OSS_4 true) add_definitions(-DHAVE_OSS_4) So it detects OSS4, but it isn't compatible with OSS in FreeBSD and fallback to OSS3 is a possible temporary workaround.
Same for 23.08.2 and my workaround work too.
Created attachment 245894 [details] Port patch The OSS4 backend doesn't work on FreeBSD, it uses many IOCTL that are not supported, I don't think it can be patched to make it working, using OSS3 seems the right thing. kmix tries to use other backends first (ALSA for sure, PulseAudio optionally), but fallback to OSS if it cannot find a working mixer, that is what's happening. Jonathan Marten <jonathan.marten@kdemail.net> should be alerted about it: https://invent.kde.org/multimedia/kmix/-/blob/da4dff77f9db4fac5c8157472c45126751825a04/README.oss4 Anyway, my patch simply revert to the previous situation, disabling OSS4 unconditionally and enabling OSS3.
Same for 23.08.3.
Same for 23.08.4.
ping
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=35b5dec477c73d1f3c81d00cdabd027c78040637 commit 35b5dec477c73d1f3c81d00cdabd027c78040637 Author: Jason E. Hale <jhale@FreeBSD.org> AuthorDate: 2024-01-10 00:11:27 +0000 Commit: Jason E. Hale <jhale@FreeBSD.org> CommitDate: 2024-01-10 00:18:22 +0000 audio/kmix: Fix OSS backend support PR: 273476 Reported by: vvd MFH: 2024Q1 audio/kmix/Makefile | 1 + audio/kmix/files/patch-CMakeLists.txt (new) | 16 ++++++++++++++++ 2 files changed, 17 insertions(+)
A commit in branch 2024Q1 references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=17292fe162db8385371feb6a5686db6882846d2d commit 17292fe162db8385371feb6a5686db6882846d2d Author: Jason E. Hale <jhale@FreeBSD.org> AuthorDate: 2024-01-10 00:11:27 +0000 Commit: Jason E. Hale <jhale@FreeBSD.org> CommitDate: 2024-01-10 00:19:24 +0000 audio/kmix: Fix OSS backend support PR: 273476 Reported by: vvd MFH: 2024Q1 (cherry picked from commit 35b5dec477c73d1f3c81d00cdabd027c78040637) audio/kmix/Makefile | 1 + audio/kmix/files/patch-CMakeLists.txt (new) | 16 ++++++++++++++++ 2 files changed, 17 insertions(+)
Should be fixed now.
(In reply to Jason E. Hale from comment #15) Thanks! Can you send patch to upstream?