I got it to work with pipewire, here's what I did:
1. reinstalled the system
To create a clean and easy-to-reproduce environment.
- install Ubuntu Studio
- do mannual kernel update according to t2linux
- create /etc/grub.d/08_t2support, and copy the first menu item in /boot/grub/grub.cfg into it, changing vmlinuz and initrd to the ones you just downloaded. They could be found under
/boot
, then sudo update-grub
/etc/grub.d/08_t2support
looks like this. The function of it is to add a menuitem in front of everything that would load the kernel you just downloaded.
echo "menuentry 'Ubuntu (t2 support)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-22dd21ec-2569-41c2-84e2-64aba99bada0' {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 22dd21ec-2569-41c2-84e2-64aba99bada0
else
search --no-floppy --fs-uuid --set=root 22dd21ec-2569-41c2-84e2-64aba99bada0
fi
linux /boot/vmlinuz-6.3.9-t2-jammy root=UUID=22dd21ec-2569-41c2-84e2-64aba99bada0 ro threadirqs quiet splash $vt_handoff
initrd /boot/initrd.img-6.3.9-t2-jammy
}"
2.install/enable pipewire
I followed this tutorial
3. run pipewire in place of jack
short version:
check ubuntu manuals page for pw-jack to find which package pw-jack
is in, install it, and prefix it with every jack-aware program you want to use(just to be safe)
long version:
this is the tricky part, I read various posts and watched youtube videos about how pipewire and ardour work together, but most don't say, or say they "just worked out-of-box" which is hardly my case. Luckily, I spotted pw-jack
in this unfa video which seems to do the work. It is not in standard pipewire package and pipewire-jack is irrelevent. I searched "pw-jack" in google and found it on ubuntu manuals page for pw-jack, which writes it is provided in pipewire-audio-client-libraries package. I installed it, then pw-jack qjackctl
shows that jack is active, pw-jack ardour
add it to a running jack connection, everything appear in qjackctl's graph, and everything works just fine.