Repository navigation
Description
yuda@localhost:> sudo nano /etc/pipewire/client.conf.d/99-jamesdsp.conf> sudo nano /etc/pipewire/pipewire.conf.d/99-custom.conf
yuda@localhost:
yuda@localhost:> cat /etc/pipewire/client.conf.d/99-jamesdsp.conf> cat /etc/pipewire/pipewire.conf.d/99-custom.conf
context.properties = {
default.clock.quantum = 2048
default.clock.min-quantum = 256
default.clock.max-quantum = 2048
}
yuda@localhost:
context.properties = {
default.clock.rate = 48000
default.clock.allowed-rates = [ 44100 48000 88200 96000 176400 192000 352800 384000 ]
default.clock.quantum = 2048
default.clock.min-quantum = 256
default.clock.max-quantum = 2048
}
yuda@localhost:> systemctl --user restart pipewire pipewire-pulse wireplumber> jamesdsp
yuda@localhost:
[10:11:59.591] [INF] main::main: Application version: d3cea5a (Pipewire flavor)
[10:11:59.592] [INF] main::main: Qt library version: 6.10.0
[10:11:59.592] [INF] main::main: Using language: en_US
[10:11:59.592] [DBG] main::main: Launched by system session manager: no
[10:11:59.592] [INF] main::main: Last session crashed unexpectedly. A crash report has been saved here: /tmp/jamesdsp/crash-prev.dmp
[10:11:59.618] [INF] SingleInstanceMonitor::isServiceReady: Service registration successful
[10:11:59.943] [INF] MainWindow::MainWindow$ctor: ============ Initializing audio service ============
[10:11:59.944] [INF] MainWindow::MainWindow$ctor: Compiled with PipeWire support.
[10:11:59.944] [INF] MainWindow::MainWindow$ctor: This application flavor does not support PulseAudio.
[10:11:59.944] [INF] MainWindow::MainWindow$ctor: If you want to use this application with PulseAudio, you need to recompile this app with proper support enabled.
[10:11:59.944] [INF] MainWindow::MainWindow$ctor: Refer to the README for more detailed information.
[10:11:59.945] [INF] MainWindow::MainWindow$ctor:
[10:11:59.945] [DBG] MainWindow::MainWindow$ctor: Blocklisted apps:
[10:11:59.945] [DBG] MainWindow::MainWindow$ctor: Blocklist mode: block
[10:11:59.953] [DBG] PwPipelineManager::PwPipelineManager$ctor: compiled with PipeWire: 1.5.83
[10:11:59.954] [DBG] PwPipelineManager::PwPipelineManager$ctor: linked to PipeWire: 1.5.83
[W][10:11:59.956783] pw.conf | [ conf.c: 1204 pw_conf_load_conf_for_context()] setting config.name to client-rt.conf is deprecated, using client.conf
[10:12:00.005] [DBG] PwPipelineManager::on_core_info: core version: 1.5.83
[10:12:00.014] [DBG] PwPipelineManager::on_core_info: core name: pipewire-0
[10:12:00.024] [DBG] PwPipelineManager::on_registry_global: found metadata: settings
[10:12:00.024] [DBG] PwPipelineManager::on_registry_global: found metadata: schema-sm-settings
[10:12:00.025] [DBG] PwPipelineManager::on_registry_global: found metadata: persistent-sm-settings
[10:12:00.025] [DBG] PwPipelineManager::on_registry_global: found metadata: sm-settings
[10:12:00.025] [DBG] PwPipelineManager::on_registry_global: found metadata: sm-objects
[10:12:00.026] [DBG] PwPipelineManager::on_registry_global: found metadata: default
[10:12:00.026] [DBG] PwPipelineManager::on_registry_global: found metadata: filters
[10:12:00.026] [DBG] PwPipelineManager::on_registry_global: found metadata: route-settings
[10:12:00.027] [DBG] PwPipelineManager::on_registry_global: Audio/Sink 59 alsa_output.pci-0000_00_0e.0.analog-stereo with serial 59 has been added
[10:12:00.027] [DBG] PwPipelineManager::on_registry_global: Audio/Source 60 alsa_input.pci-0000_00_0e.0.analog-stereo with serial 60 has been added
[10:12:00.030] [DBG] PwPipelineManager::on_registry_global: Audio/Sink 71 jamesdsp_sink with serial 76 has been added
[10:12:00.033] [DBG] PwPipelineManager::PwPipelineManager$ctor: jamesdsp_sink node successfully retrieved with id 71 and serial 76
[10:12:00.036] [DBG] PwPipelineManager::on_metadata_property: new metadata property: 0, default.configured.audio.sink, Spa:String:JSON, {"name":"alsa_output.pci-0000_00_0e.0.analog-stereo"}
[10:12:00.037] [DBG] PwPipelineManager::on_metadata_property: new metadata property: 0, default.audio.sink, Spa:String:JSON, {"name":"alsa_output.pci-0000_00_0e.0.analog-stereo"}
[10:12:00.037] [DBG] PwPipelineManager::on_metadata_property: new metadata property: 0, default.audio.source, Spa:String:JSON, {"name":"alsa_input.pci-0000_00_0e.0.analog-stereo"}
[10:12:00.037] [DBG] PwPipelineManager::on_metadata_property: new metadata property: 0, default.video.source, Spa:String:JSON, {"name":"v4l2_input.pci-0000_00_15.0-usb-0_8_1.0"}
[10:12:00.160] [DBG] PwBasePlugin::connect_to_pw: @PwJamesDspPlugin: JamesDsp successfully connected to PipeWire graph
[10:12:01.291] [INF] MainWindow::MainWindow$ctor: ============ Initializing user interface ============
[10:12:01.321] [DBG] DspHost::update: Config update started
[10:12:01.321] [DBG] DspHost::update: Property changed: bass_enable -> QVariant(bool, false)
[10:12:01.321] [DBG] DspHost::update: Property changed: bass_maxgain -> QVariant(QString, "5")
[10:12:01.321] [DBG] DspHost::update: Property changed: compander_enable -> QVariant(bool, false)
[10:12:01.321] [DBG] DspHost::update: Property changed: compander_response -> QVariant(QString, "95.0;200.0;400.0;800.0;1600.0;3400.0;7500.0;0;0;0;0;0;0;0")
[10:12:01.322] [DBG] DspHost::update: Property changed: compander_granularity -> QVariant(QString, "2")
[10:12:01.322] [DBG] DspHost::update: Property changed: compander_timeconstant -> QVariant(QString, "0.22000")
[10:12:01.322] [DBG] DspHost::update: Property changed: compander_time_freq_transforms -> QVariant(QString, "0")
[10:12:01.322] [DBG] DspHost::update: Property changed: convolver_enable -> QVariant(bool, false)
[10:12:01.322] [DBG] DspHost::update: Property changed: convolver_file -> QVariant(QString, "")
[10:12:01.322] [DBG] DspHost::update: Property changed: convolver_optimization_mode -> QVariant(QString, "0")
[10:12:01.322] [DBG] DspHost::update: Property changed: convolver_waveform_edit -> QVariant(QString, "-80;-100;0;0;0;0")
[10:12:01.322] [DBG] DspHost::update: Property changed: crossfeed_bs2b_fcut -> QVariant(QString, "700")
[10:12:01.322] [DBG] DspHost::update: Property changed: crossfeed_bs2b_feed -> QVariant(QString, "60")
[10:12:01.322] [DBG] DspHost::update: Property changed: crossfeed_enable -> QVariant(bool, false)
[10:12:01.322] [DBG] DspHost::update: Property changed: crossfeed_mode -> QVariant(QString, "0")
[10:12:01.323] [DBG] DspHost::update: Property changed: ddc_enable -> QVariant(bool, false)
[10:12:01.323] [DBG] DspHost::update: Property changed: ddc_file -> QVariant(QString, "")
[10:12:01.323] [DBG] DspHost::update: Property changed: graphiceq_enable -> QVariant(bool, false)
[10:12:01.323] [DBG] DspHost::update: Property changed: graphiceq_param -> QVariant(QString, "GraphicEQ: 25 0; 40 0; 63 0; 100 0; 160 0; 250 0; 400 0; 630 0; 1000 0; 1600 0; 2500 0; 4000 0; 6300 0; 10000 0; 16000 0")
[10:12:01.323] [DBG] DspHost::update: Property changed: reverb_bassboost -> QVariant(QString, "0.25000")
[10:12:01.323] [DBG] DspHost::update: Property changed: reverb_decay -> QVariant(QString, "2.08000")
[10:12:01.323] [DBG] DspHost::update: Property changed: reverb_delay -> QVariant(QString, "0.00000")
[10:12:01.323] [DBG] DspHost::update: Property changed: reverb_enable -> QVariant(bool, false)
[10:12:01.323] [DBG] DspHost::update: Property changed: reverb_finaldry -> QVariant(QString, "-7.00000")
[10:12:01.323] [DBG] DspHost::update: Property changed: reverb_finalwet -> QVariant(QString, "-9.00000")
[10:12:01.323] [DBG] DspHost::update: Property changed: reverb_lfo_spin -> QVariant(QString, "0.70000")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_lfo_wander -> QVariant(QString, "0.30000")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_lpf_bass -> QVariant(QString, "600")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_lpf_damp -> QVariant(QString, "9000")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_lpf_input -> QVariant(QString, "18000")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_lpf_output -> QVariant(QString, "17000")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_osf -> QVariant(QString, "1")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_reflection_amount -> QVariant(QString, "0.30000")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_reflection_factor -> QVariant(QString, "1.00000")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_reflection_width -> QVariant(QString, "0.70000")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_wet -> QVariant(QString, "-8.00000")
[10:12:01.324] [DBG] DspHost::update: Property changed: reverb_width -> QVariant(QString, "1.00000")
[10:12:01.325] [DBG] DspHost::update: Property changed: liveprog_enable -> QVariant(bool, false)
[10:12:01.325] [DBG] DspHost::update: Property changed: liveprog_file -> QVariant(QString, "")
[10:12:01.325] [DBG] DspHost::update: Property changed: master_enable -> QVariant(bool, true)
[10:12:01.325] [DBG] DspHost::update: Property changed: master_limrelease -> QVariant(QString, "60")
[10:12:01.325] [DBG] DspHost::update: Property changed: master_limthreshold -> QVariant(QString, "0")
[10:12:01.325] [DBG] DspHost::update: Property changed: master_postgain -> QVariant(QString, "0")
[10:12:01.325] [DBG] DspHost::update: Property changed: stereowide_enable -> QVariant(bool, false)
[10:12:01.325] [DBG] DspHost::update: Property changed: stereowide_level -> QVariant(QString, "60")
[10:12:01.325] [DBG] DspHost::update: Property changed: tone_enable -> QVariant(bool, false)
[10:12:01.325] [DBG] DspHost::update: Property changed: tone_eq -> QVariant(QString, "25.0;40.0;63.0;100.0;160.0;250.0;400.0;630.0;1000.0;1600.0;2500.0;4000.0;6300.0;10000.0;16000.0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0")
[10:12:01.328] [DBG] DspHost::update: Property changed: tone_filtertype -> QVariant(QString, "0")
[10:12:01.331] [DBG] DspHost::update: Property changed: tone_interpolation -> QVariant(QString, "0")
[10:12:01.335] [DBG] DspHost::update: Property changed: tube_enable -> QVariant(bool, false)
[10:12:01.336] [DBG] DspHost::update: Property changed: tube_pregain -> QVariant(QString, "200")
[10:12:01.337] [ERR] DspHost::updateConvolver: Impulse response is empty. Disabling convolver.
[10:12:01.338] [WRN] DspHost::updateConvolver: Unable to read impulse response. No file selected or abnormal channel count?
[10:12:01.338] [WRN] DspHost::reloadLiveprog: Referenced file does not exist anymore. Disabling liveprog.
QFSFileEngine::open: No file name specified
[10:12:01.338] [ERR] DspHost::reloadLiveprog: Cannot open file path. Disabling liveprog.
QIODevice::read (QFile, ""): device not open
[10:12:01.339] [WRN] DspHost::reloadLiveprog: @init section not found
QFSFileEngine::open: No file name specified
QFSFileEngine::open: No file name specified
[10:12:01.855] [DBG] AssetManager::extractGroup: 5 assets extracted (type 0)
[10:12:01.863] [DBG] AssetManager::extractGroup: 3 assets extracted (type 1)
[10:12:03.240] [INF] MainWindow::MainWindow$ctor: UI initialized
[10:12:03.604] [DBG] FilterContainer::FilterContainer$ctor::: Target output device added: alsa_output.pci-0000_00_0e.0.analog-stereo
[10:12:03.607] [DBG] FilterContainer::disconnect_filters: disconnecting the JamesDsp filter from PipeWire
[10:12:03.638] [DBG] PwBasePlugin::connect_to_pw: @PwJamesDspPlugin: JamesDsp successfully connected to PipeWire graph
[10:12:03.672] [DBG] PipewireAudioService::PipewireAudioService$ctor::: new default output device: alsa_output.pci-0000_00_0e.0.analog-stereo
[10:12:03.673] [DBG] FilterContainer::disconnect_filters: disconnecting the JamesDsp filter from PipeWire
[10:12:03.727] [DBG] PwBasePlugin::connect_to_pw: @PwJamesDspPlugin: JamesDsp successfully connected to PipeWire graph
[10:12:03.743] [DBG] PipewireAudioService::PipewireAudioService$ctor::: device alsa_card.pci-0000_00_0e.0 has changed its output route to: analog-output-headphones
[10:12:08.066] [DBG] DspHost::update: Config update started
[10:12:08.067] [DBG] DspHost::update: Property changed: compander_timeconstant -> QVariant(float, 0.22)
[10:12:08.067] [DBG] DspHost::update: Property changed: reverb_decay -> QVariant(float, 2.08)
[10:12:08.067] [DBG] DspHost::update: Property changed: reverb_lfo_spin -> QVariant(float, 0.7)
[10:12:08.067] [DBG] DspHost::update: Property changed: reverb_lfo_wander -> QVariant(float, 0.3)
[10:12:08.067] [DBG] DspHost::update: Property changed: reverb_reflection_amount -> QVariant(float, 0.3)
[10:12:08.067] [DBG] DspHost::update: Property changed: reverb_reflection_width -> QVariant(float, 0.7)
[10:12:23.353] [DBG] FilterContainer::on_link_changed::: No app linked to our device wants to play. Unlinking our filters.
[10:12:23.353] [DBG] FilterContainer::disconnect_filters: disconnecting the JamesDsp filter from PipeWire
Caught SIGSEGV (11)
Collecting infomation about the crash...
Failed to parse backtrace: jamesdsp() [0x67f74f]Done! Crash report saved to /tmp/jamesdsp/crash.dmp.
Consider to launch this application with the parameter '--spinlock-on-crash' to wait for a debugger in case of a crash.
yuda@localhost:> cat /tmp/jamesdsp/crash.dmp>
Caught SIGSEGV (11) in ???
Fault at memory location 0x5e67eb00 due to invalid permissions for mapped object (2).
Thread 5768: jamesdsp
=== Context:
R8:0 R9:0 R10:0 R11:cfa9ba78 R12:0 R13:0 R14:cfa9ba60 R15:0 RDI:4000 RSI:cfa9ba00
RBP:cfa9ba00 RBX:26d56208 RDX:0 RAX:5e674270 RCX:0 RSP:cfa9b9d8 RIP:5e67eb00
EFL:10202 CSGSFS:33 ERR:15 TRAPNO:e OLDMASK:0 CR2:5e67eb00
=== Binary:
Compile date: Nov 18 2025 09:10:01
GNU version: 150201
=== Backtrace:
jamesdsp400000[67f514]
/usr/lib64/libc.so.65d800000[5d842910]
/usr/lib64/libQt6Core.so.65e000000[5e67eb00]
=== Code:
5e67eac0: 60 4c 44 00 00 00 00 00 b0 69 44 00 00 00 00 00 f0 3a 44 00 00 00 00 00
5e67ead8: 50 a9 3c 5e d8 7f 00 00 70 80 3d 5e d8 7f 00 00 00 00 00 00 00 00 00 00
5e67eaf0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00>60 96 0f 01 00 00 00 00
5e67eb08: 14 87 5a 5e d8 7f 00 00 80 86 5a 5e d8 7f 00 00 50 78 3c 5e d8 7f 00 00
5e67eb20: 00 00 00 00 00 00 00 00 00 e9 67 5e d8 7f 00 00 00 00 00 00 00 00 00 00
5e67eb38: 70 a8 0f 01 00 00 00 00
=== Local backtrace:
Offset cannot be resolved: No offset present?
0x0000000000042910: ?? ??:0
0x000000000067eb00: safe_printf at ??:?
=== System:
Linux version 6.17.6-1-default (geeko@buildhost) (gcc (SUSE Linux) 15.2.1 20251006, GNU ld (GNU Binutils; openSUSE Tumbleweed) 2.45.0.20251014-1) #1 SMP PREEMPT_DYNAMIC Wed Oct 29 17:21:06 UTC 2025 (9e452b6)
330e21a8d6d0408fa3f002869dd639dc
LSB Version: n/a
Distributor ID: openSUSE
Description: openSUSE Tumbleweed
Release: 20251114
Codename: n/a
yuda@localhost:
Activity
JWhite99 commentedon Nov 21, 2025
I had AI parse this. This is what it came up with:
Why This Happens Only on openSUSE
Copy and enter this code block verbatim, one go. Copy, paste, enter. EDIT: PLEASE READ THE CODE COMMENTS
Fix for openSUSE Tumbleweed (and Leap if anyone ever hits it) when JamesDSP instantly SIGSEGVs with that exact crash dump on startup.
I personally spun a VM of OpenSUSE and this works.
JMarcosHP commentedon Nov 28, 2025
Hi, I'm using the flatpak version with openSUSE tumbleweed, it opens but nothing works.
It switches automatically to the "JamesDSP sink" then I lose all my sound, I need to switch back to my default sound output and now no one of the DSP effects work, all my audio is still flat.
Hope someone can help me to debug. I'm using KDE and pipewire.
Fringale commentedon Nov 30, 2025
I started getting no sound from JamesDSP right when openSUSE Tumbleweed began shipping versions 1.5.8x of Pipewire (which are release candidates for 1.6) in its 20251018 snapshot (list of updated packages).
Previous stable 1.4.x versions were working just fine, so it seems something specifically in Pipewire 1.6 RCs or in its openSUSE packaging triggered the incompatibility with JamesDSP on my system. And I have no specific issue with this version of Pipewire other than with JamesDSP.
System information:
JamesDSP logs when launched from the command line, playing and pausing music, then closing JamesDSP: no crash, so maybe this is a different issue altogether? Even if related to openSUSE Tumbleweed + Pipewire 1.6 RC
Corresponding logs from journalctl -r:
LinusBehringer commentedon Dec 1, 2025
I am not on openSuse, but I experienced the same thing on Linux Arch with KDE.
Do you have JamesDSP on Autostart? You probably need to add a delay to it starting, because it starts earlier than your device connecting.
Not sure if it helps in your case but my autostart-command now looks like this:
bash -c 'sleep 180 && jamesdpsgui' --tray
In JamesDSP I enabled Standard-Outputdevice and disabled Benchmarks, maybe they are related.
Fringale commentedon Dec 6, 2025
Great news, patched Pipewire 1.5.84 in openSUSE Tumbleweed fixed the
Bad file descriptorerrors I had with JamesDSP flatpak! It was part of the just-released 20251204 snapshot.Does it work now on your side too @kalishxern @JMarcosHP?
Shoutout to the Pipewire guys for finding and fixing the compatibility problem, and to the Easy Effects folks for investigating, raising the issue to Pipewire, and submitting a backport patch to Tumbleweed.
JMarcosHP commentedon Dec 6, 2025
Oh i didnt upgrade my TW system yet, let me see and test if it works now.
JMarcosHP commentedon Dec 6, 2025
I upgraded my pipewire version and now it works without issues with the flatpak version.
Many thanks for sharing the links
lincolnthalles commentedon Jan 13, 2026
I started having a similar issue on Pop!_OS 24.04, with the Flatpak version.
Pipewire was upgraded from 1.4.2 to 1.5.84, and the JamesDSP virtual sink no longer works.
It's working fine with the native package
jamesdsp-pipewire_2.7.0-30a30a_ubuntu22-04_amd64.deb, though.Fringale commentedon Jan 13, 2026
@lincolnthalles The incompatibility issue with the Flatpak version should be fixed in the next Pipewire release (via this Pipewire commit).