Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4.3.1 GTK] Global hotkeys plugin crash on enable when using Wayland #1388

Closed
FM33 opened this issue May 21, 2024 · 5 comments
Closed

[4.3.1 GTK] Global hotkeys plugin crash on enable when using Wayland #1388

FM33 opened this issue May 21, 2024 · 5 comments
Labels
Bug Something isn't working
Milestone

Comments

@FM33
Copy link

FM33 commented May 21, 2024

Describe the bug
Global hotkeys plugin crash on enable.

Steps to reproduce
Open preferences, plugins, check global hotkeys

Additional information

  • Audacious 4.3.1, Winamp interface
  • Ubuntu 24.04
  • Gnome 46 on Wayland
INFO ../src/audacious/dbus-server.cc:1132 [name_acquired]: Owned D-Bus name (org.atheme.audacious) on session bus.
INFO ../src/audacious/main.cc:399 [main]: No remote session; starting up.
INFO ../src/libaudcore/probe-buffer.cc:30 [ProbeBuffer]: <0x60bc094a0b40> buffering enabled for /home/fabien/.config/audacious/config
INFO ../src/libaudcore/vfs.cc:105 [VFSFile]: <0x60bc094a0b40> open (mode r) /home/fabien/.config/audacious/config
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Transport/gio.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Transport/mms.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Transport/neon.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Container/xspf.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Container/asx.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Container/asx3.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Container/m3u.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Container/audpl.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Container/pls.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Container/cue.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/ffaudio.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/sndfile.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/xsf.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/metronom.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/openmpt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/psf2.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/wavpack.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/cdaudio-ng.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/console.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/sid.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/flacng.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/modplug.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/madplug.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/aac-raw.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/amidi-plug.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/vorbis.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/tonegen.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/vtx.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Input/opus.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Output/filewriter.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Output/pipewire.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Output/jack-ng.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Output/oss4.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Output/pulse_audio.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Output/alsa.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Output/sdlout.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Output/sndio-ng.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/crossfade.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/stereo.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/compressor.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/ladspa.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/resample.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/sox-resampler.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/mixer.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/voice_removal.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/silence-removal.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/bitcrusher.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/echo.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/crystalizer.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/bs2b.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Effect/speed-pitch.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/song-info-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/skins.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/notify.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/qthotkey.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/aosd.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/playlist-manager.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/gtkui.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/playlist-manager-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/lirc.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/statusicon.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/qtui.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/cd-menu-items.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/search-tool.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/hotkey.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/song_change.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/albumart-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/scrobbler.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/albumart.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/skins-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/lyricwiki-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/statusicon-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/delete-files.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/search-tool-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/General/mpris2.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Visualization/blur_scope.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Visualization/cairo-spectrum.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Visualization/gl-spectrum-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Visualization/vumeter-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Visualization/gl-spectrum.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Visualization/blur_scope-qt.so
INFO ../src/libaudcore/plugin-registry.cc:546 [plugin_register]: Register plugin: /usr/lib/x86_64-linux-gnu/audacious/Visualization/qt-spectrum.so
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: blur_scope-qt
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: gl-spectrum-qt
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: qt-spectrum
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: vumeter-qt
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: albumart-qt
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: qthotkey
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: lyricwiki-qt
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: playlist-manager-qt
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: search-tool-qt
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: song-info-qt
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: statusicon-qt
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: qtui
INFO ../src/libaudcore/plugin-registry.cc:436 [operator()]: Incompatible plugin flags: skins-qt
INFO ../src/libaudcore/plugin-init.cc:133 [start_required]: Starting selected output plugin PipeWire Output.
INFO ../src/libaudcore/plugin-load.cc:64 [plugin_load]: Loading plugin: /usr/lib/x86_64-linux-gnu/audacious/Output/pipewire.so.
INFO ../src/libaudcore/probe-buffer.cc:30 [ProbeBuffer]: <0x60bc094b8880> buffering enabled for /home/fabien/.config/audacious/playlists/order
INFO ../src/libaudcore/vfs.cc:105 [VFSFile]: <0x60bc094b8880> open (mode r) /home/fabien/.config/audacious/playlists/order
INFO ../src/libaudcore/playlist-files.cc:49 [playlist_load]: Loading playlist file:///home/fabien/.config/audacious/playlists/1000.audpl.
INFO ../src/libaudcore/playlist-files.cc:62 [playlist_load]: Trying playlist plugin Audacious Playlists (audpl).
INFO ../src/libaudcore/plugin-load.cc:64 [plugin_load]: Loading plugin: /usr/lib/x86_64-linux-gnu/audacious/Container/audpl.so.
INFO ../src/libaudcore/probe-buffer.cc:30 [ProbeBuffer]: <0x60bc094b93d0> buffering enabled for file:///home/fabien/.config/audacious/playlists/1000.audpl
INFO ../src/libaudcore/vfs.cc:105 [VFSFile]: <0x60bc094b93d0> open (mode r) file:///home/fabien/.config/audacious/playlists/1000.audpl
INFO ../src/libaudcore/plugin-init.cc:188 [start_plugins]: Starting Audio CD Menu Items.
INFO ../src/libaudcore/plugin-load.cc:64 [plugin_load]: Loading plugin: /usr/lib/x86_64-linux-gnu/audacious/General/cd-menu-items.so.
INFO ../src/libaudcore/plugin-init.cc:188 [start_plugins]: Starting MPRIS 2 Server.
INFO ../src/libaudcore/plugin-load.cc:64 [plugin_load]: Loading plugin: /usr/lib/x86_64-linux-gnu/audacious/General/mpris2.so.
INFO ../src/libaudcore/plugin-init.cc:133 [start_required]: Starting selected interface plugin Winamp Classic Interface.
INFO ../src/libaudcore/plugin-load.cc:64 [plugin_load]: Loading plugin: /usr/lib/x86_64-linux-gnu/audacious/General/skins.so.
INFO ../src/libaudcore/interface.cc:70 [interface_load]: Loading Winamp Classic Interface.
INFO ../src/libaudcore/probe-buffer.cc:30 [ProbeBuffer]: <0x60bc094e4180> buffering enabled for /usr/share/audacious/Skins/Default/skin.hints
INFO ../src/libaudcore/vfs.cc:105 [VFSFile]: <0x60bc094e4180> open (mode r) /usr/share/audacious/Skins/Default/skin.hints
INFO ../src/libaudcore/probe-buffer.cc:30 [ProbeBuffer]: <0x60bc094dc030> buffering enabled for /usr/share/audacious/Skins/Default/pledit.txt
INFO ../src/libaudcore/vfs.cc:105 [VFSFile]: <0x60bc094dc030> open (mode r) /usr/share/audacious/Skins/Default/pledit.txt
INFO ../src/libaudcore/probe-buffer.cc:30 [ProbeBuffer]: <0x60bc094e4180> buffering enabled for /usr/share/audacious/Skins/Default/viscolor.txt
INFO ../src/libaudcore/vfs.cc:105 [VFSFile]: <0x60bc094e4180> open (mode r) /usr/share/audacious/Skins/Default/viscolor.txt
INFO ../src/libaudcore/plugin-init.cc:288 [enable_multi]: Enabling Global Hotkeys.
INFO ../src/libaudcore/plugin-load.cc:64 [plugin_load]: Loading plugin: /usr/lib/x86_64-linux-gnu/audacious/General/hotkey.so.
Erreur de segmentation (core dumped)

Note : Qt mode is broken (at least in that context). Switching to it is not a solution.
(Can't open playlist window menus, can't check the box to enable plugin in preferences)

@FM33 FM33 added the Bug Something isn't working label May 21, 2024
@radioactiveman radioactiveman changed the title [4.3.1 GTK] Global hotkeys plugin crash on enable [4.3.1 GTK] Global hotkeys plugin crash on enable when using Wayland May 23, 2024
@radioactiveman
Copy link
Member

The Global Hotkeys plugin relies on X11. It does not and will not work with Wayland.
You can start Audacious via XWayland with GDK_BACKEND=x11 audacious.

The plugin should not crash though. We should implement a check to avoid this.

@FM33
Copy link
Author

FM33 commented May 25, 2024

Thanks for your reply. Unfortunately, they work only when audacious has focus. I worked around some by assigning commands from audacious --help to gnome settings shortcuts, but it's missing seeking back/forward and volume.

@radioactiveman
Copy link
Member

audtool supports more commands, also seeking and changing the volume.

@FM33
Copy link
Author

FM33 commented May 25, 2024

Perfect, many thanks. I wrote a few-line script to workaround the lack of relative volume setting:

#!/bin/bash

actualvol=$(audtool get-volume)
newvol=$actualvol

if [ "$1" = "up" ]; then
   newvol=$(($actualvol+5))
fi

if [ "$1" = "down" ]; then
   newvol=$(($actualvol-5))
fi

audtool set-volume $newvol
exit 0

If anyone is interested, I noticed that gnome shortcuts doesn't recognize "~" variable for home folder. It needs to be plain path:

/home/user/script_name up
/home/user/script_name down

@radioactiveman
Copy link
Member

The Global Hotkeys plugin relies on X11. It does not and will not work with Wayland. You can start Audacious via XWayland with GDK_BACKEND=x11 audacious.

The plugin should not crash though. We should implement a check to avoid this.

Implemented with audacious-media-player/audacious-plugins@08c2f6a. Thanks for reporting.

@radioactiveman radioactiveman added this to the 4.4 milestone May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants