Thank you for the detailed report. I can reproduce the issue and will
prepare an SRU.


** Changed in: raysession (Ubuntu)
       Status: New => Invalid

** Also affects: raysession (Ubuntu Resolute)
   Importance: Undecided
       Status: New

** Also affects: pipewire (Ubuntu Resolute)
   Importance: Undecided
       Status: New

** Also affects: raysession (Ubuntu Stonking)
   Importance: Undecided
       Status: Invalid

** Also affects: pipewire (Ubuntu Stonking)
   Importance: Undecided
       Status: New

** Changed in: raysession (Ubuntu Resolute)
       Status: New => Invalid

** Changed in: pipewire (Ubuntu Resolute)
    Milestone: None => ubuntu-26.04.1

** Changed in: pipewire (Ubuntu Stonking)
    Milestone: None => stonking-updates

** Changed in: pipewire (Ubuntu Resolute)
       Status: New => Triaged

** Changed in: pipewire (Ubuntu Stonking)
       Status: New => Triaged

** Changed in: pipewire (Ubuntu Resolute)
   Importance: Undecided => Medium

** Changed in: pipewire (Ubuntu Stonking)
   Importance: Undecided => Medium

** Changed in: pipewire (Ubuntu Resolute)
     Assignee: (unassigned) => Charles (charles05)

** Changed in: pipewire (Ubuntu Stonking)
     Assignee: (unassigned) => Charles (charles05)

** Changed in: pipewire (Ubuntu Stonking)
       Status: Triaged => Fix Released

** Description changed:

- There is a small regression in the pipewire implementation, since
- version 1.6.0 as far as I can tell. It affects the port names of MIDI
- devices and breaks the port grouping in RaySession.
+ [ Impact ]
  
- [Effects]
+ PipeWire 1.6.0 introduced a regression in the ALSA Sequencer bridge
+ component (`spa.alsa.seq.bridge`), which handles port-naming conventions
+ for all ALSA-based MIDI inputs and outputs. This regression breaks how
+ these names are mapped into the JACK emulation layer (`pipewire-jack`).
  
- Port grouping in RaySession (and apparently also in Patchance) does not
- work properly for MIDI hardware devices and applications, leading to
- scattered singleton ports. This makes the use of the patch gui very
- cumbersome. It also breaks saved scenes, since the connections based on
- port names cannot be restored properly.
+ In Ubuntu 26.04 LTS (which packages PipeWire 1.6.2), this directly
+ breaks port grouping in native JACK applications, patchbays, and session
+ managers like RaySession and Patchage. Instead of grouping all input and
+ output ports cleanly inside a single parent box representing a hardware
+ device or application, the ports fail metadata parsing and are presented
+ as a scattered mess of isolated "singleton" ports across the workspace
+ canvas. Furthermore, this completely breaks saved studio
+ scenes/projects, as RaySession can no longer properly resolve
+ connections based on the mangled port names.
  
- [How to reproduce]
+ The upload cherry-picks the upstream one-liner commit
+ (03fd89abeab5540251bede5015d0d85d76eaa71b) which corrects the client and
+ port naming string formatting inside the sequencer bridge. This ensures
+ legacy JACK string matching logic continues to work properly for client
+ applications.
  
- See these related bug reports:
+ [ Test Plan ]
  
- https://github.com/Houston4444/RaySession/issues/289
- https://gitlab.freedesktop.org/pipewire/pipewire/-/work_items/5229
+ This bug can be consistently reproduced on any machine without requiring
+ physical MIDI hardware by simulating virtual ALSA MIDI devices:
  
- [Proposed solution]
+ 1. Install the required tools for testing the JACK abstraction layer:
+ $ sudo apt update && sudo apt install pipewire-jack jack-tools
+ 2. Load the virtual MIDI kernel module to generate test streams:
+ $ sudo modprobe snd-virmidi
+ 3. Check the exposed port-naming format in the JACK graph using the unpatched 
PipeWire package:
+ $ pw-jack jack_lsp -p | grep -i "virmidi"
+ 4. Observe the Buggy Behavior:
+ The output will expose malformed, multi-colon string mappings where the 
client/port separation delimiters fail to match legacy standards
+ 5. Install the updated/patched PipeWire package.
+ 6. Fully restart the running user audio daemons to ensure the new binaries 
are loaded into memory:
+ $ systemctl --user restart pipewire{,-pulse}{.service,.socket} 
wireplumber.service
+ 7. Run the test command again:
+ $ pw-jack jack_lsp -p | grep -i "virmidi"
+ 8. Observe the Fixed Behavior:
+ The output strings will alter their formatting back to legacy-compliant, 
properly delimited structures.
  
- The issue has been fixed here:
- 
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/03fd89abeab5540251bede5015d0d85d76eaa71b
+ [ Where problems could occur ]
  
- The fix should is included in the newer versions starting from pipewire
- 1.6.3 (latest tag is 1.6.6 at the time of writing). The version
- currently packaged for Ubuntu LTS 26.04 is 1.6.2, so it still includes
- the bug.
+ The upload changes string assignment behaviors for ALSA Sequencer MIDI
+ streams mapped to the PipeWire/JACK daemon ecosystem. If the patch were
+ wrong or incomplete, it could result in total failure to register MIDI
+ input/output ports entirely, meaning external keyboards or virtual MIDI
+ software would fail to show up in the connection graph.
  
- The solution would be to cherry-pick the commit from pipewire, which is only 
a one-liner: 
- 
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/03fd89abeab5540251bede5015d0d85d76eaa71b
+ Additionally, any niche or custom user script that was specifically
+ written during the lifecycle of PipeWire 1.6.0–1.6.2 and relied
+ explicitly on hardcoded matchings of the broken, malformed naming
+ convention strings might experience a breaking change when the strings
+ revert to their original, expected standards.
  
- [Possible impacts]
+ [ Other Info ]
  
- Any application that relies on exact port naming of MIDI devices and
- applications could be impacted, but this seems to be mostly Patchage and
- RaySession.
+ The fix has already been merged and verified upstream, and it is
+ natively included in all newer versions of PipeWire starting from 1.6.3
+ up to the current upstream tags (e.g., 1.6.6). This backport simply
+ brings the Ubuntu 26.04 LTS package (stuck on 1.6.2) into parity with
+ the verified upstream stability fix.

** Summary changed:

- Regression in pipewire affecting RaySession in Ubuntu 26.04 LTS
+ [SRU] Fix port-naming formatting regression in ALSA sequencer bridge

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2159565

Title:
  [SRU] Fix port-naming formatting regression in ALSA sequencer bridge

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pipewire/+bug/2159565/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to