FS#43791 - Plasma5: Sound issues: phonon4qt5_backend in the wrong directory

Attached to Project: Arch Linux
Opened by Georg Grabler (STiAT) - Wednesday, 11 February 2015, 22:15 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 12 February 2015, 18:23 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture x86_64
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
I tried to install plasma5 - well, I'm actually using it (by the way, good experience there, lean and not many deps).

I have issues getting my sound system working, hence, my audio devices are not found. The output of systemsettings is:
$ systemsettings5
kf5.kservice.sycoca: Trying to open ksycoca from "/home/schurl/.cache/ksycoca5"
"/home/schurl/.config/kde.org/libphonon.conf"
libpaths ("/usr/lib/qt5/plugins", "/usr/lib/qt/plugins", "/usr/bin")
void BackendSelection::load() "/usr/lib/qt/plugins/phonon4qt5_backend" does not exist
void BackendSelection::load() "/usr/bin/phonon4qt5_backend" does not exist
qooooooooo
Disabling PulseAudio integration. Context connection failed: Connection refused
"/home/schurl/.config/kde.org/libphonon.conf"
libpaths ("/usr/lib/qt5/plugins", "/usr/lib/qt/plugins", "/usr/bin")
void BackendSelection::load() "/usr/lib/qt/plugins/phonon4qt5_backend" does not exist
void BackendSelection::load() "/usr/bin/phonon4qt5_backend" does not exist
qooooooooo
qooooooooo

Fact is, that phonon4qt5 seems to be be built having the wrong directory in mind, since it's the only one using a "qt5" prefix instead of "qt", and if I remember properly, in the past the "qt" was a symlink to either "qt4" or "qt5" depending on the "default-chooser".
$ find /usr/lib/qt5
/usr/lib/qt5
/usr/lib/qt5/plugins
/usr/lib/qt5/plugins/phonon4qt5_backend
/usr/lib/qt5/plugins/phonon4qt5_backend/phonon_gstreamer.so

Maybe this package got lost after switching to qt5 as default?

Additional info:
I am using a fresh Arch install - maybe i'm missing a symlink or something (?).

* package version(s)
$ pacman -Ss phonon-qt5
extra/phonon-qt5 4.8.3-1 [installed]
The multimedia framework for KF5
extra/phonon-qt5-gstreamer 4.8.2-1 [installed]
Phonon GStreamer backend for Qt5

Interesting is the part libpaths ("/usr/lib/qt5/plugins" though, since that's exactly where it's located, but it seems not to look there for the backend.

Happy to provide any help I can.
This task depends upon

Closed by  Doug Newgard (Scimmia)
Thursday, 12 February 2015, 18:23 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#43630 
Comment by Antonio Rojas (arojas) - Wednesday, 11 February 2015, 22:27 GMT
The phonon plugins installation directory is hardcoded upstream, see https://bugs.kde.org/show_bug.cgi?id=340126
This shouldn't affect functionality though, phonon-qt5 is working correctly for me. Your issue must be caused by something else.
Comment by Georg Grabler (STiAT) - Thursday, 12 February 2015, 00:04 GMT
Three reasons I would not dismiss this:
- It's a fresh install. I only installed plasma, and did even manually install alsa-utils and alsa-tools
- "Working correclty for me" is not really a reason to me. It does not work correclty on a fresh install. And I did install it multiple times.
- The error messages show that the backend plugins are not found.

For debugging:
- Could you call systemsettings5 in konsole/xterm/whatever you use, and give the output if there is any console output telling that devices were found?

Fact is, that the backend is defintiely the only library in a directory NOT being used by any other library.

When it's hardcoded, and in the wrong directory, it's still a reason not to work on a fresh install, if you have legacy links or similar. And the bug report you linked clearly shows that Harald is pointing exactly that direction.
Comment by Antonio Rojas (arojas) - Thursday, 12 February 2015, 07:30 GMT
I didn't say that this isn't an issue and should be dismissed, I only said that your assumption that it's caused by the installation directory is wrong, and the fact that it's working for me *is* a reason for that (if this were caused by the installation directory, it wouldn't work for anybody). I don't see how you can have legacy links on a fresh install. Quoting the upstream developer in the bug report I linked: "plugin lookup happens completely opaquely inside libphonon there is absolutely no reason why it would put the plugins in a global qt plugin directory", which means that the installation dir doesn't matter at all.

My debug output is exactly the same as yours, and looks correct to me: it's looking in the three paths "/usr/lib/qt5/plugins", "/usr/lib/qt/plugins", "/usr/bin", and it doesn't find anything in the last two, but doesn't throw any error about the first one.
Comment by Antonio Rojas (arojas) - Thursday, 12 February 2015, 07:37 GMT
Sorry, it's not exactly the same: I don't get the line "Disabling PulseAudio integration. Context connection failed: Connection refused". Do you have pulseaudio installed?
Comment by Georg Grabler (STiAT) - Thursday, 12 February 2015, 11:55 GMT
I do not have pulse installed at the moment, but it is the same result with or without pulse, except for the error message not showing and that Pulse does find the devices, but not where I configure the device priority, but where I can configure /test the devices (there appears a new tab when Pulse is installed).

kf5.kservice.sycoca: Trying to open ksycoca from "/home/schurl/.cache/ksycoca5"
"/home/schurl/.config/kde.org/libphonon.conf"
libpaths ("/usr/lib/qt5/plugins", "/usr/lib/qt/plugins", "/usr/bin")
void BackendSelection::load() "/usr/lib/qt/plugins/phonon4qt5_backend" does not exist
void BackendSelection::load() "/usr/bin/phonon4qt5_backend" does not exist
qooooooooo
"/home/schurl/.config/kde.org/libphonon.conf"
libpaths ("/usr/lib/qt5/plugins", "/usr/lib/qt/plugins", "/usr/bin")
void BackendSelection::load() "/usr/lib/qt/plugins/phonon4qt5_backend" does not exist
void BackendSelection::load() "/usr/bin/phonon4qt5_backend" does not exist
qooooooooo
qooooooooo
context_state_callback "Terminated"
context_state_callback "Terminated"
context_state_callback "Terminated"
Doing update 0
Got info about card "GF114 HDMI Audio Controller"
Doing update 0
Got info about card "Built-in Audio"
Doing update 0
Got info about card "HP Premium Digital Headset"
Got info about sink "GF114 HDMI Audio Controller Digital Stereo (HDMI)"
Got info about sink "Built-in Audio Analog Stereo"
Got info about sink "HP Premium Digital Headset Analog Stereo"
"Want ID: No; Have ID: No"
Got info about source "Built-in Audio Analog Stereo"
Got info about source "HP Premium Digital Headset Analog Mono"
"Want ID: No; Have ID: No"
"Updating ports for device 'GF114 HDMI Audio Controller Digital Stereo (HDMI)' (1 ports available)"
QObject::connect: signal not found in TestSpeakerWidget
QObject::connect: signal not found in TestSpeakerWidget
Doing update 0
"Updating ports for device 'GF114 HDMI Audio Controller Digital Stereo (HDMI)' (1 ports available)"
QObject::connect: signal not found in TestSpeakerWidget
QObject::connect: signal not found in TestSpeakerWidget

So in the device preference it does not show, but in the audio hardware setup it does. Though, kmix does find the devices - what's pretty strange. But I doubt it's an upstream bug, since it works just fine on other distros.
Comment by Georg Grabler (STiAT) - Thursday, 12 February 2015, 16:38 GMT
I dabbled around more, and rebuilt a few packages (phonon, systemsettings, phonon-gstreamer) with different options, which brought no result either. I personally think that this part depends on phonon for listing the devices, but I'm not sure about it. If it works in other distros and on other computers in arch, there certainly is a different issue. I still guess there is something missing I'd have to install (usually, other distributions come with more "crap" ;-)).
Comment by Antonio Rojas (arojas) - Thursday, 12 February 2015, 16:43 GMT
Can you try the KDE4 version of the KCM (you can run it with "kcmshell4 kcm_phonon") and see if it works there? That way we can figure out it it's a Qt5/KF5 issue or not.

Loading...