Renoise only Linux

I just woke up in the middle of the night and had this vision of making my old MacBook as stand-alone Renoise machine.

Fullscreen Renoise on power up, nothing else. No desktop, networking, unnecessary background processes, etc.

Has anyone done this? I did a bit of research, but I think there is more involved setting up single application Linux that does work with low latency, midi and maybe VST plugins.

Perhaps a window manager is necessary given the nature of the work; there are multiple screens even within Renoise, and I think there are aspects that are difficult to operate in kiosk mode, which displays one screen at a time in a maximized state. So I think the following is a shortcut.

  1. build a Renoise environment that operates in a desktop environment or window manager
  2. set up an automatic login setting
  3. make sure Renoise starts automatically

If you don’t have much experience with linux, perhaps gnome, kde, xfce, or lxde would be a good choice.
I don’t think the information on configuring for low latency is well organized.
I use sway on Arch Linux and have spent an inordinate amount of time and effort setting up those basic environments.
Even considering some bloat, it may be less time and effort consuming to use a music distribution such as ubuntu studio.

2 Likes

There are a lot of tutorials about how to set up chrome on a raspberry pi in Kiosk-Mode. I am quite sure, most of those tutorials cover renoise, too. So instead of launching chrome, you launch renoise.

VST is another story. I mean, Linux VST are no problem at all, but airwave, linvst or CARLA are a must have. Low latency can be archieved with jackaudio.

1 Like

I would just use AV Linux which comes with Pipewire and Yabridge already configured.
On the other hand audio configuration is also not very difficult.

Check the ISO image:

It uses enlightenment as the window manager.

2 Likes

Renoise also runs without a window manager. It will run full screen then.

3 Likes

I see, using cage -s /usr/bin/renoise on the Wayland compositor, I got into a state where only Track Scope was displayed, but I was able to start it by running startx /usr/bin/renoise on the getty.
This alone did not produce any sound with alsa, let alone JACK, so perhaps I need to configure it properly, such as starting services related to pipewire in .xinitrc.

1 Like

There is HT in online manual:
https://tutorials.renoise.com/wiki/Linux_FAQ

Search for How can I run a stand-alone Renoise environment?

Renoise does not need a window or desktop environment to run, giving you the possibility to run Renoise in a stand-alone environment. The primary advantage is that all necessary system resource are dedicated to Renoise. If you are using a graphical login manager then a good way to get a stand-alone Renoise environment is by setting up a dedicated Renoise session, though there are prerequisites: you need Renoise installed system-wide and access to root privileges. Open your favorite editor and enter:

[Desktop Entry]
Encoding=UTF-8
Name=Renoise
Comment=This session starts Renoise stand-alone
Exec=/path/to/renoise
Icon=
Type=Application

For example, if Renoise is installed in /usr/local/bin the text above will look like this:

[Desktop Entry]
Encoding=UTF-8
Name=Renoise
Comment=This session starts Renoise stand-alone
Exec=/usr/local/bin/renoise
Icon=
Type=Application

Save this file as renoise.desktop then open a terminal and access root privileges. Copy the renoise.desktop file into the xsessions directory (usually located in /usr/share/xsessions/). Now when you log into your machine you’ll be able to change the session to ‘Renoise’ and run it stand-alone.

If when starting Renoise you receive an exception, “Database error (File: … ): not a writeable directory”, this means that Renoise doesn’t have write permission in its configuration directory (usually ~/.renoise). Write permission can be lost in two known ways:

If Renoise was set SUID it will create all its directories and configuration files with root as the owner.
You were root the first time you ran Renoise but you normally work as a standard user. This creates the directories and configuration file with root as the owner. To fix this problem, first check that the .renoise directory and the files and sub-directories within have the correct owner:

$ cd
[enter]
$ ls -laR .renoise/
[enter]

A list of all the files in .renoise will be displayed in this fashion:

-rw-rw-r— 1 <owner> <group> 2764 Oct 2 16:24 filename.ext 

Now check that the field (the 3rd column) is your username for all files. If some files have a different owner (usually set to ‘root’) then change this by entering the following:

$ cd
[enter]
(becoming root)
$ su
[enter]
[enter the root password and press enter]
# chown -R your_username:your_username .renoise/
[enter]

On Ubuntu you can achieve the same thing via a quicker method:

$ cd$ sudo chown -R your_username:your_username .renoise/
[enter your user password and press enter]

I remember trying it out - and it works great. Renoise functions as a kind of single window desktop.

You can use Scripting Terminal/Editor as ‘console’. Example os.execute("..path..to.apps..\my-app") will run my-app.

However there will be no window decorations and title bar to move app windows around.

3 Likes

I have never tried this - but perhaps it’s possible to use Renoise as Explorer replacement for Windows - i.e use Renoise as a desktop manager. Theoretically there are options in Win 10 to specify a program to replace Explorer. That’s how the bank terminal and other client kiosk solutions work - to my understanding.

1 Like

@remsky Thanks. In my environment, I was able to run naturally by doing renoise-run with getty after setting up the following.
The alsa problem was solved by specifying the output destination specifically.
At first I could not use JACK, but once I ran systemctl --user start pipewire.service pipewire-pulse.service wireplumber.service in getty environment, I could use it without doing anything after reboot I can use it without doing anything after rebooting.
This is nice and easy to focus on the work.

# grep cpupower /etc/sudoers.d/wheel
%wheel ALL=(ALL:ALL) NOPASSWD: /usr/bin/cpupower
# cat /usr/local/bin/renoise-run
#!/bin/bash
ARGNAME=$(basename $0 | sed -e 's@-run@@g')
sudo cpupower frequency-set -g performance
#systemctl --user start pipewire.service pipewire-pulse.service wireplumber.service
#systemctl --user start pipewire.service wireplumber.service
#systemctl --user start pipewire.service
startx ~/.xinitrc $ARGNAME
sudo cpupower frequency-set -g powersave
# ls -l /usr/local/bin/renoise-run
-rwxr-xr-x 1 root root 126 Jul 25 12:06 /usr/local/bin/renoise-run
#
$ cat ~/.xinitrc
#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?* ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
# Make sure this is before the 'exec' command or it won't be sourced.
[ -f /etc/xprofile ] && source /etc/xprofile
[ -f ~/.xprofile ] && source ~/.xprofile
$
3 Likes

Thanks to everyone for the help.

Figuring out stand-alone Renoise was bit too much for me, but I got around to write how to make minimal Renoise linux with low latency:

2 Likes