This came about thanks to Mark on the Renoise forum. Thanks for finally pointing me in the right direction for this.
http://forum.renoise.com/index.php?/topic/38738-renoise-linux-and-pulseaudio/
Linux audio is a pain in the arse at the best of times.
ALSA is a mess. Pulseaudio is good now, but doesn't cater to "Pro Audio" needs. JACK is great if you don't care about any other desktop audio needs or simplicity. Renoise wants JACK or ALSA, nothing else.
Nobody seems to want to help anybody else out. Anyway...
So, in order to run something like Renoise under gnome-shell, without it being a c*nt, what should you do?
NB: The following is for Arch Linux with an unmodified gnome-shell / Pulseaudio with the pulseaudio-alsa package setup. Change file locations as your distro / kernel expects.
pacman -S pulseaudio-alsa
% cat /etc/modules-load.d/stuff.conf
acpi-cpufreq
fuse
iwl3945
libphy
snd-hda-codec
snd-aloop
tg3
Example given is a crappy hda-intel, like my laptop.
% cat /etc/modprobe.d/stuff.conf
alias snd-card-0 snd-hda-intel
alias snd-card-1 snd-aloop
options snd-hda-intel index=0
options snd-aloop index=1 pcm_substreams=2
% cat /etc/modules-load.d/alsa-loopback.conf
snd-aloop
% cat /etc/modprobe.d/alsa-loopback.conf
alias snd-card-1 snd-aloop
options snd-aloop index=1 pcm_substreams=2
% cat /etc/pulse/default.pa | grep module-switch-on-connect
load-module module-switch-on-connect blacklist="snd_aloop"
Make sure after the reboot:
% cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xfebfc000 irq 47
1 [Loopback ]: Loopback - Loopback
Loopback 1
Pulseaudio autolads with Gnome for each user session so you use activate the loopback afterward
% cat ~/.config/autostart/alsa-loopback.desktop
[Desktop Entry]
Type=Application
Name=Alsa loopback for Renoise
Exec=/usr/bin/alsaloop -c 2 -C hw:Loopback,1,0 -P default
NoDsplay=true
Create a script like **~/.config/autostart/alsa-loopback.desktop** with the following:
Then, make sure alsaloop is running:
% ps -ef | grep alsaloop
pezz 907 1 0 19:30 ? 00:00:12 alsaloop -c 2 -C hw:Loopback,1,0 -P default
Make sure Renoise uses the Loopback device instead of fucking your main ALSA device over to the exclusion of all else
See: http://i.imgur.com/RB01zH4.png
- Your desktop shit works as per normal, because Pulseaudio hasn't been dicked with (mic for Skype etc, everything works)
- Renoise can own the fuck out of the Loopback all it wants
Be happy with Renoise on a non-DAW, for once.