Closed SebastianStork closed 5 months ago
Just to confirm, without changing XDG_CONFIG_HOME
presets can be saved and loaded perfectly?
Also, it would be helpful if you could provide more of the log output after the presets_manager.cpp:574 successfully loaded preset
line
Just to confirm, without changing
XDG_CONFIG_HOME
presets can be saved and loaded perfectly?
Yes, it works fine without.
Also, it would be helpful if you could provide more of the log output after the presets_manager.cpp:574 successfully loaded preset line
Sorry, I was in too impatient to wait for the logs after to appear. Here are all the logs including the ones that appear before and after selecting the preset.
These messages seem to reflect the main symptom of no audio:
(easyeffects:158569): easyeffects-DEBUG: 21:21:49.983: stream_output_effects.cpp:172 At least one app linked to our device wants to play. Linking our filters. (easyeffects:158569): easyeffects-DEBUG: 21:21:49.983: stream_output_effects.cpp:208 No output device set. Aborting the link (easyeffects:158569): easyeffects-DEBUG: 21:21:49.983: stream_output_effects.cpp:172 At least one app linked to our device wants to play. Linking our filters. (easyeffects:158569): easyeffects-DEBUG: 21:21:49.983: stream_output_effects.cpp:208 No output device set. Aborting the link (easyeffects:158569): easyeffects-DEBUG: 21:21:49.983: stream_output_effects.cpp:172 At least one app linked to our device wants to play. Linking our filters. (easyeffects:158569): easyeffects-DEBUG: 21:21:49.983: stream_output_effects.cpp:208 No output device set. Aborting the link (easyeffects:158569): easyeffects-DEBUG: 21:21:49.983: stream_output_effects.cpp:172 At least one app linked to our device wants to play. Linking our filters. (easyeffects:158569): easyeffects-DEBUG: 21:21:49.983: stream_output_effects.cpp:208 No output device set. Aborting the link
After you load a preset with XDG_CONFIG_HOME
set, what are the settings on the general page of the PipeWire tab set to? In particular, the settings about input and output devices and using defaults.
I think I never tried to set a custom config folder location. It breaks even more than what was reported by @SebastianStork. For example when I try to add an effect there is only one in the list all the time. And its settings are not being saved after I change them.
It seems to me that setting a custom XDG_CONFIG_HOME
is breaking the GSettings database we use in EasyEffects. Assuming this is really the case it may not be possible to fix this on our side.
@wwmm Does easyeffects do anything to initialize the gsettings database on first run or something, or is that handled by the library?
@wwmm Does easyeffects do anything to initialize the gsettings database on first run or something, or is that handled by the library?
Besides defining the xml schemas and compiling them with glib-compile-schemas
(a step handled by the package build system) I do not remember anything else that is needed on our side.
That being said connecting to the dconf-service
is also required and done by the lower level gsettings libraries under the hood. My guess is that somehow the interaction with the server is broken when messing with XDG_CONFIG_HOME
. The server was started in the standard home after all. Maybe it also has to be restarted with a different XDG_CONFIG_HOME
setting.
Googling proves fruitful today: bugzilla.gnome.org
In there, they reference a paragraph from wiki.gnome.org
A "user-db" line specifies a user database. These databases are found in ${XDG_CONFIG_HOME}/dconf/ (typically ~/.config/dconf/). The name of the file to open in that directory is exactly as it is written in the profile. In our example, "~/.config/dconf/user" would be opened. This file is expected to be in the binary dconf (GVDB) database format. Note that XDG_CONFIG_HOME cannot be set/modified per terminal or session (E.G. export XDG_CONFIG_HOME=...), because then the writer and reader would be working on different DBs (the writer is started by DBus and cannot see that variable).
I just realized that using the keyfile gsettings backend should in theory be a good workaround for this issue, although I haven't tried it.
Googling proves fruitful today: bugzilla.gnome.org
Very fruitful :smile: . It is definitely what is happening here. As there is nothing we can do about it I will close this issue.
Thanks for both of your quick response!
It's unfortunate that this doesn't work but it's not a deal breaker for me.
It would be nice if I could pass --config /path/to/config
in the console to specify the location of the config without changing the environment variable but that's not a very important feature. Apparently I am the only one who wants such a thing 😄.
@SebastianStork As a workaround, you could try launching easyeffects like this:
GSETTINGS_BACKEND=keyfile; XDG_CONFIG_HOME=~/.config/easy; easyeffects
Note that I haven't tested this, so I'm not sure where the keyfile will end up being written to, but this should at least allow easyeffects to function with XDG_CONFIG_HOME set.
I experience the same issue with this. But as I said this isn't a huge issue for me. I was just trying to wrap easyeffects to use the presets declared in the nix store more or less for fun.
EasyEffects Version
7.1.6
What package are you using?
NixOS
Distribution
NixOS
Describe the bug
When I try to change the location where easyeffects saves and looks for presets with
XDG_CONFIG_HOME=~/.config/easy; easyeffects
it launches but when I try to select a preset all audio stops working. Same happens when I create a new preset and select it.Expected Behavior
I should be able to specify the location where easyeffects saves it's config.
Debug Log
Debug Log
``` (easyeffects:65717): easyeffects-DEBUG: 19:59:42.756: stream_input_effects.cpp:189 No app linked to our device wants to play. Unlinking our filters. (easyeffects:65717): easyeffects-DEBUG: 19:59:43.184: lv2_wrapper.cpp:126 http://lsp-plug.in/plugins/lv2/para_equalizer_x32_lr requires feature: http://lv2plug.in/ns/ext/urid#map (easyeffects:65717): easyeffects-DEBUG: 19:59:43.199: effects_base.cpp:308 soe: pipeline latency: 0 ms (easyeffects:65717): easyeffects-DEBUG: 19:59:43.201: stream_output_effects.cpp:208 No output device set. Aborting the link (easyeffects:65717): easyeffects-DEBUG: 19:59:43.202: app_info.cpp:377 spotify disposed (easyeffects:65717): easyeffects-DEBUG: 19:59:43.202: app_info.cpp:385 spotify finalized (easyeffects:65717): easyeffects-DEBUG: 19:59:43.202: app_info.cpp:63 data struct destroyed (easyeffects:65717): easyeffects-DEBUG: 19:59:43.203: app_info.cpp:178 cannot lookup application icon spotify in /usr/share/pixmaps (easyeffects:65717): easyeffects-DEBUG: 19:59:43.203: app_info.cpp:178 cannot lookup application icon spotify in /usr/local/share/pixmaps (easyeffects:65717): easyeffects-DEBUG: 19:59:43.209: presets_manager.cpp:574 successfully loaded preset: /home/seb/.config/easy/easyeffects/output/ESP95X.json ```
Additional Information
No response