├── fedora ├── 35 │ └── install-audio.sh ├── 36 │ └── install-audio.sh ├── 37 │ └── install-audio.sh ├── 38 │ └── install-audio.sh ├── 40 │ └── install-audio.sh ├── 41 │ └── install-audio.sh ├── 42 │ └── install-audio.sh ├── 43 │ └── install-audio.sh └── README.md ├── .gitignore ├── .github └── funding.yml ├── debian ├── 11 │ ├── install-audio.sh │ ├── install-desktop-xfce.sh │ └── install-audio-jack.sh ├── 12 │ ├── install-desktop-plasma.sh │ └── install-audio.sh ├── 13 │ └── install-audio.sh ├── 14 │ └── install-audio.sh ├── debian-wallpaper.png └── debian-wallpaper.tga ├── README.md ├── arch ├── README.md ├── README-btrfs.md ├── install-audio.sh └── install-desktop.sh ├── ubuntu ├── 2004 │ └── install-audio.sh ├── 2204 │ ├── install-desktop-gnome.sh │ └── install-audio.sh ├── 2210 │ └── install-audio.sh ├── 2404 │ └── install-audio.sh └── 2510 │ └── install-audio.sh ├── neon ├── 2004 │ ├── install-desktop.sh │ └── install-audio.sh ├── 2204 │ └── install-desktop.sh └── 2404 │ └── install-audio.sh ├── manjaro └── install-audio.sh ├── mint ├── 20 │ └── install-audio.sh ├── 21 │ └── install-audio.sh └── 22 │ └── install-audio.sh ├── elementaryos └── 8 │ └── install-audio.sh └── zorinos ├── 16 └── install-audio.sh └── 18 └── install-audio.sh /fedora/README.md: -------------------------------------------------------------------------------- 1 | # Fedora 2 | 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.kate-swp 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /.github/funding.yml: -------------------------------------------------------------------------------- 1 | github: tuxaudio 2 | patreon: tuxaudio 3 | buy_me_a_coffee: tuxaudio -------------------------------------------------------------------------------- /debian/debian-wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brendaningram/linux-audio-setup-scripts/HEAD/debian/debian-wallpaper.png -------------------------------------------------------------------------------- /debian/debian-wallpaper.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brendaningram/linux-audio-setup-scripts/HEAD/debian/debian-wallpaper.tga -------------------------------------------------------------------------------- /debian/11/install-audio.sh: -------------------------------------------------------------------------------- 1 | # NOTE: Per the Debian Wiki, Pipewire on Debian 11 is considered experimental, and is not recommended. 2 | 3 | # Please use the install-audio-jack.sh script instead, or upgrade to Debian 12. 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Linux Audio Setup Scripts 2 | 3 | *By Brendan Ingram* 4 | 5 | This repository contains scripts and guides to get you running with a Linux system capable of professional audio engineering and music production. 6 | 7 | ## I'm considering moving to Linux - how do I get started? 8 | 9 | First, watch this video, where I walk through installing my recommended Linux distribution and setting the system up for audio - config, DAW, plugins - ready to go. 10 | 11 | [TODO: Video Link COMING SOON](debian/11/install-audio-jack.sh) 12 | 13 | Second, consider which Linux distribution is right for you. If you're new, start with my recommendation above. 14 | 15 | Third, follow the instructions in the video, and run the appropriate script for your distribution, below. 16 | 17 | Finally, music is art, and art is good for the soul - enjoy! 18 | 19 | ## How do I use these scripts? 20 | 21 | Find your distribution in the list below, click the link, and run the **SINGLE** command listed at the top of the file - easy! 22 | 23 | ## Which distribution do you recommend? 24 | 25 | As of January 2025, I have used Fedora (currently 41) and Neon (currently 24.04) for the last couple of years and have been extremely happy with the performance and stability of these distributions for my particular audio/music scenarios. 26 | 27 | ## Supported distributions: 28 | 29 | - **Arch** 30 | - [Current](arch/install-audio.sh) 31 | - **Debian** 32 | - [Debian 13 (trixie)](debian/13/install-audio.sh) 33 | - [Debian 14 (forky - COMING SOON)](debian/14/install-audio.sh) 34 | - **ElementaryOS** 35 | - [8 (noble)](elementaryos/8/install-audio.sh) 36 | - **Fedora** 37 | - [Fedora 43 COMING SOON](fedora/43/install-audio.sh) 38 | - [Fedora 42](fedora/42/install-audio.sh) 39 | - [Fedora 41](fedora/41/install-audio.sh) 40 | - [Fedora 40](fedora/40/install-audio.sh) 41 | - [Fedora 38](fedora/38/install-audio.sh) 42 | - [Fedora 37](fedora/37/install-audio.sh) 43 | - [Fedora 36](fedora/36/install-audio.sh) 44 | - [Fedora 35](fedora/35/install-audio.sh) 45 | - **KDE Neon** 46 | - [24.04 (based on noble)](neon/2404/install-audio.sh) 47 | - [22.04 (based on jammy)](neon/2204/install-audio.sh) 48 | - [20.04 (based on focal)](neon/2004/install-audio.sh) 49 | - **Manjaro** 50 | - [Current](manjaro/install-audio.sh) 51 | - **Mint** 52 | - [22 (COMING SOON)](mint/22/install-audio.sh) 53 | - [21 (vanessa)](mint/21/install-audio.sh) 54 | - [20 (uma)](mint/20/install-audio.sh) 55 | - **Ubuntu** 56 | - [25.10 (COMING SOON)](ubuntu/2510/install-audio.sh) 57 | - [24.04 (COMING SOON)](ubuntu/2404/install-audio.sh) 58 | - [24.04 (COMING SOON)](ubuntu/2404/install-audio.sh) 59 | - [22.10 (kinetic)](ubuntu/2210/install-audio.sh) 60 | - [22.04 (jammy)](ubuntu/2204/install-audio.sh) 61 | - [20.04 (focal)](ubuntu/2004/install-audio.sh) 62 | - **Zorin OS** 63 | - [18](zorinos/18/install-audio.sh) 64 | - [16](zorinos/16/install-audio.sh) 65 | 66 | ## Notes: 67 | 68 | #### SSH clone this repository 69 | `git clone git@github.com:tuxaudio/linux-audio-setup-scripts.git` -------------------------------------------------------------------------------- /arch/README.md: -------------------------------------------------------------------------------- 1 | # Arch Linux Installation Guide (ext4) 2 | 3 | This guide is a **step by step and end to end guide** that will set up an Arch Linux operating system with: 4 | 5 | - UEFI using GRUB 6 | - EXT4 file system 7 | - Gnome 8 | - timeshift 9 | - audio 10 | 11 | And will give you applications that allow you to do: 12 | 13 | - word processing with Libreoffice 14 | - professional audio using Reaper (TODO: pipewire? ardour?) 15 | - photo management using Digikam 16 | - music playing using TODO 17 | 18 | It will not set you up with: 19 | 20 | - An encrypted hard disk 21 | 22 | ## Assumptions 23 | 24 | You have: 25 | 26 | 1. Downloaded the arch iso file 27 | 2. Copied it to a bootable USB 28 | 3. Booted your system using the arch USB 29 | 4. Are sitting at the `root@archiso` comand prompt. 30 | 31 | When in doubt, please consult the [arch installation guide](https://wiki.archlinux.org/title/Installation_guide). 32 | 33 | ## Installation steps 34 | 35 | I have provided minimal explanations using comments below. Please follow these steps verbatim, and if any issues come up, please consult the [arch wiki](https://wiki.archlinux.org/). 36 | 37 | ``` 38 | timedatectl set-ntp true 39 | 40 | # List disks (substitute /dev/nvmeXXX below for your disks) 41 | fdisk -l 42 | 43 | # Use the menus within cfdisk to create the following partitions: 44 | # 500MB, Type=EFI 45 | # (Remaining size of drive, automatically entered by cfdisk), Type=Linux Filesystem 46 | cfdisk /dev/nvme0n1 47 | 48 | # Format the partitions 49 | mkfs.fat -F 32 -n EFI /dev/nvme0n1p1 50 | mkfs.ext4 -L ROOT /dev/nvme0n1p2 51 | 52 | mount /dev/nvme0n1p2 /mnt 53 | 54 | pacstrap /mnt base 55 | 56 | genfstab -U /mnt >> /mnt/etc/fstab 57 | 58 | arch-chroot /mnt 59 | 60 | # Please add the appropriate ucode below: 61 | # - AMD CPU: amd-ucode 62 | # - Intel CPU: intel-ucode 63 | pacman -S grub efibootmgr linux linux-firmware 64 | 65 | mkdir -p /boot/EFI 66 | mount /dev/nvme0n1p1 /boot/EFI 67 | grub-install --target=x86_64-efi --bootloader-id=GRUB 68 | grub-mkconfig -o /boot/grub/grub.cfg 69 | 70 | ln -sf /usr/share/zoneinfo/Australia/NSW /etc/localtime 71 | # Uncomment line 177 in /etc/locale.gen 72 | # If you are NOT wanting en_US.UTF-8, please manually uncomment the appropriate line 73 | sed -i '177s/.//' /etc/locale.gen 74 | locale-gen 75 | echo "LANG=en_US.UTF-8" > /etc/locale.conf 76 | echo "arch" > /etc/hostname 77 | echo "127.0.0.1 localhost 78 | ::1 localhost 79 | 127.0.1.1 arch.localdomain arch" > /etc/hosts 80 | 81 | # Use reflector to get the best mirrors for your location. 82 | pacman -S reflector rsync 83 | cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bk 84 | reflector --country "Australia" --sort rate --verbose --save /etc/pacman.d/mirrorlist 85 | 86 | # Install Gnome and enable services 87 | pacman -S gnome gdm networkmanager 88 | systemctl enable gdm 89 | systemctl enable NetworkManager 90 | 91 | # Set the root password 92 | passwd 93 | 94 | # Create a user for logging in to the desktop 95 | # Substitute for your username, e.g. billiesmith 96 | useradd -m -g users -G wheel 97 | # Substitute for your full name, e.g. Billie Smith 98 | chfn --full-name "" 99 | passwd 100 | 101 | # Reboot into the new OS! 102 | exit 103 | umount -R /mnt 104 | reboot 105 | ``` 106 | 107 | ## What to do after rebooting 108 | 109 | When your machine starts again, you will be sitting on the GDM login page. 110 | 111 | Please click your username, enter your password, and press enter to login. 112 | 113 | Some things to note about how Arch installs Gnome: 114 | 115 | - Volume will be at zero, go to Settings > Sound and slide the volume fader to the right. 116 | 117 | If you would like your system setup like me, please open a terminal, clone this repository and run the `install.sh` script. 118 | 119 | ``` 120 | git clone xxx 121 | cd arch 122 | sh ./install.sh 123 | ``` 124 | 125 | 126 | ## TODO: 127 | 128 | - firewalld 129 | - printing (cups), scanning 130 | -------------------------------------------------------------------------------- /ubuntu/2204/install-desktop-gnome.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # ------------------------------------------------------------------------------------ 4 | # This is a bash script for configuring Ubuntu 22.04 (Gnome) as a usable Windows or Mac replacement. 5 | # Whereas the audio scripts are designed to be run in their entirety, this script is 6 | # more of a guide - please pick and choose the pieces that are relevant to you. 7 | # ------------------------------------------------------------------------------------ 8 | 9 | # Exit if any command fails 10 | set -e 11 | 12 | notify () { 13 | echo "--------------------------------------------------------------------" 14 | echo $1 15 | echo "--------------------------------------------------------------------" 16 | } 17 | 18 | 19 | # ------------------------------------------------------------------------------------ 20 | # Add ourselves as sudo 21 | # NOTE: My machine is physically secured, so I specify NOPASSWD for sudo convenience. 22 | # If you have security concerns, don't do this. 23 | # ------------------------------------------------------------------------------------ 24 | notify "Add $USER to sudoers.d" 25 | echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$USER 26 | 27 | 28 | # ------------------------------------------------------------------------------------ 29 | # Update our system 30 | # ------------------------------------------------------------------------------------ 31 | notify "Update the system" 32 | sudo apt update && sudo apt dist-upgrade -y 33 | sudo apt autoremove -y 34 | 35 | 36 | # ------------------------------------------------------------------------------------ 37 | # 38 | # ------------------------------------------------------------------------------------ 39 | notify "Install applications" 40 | 41 | # Useful utilities 42 | sudo apt install git vim -y 43 | 44 | # Timeshift allows us to take snapshots of our system at points in time. 45 | # This means if something happens to our system to break it, we can 46 | # roll back to a previously working snapshot. 47 | sudo apt install timeshift -y 48 | 49 | # Image editing 50 | # Use this instead of: Photoshop 51 | sudo apt install krita -y 52 | 53 | # Photo management 54 | # Use this instead of: Lightroom 55 | sudo apt install digikam -y 56 | 57 | # Video editing 58 | # Use this instead of: Davinci Resolve, iMovie 59 | sudo apt install kdenlive mediainfo handbrake -y 60 | 61 | # Screen recording and streaming 62 | # OBS works on Mac, Windows, and Linux 63 | # It is the universally accepted application for streaming 64 | sudo add-apt-repository ppa:obsproject/obs-studio -y 65 | sudo apt install obs-studio -y 66 | 67 | 68 | # ------------------------------------------------------------------------------------ 69 | # Google Chrome 70 | # ------------------------------------------------------------------------------------ 71 | notify "Google Chrome" 72 | read -p "Would you like to install Google Chrome (Y/N)? " -n 1 -r 73 | echo 74 | if [[ $REPLY =~ ^[Yy]$ ]] 75 | then 76 | wget -q -O chrome.deb "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" 77 | sudo apt install ./chrome.deb -y 78 | rm chrome.deb 79 | fi 80 | 81 | 82 | # ------------------------------------------------------------------------------------ 83 | # VS Code 84 | # ------------------------------------------------------------------------------------ 85 | notify "VS Code" 86 | read -p "Install VS Code (Y/N)? " -n 1 -r 87 | echo 88 | if [[ $REPLY =~ ^[Yy]$ ]] 89 | then 90 | curl -O -L https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64 91 | wget -qO vscode.deb https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64 92 | sudo apt install ./vscode.deb -y 93 | rm vscode.deb 94 | fi 95 | 96 | 97 | # ------------------------------------------------------------------------------------ 98 | # Dropbox 99 | # ------------------------------------------------------------------------------------ 100 | notify "Dropbox" 101 | read -p "Install Dropbox (Y/N)? " -n 1 -r 102 | echo 103 | if [[ $REPLY =~ ^[Yy]$ ]] 104 | then 105 | wget -O dropbox.deb https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2020.03.04_amd64.deb 106 | sudo apt install ./dropbox.deb -y 107 | rm ./dropbox.deb 108 | fi 109 | -------------------------------------------------------------------------------- /fedora/38/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Fedora 38 for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/fedora/38/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | # TODO: Copy jack.conf to ~/.config/pipewire/jack.conf and make appropriate changes 12 | # mkdir -p ~/.config/pipewire 13 | # sudo cp /usr/share/pipewire/jack.conf ~/.config/pipewire/jack.conf 14 | 15 | notify () { 16 | echo "--------------------------------------------------------------------" 17 | echo $1 18 | echo "--------------------------------------------------------------------" 19 | } 20 | 21 | 22 | # --------------------------- 23 | # Update our system 24 | # --------------------------- 25 | notify "Update the system" 26 | sudo dnf update 27 | 28 | 29 | # --------------------------- 30 | # limits 31 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 32 | # --------------------------- 33 | notify "Modify limits.d/audio.conf" 34 | echo '@audio - rtprio 90 35 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 36 | 37 | 38 | # --------------------------- 39 | # sysctl.conf 40 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 41 | # --------------------------- 42 | notify "Modify /etc/sysctl.conf" 43 | echo 'fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 44 | 45 | 46 | # --------------------------- 47 | # Add the user to the audio group 48 | # --------------------------- 49 | notify "Add ourselves to the audio group" 50 | sudo usermod -a -G audio $USER 51 | 52 | 53 | # --------------------------- 54 | # REAPER 55 | # Note: The instructions below will create a PORTABLE REAPER installation 56 | # at ~/REAPER. 57 | # --------------------------- 58 | notify "REAPER" 59 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 60 | mkdir ./reaper 61 | tar -C ./reaper -xf reaper.tar.xz 62 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 63 | rm -rf ./reaper 64 | rm reaper.tar.xz 65 | touch ~/REAPER/reaper.ini 66 | 67 | 68 | # ------------------------------------------------------------------------------------ 69 | # Wine and yabridge 70 | # https://copr.fedorainfracloud.org/coprs/patrickl/wine-tkg/ 71 | # ------------------------------------------------------------------------------------ 72 | 73 | sudo dnf install realtime-setup -y 74 | sudo systemctl enable realtime-setup.service 75 | sudo systemctl enable realtime-entsk.service 76 | sudo usermod -a -G realtime $(whoami) 77 | 78 | sudo dnf copr enable patrickl/wine-tkg -y 79 | sudo dnf copr enable patrickl/wine-mono -y 80 | sudo dnf copr enable patrickl/mingw-wine-gecko -y 81 | sudo dnf copr enable patrickl/vkd3d -y 82 | sudo dnf copr enable patrickl/wine-dxvk -y 83 | sudo dnf copr enable patrickl/winetricks -y 84 | sudo dnf copr enable patrickl/yabridge -y 85 | 86 | sudo dnf install wine wine-mono mingw32-wine-gecko mingw64-wine-gecko libvkd3d wine-dxvk* winetricks yabridge -y --refresh 87 | 88 | echo "# Audio: wine and yabridge" >> ~/.bashrc 89 | echo "export WINEESYNC=1" >> ~/.bashrc 90 | echo "export WINEFSYNC=1" >> ~/.bashrc 91 | 92 | # Winetricks 93 | sudo dnf install winetricks -y 94 | winetricks corefonts 95 | 96 | # Create common VST paths for yabridge 97 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 98 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 99 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 100 | 101 | # Add them into yabridge 102 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 103 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 104 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 105 | 106 | # --------------------------- 107 | # Install Windows VST plugins 108 | # This is a manual step for you to run when you download plugins. 109 | # First, run the plugin installer .exe file 110 | # When the installer asks for a directory, make sure you select 111 | # one of the directories above. 112 | 113 | # VST2 plugins: 114 | # C:\Program Files\Steinberg\VstPlugins 115 | # OR 116 | # C:\Program Files\Common Files\VST2 117 | 118 | # VST3 plugins: 119 | # C:\Program Files\Common Files\VST3 120 | # --------------------------- 121 | 122 | # Each time you install a new plugin, you need to run: 123 | # yabridgectl sync 124 | 125 | # --------------------------- 126 | # FINISHED! 127 | # Now just reboot, and make music! 128 | # --------------------------- 129 | notify "Done - please reboot." -------------------------------------------------------------------------------- /fedora/40/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Fedora 40 for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/fedora/40/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | # TODO: Copy jack.conf to ~/.config/pipewire/jack.conf and make appropriate changes 12 | # mkdir -p ~/.config/pipewire 13 | # sudo cp /usr/share/pipewire/jack.conf ~/.config/pipewire/jack.conf 14 | 15 | notify () { 16 | echo "--------------------------------------------------------------------" 17 | echo $1 18 | echo "--------------------------------------------------------------------" 19 | } 20 | 21 | 22 | # --------------------------- 23 | # Update our system 24 | # --------------------------- 25 | notify "Update the system" 26 | sudo dnf update 27 | 28 | 29 | # --------------------------- 30 | # limits 31 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 32 | # --------------------------- 33 | notify "Modify limits.d/audio.conf" 34 | echo '@audio - rtprio 90 35 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 36 | 37 | 38 | # --------------------------- 39 | # sysctl.conf 40 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 41 | # --------------------------- 42 | notify "Modify /etc/sysctl.conf" 43 | echo 'fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 44 | 45 | 46 | # --------------------------- 47 | # Add the user to the audio group 48 | # --------------------------- 49 | notify "Add ourselves to the audio group" 50 | sudo usermod -a -G audio $USER 51 | 52 | 53 | # --------------------------- 54 | # REAPER 55 | # Note: The instructions below will create a PORTABLE REAPER installation 56 | # at ~/REAPER. 57 | # --------------------------- 58 | notify "REAPER" 59 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 60 | mkdir ./reaper 61 | tar -C ./reaper -xf reaper.tar.xz 62 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 63 | rm -rf ./reaper 64 | rm reaper.tar.xz 65 | touch ~/REAPER/reaper.ini 66 | 67 | 68 | # ------------------------------------------------------------------------------------ 69 | # Wine and yabridge 70 | # https://copr.fedorainfracloud.org/coprs/patrickl/wine-tkg/ 71 | # ------------------------------------------------------------------------------------ 72 | 73 | sudo dnf install realtime-setup -y 74 | sudo systemctl enable realtime-setup.service 75 | sudo systemctl enable realtime-entsk.service 76 | sudo usermod -a -G realtime $(whoami) 77 | 78 | sudo dnf copr enable patrickl/wine-tkg -y 79 | sudo dnf copr enable patrickl/wine-mono -y 80 | sudo dnf copr enable patrickl/mingw-wine-gecko -y 81 | sudo dnf copr enable patrickl/vkd3d -y 82 | sudo dnf copr enable patrickl/wine-dxvk -y 83 | sudo dnf copr enable patrickl/winetricks -y 84 | sudo dnf copr enable patrickl/yabridge -y 85 | 86 | sudo dnf install wine wine-mono mingw32-wine-gecko mingw64-wine-gecko libvkd3d wine-dxvk* winetricks yabridge -y --refresh 87 | 88 | echo "# Audio: wine and yabridge" >> ~/.bashrc 89 | echo "export WINEESYNC=1" >> ~/.bashrc 90 | echo "export WINEFSYNC=1" >> ~/.bashrc 91 | 92 | # Winetricks 93 | sudo dnf install winetricks -y 94 | winetricks corefonts 95 | 96 | # Create common VST paths for yabridge 97 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 98 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 99 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 100 | 101 | # Add them into yabridge 102 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 103 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 104 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 105 | 106 | # --------------------------- 107 | # Install Windows VST plugins 108 | # This is a manual step for you to run when you download plugins. 109 | # First, run the plugin installer .exe file 110 | # When the installer asks for a directory, make sure you select 111 | # one of the directories above. 112 | 113 | # VST2 plugins: 114 | # C:\Program Files\Steinberg\VstPlugins 115 | # OR 116 | # C:\Program Files\Common Files\VST2 117 | 118 | # VST3 plugins: 119 | # C:\Program Files\Common Files\VST3 120 | # --------------------------- 121 | 122 | # Each time you install a new plugin, you need to run: 123 | # yabridgectl sync 124 | 125 | # --------------------------- 126 | # FINISHED! 127 | # Now just reboot, and make music! 128 | # --------------------------- 129 | notify "Done - please reboot." -------------------------------------------------------------------------------- /fedora/37/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Fedora 37 for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/fedora/37/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | # TODO: Copy jack.conf to ~/.config/pipewire/jack.conf and make appropriate changes 12 | # mkdir -p ~/.config/pipewire 13 | # sudo cp /usr/share/pipewire/jack.conf ~/.config/pipewire/jack.conf 14 | 15 | notify () { 16 | echo "--------------------------------------------------------------------" 17 | echo $1 18 | echo "--------------------------------------------------------------------" 19 | } 20 | 21 | 22 | # --------------------------- 23 | # Update our system 24 | # --------------------------- 25 | notify "Update the system" 26 | sudo dnf update 27 | 28 | 29 | # --------------------------- 30 | # limits 31 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 32 | # --------------------------- 33 | notify "Modify limits.d/audio.conf" 34 | echo '@audio - rtprio 90 35 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 36 | 37 | 38 | # --------------------------- 39 | # sysctl.conf 40 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 41 | # --------------------------- 42 | notify "Modify /etc/sysctl.conf" 43 | echo 'fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 44 | 45 | 46 | # --------------------------- 47 | # Add the user to the audio group 48 | # --------------------------- 49 | notify "Add ourselves to the audio group" 50 | sudo usermod -a -G audio $USER 51 | 52 | 53 | # --------------------------- 54 | # REAPER 55 | # Note: The instructions below will create a PORTABLE REAPER installation 56 | # at ~/REAPER. 57 | # --------------------------- 58 | notify "REAPER" 59 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 60 | mkdir ./reaper 61 | tar -C ./reaper -xf reaper.tar.xz 62 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 63 | rm -rf ./reaper 64 | rm reaper.tar.xz 65 | touch ~/REAPER/reaper.ini 66 | 67 | 68 | # ------------------------------------------------------------------------------------ 69 | # Wine 70 | # https://copr.fedorainfracloud.org/coprs/patrickl/wine-tkg-testing/ 71 | # ------------------------------------------------------------------------------------ 72 | 73 | sudo dnf install realtime-setup -y 74 | sudo systemctl enable realtime-setup.service 75 | sudo systemctl enable realtime-entsk.service 76 | sudo usermod -a -G realtime $USER 77 | sudo dnf copr enable patrickl/wine-tkg-testing -y 78 | sudo dnf copr enable patrickl/vkd3d-testing -y 79 | sudo dnf copr enable patrickl/mingw-wine-gecko-testing -y 80 | sudo dnf copr enable patrickl/wine-dxvk-testing -y 81 | sudo dnf copr enable patrickl/winetricks-testing -y 82 | sudo dnf install wine --refresh -y 83 | echo "" >> ~/.bashrc 84 | echo "# Audio: wine-tkg" >> ~/.bashrc 85 | echo "export WINEESYNC=1" >> ~/.bashrc 86 | echo "export WINEFSYNC=1" >> ~/.bashrc 87 | 88 | # Winetricks 89 | sudo dnf install winetricks -y 90 | winetricks corefonts 91 | 92 | 93 | # ------------------------------------------------------------------------------------ 94 | # yabridge 95 | # ------------------------------------------------------------------------------------ 96 | 97 | sudo dnf copr enable patrickl/yabridge-stable -y 98 | sudo dnf install yabridge -y 99 | 100 | # Create common VST paths 101 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 102 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 103 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 104 | 105 | # Add them into yabridge 106 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 107 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 108 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 109 | 110 | # --------------------------- 111 | # Install Windows VST plugins 112 | # This is a manual step for you to run when you download plugins. 113 | # First, run the plugin installer .exe file 114 | # When the installer asks for a directory, make sure you select 115 | # one of the directories above. 116 | 117 | # VST2 plugins: 118 | # C:\Program Files\Steinberg\VstPlugins 119 | # OR 120 | # C:\Program Files\Common Files\VST2 121 | 122 | # VST3 plugins: 123 | # C:\Program Files\Common Files\VST3 124 | # --------------------------- 125 | 126 | # Each time you install a new plugin, you need to run: 127 | # yabridgectl sync 128 | 129 | # --------------------------- 130 | # FINISHED! 131 | # Now just reboot, and make music! 132 | # --------------------------- 133 | notify "Done - please reboot." -------------------------------------------------------------------------------- /arch/README-btrfs.md: -------------------------------------------------------------------------------- 1 | # Arch Linux Installation Guide (btrfs) 2 | 3 | This guide is a **step by step and end to end guide** that will set up an Arch Linux operating system with: 4 | 5 | - UEFI using GRUB 6 | - BTRFS file system 7 | - Gnome 8 | - timeshift 9 | - audio 10 | 11 | And will give you applications that allow you to do: 12 | 13 | - word processing with Libreoffice 14 | - professional audio using Reaper (TODO: pipewire? ardour?) 15 | - photo management using Digikam 16 | - music playing using TODO 17 | 18 | It will not set you up with: 19 | 20 | - An encrypted hard disk 21 | 22 | ## Assumptions 23 | 24 | You have: 25 | 26 | 1. Downloaded the arch iso file 27 | 2. Copied it to a bootable USB 28 | 3. Booted your system using the arch USB 29 | 4. Are sitting at the `root@archiso` comand prompt. 30 | 31 | When in doubt, please consult the [arch installation guide](https://wiki.archlinux.org/title/Installation_guide). 32 | 33 | ## Installation steps 34 | 35 | I have provided minimal explanations using comments below. Please follow these steps verbatim, and if any issues come up, please consult the [arch wiki](https://wiki.archlinux.org/). 36 | 37 | ``` 38 | timedatectl set-ntp true 39 | 40 | # List disks (substitute /dev/XXXX below for your disks) 41 | fdisk -l 42 | 43 | # Use the menus within cfdisk to create the following partitions: 44 | # 500MB, Type=EFI 45 | # (Remaining size of drive, automatically entered by cfdisk), Type=Linux Filesystem 46 | cfdisk /dev/nvme0n1 47 | 48 | # Format the partitions 49 | mkfs.fat -F 32 -n EFI /dev/nvme0n1p1 50 | mkfs.btrfs -L ROOT /dev/nvme0n1p2 51 | 52 | # Mount current root and create subvolumes 53 | mount /dev/nvme0n1p2 /mnt 54 | btrfs su cr /mnt/@ 55 | btrfs su cr /mnt/@home 56 | btrfs su cr /mnt/@opt 57 | btrfs su cr /mnt/@tmp 58 | btrfs su cr /mnt/@var 59 | umount /mnt 60 | 61 | # Mount root 62 | mount -o noatime,commit=120,compress=zstd,space_cache,subvol=@ /dev/nvme0n1p2 /mnt 63 | 64 | # Make directories to mount subvolumes in 65 | mkdir /mnt/{boot,home,opt,tmp,var} 66 | 67 | # Mount other subvolumes 68 | mount -o noatime,commit=120,compress=zstd,space_cache,subvol=@home /dev/nvme0n1p2 /mnt/home 69 | mount -o noatime,commit=120,compress=zstd,space_cache,subvol=@opt /dev/nvme0n1p2 /mnt/opt 70 | mount -o noatime,commit=120,compress=zstd,space_cache,subvol=@tmp /dev/nvme0n1p2 /mnt/tmp 71 | mount -o noatime,commit=120,compress=zstd,space_cache,subvol=@var /dev/nvme0n1p2 /mnt/var 72 | 73 | # Mount boot 74 | mount /dev/nvme0n1p1 /mnt/boot 75 | 76 | pacstrap /mnt base 77 | 78 | genfstab -U /mnt >> /mnt/etc/fstab 79 | 80 | arch-chroot /mnt 81 | 82 | # Please add the appropriate ucode below: 83 | # - AMD CPU: amd-ucode 84 | # - Intel CPU: intel-ucode 85 | pacman -S grub grub-btrfs efibootmgr linux linux-firmware btrfs-progs vim 86 | 87 | # Edit mkinitcpio 88 | # Change: MODULES=() 89 | # TO: MODULES=(btrfs) 90 | vim /etc/mkinitcpio.conf 91 | mkinitcpio -p linux 92 | 93 | mkdir -p /boot/EFI 94 | mount /dev/nvme0n1p1 /boot/EFI 95 | grub-install --target=x86_64-efi --bootloader-id=GRUB 96 | grub-mkconfig -o /boot/grub/grub.cfg 97 | 98 | ln -sf /usr/share/zoneinfo/Australia/NSW /etc/localtime 99 | # Uncomment line 177 in /etc/locale.gen 100 | # If you are NOT wanting en_US.UTF-8, please manually uncomment the appropriate line 101 | sed -i '177s/.//' /etc/locale.gen 102 | locale-gen 103 | echo "LANG=en_US.UTF-8" > /etc/locale.conf 104 | echo "arch" > /etc/hostname 105 | echo "127.0.0.1 localhost 106 | ::1 localhost 107 | 127.0.1.1 arch.localdomain arch" > /etc/hosts 108 | 109 | # Use reflector to get the best mirrors for your location. 110 | pacman -S reflector rsync 111 | cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bk 112 | reflector --country "Australia" --sort rate --verbose --save /etc/pacman.d/mirrorlist 113 | 114 | # Install Gnome and enable services 115 | pacman -S gnome gdm networkmanager 116 | systemctl enable gdm 117 | systemctl enable NetworkManager 118 | 119 | # Set the root password 120 | passwd 121 | 122 | # Create a user for logging in to the desktop 123 | # Substitute for your username, e.g. billiesmith 124 | useradd -m -g users -G wheel 125 | # Substitute for your full name, e.g. Billie Smith 126 | chfn --full-name "" 127 | passwd 128 | 129 | # Reboot into the new OS! 130 | exit 131 | umount -R /mnt 132 | reboot 133 | ``` 134 | 135 | ## What to do after rebooting 136 | 137 | When your machine starts again, you will be sitting on the GDM login page. 138 | 139 | Please click your username, enter your password, and press enter to login. 140 | 141 | Some things to note about how Arch installs Gnome: 142 | 143 | - Volume will be at zero, go to Settings > Sound and slide the volume fader to the right. 144 | 145 | If you would like your system setup like me, please open a terminal, clone this repository and run the `install.sh` script. 146 | 147 | ``` 148 | git clone xxx 149 | cd arch 150 | sh ./install.sh 151 | ``` 152 | 153 | 154 | ## TODO: 155 | 156 | - firewalld 157 | - printing (cups), scanning 158 | -------------------------------------------------------------------------------- /fedora/35/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Fedora 36 for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/fedora/35/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | # TODO: Copy jack.conf to ~/.config/pipewire/jack.conf and make appropriate changes 12 | # mkdir -p ~/.config/pipewire 13 | # sudo cp /usr/share/pipewire/jack.conf ~/.config/pipewire/jack.conf 14 | 15 | notify () { 16 | echo "--------------------------------------------------------------------" 17 | echo $1 18 | echo "--------------------------------------------------------------------" 19 | } 20 | 21 | 22 | # --------------------------- 23 | # Update our system 24 | # --------------------------- 25 | notify "Update the system" 26 | sudo dnf update 27 | 28 | 29 | # --------------------------- 30 | # limits 31 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 32 | # --------------------------- 33 | notify "Modify limits.d/audio.conf" 34 | echo '@audio - rtprio 90 35 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 36 | 37 | 38 | # --------------------------- 39 | # sysctl.conf 40 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 41 | # --------------------------- 42 | notify "Modify /etc/sysctl.conf" 43 | echo 'fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 44 | 45 | 46 | # --------------------------- 47 | # Add the user to the audio group 48 | # --------------------------- 49 | notify "Add ourselves to the audio group" 50 | sudo usermod -a -G audio $USER 51 | 52 | 53 | # --------------------------- 54 | # REAPER 55 | # Note: The instructions below will create a PORTABLE REAPER installation 56 | # at ~/REAPER. 57 | # --------------------------- 58 | notify "REAPER" 59 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 60 | mkdir ./reaper 61 | tar -C ./reaper -xf reaper.tar.xz 62 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 63 | rm -rf ./reaper 64 | rm reaper.tar.xz 65 | touch ~/REAPER/reaper.ini 66 | 67 | 68 | # ------------------------------------------------------------------------------------ 69 | # Wine 70 | # https://copr.fedorainfracloud.org/coprs/patrickl/wine-tkg-testing/ 71 | # ------------------------------------------------------------------------------------ 72 | 73 | sudo dnf install realtime-setup -y 74 | sudo systemctl enable realtime-setup.service 75 | sudo systemctl enable realtime-entsk.service 76 | sudo usermod -a -G realtime $USER 77 | sudo dnf copr enable patrickl/wine-tkg-testing -y 78 | sudo dnf copr enable patrickl/vkd3d-testing -y 79 | sudo dnf copr enable patrickl/mingw-wine-gecko-testing -y 80 | sudo dnf copr enable patrickl/wine-dxvk-testing -y 81 | sudo dnf copr enable patrickl/winetricks-testing -y 82 | sudo dnf copr enable patrickl/yabridge-stable -y 83 | sudo dnf install wine --refresh -y 84 | echo "" >> ~/.bashrc 85 | echo "# Audio: wine-tkg" >> ~/.bashrc 86 | echo "export WINEESYNC=1" >> ~/.bashrc 87 | echo "export WINEFSYNC=1" >> ~/.bashrc 88 | 89 | # Winetricks 90 | sudo dnf install winetricks -y 91 | winetricks corefonts 92 | 93 | 94 | # ------------------------------------------------------------------------------------ 95 | # yabridge 96 | # ------------------------------------------------------------------------------------ 97 | 98 | sudo dnf copr enable patrickl/yabridge-stable -y 99 | sudo dnf install yabridge -y 100 | 101 | # Create common VST paths 102 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 103 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 104 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 105 | 106 | # Add them into yabridge 107 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 108 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 109 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 110 | 111 | # --------------------------- 112 | # Install Windows VST plugins 113 | # This is a manual step for you to run when you download plugins. 114 | # First, run the plugin installer .exe file 115 | # When the installer asks for a directory, make sure you select 116 | # one of the directories above. 117 | 118 | # VST2 plugins: 119 | # C:\Program Files\Steinberg\VstPlugins 120 | # OR 121 | # C:\Program Files\Common Files\VST2 122 | 123 | # VST3 plugins: 124 | # C:\Program Files\Common Files\VST3 125 | # --------------------------- 126 | 127 | # Each time you install a new plugin, you need to run: 128 | # yabridgectl sync 129 | 130 | # --------------------------- 131 | # FINISHED! 132 | # Now just reboot, and make music! 133 | # --------------------------- 134 | notify "Done - please reboot." 135 | -------------------------------------------------------------------------------- /fedora/36/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Fedora 36 for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/fedora/36/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | # TODO: Copy jack.conf to ~/.config/pipewire/jack.conf and make appropriate changes 12 | # mkdir -p ~/.config/pipewire 13 | # sudo cp /usr/share/pipewire/jack.conf ~/.config/pipewire/jack.conf 14 | 15 | notify () { 16 | echo "--------------------------------------------------------------------" 17 | echo $1 18 | echo "--------------------------------------------------------------------" 19 | } 20 | 21 | 22 | # --------------------------- 23 | # Update our system 24 | # --------------------------- 25 | notify "Update the system" 26 | sudo dnf update 27 | 28 | 29 | # --------------------------- 30 | # limits 31 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 32 | # --------------------------- 33 | notify "Modify limits.d/audio.conf" 34 | echo '@audio - rtprio 90 35 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 36 | 37 | 38 | # --------------------------- 39 | # sysctl.conf 40 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 41 | # --------------------------- 42 | notify "Modify /etc/sysctl.conf" 43 | echo 'fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 44 | 45 | 46 | # --------------------------- 47 | # Add the user to the audio group 48 | # --------------------------- 49 | notify "Add ourselves to the audio group" 50 | sudo usermod -a -G audio $USER 51 | 52 | 53 | # --------------------------- 54 | # REAPER 55 | # Note: The instructions below will create a PORTABLE REAPER installation 56 | # at ~/REAPER. 57 | # --------------------------- 58 | notify "REAPER" 59 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 60 | mkdir ./reaper 61 | tar -C ./reaper -xf reaper.tar.xz 62 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 63 | rm -rf ./reaper 64 | rm reaper.tar.xz 65 | touch ~/REAPER/reaper.ini 66 | 67 | 68 | # ------------------------------------------------------------------------------------ 69 | # Wine 70 | # https://copr.fedorainfracloud.org/coprs/patrickl/wine-tkg-testing/ 71 | # ------------------------------------------------------------------------------------ 72 | 73 | sudo dnf install realtime-setup -y 74 | sudo systemctl enable realtime-setup.service 75 | sudo systemctl enable realtime-entsk.service 76 | sudo usermod -a -G realtime $USER 77 | sudo dnf copr enable patrickl/wine-tkg-testing -y 78 | sudo dnf copr enable patrickl/vkd3d-testing -y 79 | sudo dnf copr enable patrickl/mingw-wine-gecko-testing -y 80 | sudo dnf copr enable patrickl/wine-dxvk-testing -y 81 | sudo dnf copr enable patrickl/winetricks-testing -y 82 | sudo dnf copr enable patrickl/yabridge-stable -y 83 | sudo dnf install wine --refresh -y 84 | echo "" >> ~/.bashrc 85 | echo "# Audio: wine-tkg" >> ~/.bashrc 86 | echo "export WINEESYNC=1" >> ~/.bashrc 87 | echo "export WINEFSYNC=1" >> ~/.bashrc 88 | 89 | # Winetricks 90 | sudo dnf install winetricks -y 91 | winetricks corefonts 92 | 93 | 94 | # ------------------------------------------------------------------------------------ 95 | # yabridge 96 | # ------------------------------------------------------------------------------------ 97 | 98 | sudo dnf copr enable patrickl/yabridge-stable -y 99 | sudo dnf install yabridge -y 100 | 101 | # Create common VST paths 102 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 103 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 104 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 105 | 106 | # Add them into yabridge 107 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 108 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 109 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 110 | 111 | # --------------------------- 112 | # Install Windows VST plugins 113 | # This is a manual step for you to run when you download plugins. 114 | # First, run the plugin installer .exe file 115 | # When the installer asks for a directory, make sure you select 116 | # one of the directories above. 117 | 118 | # VST2 plugins: 119 | # C:\Program Files\Steinberg\VstPlugins 120 | # OR 121 | # C:\Program Files\Common Files\VST2 122 | 123 | # VST3 plugins: 124 | # C:\Program Files\Common Files\VST3 125 | # --------------------------- 126 | 127 | # Each time you install a new plugin, you need to run: 128 | # yabridgectl sync 129 | 130 | # --------------------------- 131 | # FINISHED! 132 | # Now just reboot, and make music! 133 | # --------------------------- 134 | notify "Done - please reboot." 135 | -------------------------------------------------------------------------------- /debian/11/install-desktop-xfce.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # ------------------------------------------------------------------------------------ 4 | # This is a bash script for configuring Debian as a usable Windows or Mac replacement. 5 | # Whereas the audio scripts are designed to be run in their entirety, this script is 6 | # more of a guide - please pick and choose the pieces that are relevant to you. 7 | # ------------------------------------------------------------------------------------ 8 | 9 | # Exit if any command fails 10 | set -e 11 | 12 | notify () { 13 | echo "--------------------------------------------------------------------" 14 | echo $1 15 | echo "--------------------------------------------------------------------" 16 | } 17 | 18 | 19 | # i915 firmware 20 | #git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git 21 | #sudo cp -r ./linux-firmware/i915 /lib/firmware 22 | #sudo update-initramfs -u -k all 23 | 24 | 25 | # --------------------------- 26 | # Update our system 27 | # --------------------------- 28 | notify "Update the system" 29 | sudo apt update && sudo apt dist-upgrade -y 30 | 31 | 32 | # ------------------------------------------------------------------------------------ 33 | # GRUB background image 34 | # ------------------------------------------------------------------------------------ 35 | notify "Set a nice Debian GRUB image" 36 | wget https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/debian/debian-wallpaper.tga 37 | sudo mv debian-wallpaper.tga /boot/grub/ 38 | sudo update-grub 39 | 40 | 41 | # --------------------------- 42 | # Fix screen tearing 43 | # Note: This is for Intel graphics 44 | # Review https://techstop.github.io/fix-screen-tearing-xfce/ 45 | # for other graphics systems. 46 | # --------------------------- 47 | notify "Update the system" 48 | echo 'Section "Device" 49 | Identifier "Intel Graphics" 50 | Driver "intel" 51 | Option "TearFree" "true" 52 | EndSection' | sudo tee /usr/share/X11/xorg.conf.d/10-intel.conf 53 | 54 | 55 | # --------------------------- 56 | # Install required and/or useful packages 57 | # git 58 | # vim 59 | # nfs-common: Mounting NFS volumes 60 | # gvfs-backends: Thunar volume management 61 | # moka-icon-theme: Nice(r) icon theme 62 | # greybird-gtk-theme: Nice(r) UI theme 63 | # --------------------------- 64 | sudo apt install git vim nfs-common gvfs-backends moka-icon-theme greybird-gtk-theme 65 | 66 | 67 | # --------------------------- 68 | # Install Flatpak 69 | # Some applications on Debian 11 are just too far out of date 70 | # For my use, I require: 71 | # kdenlive 72 | # krita 73 | # OBS 74 | # --------------------------- 75 | sudo apt install flatpak 76 | flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 77 | 78 | flatpak install flathub org.kde.krita 79 | flatpak install flathub org.kde.kdenlive 80 | # flatpak install flathub com.obsproject.Studio 81 | 82 | 83 | 84 | # --------------------------- 85 | # Automount NFS volume(s) 86 | # --------------------------- 87 | sudo mkdir -p /mnt/NAS 88 | echo "[Unit] 89 | Description=NAS:mount 90 | Requires=network-online.target 91 | After=network-online.service 92 | 93 | [Mount] 94 | What=192.168.20.15:/volume1/Data 95 | Where=/mnt/NAS 96 | Options= 97 | Type=nfs 98 | 99 | [Install] 100 | WantedBy=multi-user.target" | sudo tee /etc/systemd/system/mnt-NAS.mount 101 | echo "[Unit] 102 | Description=NAS:Automount 103 | Requires=network-online.target 104 | After=network-online.service 105 | 106 | [Automount] 107 | Where=/mnt/NAS 108 | TimeoutIdleSec=86400 109 | 110 | [Install] 111 | WantedBy=multi-user.target" | sudo tee /etc/systemd/system/mnt-NAS.automount 112 | sudo systemctl enable mnt-NAS.automount 113 | sudo systemctl start mnt-NAS.automount 114 | 115 | 116 | # **************************************************************************************************************************** 117 | # bi_split_obs_recording 118 | # When I record a video using OBS I have 4 elements 119 | # 1. The video (screen recording) 120 | # 2. Voice over dialogue recorded using the microphone 121 | # 3. DAW audio 122 | # 4. Desktop audio 123 | # When I edit the video for publishing I want to ensure the audio quality is maximised. 124 | # To do that I need to import the 3 separate audio streams into REAPER and process them. 125 | # This gives me separate video and audio files. 126 | # **************************************************************************************************************************** 127 | bi_split_obs_recording () { 128 | filename=$(echo "$@" | cut -f 1 -d '.') 129 | ffmpeg -i $filename.mkv \ 130 | -map 0:v -c copy $filename-vid.mkv \ 131 | -map 0:a:0 -c copy $filename-vod.aac \ 132 | -map 0:a:1 -c copy $filename-daw.aac \ 133 | -map 0:a:2 -c copy $filename-dsk.aac; 134 | 135 | for a in *.aac; do ffmpeg -i "$a" "${a%.aac}.wav"; done 136 | rm *.aac; 137 | } 138 | alias bobs=bi_split_obs_recording 139 | 140 | 141 | # --------------------------- 142 | # FINISHED! 143 | # --------------------------- 144 | notify "Done." 145 | -------------------------------------------------------------------------------- /fedora/41/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Fedora 41 for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/fedora/41/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | 12 | notify () { 13 | echo "--------------------------------------------------------------------" 14 | echo $1 15 | echo "--------------------------------------------------------------------" 16 | } 17 | 18 | 19 | # --------------------------- 20 | # Update our system 21 | # --------------------------- 22 | notify "Update the system" 23 | sudo dnf update 24 | 25 | 26 | # --------------------------- 27 | # Use preemptive kernel option 28 | # --------------------------- 29 | sudo grubby --args="preempt=full" --update-kernel=ALL 30 | 31 | 32 | # --------------------------- 33 | # limits 34 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 35 | # --------------------------- 36 | notify "Modify limits.d/audio.conf" 37 | echo '@pipewire - rtprio 90 38 | @pipewire - nice -19 39 | @pipewire - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 40 | 41 | 42 | # --------------------------- 43 | # sysctl.conf 44 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 45 | # --------------------------- 46 | notify "Modify /etc/sysctl.conf" 47 | echo 'vm.swappiness=10 48 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 49 | 50 | 51 | # --------------------------- 52 | # Add the user to the pipewire group 53 | # --------------------------- 54 | notify "Add ourselves to the pipewire group" 55 | sudo usermod -a -G pipewire $USER 56 | 57 | 58 | # --------------------------- 59 | # REAPER 60 | # Note: REAPER is not free. It is incredible software - and cheap. 61 | # Please do the right thing and purchase it. 62 | # Note: The instructions below will create a PORTABLE REAPER installation at ~/REAPER. 63 | # --------------------------- 64 | notify "REAPER" 65 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 66 | mkdir ./reaper 67 | tar -C ./reaper -xf reaper.tar.xz 68 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 69 | rm -rf ./reaper 70 | rm reaper.tar.xz 71 | touch ~/REAPER/reaper.ini 72 | 73 | 74 | # ------------------------------------------------------------------------------------ 75 | # Wine and yabridge 76 | # https://copr.fedorainfracloud.org/coprs/patrickl/wine-tkg/ 77 | # ------------------------------------------------------------------------------------ 78 | 79 | sudo dnf install realtime-setup -y 80 | sudo systemctl enable realtime-setup.service 81 | sudo systemctl enable realtime-entsk.service 82 | sudo usermod -a -G realtime $USER 83 | 84 | sudo systemctl disable rtkit-daemon 85 | sudo systemctl mask rtkit-daemon 86 | 87 | sudo dnf copr enable patrickl/wine-tkg -y 88 | sudo dnf copr enable patrickl/wine-mono -y 89 | sudo dnf copr enable patrickl/mingw-wine-gecko -y 90 | sudo dnf copr enable patrickl/vkd3d -y 91 | sudo dnf copr enable patrickl/wine-dxvk -y 92 | sudo dnf copr enable patrickl/winetricks -y 93 | sudo dnf copr enable patrickl/yabridge -y 94 | sudo dnf copr enable patrickl/libcurl-gnutls -y 95 | 96 | sudo dnf install wine wine-mono mingw32-wine-gecko mingw64-wine-gecko libvkd3d wine-dxvk* winetricks yabridge libcurl-gnutls -y --refresh 97 | 98 | echo "# Audio: wine and yabridge" >> ~/.bashrc 99 | echo "export WINEESYNC=1" >> ~/.bashrc 100 | echo "export WINEFSYNC=1" >> ~/.bashrc 101 | 102 | # Winetricks 103 | sudo dnf install winetricks -y 104 | winetricks -q corefonts 105 | 106 | # Create common VST paths for yabridge 107 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 108 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 109 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 110 | 111 | # Add them into yabridge 112 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 113 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 114 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 115 | 116 | # --------------------------- 117 | # Install Windows VST plugins 118 | # This is a manual step for you to run when you download plugins. 119 | # First, run the plugin installer .exe file 120 | # When the installer asks for a directory, make sure you select 121 | # one of the directories above. 122 | 123 | # VST2 plugins: 124 | # C:\Program Files\Steinberg\VstPlugins 125 | # OR 126 | # C:\Program Files\Common Files\VST2 127 | 128 | # VST3 plugins: 129 | # C:\Program Files\Common Files\VST3 130 | # --------------------------- 131 | 132 | # Each time you install a new plugin, you need to run: 133 | # yabridgectl sync 134 | 135 | # --------------------------- 136 | # FINISHED! 137 | # Now just reboot, and make music! 138 | # --------------------------- 139 | notify "Done - please reboot." -------------------------------------------------------------------------------- /fedora/42/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Fedora 42 for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/fedora/42/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | 12 | notify () { 13 | echo "--------------------------------------------------------------------" 14 | echo $1 15 | echo "--------------------------------------------------------------------" 16 | } 17 | 18 | 19 | # --------------------------- 20 | # Update our system 21 | # --------------------------- 22 | notify "Update the system" 23 | sudo dnf update 24 | 25 | 26 | # --------------------------- 27 | # Use preemptive kernel option 28 | # --------------------------- 29 | sudo grubby --args="preempt=full" --update-kernel=ALL 30 | 31 | 32 | # --------------------------- 33 | # limits 34 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 35 | # --------------------------- 36 | notify "Modify limits.d/audio.conf" 37 | echo '@pipewire - rtprio 90 38 | @pipewire - nice -19 39 | @pipewire - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 40 | 41 | 42 | # --------------------------- 43 | # sysctl.conf 44 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 45 | # --------------------------- 46 | notify "Modify /etc/sysctl.conf" 47 | echo 'vm.swappiness=10 48 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 49 | 50 | 51 | # --------------------------- 52 | # Add the user to the pipewire group 53 | # --------------------------- 54 | notify "Add ourselves to the pipewire group" 55 | sudo usermod -a -G pipewire $USER 56 | 57 | 58 | # --------------------------- 59 | # REAPER 60 | # Note: REAPER is not free. It is incredible software - and cheap. 61 | # Please do the right thing and purchase it. 62 | # Note: The instructions below will create a PORTABLE REAPER installation at ~/REAPER. 63 | # --------------------------- 64 | notify "REAPER" 65 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 66 | mkdir ./reaper 67 | tar -C ./reaper -xf reaper.tar.xz 68 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 69 | rm -rf ./reaper 70 | rm reaper.tar.xz 71 | touch ~/REAPER/reaper.ini 72 | 73 | 74 | # ------------------------------------------------------------------------------------ 75 | # Wine and yabridge 76 | # https://copr.fedorainfracloud.org/coprs/patrickl/wine-tkg/ 77 | # ------------------------------------------------------------------------------------ 78 | 79 | sudo dnf install realtime-setup -y 80 | sudo systemctl enable realtime-setup.service 81 | sudo systemctl enable realtime-entsk.service 82 | sudo usermod -a -G realtime $USER 83 | 84 | sudo systemctl disable rtkit-daemon 85 | sudo systemctl mask rtkit-daemon 86 | 87 | sudo dnf copr enable patrickl/wine-tkg -y 88 | sudo dnf copr enable patrickl/wine-mono -y 89 | sudo dnf copr enable patrickl/mingw-wine-gecko -y 90 | sudo dnf copr enable patrickl/vkd3d -y 91 | sudo dnf copr enable patrickl/wine-dxvk -y 92 | sudo dnf copr enable patrickl/winetricks -y 93 | sudo dnf copr enable patrickl/yabridge -y 94 | sudo dnf copr enable patrickl/libcurl-gnutls -y 95 | 96 | sudo dnf install wine wine-mono mingw32-wine-gecko mingw64-wine-gecko libvkd3d wine-dxvk* winetricks yabridge libcurl-gnutls -y --refresh 97 | 98 | echo "# Audio: wine and yabridge" >> ~/.bashrc 99 | echo "export WINEESYNC=1" >> ~/.bashrc 100 | echo "export WINEFSYNC=1" >> ~/.bashrc 101 | 102 | # Winetricks 103 | sudo dnf install winetricks -y 104 | winetricks -q corefonts 105 | 106 | # Create common VST paths for yabridge 107 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 108 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 109 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 110 | 111 | # Add them into yabridge 112 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 113 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 114 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 115 | 116 | # --------------------------- 117 | # Install Windows VST plugins 118 | # This is a manual step for you to run when you download plugins. 119 | # First, run the plugin installer .exe file 120 | # When the installer asks for a directory, make sure you select 121 | # one of the directories above. 122 | 123 | # VST2 plugins: 124 | # C:\Program Files\Steinberg\VstPlugins 125 | # OR 126 | # C:\Program Files\Common Files\VST2 127 | 128 | # VST3 plugins: 129 | # C:\Program Files\Common Files\VST3 130 | # --------------------------- 131 | 132 | # Each time you install a new plugin, you need to run: 133 | # yabridgectl sync 134 | 135 | # --------------------------- 136 | # FINISHED! 137 | # Now just reboot, and make music! 138 | # --------------------------- 139 | notify "Done - please reboot." -------------------------------------------------------------------------------- /fedora/43/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Fedora 43 for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/fedora/43/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | 12 | notify () { 13 | echo "--------------------------------------------------------------------" 14 | echo $1 15 | echo "--------------------------------------------------------------------" 16 | } 17 | 18 | 19 | # --------------------------- 20 | # Update our system 21 | # --------------------------- 22 | notify "Update the system" 23 | sudo dnf update 24 | 25 | 26 | # --------------------------- 27 | # Use preemptive kernel option 28 | # --------------------------- 29 | sudo grubby --args="preempt=full" --update-kernel=ALL 30 | 31 | 32 | # --------------------------- 33 | # limits 34 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 35 | # --------------------------- 36 | notify "Modify limits.d/audio.conf" 37 | echo '@pipewire - rtprio 90 38 | @pipewire - nice -19 39 | @pipewire - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 40 | 41 | 42 | # --------------------------- 43 | # sysctl.conf 44 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 45 | # --------------------------- 46 | notify "Modify /etc/sysctl.conf" 47 | echo 'vm.swappiness=10 48 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 49 | 50 | 51 | # --------------------------- 52 | # Add the user to the pipewire group 53 | # --------------------------- 54 | notify "Add ourselves to the pipewire group" 55 | sudo usermod -a -G pipewire $USER 56 | 57 | 58 | # --------------------------- 59 | # REAPER 60 | # Note: REAPER is not free. It is incredible software - and cheap. 61 | # Please do the right thing and purchase it. 62 | # Note: The instructions below will create a PORTABLE REAPER installation at ~/REAPER. 63 | # --------------------------- 64 | notify "REAPER" 65 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 66 | mkdir ./reaper 67 | tar -C ./reaper -xf reaper.tar.xz 68 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 69 | rm -rf ./reaper 70 | rm reaper.tar.xz 71 | touch ~/REAPER/reaper.ini 72 | 73 | 74 | # ------------------------------------------------------------------------------------ 75 | # Wine and yabridge 76 | # https://copr.fedorainfracloud.org/coprs/patrickl/wine-tkg/ 77 | # ------------------------------------------------------------------------------------ 78 | 79 | sudo dnf install realtime-setup -y 80 | sudo systemctl enable realtime-setup.service 81 | sudo systemctl enable realtime-entsk.service 82 | sudo usermod -a -G realtime $USER 83 | 84 | sudo systemctl disable rtkit-daemon 85 | sudo systemctl mask rtkit-daemon 86 | 87 | sudo dnf copr enable patrickl/wine-tkg -y 88 | sudo dnf copr enable patrickl/wine-mono -y 89 | sudo dnf copr enable patrickl/mingw-wine-gecko -y 90 | sudo dnf copr enable patrickl/vkd3d -y 91 | sudo dnf copr enable patrickl/wine-dxvk -y 92 | sudo dnf copr enable patrickl/winetricks -y 93 | sudo dnf copr enable patrickl/yabridge -y 94 | sudo dnf copr enable patrickl/libcurl-gnutls -y 95 | 96 | sudo dnf install wine wine-mono mingw32-wine-gecko mingw64-wine-gecko libvkd3d wine-dxvk* winetricks yabridge libcurl-gnutls -y --refresh 97 | 98 | echo "# Audio: wine and yabridge" >> ~/.bashrc 99 | echo "export WINEESYNC=1" >> ~/.bashrc 100 | echo "export WINEFSYNC=1" >> ~/.bashrc 101 | 102 | # Winetricks 103 | sudo dnf install winetricks -y 104 | winetricks -q corefonts 105 | 106 | # Create common VST paths for yabridge 107 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 108 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 109 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 110 | 111 | # Add them into yabridge 112 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 113 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 114 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 115 | 116 | # --------------------------- 117 | # Install Windows VST plugins 118 | # This is a manual step for you to run when you download plugins. 119 | # First, run the plugin installer .exe file 120 | # When the installer asks for a directory, make sure you select 121 | # one of the directories above. 122 | 123 | # VST2 plugins: 124 | # C:\Program Files\Steinberg\VstPlugins 125 | # OR 126 | # C:\Program Files\Common Files\VST2 127 | 128 | # VST3 plugins: 129 | # C:\Program Files\Common Files\VST3 130 | # --------------------------- 131 | 132 | # Each time you install a new plugin, you need to run: 133 | # yabridgectl sync 134 | 135 | # --------------------------- 136 | # FINISHED! 137 | # Now just reboot, and make music! 138 | # --------------------------- 139 | notify "Done - please reboot." -------------------------------------------------------------------------------- /arch/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Arch for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/arch/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | # TODO: Copy jack.conf to ~/.config/pipewire/jack.conf and make appropriate changes 12 | # mkdir -p ~/.config/pipewire 13 | # sudo cp /usr/share/pipewire/jack.conf ~/.config/pipewire/jack.conf 14 | 15 | notify () { 16 | echo "--------------------------------------------------------------------" 17 | echo $1 18 | echo "--------------------------------------------------------------------" 19 | } 20 | 21 | # ------------------------------------------------------------------------------------ 22 | # Install packages 23 | # ------------------------------------------------------------------------------------ 24 | notify "Update our system" 25 | sudo pacman -Syu 26 | 27 | # Audio 28 | notify "Install audio packages" 29 | echo "NOTE: When prompted, select (y)es to remove pulseaudio and pulseaudio-bluetooth." 30 | # alsa-utils: For alsamixer (to increase base level of sound card) 31 | sudo pacman -S pipewire pipewire-alsa pipewire-jack pipewire-pulse alsa-utils helvum ardour 32 | 33 | echo "/usr/lib/pipewire-0.3/jack" | sudo tee /etc/ld.so.conf.d/pipewire-jack.conf 34 | sudo ldconfig 35 | 36 | 37 | # --------------------------- 38 | # grub 39 | # threadirqs = TODO 40 | # cpufreq.default_governor=performance = TODO 41 | # --------------------------- 42 | notify "Modify GRUB options" 43 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"/GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub 44 | sudo grub-mkconfig -o /boot/grub/grub.cfg 45 | 46 | 47 | # --------------------------- 48 | # limits 49 | # --------------------------- 50 | notify "Modify limits.d/audio.conf" 51 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 52 | echo '@audio - rtprio 90 53 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 54 | 55 | 56 | # --------------------------- 57 | # sysctl.conf 58 | # --------------------------- 59 | notify "Modify /etc/sysctl.conf" 60 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 61 | echo 'fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 62 | 63 | 64 | # --------------------------- 65 | # Add the user to the audio group 66 | # --------------------------- 67 | notify "Add ourselves to the audio group" 68 | sudo usermod -a -G audio $USER 69 | 70 | 71 | # --------------------------- 72 | # REAPER 73 | # Note: The instructions below will create a PORTABLE REAPER installation 74 | # at ~/REAPER. 75 | # --------------------------- 76 | notify "REAPER" 77 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 78 | mkdir ./reaper 79 | tar -C ./reaper -xf reaper.tar.xz 80 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 81 | rm -rf ./reaper 82 | rm reaper.tar.xz 83 | touch ~/REAPER/reaper.ini 84 | 85 | 86 | # ------------------------------------------------------------------------------------ 87 | # Wine (staging) 88 | # https://wiki.winehq.org/Winetricks 89 | # ------------------------------------------------------------------------------------ 90 | 91 | # Enable multilib 92 | sudo cp /etc/pacman.conf /etc/pacman.conf.bak 93 | cat /etc/pacman.conf.bak | tr '\n' '\f' | sed -e 's/#\[multilib\]\f#Include = \/etc\/pacman.d\/mirrorlist/\[multilib\]\fInclude = \/etc\/pacman.d\/mirrorlist/g' | tr '\f' '\n' | sudo tee /etc/pacman.conf 94 | sudo pacman -Syyu 95 | 96 | # Install wine-staging 97 | sudo pacman -S wine-staging winetricks --noconfirm 98 | 99 | # NOTE: If wine-staging has regressions, you may need to downgrade. 100 | # You can do that by installing the downgrade package from AUR and 101 | # then specifying the version of wine-staging you want. 102 | # Note: as of 10th October 2021 the correct number is 82 (6.14) 103 | #yay -S downgrade --noconfirm 104 | #sudo env DOWNGRADE_FROM_ALA=1 downgrade wine-staging 105 | 106 | # Base wine packages required for proper plugin functionality 107 | winetricks corefonts 108 | 109 | # ------------------------------------------------------------------------------------ 110 | # yabridge 111 | # ------------------------------------------------------------------------------------ 112 | 113 | yay -S yabridge-bin --noconfirm 114 | 115 | # Create common VST paths 116 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 117 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 118 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 119 | 120 | # Add them into yabridge 121 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 122 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 123 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 124 | 125 | # --------------------------- 126 | # Install Windows VST plugins 127 | # This is a manual step for you to run when you download plugins. 128 | # First, run the plugin installer .exe file 129 | # When the installer asks for a directory, make sure you select 130 | # one of the directories above. 131 | 132 | # VST2 plugins: 133 | # C:\Program Files\Steinberg\VstPlugins 134 | # OR 135 | # C:\Program Files\Common Files\VST2 136 | 137 | # VST3 plugins: 138 | # C:\Program Files\Common Files\VST3 139 | # --------------------------- 140 | 141 | # Each time you install a new plugin, you need to run: 142 | # yabridgectl sync 143 | 144 | # --------------------------- 145 | # FINISHED! 146 | # Now just reboot, and make music! 147 | # --------------------------- 148 | notify "Done - please reboot." 149 | -------------------------------------------------------------------------------- /neon/2204/install-desktop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # ------------------------------------------------------------------------------------ 4 | # This is a bash script for configuring KDE Neon as a usable Windows or Mac replacement. 5 | # Whereas the audio scripts are designed to be run in their entirety, this script is 6 | # more of a guide - please pick and choose the pieces that are relevant to you. 7 | # ------------------------------------------------------------------------------------ 8 | 9 | # Exit if any command fails 10 | set -e 11 | 12 | notify () { 13 | echo "--------------------------------------------------------------------" 14 | echo $1 15 | echo "--------------------------------------------------------------------" 16 | } 17 | 18 | 19 | # ------------------------------------------------------------------------------------ 20 | # Add ourselves as sudo 21 | # NOTE: My machine is physically secured, so I specify NOPASSWD for sudo convenience. 22 | # If you have security concerns, don't do this. 23 | # ------------------------------------------------------------------------------------ 24 | notify "Add $USER to sudoers.d" 25 | echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$USER 26 | 27 | 28 | # ------------------------------------------------------------------------------------ 29 | # Install i915 firmware 30 | # NOTE: ONLY RUN THIS IF YOU HAVE INTEL i915 FIRMWARE REQUIREMENTS 31 | # ------------------------------------------------------------------------------------ 32 | notify "Install i915 firmware" 33 | git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git 34 | sudo cp -r ./linux-firmware/i915 /lib/firmware 35 | sudo update-initramfs -u -k all 36 | rm -rf ./linux-firmware 37 | 38 | 39 | # ------------------------------------------------------------------------------------ 40 | # Update our system 41 | # ------------------------------------------------------------------------------------ 42 | notify "Update the system" 43 | sudo apt update && sudo apt dist-upgrade -y 44 | sudo apt autoremove -y 45 | 46 | 47 | # ------------------------------------------------------------------------------------ 48 | # 49 | # ------------------------------------------------------------------------------------ 50 | notify "Install applications" 51 | 52 | # Useful utilities 53 | sudo apt install git vim -y 54 | 55 | # Timeshift allows us to take snapshots of our system at points in time. 56 | # This means if something happens to our system to break it, we can 57 | # roll back to a previously working snapshot. 58 | sudo apt install timeshift -y 59 | 60 | # Image editing 61 | # Use this instead of: Photoshop 62 | sudo apt install krita -y 63 | 64 | # Photo management 65 | # Use this instead of: Lightroom 66 | sudo apt install digikam -y 67 | 68 | # Video editing 69 | # Use this instead of: Davinci Resolve, iMovie 70 | sudo apt install kdenlive mediainfo -y 71 | 72 | # Screen recording and streaming 73 | # OBS works on Mac, Windows, and Linux 74 | # It is the universally accepted application for streaming 75 | sudo add-apt-repository ppa:obsproject/obs-studio -y 76 | sudo apt install obs-studio -y 77 | 78 | # Text editing 79 | # Kate is a more powerful (but still lightweight) version of kwrite. 80 | sudo apt install kate -y 81 | 82 | # Libreoffice 83 | wget -q -O libreoffice.tar.gz "https://mirror.aarnet.edu.au/pub/tdf/libreoffice/stable/7.4.2/deb/x86_64/LibreOffice_7.4.2_Linux_x86-64_deb.tar.gz" 84 | mkdir ./libreoffice 85 | tar -C ./libreoffice -xf libreoffice.tar.gz 86 | sudo apt install ./libreoffice/LibreOffice_7.4.2.3_Linux_x86-64_deb/DEBS/*.deb 87 | rm -rf ./libreoffice 88 | rm libreoffice.tar.gz 89 | 90 | 91 | # ------------------------------------------------------------------------------------ 92 | # Google Chrome 93 | # ------------------------------------------------------------------------------------ 94 | notify "Google Chrome" 95 | read -p "Would you like to install Google Chrome (Y/N)? " -n 1 -r 96 | echo 97 | if [[ $REPLY =~ ^[Yy]$ ]] 98 | then 99 | wget -q -O chrome.deb "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" 100 | sudo apt install ./chrome.deb -y 101 | rm chrome.deb 102 | fi 103 | 104 | 105 | # ------------------------------------------------------------------------------------ 106 | # VS Code 107 | # ------------------------------------------------------------------------------------ 108 | notify "VS Code" 109 | read -p "Install VS Code (Y/N)? " -n 1 -r 110 | echo 111 | if [[ $REPLY =~ ^[Yy]$ ]] 112 | then 113 | curl -O -L https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64 114 | wget -qO vscode.deb https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64 115 | sudo apt install ./vscode.deb -y 116 | rm vscode.deb 117 | fi 118 | 119 | 120 | # ------------------------------------------------------------------------------------ 121 | # VS Codium 122 | # ------------------------------------------------------------------------------------ 123 | notify "VSCodium" 124 | read -p "Install VSCodium (Y/N)? " -n 1 -r 125 | echo 126 | if [[ $REPLY =~ ^[Yy]$ ]] 127 | then 128 | wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg 129 | echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium main' | sudo tee /etc/apt/sources.list.d/vscodium.list 130 | sudo apt update && sudo apt install codium -y 131 | fi 132 | 133 | 134 | # ------------------------------------------------------------------------------------ 135 | # Dropbox 136 | # ------------------------------------------------------------------------------------ 137 | notify "Dropbox" 138 | read -p "Install Dropbox (Y/N)? " -n 1 -r 139 | echo 140 | if [[ $REPLY =~ ^[Yy]$ ]] 141 | then 142 | wget -O dropbox.deb https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2020.03.04_amd64.deb 143 | sudo apt install ./dropbox.deb -y 144 | rm ./dropbox.deb 145 | fi 146 | -------------------------------------------------------------------------------- /neon/2004/install-desktop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # ------------------------------------------------------------------------------------ 4 | # This is a bash script for configuring KDE Neon as a usable Windows or Mac replacement. 5 | # Whereas the audio scripts are designed to be run in their entirety, this script is 6 | # more of a guide - please pick and choose the pieces that are relevant to you. 7 | # ------------------------------------------------------------------------------------ 8 | 9 | # Exit if any command fails 10 | set -e 11 | 12 | notify () { 13 | echo "--------------------------------------------------------------------" 14 | echo $1 15 | echo "--------------------------------------------------------------------" 16 | } 17 | 18 | 19 | # ------------------------------------------------------------------------------------ 20 | # Add ourselves as sudo 21 | # NOTE: My machine is physically secured, so I specify NOPASSWD for sudo convenience. 22 | # If you have security concerns, don't do this. 23 | # ------------------------------------------------------------------------------------ 24 | notify "Add $USER to sudoers.d" 25 | echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$USER 26 | 27 | 28 | # ------------------------------------------------------------------------------------ 29 | # Install i915 firmware 30 | # NOTE: ONLY RUN THIS IF YOU HAVE INTEL i915 FIRMWARE REQUIREMENTS 31 | # ------------------------------------------------------------------------------------ 32 | notify "Install i915 firmware" 33 | git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git 34 | sudo cp -r ./linux-firmware/i915 /lib/firmware 35 | sudo update-initramfs -u -k all 36 | rm -rf ./linux-firmware 37 | 38 | 39 | # ------------------------------------------------------------------------------------ 40 | # Update our system 41 | # ------------------------------------------------------------------------------------ 42 | notify "Update the system" 43 | sudo apt update && sudo apt dist-upgrade -y 44 | sudo apt autoremove -y 45 | 46 | 47 | # ------------------------------------------------------------------------------------ 48 | # 49 | # ------------------------------------------------------------------------------------ 50 | notify "Install applications" 51 | 52 | # Useful utilities 53 | sudo apt install git vim -y 54 | 55 | # Timeshift allows us to take snapshots of our system at points in time. 56 | # This means if something happens to our system to break it, we can 57 | # roll back to a previously working snapshot. 58 | sudo apt install timeshift -y 59 | 60 | # Image editing 61 | # Use this instead of: Photoshop 62 | sudo apt install krita -y 63 | 64 | # Vector editing 65 | # Use this instead of: Illustrator 66 | sudo apt install inkscape -y 67 | 68 | # Photo management 69 | # Use this instead of: Lightroom 70 | sudo apt install digikam -y 71 | 72 | # Video editing 73 | # Use this instead of: Davinci Resolve, iMovie 74 | sudo apt install kdenlive mediainfo -y 75 | 76 | # Screen recording and streaming 77 | # OBS works on Mac, Windows, and Linux 78 | # It is the universally accepted application for streaming 79 | sudo add-apt-repository ppa:obsproject/obs-studio -y 80 | sudo apt install obs-studio -y 81 | 82 | # Text editing 83 | # Kate is a more powerful (but still lightweight) version of kwrite. 84 | sudo apt install kate -y 85 | 86 | # Libreoffice 87 | wget -q -O libreoffice.tar.gz "https://mirror.aarnet.edu.au/pub/tdf/libreoffice/stable/7.4.2/deb/x86_64/LibreOffice_7.4.2_Linux_x86-64_deb.tar.gz" 88 | mkdir ./libreoffice 89 | tar -C ./libreoffice -xf libreoffice.tar.gz 90 | sudo apt install ./libreoffice/LibreOffice_7.4.2.3_Linux_x86-64_deb/DEBS/*.deb 91 | rm -rf ./libreoffice 92 | rm libreoffice.tar.gz 93 | 94 | 95 | # ------------------------------------------------------------------------------------ 96 | # Google Chrome 97 | # ------------------------------------------------------------------------------------ 98 | notify "Google Chrome" 99 | read -p "Would you like to install Google Chrome (Y/N)? " -n 1 -r 100 | echo 101 | if [[ $REPLY =~ ^[Yy]$ ]] 102 | then 103 | wget -q -O chrome.deb "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" 104 | sudo apt install ./chrome.deb -y 105 | rm chrome.deb 106 | fi 107 | 108 | 109 | # ------------------------------------------------------------------------------------ 110 | # VS Code 111 | # ------------------------------------------------------------------------------------ 112 | notify "VS Code" 113 | read -p "Install VS Code (Y/N)? " -n 1 -r 114 | echo 115 | if [[ $REPLY =~ ^[Yy]$ ]] 116 | then 117 | curl -O -L https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64 118 | wget -qO vscode.deb https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64 119 | sudo apt install ./vscode.deb -y 120 | rm vscode.deb 121 | fi 122 | 123 | 124 | # ------------------------------------------------------------------------------------ 125 | # VS Codium 126 | # ------------------------------------------------------------------------------------ 127 | notify "VSCodium" 128 | read -p "Install VSCodium (Y/N)? " -n 1 -r 129 | echo 130 | if [[ $REPLY =~ ^[Yy]$ ]] 131 | then 132 | wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg 133 | echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium main' | sudo tee /etc/apt/sources.list.d/vscodium.list 134 | sudo apt update && sudo apt install codium -y 135 | fi 136 | 137 | 138 | # ------------------------------------------------------------------------------------ 139 | # Dropbox 140 | # ------------------------------------------------------------------------------------ 141 | notify "Dropbox" 142 | read -p "Install Dropbox (Y/N)? " -n 1 -r 143 | echo 144 | if [[ $REPLY =~ ^[Yy]$ ]] 145 | then 146 | wget -O dropbox.deb https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2020.03.04_amd64.deb 147 | sudo apt install ./dropbox.deb -y 148 | rm ./dropbox.deb 149 | fi 150 | -------------------------------------------------------------------------------- /manjaro/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Manjaro for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/manjaro/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | # TODO: Copy jack.conf to ~/.config/pipewire/jack.conf and make appropriate changes 12 | 13 | notify () { 14 | echo "--------------------------------------------------------------------" 15 | echo $1 16 | echo "--------------------------------------------------------------------" 17 | } 18 | 19 | # ------------------------------------------------------------------------------------ 20 | # Update and Install packages 21 | # ------------------------------------------------------------------------------------ 22 | notify "Update our system" 23 | sudo pacman -Syu --noconfirm 24 | sudo pacman -S yay --noconfirm 25 | 26 | # Remove existing pulseaudio packages before install pipewire pulse below. 27 | sudo pacman -R pulseaudio-jack pulseaudio-lirc pulseaudio-rtp pulseaudio-zeroconf manjaro-pulse 28 | 29 | # Audio 30 | notify "Install audio packages" 31 | echo "NOTE: When prompted, select (y)es to remove pulseaudio and pulseaudio-bluetooth." 32 | # alsa-utils: For alsamixer (to increase base level of sound card) 33 | sudo pacman -S pipewire pipewire-alsa pipewire-jack pipewire-pulse alsa-utils helvum ardour 34 | 35 | echo "/usr/lib/pipewire-0.3/jack" | sudo tee /etc/ld.so.conf.d/pipewire-jack.conf 36 | sudo ldconfig 37 | 38 | 39 | # --------------------------- 40 | # grub 41 | # threadirqs = TODO 42 | # cpufreq.default_governor=performance = TODO 43 | # --------------------------- 44 | notify "Modify GRUB options" 45 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 security=apparmor udev.log_priority=3"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash apparmor=1 security=apparmor udev.log_priority=3 threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub 46 | sudo grub-mkconfig -o /boot/grub/grub.cfg 47 | 48 | 49 | 50 | 51 | # --------------------------- 52 | # limits 53 | # --------------------------- 54 | notify "Modify limits.d/audio.conf" 55 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 56 | echo '@audio - rtprio 90 57 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 58 | 59 | 60 | # --------------------------- 61 | # sysctl.conf 62 | # --------------------------- 63 | notify "Modify /etc/sysctl.conf" 64 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 65 | echo 'fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 66 | 67 | 68 | # --------------------------- 69 | # Add the user to the audio group 70 | # --------------------------- 71 | notify "Add ourselves to the audio group" 72 | sudo usermod -a -G audio $USER 73 | 74 | 75 | # ------------------------------------------------------------------------------------ 76 | # Reaper 77 | # ------------------------------------------------------------------------------------ 78 | notify "Install Reaper" 79 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 80 | mkdir ./reaper 81 | tar -C ./reaper -xf reaper.tar.xz 82 | sudo ./reaper/reaper_linux_x86_64/install-reaper.sh --install /opt --integrate-desktop --usr-local-bin-symlink 83 | rm -rf ./reaper 84 | rm reaper.tar.xz 85 | 86 | 87 | # ------------------------------------------------------------------------------------ 88 | # Wine (staging) 89 | # ------------------------------------------------------------------------------------ 90 | 91 | # Enable multilib 92 | sudo cp /etc/pacman.conf /etc/pacman.conf.bak 93 | cat /etc/pacman.conf.bak | tr '\n' '\f' | sed -e 's/#\[multilib\]\f#Include = \/etc\/pacman.d\/mirrorlist/\[multilib\]\fInclude = \/etc\/pacman.d\/mirrorlist/g' | tr '\f' '\n' | sudo tee /etc/pacman.conf 94 | sudo pacman -Syyu 95 | 96 | # Install wine-staging 97 | sudo pacman -S wine-staging winetricks --noconfirm 98 | 99 | # NOTE: If wine-staging has regressions, you may need to downgrade. 100 | # You can do that by installing the downgrade package from AUR and 101 | # then specifying the version of wine-staging you want. 102 | # Note: as of 10th October 2021 the correct number is 82 (6.14) or 89 (6.20) 103 | yay -S downgrade --noconfirm 104 | sudo env DOWNGRADE_FROM_ALA=1 downgrade wine-staging 105 | 106 | # Base wine packages required for proper plugin functionality 107 | winetricks corefonts 108 | 109 | # ------------------------------------------------------------------------------------ 110 | # yabridge 111 | # ------------------------------------------------------------------------------------ 112 | 113 | yay -S yabridge-bin --noconfirm 114 | 115 | # Create common VST paths 116 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 117 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 118 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 119 | 120 | # Add them into yabridge 121 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 122 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 123 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 124 | 125 | # --------------------------- 126 | # Install Windows VST plugins 127 | # This is a manual step for you to run when you download plugins. 128 | # First, run the plugin installer .exe file 129 | # When the installer asks for a directory, make sure you select 130 | # one of the directories above. 131 | 132 | # VST2 plugins: 133 | # C:\Program Files\Steinberg\VstPlugins 134 | # OR 135 | # C:\Program Files\Common Files\VST2 136 | 137 | # VST3 plugins: 138 | # C:\Program Files\Common Files\VST3 139 | # --------------------------- 140 | 141 | # Each time you install a new plugin, you need to run: 142 | # yabridgectl sync 143 | 144 | # --------------------------- 145 | # FINISHED! 146 | # Now just reboot, and make music! 147 | # --------------------------- 148 | notify "Done - please reboot." 149 | 150 | -------------------------------------------------------------------------------- /mint/20/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Linux Mint 20 (uma) for pro audio. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/mint/20/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | # --------------------------- 18 | # Update our system 19 | # --------------------------- 20 | notify "Update the system" 21 | sudo apt update && sudo apt dist-upgrade -y 22 | 23 | 24 | # --------------------------- 25 | # Install the latest low latency kernel 26 | # --------------------------- 27 | notify "Install the latest low latency kernel" 28 | sudo apt install linux-lowlatency-hwe-20.04 -y 29 | sudo apt remove linux-generic-hwe-20.04 -y 30 | sudo apt autoremove -y 31 | 32 | 33 | # --------------------------- 34 | # Install kxstudio and cadence 35 | # Cadence is a tool for managing audio connections to our hardware 36 | # NOTE: Select "YES" when asked to enable realtime privileges 37 | # --------------------------- 38 | notify "Install kxstudio and cadence" 39 | sudo apt-get install apt-transport-https gpgv -y 40 | wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb 41 | sudo dpkg -i kxstudio-repos_10.0.3_all.deb 42 | rm kxstudio-repos_10.0.3_all.deb 43 | sudo apt update 44 | sudo apt install cadence -y 45 | 46 | 47 | # --------------------------- 48 | # cpufrequtils 49 | # This tool allows our CPU to run at maximum performance 50 | # On a laptop this will drain the battery faster, 51 | # but will result in much better audio performance. 52 | # --------------------------- 53 | notify "CPU Frequency" 54 | sudo apt install cpufrequtils -y 55 | echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils 56 | 57 | 58 | # --------------------------- 59 | # grub 60 | # --------------------------- 61 | notify "GRUB options" 62 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs mitigations=off"/g' /etc/default/grub 63 | sudo update-grub 64 | 65 | 66 | # --------------------------- 67 | # sysctl.conf 68 | # --------------------------- 69 | notify "sysctl.conf" 70 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 71 | echo 'vm.swappiness=10 72 | fs.inotify.max_user_watches=524288' | sudo tee -a /etc/sysctl.conf 73 | 74 | 75 | # --------------------------- 76 | # Add the user to the audio group 77 | # --------------------------- 78 | notify "Add user to the audio group" 79 | sudo adduser $USER audio 80 | 81 | 82 | # --------------------------- 83 | # Install Reaper 84 | # NOTE: As of the date of this commit, the most recent version of Reaper is: 85 | # 6.36 86 | # --------------------------- 87 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 88 | mkdir ./reaper 89 | tar -C ./reaper -xf reaper.tar.xz 90 | sudo ./reaper/reaper_linux_x86_64/install-reaper.sh --install /opt --integrate-desktop --usr-local-bin-symlink 91 | rm -rf ./reaper 92 | rm reaper.tar.xz 93 | 94 | 95 | # --------------------------- 96 | # Yabridge 97 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 98 | # --------------------------- 99 | # Install Wine (yabridge needs this) 100 | notify "Install Wine" 101 | sudo dpkg --add-architecture i386 102 | wget -nc https://dl.winehq.org/wine-builds/winehq.key 103 | sudo apt-key add winehq.key 104 | rm winehq.key 105 | sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main' -y 106 | sudo apt update 107 | sudo apt install --install-recommends winehq-staging -y 108 | 109 | # Winetricks 110 | sudo apt install cabextract -y 111 | mkdir -p ~/.local/share 112 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 113 | mv winetricks ~/.local/share 114 | chmod +x ~/.local/share/winetricks 115 | echo '' >> ~/.bash_aliases 116 | echo '# Audio: winetricks' >> ~/.bash_aliases 117 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 118 | . ~/.bash_aliases 119 | 120 | # Base wine packages required for proper plugin functionality 121 | winetricks corefonts 122 | 123 | # Download and install yabridge 124 | # NOTE: When you run this script, there may be a newer version. 125 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 126 | notify "Install yabridge" 127 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 128 | mkdir -p ~/.local/share 129 | tar -C ~/.local/share -xavf yabridge.tar.gz 130 | rm yabridge.tar.gz 131 | echo '' >> ~/.bash_aliases 132 | echo '# Audio: yabridge path' >> ~/.bash_aliases 133 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 134 | . ~/.bash_aliases 135 | 136 | # Create common VST paths 137 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 138 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 139 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 140 | 141 | # Add them into yabridge 142 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 143 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 144 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 145 | 146 | # --------------------------- 147 | # Install Windows VST plugins 148 | # This is a manual step for you to run when you download plugins. 149 | # First, run the plugin installer .exe file 150 | # When the installer asks for a directory, make sure you select 151 | # one of the directories above. 152 | 153 | # VST2 plugins: 154 | # C:\Program Files\Steinberg\VstPlugins 155 | # OR 156 | # C:\Program Files\Common Files\VST2 157 | 158 | # VST3 plugins: 159 | # C:\Program Files\Common Files\VST3 160 | # --------------------------- 161 | 162 | # Each time you install a new plugin, you need to run: 163 | # yabridgectl sync 164 | 165 | # --------------------------- 166 | # FINISHED! 167 | # Now just reboot, and make music! 168 | # --------------------------- 169 | notify "Done - please reboot." 170 | -------------------------------------------------------------------------------- /mint/22/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Linux Mint 22 (XXX) for pro audio. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/mint/22/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | # --------------------------- 18 | # Update our system 19 | # --------------------------- 20 | notify "Update the system" 21 | sudo apt update && sudo apt dist-upgrade -y 22 | 23 | 24 | # --------------------------- 25 | # Install the latest low latency kernel 26 | # --------------------------- 27 | notify "Install the latest low latency kernel" 28 | sudo apt install linux-lowlatency-hwe-20.04 -y 29 | sudo apt remove linux-generic-hwe-20.04 -y 30 | sudo apt autoremove -y 31 | 32 | 33 | # --------------------------- 34 | # Install kxstudio and cadence 35 | # Cadence is a tool for managing audio connections to our hardware 36 | # NOTE: Select "YES" when asked to enable realtime privileges 37 | # --------------------------- 38 | notify "Install kxstudio and cadence" 39 | sudo apt-get install apt-transport-https gpgv -y 40 | wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb 41 | sudo dpkg -i kxstudio-repos_10.0.3_all.deb 42 | rm kxstudio-repos_10.0.3_all.deb 43 | sudo apt update 44 | sudo apt install cadence -y 45 | 46 | 47 | # --------------------------- 48 | # cpufrequtils 49 | # This tool allows our CPU to run at maximum performance 50 | # On a laptop this will drain the battery faster, 51 | # but will result in much better audio performance. 52 | # --------------------------- 53 | notify "CPU Frequency" 54 | sudo apt install cpufrequtils -y 55 | echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils 56 | 57 | 58 | # --------------------------- 59 | # grub 60 | # --------------------------- 61 | notify "GRUB options" 62 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs mitigations=off"/g' /etc/default/grub 63 | sudo update-grub 64 | 65 | 66 | # --------------------------- 67 | # sysctl.conf 68 | # --------------------------- 69 | notify "sysctl.conf" 70 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 71 | echo 'vm.swappiness=10 72 | fs.inotify.max_user_watches=524288' | sudo tee -a /etc/sysctl.conf 73 | 74 | 75 | # --------------------------- 76 | # Add the user to the audio group 77 | # --------------------------- 78 | notify "Add user to the audio group" 79 | sudo adduser $USER audio 80 | 81 | 82 | # --------------------------- 83 | # Install Reaper 84 | # NOTE: As of the date of this commit, the most recent version of Reaper is: 85 | # 6.36 86 | # --------------------------- 87 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 88 | mkdir ./reaper 89 | tar -C ./reaper -xf reaper.tar.xz 90 | sudo ./reaper/reaper_linux_x86_64/install-reaper.sh --install /opt --integrate-desktop --usr-local-bin-symlink 91 | rm -rf ./reaper 92 | rm reaper.tar.xz 93 | 94 | 95 | # --------------------------- 96 | # Yabridge 97 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 98 | # --------------------------- 99 | # Install Wine (yabridge needs this) 100 | notify "Install Wine" 101 | sudo dpkg --add-architecture i386 102 | wget -nc https://dl.winehq.org/wine-builds/winehq.key 103 | sudo apt-key add winehq.key 104 | rm winehq.key 105 | sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main' -y 106 | sudo apt update 107 | sudo apt install --install-recommends winehq-staging -y 108 | 109 | # Winetricks 110 | sudo apt install cabextract -y 111 | mkdir -p ~/.local/share 112 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 113 | mv winetricks ~/.local/share 114 | chmod +x ~/.local/share/winetricks 115 | echo '' >> ~/.bash_aliases 116 | echo '# Audio: winetricks' >> ~/.bash_aliases 117 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 118 | . ~/.bash_aliases 119 | 120 | # Base wine packages required for proper plugin functionality 121 | winetricks corefonts 122 | 123 | # Download and install yabridge 124 | # NOTE: When you run this script, there may be a newer version. 125 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 126 | notify "Install yabridge" 127 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 128 | mkdir -p ~/.local/share 129 | tar -C ~/.local/share -xavf yabridge.tar.gz 130 | rm yabridge.tar.gz 131 | echo '' >> ~/.bash_aliases 132 | echo '# Audio: yabridge path' >> ~/.bash_aliases 133 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 134 | . ~/.bash_aliases 135 | 136 | # Create common VST paths 137 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 138 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 139 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 140 | 141 | # Add them into yabridge 142 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 143 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 144 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 145 | 146 | # --------------------------- 147 | # Install Windows VST plugins 148 | # This is a manual step for you to run when you download plugins. 149 | # First, run the plugin installer .exe file 150 | # When the installer asks for a directory, make sure you select 151 | # one of the directories above. 152 | 153 | # VST2 plugins: 154 | # C:\Program Files\Steinberg\VstPlugins 155 | # OR 156 | # C:\Program Files\Common Files\VST2 157 | 158 | # VST3 plugins: 159 | # C:\Program Files\Common Files\VST3 160 | # --------------------------- 161 | 162 | # Each time you install a new plugin, you need to run: 163 | # yabridgectl sync 164 | 165 | # --------------------------- 166 | # FINISHED! 167 | # Now just reboot, and make music! 168 | # --------------------------- 169 | notify "Done - please reboot." 170 | -------------------------------------------------------------------------------- /mint/21/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Linux Mint 21 (vanessa) for pro audio. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/mint/21/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | # --------------------------- 18 | # Update our system 19 | # --------------------------- 20 | notify "Update the system" 21 | sudo apt update && sudo apt dist-upgrade -y 22 | 23 | 24 | # --------------------------- 25 | # Install the latest low latency kernel 26 | # --------------------------- 27 | notify "Install the latest low latency kernel" 28 | sudo apt install linux-lowlatency-hwe-20.04 -y 29 | sudo apt remove linux-generic-hwe-20.04 -y 30 | sudo apt autoremove -y 31 | 32 | 33 | # --------------------------- 34 | # Install kxstudio and cadence 35 | # Cadence is a tool for managing audio connections to our hardware 36 | # NOTE: Select "YES" when asked to enable realtime privileges 37 | # --------------------------- 38 | notify "Install kxstudio and cadence" 39 | sudo apt-get install apt-transport-https gpgv -y 40 | wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_10.0.3_all.deb 41 | sudo dpkg -i kxstudio-repos_10.0.3_all.deb 42 | rm kxstudio-repos_10.0.3_all.deb 43 | sudo apt update 44 | sudo apt install cadence -y 45 | 46 | 47 | # --------------------------- 48 | # cpufrequtils 49 | # This tool allows our CPU to run at maximum performance 50 | # On a laptop this will drain the battery faster, 51 | # but will result in much better audio performance. 52 | # --------------------------- 53 | notify "CPU Frequency" 54 | sudo apt install cpufrequtils -y 55 | echo 'GOVERNOR="performance"' | sudo tee /etc/default/cpufrequtils 56 | 57 | 58 | # --------------------------- 59 | # grub 60 | # --------------------------- 61 | notify "GRUB options" 62 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs mitigations=off"/g' /etc/default/grub 63 | sudo update-grub 64 | 65 | 66 | # --------------------------- 67 | # sysctl.conf 68 | # --------------------------- 69 | notify "sysctl.conf" 70 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 71 | echo 'vm.swappiness=10 72 | fs.inotify.max_user_watches=524288' | sudo tee -a /etc/sysctl.conf 73 | 74 | 75 | # --------------------------- 76 | # Add the user to the audio group 77 | # --------------------------- 78 | notify "Add user to the audio group" 79 | sudo adduser $USER audio 80 | 81 | 82 | # --------------------------- 83 | # Install Reaper 84 | # NOTE: As of the date of this commit, the most recent version of Reaper is: 85 | # 6.36 86 | # --------------------------- 87 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 88 | mkdir ./reaper 89 | tar -C ./reaper -xf reaper.tar.xz 90 | sudo ./reaper/reaper_linux_x86_64/install-reaper.sh --install /opt --integrate-desktop --usr-local-bin-symlink 91 | rm -rf ./reaper 92 | rm reaper.tar.xz 93 | 94 | 95 | # --------------------------- 96 | # Yabridge 97 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 98 | # --------------------------- 99 | # Install Wine (yabridge needs this) 100 | notify "Install Wine" 101 | sudo dpkg --add-architecture i386 102 | wget -nc https://dl.winehq.org/wine-builds/winehq.key 103 | sudo apt-key add winehq.key 104 | rm winehq.key 105 | sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main' -y 106 | sudo apt update 107 | sudo apt install --install-recommends winehq-staging -y 108 | 109 | # Winetricks 110 | sudo apt install cabextract -y 111 | mkdir -p ~/.local/share 112 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 113 | mv winetricks ~/.local/share 114 | chmod +x ~/.local/share/winetricks 115 | echo '' >> ~/.bash_aliases 116 | echo '# Audio: winetricks' >> ~/.bash_aliases 117 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 118 | . ~/.bash_aliases 119 | 120 | # Base wine packages required for proper plugin functionality 121 | winetricks corefonts 122 | 123 | # Download and install yabridge 124 | # NOTE: When you run this script, there may be a newer version. 125 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 126 | notify "Install yabridge" 127 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 128 | mkdir -p ~/.local/share 129 | tar -C ~/.local/share -xavf yabridge.tar.gz 130 | rm yabridge.tar.gz 131 | echo '' >> ~/.bash_aliases 132 | echo '# Audio: yabridge path' >> ~/.bash_aliases 133 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 134 | . ~/.bash_aliases 135 | 136 | # Create common VST paths 137 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 138 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 139 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 140 | 141 | # Add them into yabridge 142 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 143 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 144 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 145 | 146 | # --------------------------- 147 | # Install Windows VST plugins 148 | # This is a manual step for you to run when you download plugins. 149 | # First, run the plugin installer .exe file 150 | # When the installer asks for a directory, make sure you select 151 | # one of the directories above. 152 | 153 | # VST2 plugins: 154 | # C:\Program Files\Steinberg\VstPlugins 155 | # OR 156 | # C:\Program Files\Common Files\VST2 157 | 158 | # VST3 plugins: 159 | # C:\Program Files\Common Files\VST3 160 | # --------------------------- 161 | 162 | # Each time you install a new plugin, you need to run: 163 | # yabridgectl sync 164 | 165 | # --------------------------- 166 | # FINISHED! 167 | # Now just reboot, and make music! 168 | # --------------------------- 169 | notify "Done - please reboot." 170 | -------------------------------------------------------------------------------- /debian/11/install-audio-jack.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Debian 11 (bullseye) for pro audio. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/debian/11/install-audio-jack.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt dist-upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | sudo apt install curl -y 30 | curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash 31 | sudo apt install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 32 | 33 | 34 | # --------------------------- 35 | # Install kxstudio and cadence 36 | # Cadence is a tool for managing audio connections to our hardware 37 | # NOTE: Select "YES" when asked to enable realtime privileges 38 | # --------------------------- 39 | notify "Install kxstudio and cadence" 40 | sudo apt install apt-transport-https gpgv wget -y 41 | wget https://launchpad.net/~kxstudio-debian/+archive/kxstudio/+files/kxstudio-repos_11.1.0_all.deb 42 | sudo dpkg -i kxstudio-repos_11.1.0_all.deb 43 | rm kxstudio-repos_11.1.0_all.deb 44 | sudo apt update 45 | sudo apt install cadence -y 46 | 47 | 48 | # --------------------------- 49 | # grub 50 | # --------------------------- 51 | notify "Modify GRUB options" 52 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet threadirqs mitigations=off cpufreq.default_governor=performance"/g' /etc/default/grub 53 | sudo update-grub 54 | 55 | 56 | # --------------------------- 57 | # sysctl.conf 58 | # --------------------------- 59 | notify "sysctl.conf" 60 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 61 | echo 'vm.swappiness=10 62 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 63 | 64 | 65 | # --------------------------- 66 | # Add the user to the audio group 67 | # --------------------------- 68 | notify "Add user to the audio group" 69 | sudo adduser $USER audio 70 | 71 | 72 | # --------------------------- 73 | # REAPER 74 | # Note: The instructions below will create a PORTABLE REAPER installation 75 | # at ~/REAPER. 76 | # --------------------------- 77 | notify "REAPER" 78 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 79 | mkdir ./reaper 80 | tar -C ./reaper -xf reaper.tar.xz 81 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 82 | rm -rf ./reaper 83 | rm reaper.tar.xz 84 | touch ~/REAPER/reaper.ini 85 | 86 | 87 | # --------------------------- 88 | # Wine (staging) 89 | # This is required for yabridge 90 | # See https://wiki.winehq.org/Debian for additional information. 91 | # --------------------------- 92 | notify "Install Wine" 93 | sudo dpkg --add-architecture i386 94 | sudo mkdir -pm755 /etc/apt/keyrings 95 | sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key 96 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources 97 | sudo apt update 98 | sudo apt install --install-recommends winehq-staging -y 99 | 100 | # Winetricks 101 | sudo apt install cabextract -y 102 | mkdir -p ~/.local/share 103 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 104 | mv winetricks ~/.local/share 105 | chmod +x ~/.local/share/winetricks 106 | echo '' >> ~/.bash_aliases 107 | echo '# Audio: winetricks' >> ~/.bash_aliases 108 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 109 | . ~/.bash_aliases 110 | 111 | # Base wine packages required for proper plugin functionality 112 | winetricks corefonts 113 | 114 | # Make a copy of .wine, as we will use this in the future as the base of 115 | # new wine prefixes (when installing plugins) 116 | cp -r ~/.wine ~/.wine-base 117 | 118 | 119 | # --------------------------- 120 | # Yabridge 121 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 122 | # --------------------------- 123 | # NOTE: When you run this script, there may be a newer version of yabridge available. 124 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 125 | notify "Install yabridge" 126 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 127 | mkdir -p ~/.local/share 128 | tar -C ~/.local/share -xavf yabridge.tar.gz 129 | rm yabridge.tar.gz 130 | echo '' >> ~/.bash_aliases 131 | echo '# Audio: yabridge path' >> ~/.bash_aliases 132 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 133 | . ~/.bash_aliases 134 | 135 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 136 | sudo apt install libnotify-bin -y 137 | 138 | # Create common VST paths 139 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 140 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 141 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 142 | 143 | # Add them into yabridge 144 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 145 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 146 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 147 | 148 | # --------------------------- 149 | # Install Windows VST plugins 150 | # This is a manual step for you to run when you download plugins. 151 | # First, run the plugin installer .exe file 152 | # When the installer asks for a directory, make sure you select 153 | # one of the directories above. 154 | 155 | # VST2 plugins: 156 | # C:\Program Files\Steinberg\VstPlugins 157 | # OR 158 | # C:\Program Files\Common Files\VST2 159 | 160 | # VST3 plugins: 161 | # C:\Program Files\Common Files\VST3 162 | # --------------------------- 163 | 164 | # Each time you install a new plugin, you need to run: 165 | # yabridgectl sync 166 | 167 | # --------------------------- 168 | # FINISHED! 169 | # Now just reboot, and make music! 170 | # --------------------------- 171 | notify "Done - please reboot." 172 | -------------------------------------------------------------------------------- /arch/install-desktop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # ------------------------------------------------------------------------------------ 4 | # This is a bash script for configuring Arch as a usable Windows or Mac replacement. 5 | # Whereas the audio scripts are designed to be run in their entirety, this script is 6 | # more of a guide - please pick and choose the pieces that are relevant to you. 7 | # ------------------------------------------------------------------------------------ 8 | 9 | # NOTE: See the README.md for instructions on installing Arch from scratch. 10 | 11 | # Exit if any command fails 12 | set -e 13 | 14 | notify () { 15 | echo "--------------------------------------------------------------------" 16 | echo $1 17 | echo "--------------------------------------------------------------------" 18 | } 19 | 20 | # Ensure we run this script from the local disk 21 | cd ~/ 22 | 23 | # ------------------------------------------------------------------------------------ 24 | # yay (AUR) 25 | # ------------------------------------------------------------------------------------ 26 | sudo pacman -S base-devel git --noconfirm 27 | git clone https://aur.archlinux.org/yay.git 28 | cd yay 29 | makepkg -si --noconfirm 30 | cd .. 31 | rm -rf yay 32 | 33 | 34 | # ------------------------------------------------------------------------------------ 35 | # Core install 36 | # ------------------------------------------------------------------------------------ 37 | sudo pacman -Syu 38 | 39 | # Firmware (for example to enable wifi) 40 | sudo pacman -S linux-firmware --noconfirm 41 | 42 | # Utils 43 | # xdg-desktop-portal is required for OBS to access pipewire displays 44 | sudo pacman -S sudo vim nfs-utils wget which xdg-desktop-portal xdg-utils neofetch --noconfirm 45 | 46 | # PDF 47 | sudo pacman -S evince --noconfirm 48 | 49 | # Browsers 50 | sudo pacman -S firefox chromium --noconfirm 51 | yay -S google-chrome --noconfirm 52 | 53 | # Office and editing 54 | sudo pacman -S libreoffice-fresh code --noconfirm 55 | 56 | # Video 57 | # opentimelineio: required for Kdenlive 58 | sudo pacman -S digikam kdenlive opentimelineio vlc obs-studio handbrake --noconfirm 59 | 60 | # Image and Graphics 61 | sudo pacman -S digikam krita blender inkscape --noconfirm 62 | 63 | # Copying music CD's 64 | sudo pacman -S asunder vorbis-tools --noconfirm 65 | 66 | # Resolve Gnome Software "no plugin could handle get-updates" 67 | sudo pacman -S gnome-software-packagekit-plugin --noconfirm 68 | 69 | # OBS needs this set in order to be able to access wayland screens 70 | echo "export QT_QPA_PLATFORM=wayland" | sudo tee -a /etc/profile 71 | 72 | # Printers 73 | sudo pacman -S cups system-config-printer --noconfirm 74 | sudo systemctl enable cups 75 | 76 | # Timeshift 77 | yay -S timeshift --noconfirm 78 | 79 | # MakeMKV 80 | yay -S makemkv --noconfirm 81 | 82 | # Dropbox 83 | notify "Dropbox" 84 | read -p "Install Dropbox? (Y/N)? " -n 1 -r 85 | echo "" 86 | if [[ $REPLY =~ ^[Yy]$ ]] 87 | then 88 | yay -S nautilus-dropbox --noconfirm 89 | fi 90 | 91 | # pCloud 92 | notify "pCloud" 93 | read -p "Install pCloud (Y/N)? " -n 1 -r 94 | echo "" 95 | if [[ $REPLY =~ ^[Yy]$ ]] 96 | then 97 | yay -S pcloud-drive --noconfirm 98 | fi 99 | 100 | 101 | # ------------------------------------------------------------------------------------ 102 | # QT theme 103 | # Ensure that KDE/QT apps display nicely in Gnome 104 | # ------------------------------------------------------------------------------------ 105 | 106 | sudo pacman -S qt6-base --noconfirm 107 | yay -S adwaita-qt --noconfirm 108 | # echo "QT_STYLE_OVERRIDE=adwaita" | sudo tee -a /etc/profile 109 | 110 | # yay -S qgnomeplatform 111 | # echo "QT_QPA_PLATFORMTHEME='gnome'" | sudo tee -a /etc/profile 112 | 113 | 114 | # ------------------------------------------------------------------------------------ 115 | # Fonts 116 | # ------------------------------------------------------------------------------------ 117 | sudo pacman -S ttf-hack ttf-anonymous-pro ttf-dejavu ttf-freefont ttf-liberation --noconfirm 118 | yay -S ttf-font-awesome adobe-source-code-pro-fonts --noconfirm 119 | 120 | 121 | # ------------------------------------------------------------------------------------ 122 | # Gnome config 123 | # ------------------------------------------------------------------------------------ 124 | 125 | # How to list schemas 126 | # gsettings list-schemas | sort 127 | 128 | # How to list keys within a schema 129 | # gsettings list-keys 130 | 131 | # How to view current key value 132 | # gsettings get 133 | 134 | # How to view the possible values of a key 135 | # gsettings range 136 | 137 | # Show folders before files 138 | gsettings set org.gtk.Settings.FileChooser sort-directories-first true 139 | 140 | # Minimize button 141 | #gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close' 142 | 143 | # 12 hour time display 144 | gsettings set org.gnome.desktop.interface clock-format 12h 145 | 146 | # Dark theme 147 | #gsettings set org.gnome.desktop.interface gtk-theme Adwaita 148 | #gsettings set org.gnome.desktop.interface gtk-theme gnome-professional-40.1 149 | 150 | # Default calendar 151 | gsettings set org.gnome.desktop.default-applications.office.calendar exec gnome-calendar 152 | 153 | # Don't suspend when plugged in 154 | gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type: 'nothing' 155 | 156 | # Mouse 157 | gsettings set org.gnome.desktop.peripherals.mouse natural-scroll false 158 | 159 | # Touchpad 160 | gsettings set org.gnome.desktop.peripherals.touchpad disable-while-typing true 161 | gsettings set org.gnome.desktop.peripherals.touchpad click-method 'fingers' 162 | gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true 163 | gsettings set org.gnome.desktop.peripherals.touchpad two-finger-scrolling-enabled true 164 | gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false 165 | 166 | # Terminal 167 | gsettings set org.gnome.Terminal.Legacy.Settings new-terminal-mode: 'tab' 168 | gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ visible-name 'Default' 169 | #gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ login-shell false 170 | gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ default-size-columns 140 171 | gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ default-size-rows 40 172 | gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9/ scrollbar-policy 'never' 173 | 174 | 175 | # ------------------------------------------------------------------------------------ 176 | # Finish 177 | # ------------------------------------------------------------------------------------ 178 | 179 | notify "Your Arch desktop setup is complete!" 180 | 181 | notify "Now install audio by running either install-audio-jack or install-audio from this Github repository." 182 | -------------------------------------------------------------------------------- /debian/12/install-desktop-plasma.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # ------------------------------------------------------------------------------------ 4 | # This is a bash script for configuring Debian as a usable Windows or Mac replacement. 5 | # Whereas the audio scripts are designed to be run in their entirety, this script is 6 | # more of a guide - please pick and choose the pieces that are relevant to you. 7 | # ------------------------------------------------------------------------------------ 8 | 9 | # Exit if any command fails 10 | set -e 11 | 12 | notify () { 13 | echo "--------------------------------------------------------------------" 14 | echo $1 15 | echo "--------------------------------------------------------------------" 16 | } 17 | 18 | # TODO: 19 | # prompt to ask about cloud - e.g. dropbox, pcloud 20 | # k3b - cd ripping 21 | # chrome? 22 | # vs code 23 | # makemkv 24 | # pcloud-drive 25 | # kde-config-tablet for Wacom tablet config 26 | 27 | # iPhone connectivity 28 | # kio-fuse ifuse gvfs-fuse ideviceinstaller libimobiledevice-utils python3-imobiledevice python3-plist libusbmuxd6 libusbmuxd-tools 29 | 30 | # i915 firmware 31 | #git clone https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git 32 | #sudo cp -r ./linux-firmware/i915 /lib/firmware 33 | #sudo update-initramfs -u -k all 34 | #(then sudo apt-get update -y) 35 | 36 | # ------------------------------------------------------------------------------------ 37 | # Add ourselves as sudo 38 | # NOTE: My machine is physically secured, so I specify NOPASSWD for sudo convenience. 39 | # ------------------------------------------------------------------------------------ 40 | notify "Add $USER to sudoers.d" 41 | echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$USER 42 | 43 | 44 | # ------------------------------------------------------------------------------------ 45 | # Update sources 46 | # ------------------------------------------------------------------------------------ 47 | notify "Update apt sources" 48 | echo "deb http://deb.debian.org/debian/ bookworm main contrib non-free 49 | deb-src http://deb.debian.org/debian/ bookworm main contrib non-free 50 | 51 | deb http://security.debian.org/debian-security bookworm-security main contrib non-free 52 | deb-src http://security.debian.org/debian-security bookworm-security main contrib non-free 53 | 54 | deb http://deb.debian.org/debian/ bookworm-updates main contrib non-free 55 | deb-src http://deb.debian.org/debian/ bookworm-updates main contrib non-free" | sudo tee /etc/apt/sources.list 56 | 57 | 58 | # ------------------------------------------------------------------------------------ 59 | # Update 60 | # ------------------------------------------------------------------------------------ 61 | notify "Update the system" 62 | sudo apt update && sudo apt full-upgrade -y 63 | 64 | 65 | # ------------------------------------------------------------------------------------ 66 | # GRUB background image 67 | # ------------------------------------------------------------------------------------ 68 | wget https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/debian/debian-wallpaper.tga 69 | sudo mv debian-wallpaper.tga /boot/grub/ 70 | sudo update-grub 71 | 72 | 73 | # ------------------------------------------------------------------------------------ 74 | # Desktop environment 75 | # https://wiki.debian.org/KDE 76 | # ------------------------------------------------------------------------------------ 77 | notify "Install plasma and applications" 78 | 79 | # Plasma 80 | sudo apt install plasma-desktop plasma-nm -y 81 | 82 | # Login 83 | sudo apt install sddm sddm-theme-breeze -y 84 | 85 | # Plasma apps 86 | sudo apt install dolphin ark konsole kwrite kcalc kde-spectacle okular -y 87 | 88 | # Utils 89 | sudo apt install vim git nfs-common firmware-linux -y 90 | 91 | # Backup 92 | sudo apt install timeshift -y 93 | 94 | # Browsers 95 | sudo apt install firefox-esr chromium -y 96 | 97 | # Office and editing 98 | sudo apt install libreoffice-plasma libreoffice -y 99 | 100 | # Video 101 | sudo apt install digikam kdenlive vlc obs-studio handbrake -y 102 | 103 | # Image and Graphics 104 | sudo apt install digikam krita blender inkscape -y 105 | 106 | 107 | # ------------------------------------------------------------------------------------ 108 | # Firefox 109 | # ------------------------------------------------------------------------------------ 110 | notify "Firefox" 111 | read -p "Would you like to use the latest Firefox from Mozilla instead of Firefox ESR from Debian (Y/N)? " -n 1 -r 112 | echo 113 | if [[ $REPLY =~ ^[Yy]$ ]] 114 | then 115 | sudo apt remove firefox-esr -y 116 | wget -q -O firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US" 117 | sudo tar -C /opt -xf firefox.tar.bz2 118 | rm firefox.tar.bz2 119 | 120 | echo "[Desktop Entry] 121 | Name=Firefox Stable 122 | Comment=Web Browser 123 | Exec=/opt/firefox/firefox %u 124 | Terminal=false 125 | Type=Application 126 | Icon=/opt/firefox/browser/chrome/icons/default/default128.png 127 | Categories=Network;WebBrowser; 128 | MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https; 129 | StartupNotify=true" | sudo tee /usr/share/applications/firefox.desktop 130 | 131 | sudo rm /usr/local/bin/firefox 132 | sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox 133 | 134 | sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /opt/firefox/firefox 200 && sudo update-alternatives --set x-www-browser /opt/firefox/firefox 135 | fi 136 | 137 | # TODO: Google Chrome 138 | # https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 139 | 140 | 141 | # ------------------------------------------------------------------------------------ 142 | # VS Codium 143 | # ------------------------------------------------------------------------------------ 144 | notify "VSCodium" 145 | read -p "Install VSCodium (Y/N)? " -n 1 -r 146 | echo 147 | if [[ $REPLY =~ ^[Yy]$ ]] 148 | then 149 | wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg | gpg --dearmor | sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg 150 | echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/debs vscodium main' | sudo tee /etc/apt/sources.list.d/vscodium.list 151 | sudo apt update && sudo apt install codium -y 152 | fi 153 | 154 | 155 | # ------------------------------------------------------------------------------------ 156 | # Dropbox 157 | # ------------------------------------------------------------------------------------ 158 | notify "Dropbox" 159 | read -p "Install Dropbox (Y/N)? " -n 1 -r 160 | echo 161 | if [[ $REPLY =~ ^[Yy]$ ]] 162 | then 163 | wget -O dropbox.deb https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2020.03.04_amd64.deb 164 | sudo apt install ./dropbox.deb -y 165 | rm ./dropbox.deb 166 | fi 167 | 168 | 169 | notify "Done!" 170 | -------------------------------------------------------------------------------- /neon/2404/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Neon (24.04 / noble) for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/neon/2404/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo pkcon refresh && sudo pkcon update 23 | 24 | 25 | # --------------------------- 26 | # Pipewire 27 | # https://wiki.debian.org/PipeWire 28 | # NOTE: If you don't have any audio coming from your system, it is possible that the hardware 29 | # channels in your audio interface are muted. In that case, run alsamixer, press F6 to select 30 | # your audio interface, locate your main monitor channel, then press M to unmute. 31 | # You can then run sudo alsactl store to persist these changes. 32 | # --------------------------- 33 | notify "Install pipewire" 34 | sudo apt install pipewire pipewire-alsa pipewire-audio pipewire-audio-client-libraries pipewire-jack pipewire-pulse libspa-0.2-jack wireplumber -y 35 | 36 | # Copy config files 37 | sudo cp -vRa /usr/share/pipewire /etc/ 38 | 39 | # Tell all apps that use JACK to now use the Pipewire JACK 40 | sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ 41 | sudo ldconfig 42 | 43 | 44 | # --------------------------- 45 | # grub 46 | # --------------------------- 47 | notify "Modify GRUB options" 48 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub 49 | sudo update-grub 50 | 51 | 52 | # --------------------------- 53 | # limits 54 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 55 | # --------------------------- 56 | # TODO: CONFIRM THIS IS NO LONGER REQUIRED 57 | #notify "Modify limits.d/audio.conf" 58 | echo '@pipewire - rtprio 90 59 | @pipewire - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 60 | 61 | 62 | # --------------------------- 63 | # sysctl.conf 64 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 65 | # --------------------------- 66 | notify "Modify /etc/sysctl.conf" 67 | echo 'vm.swappiness=10 68 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 69 | 70 | 71 | # --------------------------- 72 | # Add the user to the pipewire group 73 | # --------------------------- 74 | notify "Add ourselves to the pipewire group" 75 | sudo usermod -a -G pipewire $USER 76 | 77 | 78 | # --------------------------- 79 | # REAPER 80 | # Note: The instructions below will create a PORTABLE REAPER installation 81 | # at ~/REAPER. 82 | # --------------------------- 83 | notify "REAPER" 84 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 85 | mkdir ./reaper 86 | tar -C ./reaper -xf reaper.tar.xz 87 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 88 | rm -rf ./reaper 89 | rm reaper.tar.xz 90 | touch ~/REAPER/reaper.ini 91 | 92 | 93 | # --------------------------- 94 | # Wine (staging) 95 | # This is required for yabridge 96 | # See https://wiki.winehq.org/Ubuntu and https://wiki.winehq.org/Winetricks for additional information. 97 | # --------------------------- 98 | notify "Install Wine" 99 | sudo dpkg --add-architecture i386 100 | sudo mkdir -pm755 /etc/apt/keyrings 101 | wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - 102 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources 103 | sudo apt update 104 | sudo apt install --install-recommends --allow-change-held-packages winehq-staging=9.21~noble-1 wine-staging=9.21~noble-1 wine-staging-amd64=9.21~noble-1 wine-staging-i386=9.21~noble-1 --allow-downgrades -y 105 | sudo apt-mark hold winehq-staging wine-staging wine-staging-i386 wine-staging-amd64 106 | 107 | # Winetricks 108 | sudo apt install cabextract -y 109 | mkdir -p ~/.local/share 110 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 111 | mv winetricks ~/.local/share 112 | chmod +x ~/.local/share/winetricks 113 | echo '' >> ~/.bash_aliases 114 | echo '# Audio: winetricks' >> ~/.bash_aliases 115 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 116 | . ~/.bash_aliases 117 | 118 | # Base wine packages required for proper plugin functionality 119 | winetricks corefonts 120 | 121 | 122 | # --------------------------- 123 | # Yabridge 124 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 125 | # --------------------------- 126 | # NOTE: When you run this script, there may be a newer version of yabridge available. 127 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 128 | notify "Install yabridge" 129 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 130 | mkdir -p ~/.local/share 131 | tar -C ~/.local/share -xavf yabridge.tar.gz 132 | rm yabridge.tar.gz 133 | echo '' >> ~/.bash_aliases 134 | echo '# Audio: yabridge path' >> ~/.bash_aliases 135 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 136 | . ~/.bash_aliases 137 | 138 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 139 | sudo apt install libnotify-bin -y 140 | 141 | # Create common VST paths 142 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 143 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 144 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 145 | 146 | # Add them into yabridge 147 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 148 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 149 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 150 | 151 | # --------------------------- 152 | # Install Windows VST plugins 153 | # This is a manual step for you to run when you download plugins. 154 | # First, run the plugin installer .exe file 155 | # When the installer asks for a directory, make sure you select 156 | # one of the directories above. 157 | 158 | # VST2 plugins: 159 | # C:\Program Files\Steinberg\VstPlugins 160 | # OR 161 | # C:\Program Files\Common Files\VST2 162 | 163 | # VST3 plugins: 164 | # C:\Program Files\Common Files\VST3 165 | # --------------------------- 166 | 167 | # Each time you install a new plugin, you need to run: 168 | # yabridgectl sync 169 | 170 | # --------------------------- 171 | # FINISHED! 172 | # Now just reboot, and make music! 173 | # --------------------------- 174 | notify "Done - please reboot." 175 | 176 | -------------------------------------------------------------------------------- /debian/12/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Debian 12 (bookworm) for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/debian/12/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | sudo apt install curl -y 30 | curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash 31 | sudo apt install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 32 | 33 | 34 | # --------------------------- 35 | # Pipewire 36 | # https://wiki.debian.org/PipeWire 37 | # NOTE: If you don't have any audio coming from your system, it is possible that the hardware 38 | # channels in your audio interface are muted. In that case, run alsamixer, press F6 to select 39 | # your audio interface, locate your main monitor channel, then press M to unmute. 40 | # You can then run sudo alsactl store to persist these changes. 41 | # --------------------------- 42 | notify "Install pipewire" 43 | sudo apt install pipewire pipewire-alsa pipewire-audio pipewire-audio-client-libraries pipewire-jack pipewire-pulse libspa-0.2-jack wireplumber -y 44 | 45 | # Tell all apps that use JACK to now use the Pipewire JACK 46 | sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ 47 | sudo ldconfig 48 | 49 | #sudo apt install qjackctl --no-install-recommends -y 50 | 51 | 52 | # --------------------------- 53 | # grub 54 | # --------------------------- 55 | notify "Modify GRUB options" 56 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub 57 | sudo update-grub 58 | 59 | 60 | # --------------------------- 61 | # limits 62 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 63 | # --------------------------- 64 | notify "Modify limits.d/audio.conf" 65 | echo '@audio - rtprio 90 66 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 67 | 68 | 69 | # --------------------------- 70 | # sysctl.conf 71 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 72 | # --------------------------- 73 | notify "Modify /etc/sysctl.conf" 74 | echo 'vm.swappiness=10 75 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 76 | 77 | 78 | # --------------------------- 79 | # Add the user to the audio group 80 | # --------------------------- 81 | notify "Add ourselves to the audio group" 82 | sudo usermod -a -G audio $USER 83 | 84 | 85 | # --------------------------- 86 | # REAPER 87 | # Note: The instructions below will create a PORTABLE REAPER installation 88 | # at ~/REAPER. 89 | # --------------------------- 90 | notify "REAPER" 91 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 92 | mkdir ./reaper 93 | tar -C ./reaper -xf reaper.tar.xz 94 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 95 | rm -rf ./reaper 96 | rm reaper.tar.xz 97 | touch ~/REAPER/reaper.ini 98 | 99 | 100 | # --------------------------- 101 | # Wine (staging) 102 | # This is required for yabridge 103 | # See https://wiki.winehq.org/Debian for additional information. 104 | # --------------------------- 105 | notify "Install Wine" 106 | sudo dpkg --add-architecture i386 107 | sudo mkdir -pm755 /etc/apt/keyrings 108 | sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key 109 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources 110 | sudo apt update 111 | sudo apt install --install-recommends winehq-staging -y 112 | 113 | # Winetricks 114 | sudo apt install cabextract -y 115 | mkdir -p ~/.local/share 116 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 117 | mv winetricks ~/.local/share 118 | chmod +x ~/.local/share/winetricks 119 | echo '' >> ~/.bash_aliases 120 | echo '# Audio: winetricks' >> ~/.bash_aliases 121 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 122 | . ~/.bash_aliases 123 | 124 | # Base wine packages required for proper plugin functionality 125 | winetricks corefonts 126 | 127 | # Make a copy of .wine, as we will use this in the future as the base of 128 | # new wine prefixes (when installing plugins) 129 | cp -r ~/.wine ~/.wine-base 130 | 131 | 132 | # --------------------------- 133 | # Yabridge 134 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 135 | # --------------------------- 136 | # NOTE: When you run this script, there may be a newer version of yabridge available. 137 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 138 | notify "Install yabridge" 139 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 140 | mkdir -p ~/.local/share 141 | tar -C ~/.local/share -xavf yabridge.tar.gz 142 | rm yabridge.tar.gz 143 | echo '' >> ~/.bash_aliases 144 | echo '# Audio: yabridge path' >> ~/.bash_aliases 145 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 146 | . ~/.bash_aliases 147 | 148 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 149 | sudo apt install libnotify-bin -y 150 | 151 | # Create common VST paths 152 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 153 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 154 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 155 | 156 | # Add them into yabridge 157 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 158 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 159 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 160 | 161 | # --------------------------- 162 | # Install Windows VST plugins 163 | # This is a manual step for you to run when you download plugins. 164 | # First, run the plugin installer .exe file 165 | # When the installer asks for a directory, make sure you select 166 | # one of the directories above. 167 | 168 | # VST2 plugins: 169 | # C:\Program Files\Steinberg\VstPlugins 170 | # OR 171 | # C:\Program Files\Common Files\VST2 172 | 173 | # VST3 plugins: 174 | # C:\Program Files\Common Files\VST3 175 | # --------------------------- 176 | 177 | # Each time you install a new plugin, you need to run: 178 | # yabridgectl sync 179 | 180 | # --------------------------- 181 | # FINISHED! 182 | # Now just reboot, and make music! 183 | # --------------------------- 184 | notify "Done - please reboot." 185 | 186 | -------------------------------------------------------------------------------- /ubuntu/2210/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Ubuntu 22.10 (kinetic) for pro audio using PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/ubuntu/2210/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt dist-upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install the Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | notify "Install the Liquorix kernel" 30 | sudo add-apt-repository ppa:damentz/liquorix -y && sudo apt-get update 31 | sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 32 | 33 | 34 | # ------------------------------------------------------------------------------------ 35 | # Install Pipewire 36 | # ------------------------------------------------------------------------------------ 37 | notify "Install Pipewire" 38 | sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,tests}} -y 39 | systemctl --user --now enable pipewire{,-pulse}.{socket,service} 40 | systemctl --user --now enable wireplumber.service 41 | 42 | # Tell all apps that use JACK to now use the Pipewire JACK 43 | sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ 44 | sudo ldconfig 45 | 46 | 47 | # --------------------------- 48 | # Modify GRUB options 49 | # threadirqs: 50 | # mitigations=off: 51 | # cpufreq.default_governor=performance: 52 | # --------------------------- 53 | notify "Modify GRUB options" 54 | #sudo systemctl disable ondemand 55 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs mitigations=off cpufreq.default_governor=performance"/g' /etc/default/grub 56 | sudo update-grub 57 | 58 | 59 | # --------------------------- 60 | # sysctl.conf 61 | # --------------------------- 62 | notify "sysctl.conf" 63 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 64 | echo 'vm.swappiness=10 65 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 66 | 67 | 68 | # --------------------------- 69 | # audio.conf 70 | # --------------------------- 71 | notify "audio.conf" 72 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 73 | echo '@audio - rtprio 90 74 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 75 | 76 | 77 | # --------------------------- 78 | # Add the user to the audio group 79 | # --------------------------- 80 | notify "Add user to the audio group" 81 | sudo adduser $USER audio 82 | 83 | 84 | # --------------------------- 85 | # REAPER 86 | # Note: The instructions below will create a PORTABLE REAPER installation 87 | # at ~/REAPER. 88 | # --------------------------- 89 | notify "REAPER" 90 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 91 | mkdir ./reaper 92 | tar -C ./reaper -xf reaper.tar.xz 93 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 94 | rm -rf ./reaper 95 | rm reaper.tar.xz 96 | touch ~/REAPER/reaper.ini 97 | 98 | 99 | # --------------------------- 100 | # Wine (staging) 101 | # This is required for yabridge 102 | # See https://wiki.winehq.org/Ubuntu and https://wiki.winehq.org/Winetricks for additional information. 103 | # --------------------------- 104 | notify "Install Wine" 105 | sudo dpkg --add-architecture i386 106 | sudo mkdir -pm755 /etc/apt/keyrings 107 | sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key 108 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/kinetic/winehq-kinetic.sources 109 | sudo apt update 110 | sudo apt install --install-recommends winehq-staging -y 111 | 112 | # Winetricks 113 | sudo apt install cabextract -y 114 | mkdir -p ~/.local/share 115 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 116 | mv winetricks ~/.local/share 117 | chmod +x ~/.local/share/winetricks 118 | echo '' >> ~/.bash_aliases 119 | echo '# Audio: winetricks' >> ~/.bash_aliases 120 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 121 | . ~/.bash_aliases 122 | 123 | # Base wine packages required for proper plugin functionality 124 | winetricks corefonts 125 | 126 | # Make a copy of .wine, as we will use this in the future as the base of 127 | # new wine prefixes (when installing plugins) 128 | cp -r ~/.wine ~/.wine-base 129 | 130 | 131 | # --------------------------- 132 | # Yabridge 133 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 134 | # --------------------------- 135 | # NOTE: When you run this script, there may be a newer version of yabridge available. 136 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 137 | notify "Install yabridge" 138 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 139 | mkdir -p ~/.local/share 140 | tar -C ~/.local/share -xavf yabridge.tar.gz 141 | rm yabridge.tar.gz 142 | echo '' >> ~/.bash_aliases 143 | echo '# Audio: yabridge path' >> ~/.bash_aliases 144 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 145 | . ~/.bash_aliases 146 | 147 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 148 | sudo apt install libnotify-bin -y 149 | 150 | # Create common VST paths 151 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 152 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 153 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 154 | 155 | # Add them into yabridge 156 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 157 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 158 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 159 | 160 | # --------------------------- 161 | # Install Windows VST plugins 162 | # This is a manual step for you to run when you download plugins. 163 | # First, run the plugin installer .exe file 164 | # When the installer asks for a directory, make sure you select 165 | # one of the directories above. 166 | 167 | # VST2 plugins: 168 | # C:\Program Files\Steinberg\VstPlugins 169 | # OR 170 | # C:\Program Files\Common Files\VST2 171 | 172 | # VST3 plugins: 173 | # C:\Program Files\Common Files\VST3 174 | # --------------------------- 175 | 176 | # Each time you install a new plugin, you need to run: 177 | # yabridgectl sync 178 | 179 | # --------------------------- 180 | # FINISHED! 181 | # Now just reboot, and make music! 182 | # --------------------------- 183 | notify "Done - please reboot." 184 | 185 | -------------------------------------------------------------------------------- /debian/13/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Debian 13 (trixie) for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/debian/13/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt modernize-sources -y 23 | sudo apt update && sudo apt upgrade -y 24 | 25 | 26 | # --------------------------- 27 | # Install Liquorix kernel 28 | # https://liquorix.net/ 29 | # --------------------------- 30 | sudo apt install curl -y 31 | curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash 32 | sudo apt install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 33 | 34 | 35 | # --------------------------- 36 | # Pipewire 37 | # https://wiki.debian.org/PipeWire 38 | # NOTE: If you don't have any audio coming from your system, it is possible that the hardware 39 | # channels in your audio interface are muted. In that case, run alsamixer, press F6 to select 40 | # your audio interface, locate your main monitor channel, then press M to unmute. 41 | # You can then run sudo alsactl store to persist these changes. 42 | # --------------------------- 43 | notify "Install pipewire" 44 | sudo apt install pipewire-alsa pipewire-audio pipewire-audio-client-libraries pipewire-jack libspa-0.2-jack -y 45 | 46 | # Tell all apps that use JACK to now use the Pipewire JACK 47 | sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ 48 | sudo ldconfig 49 | 50 | 51 | # --------------------------- 52 | # grub 53 | # --------------------------- 54 | notify "Modify GRUB options" 55 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub 56 | sudo update-grub 57 | 58 | 59 | # --------------------------- 60 | # limits 61 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 62 | # --------------------------- 63 | notify "Modify limits.d/audio.conf" 64 | echo '@pipewire - rtprio 90 65 | @pipewire - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 66 | 67 | 68 | # --------------------------- 69 | # sysctl.conf 70 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 71 | # --------------------------- 72 | notify "Modify /etc/sysctl.conf" 73 | echo 'vm.swappiness=10 74 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 75 | 76 | 77 | # --------------------------- 78 | # Add the user to the pipewire group 79 | # --------------------------- 80 | notify "Add ourselves to the pipewire group" 81 | sudo usermod -a -G pipewire $USER 82 | 83 | 84 | # --------------------------- 85 | # REAPER 86 | # Note: The instructions below will create a PORTABLE REAPER installation 87 | # at ~/REAPER. 88 | # --------------------------- 89 | notify "REAPER" 90 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 91 | mkdir ./reaper 92 | tar -C ./reaper -xf reaper.tar.xz 93 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 94 | rm -rf ./reaper 95 | rm reaper.tar.xz 96 | touch ~/REAPER/reaper.ini 97 | 98 | 99 | # --------------------------- 100 | # Wine (staging) 101 | # This is required for yabridge 102 | # See https://wiki.winehq.org/Debian for additional information. 103 | # --------------------------- 104 | notify "Install Wine" 105 | sudo dpkg --add-architecture i386 106 | sudo mkdir -pm755 /etc/apt/keyrings 107 | wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - 108 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/trixie/winehq-trixie.sources 109 | sudo apt update 110 | sudo apt install --install-recommends --allow-change-held-packages winehq-staging=9.21~trixie-1 wine-staging=9.21~trixie-1 wine-staging-amd64=9.21~trixie-1 wine-staging-i386=9.21~trixie-1 --allow-downgrades -y 111 | sudo apt-mark hold winehq-staging wine-staging wine-staging-i386 wine-staging-amd64 112 | 113 | # Winetricks 114 | sudo apt install cabextract -y 115 | mkdir -p ~/.local/share 116 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 117 | mv winetricks ~/.local/share 118 | chmod +x ~/.local/share/winetricks 119 | echo '' >> ~/.bash_aliases 120 | echo '# Audio: winetricks' >> ~/.bash_aliases 121 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 122 | . ~/.bash_aliases 123 | 124 | # Base wine packages required for proper plugin functionality 125 | winetricks corefonts 126 | 127 | # Make a copy of .wine, as we will use this in the future as the base of 128 | # new wine prefixes (when installing plugins) 129 | cp -r ~/.wine ~/.wine-base 130 | 131 | 132 | # --------------------------- 133 | # Yabridge 134 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 135 | # --------------------------- 136 | # NOTE: When you run this script, there may be a newer version of yabridge available. 137 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 138 | notify "Install yabridge" 139 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 140 | mkdir -p ~/.local/share 141 | tar -C ~/.local/share -xavf yabridge.tar.gz 142 | rm yabridge.tar.gz 143 | echo '' >> ~/.bash_aliases 144 | echo '# Audio: yabridge path' >> ~/.bash_aliases 145 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 146 | . ~/.bash_aliases 147 | 148 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 149 | sudo apt install libnotify-bin -y 150 | 151 | # Create common VST paths 152 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 153 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 154 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 155 | 156 | # Add them into yabridge 157 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 158 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 159 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 160 | 161 | # --------------------------- 162 | # Install Windows VST plugins 163 | # This is a manual step for you to run when you download plugins. 164 | # First, run the plugin installer .exe file 165 | # When the installer asks for a directory, make sure you select 166 | # one of the directories above. 167 | 168 | # VST2 plugins: 169 | # C:\Program Files\Steinberg\VstPlugins 170 | # OR 171 | # C:\Program Files\Common Files\VST2 172 | 173 | # VST3 plugins: 174 | # C:\Program Files\Common Files\VST3 175 | # --------------------------- 176 | 177 | # Each time you install a new plugin, you need to run: 178 | # yabridgectl sync 179 | 180 | # --------------------------- 181 | # FINISHED! 182 | # Now just reboot, and make music! 183 | # --------------------------- 184 | notify "Done - please reboot." 185 | 186 | -------------------------------------------------------------------------------- /debian/14/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Debian 14 (forky) for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/debian/14/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt modernize-sources -y 23 | sudo apt update && sudo apt upgrade -y 24 | 25 | 26 | # --------------------------- 27 | # Install Liquorix kernel 28 | # https://liquorix.net/ 29 | # --------------------------- 30 | sudo apt install curl -y 31 | curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash 32 | sudo apt install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 33 | 34 | 35 | # --------------------------- 36 | # Pipewire 37 | # https://wiki.debian.org/PipeWire 38 | # NOTE: If you don't have any audio coming from your system, it is possible that the hardware 39 | # channels in your audio interface are muted. In that case, run alsamixer, press F6 to select 40 | # your audio interface, locate your main monitor channel, then press M to unmute. 41 | # You can then run sudo alsactl store to persist these changes. 42 | # --------------------------- 43 | notify "Install pipewire" 44 | sudo apt install pipewire-alsa pipewire-audio pipewire-audio-client-libraries pipewire-jack libspa-0.2-jack -y 45 | 46 | # Tell all apps that use JACK to now use the Pipewire JACK 47 | sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ 48 | sudo ldconfig 49 | 50 | 51 | # --------------------------- 52 | # grub 53 | # --------------------------- 54 | notify "Modify GRUB options" 55 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub 56 | sudo update-grub 57 | 58 | 59 | # --------------------------- 60 | # limits 61 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 62 | # --------------------------- 63 | notify "Modify limits.d/audio.conf" 64 | echo '@pipewire - rtprio 90 65 | @pipewire - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 66 | 67 | 68 | # --------------------------- 69 | # sysctl.conf 70 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 71 | # --------------------------- 72 | notify "Modify /etc/sysctl.conf" 73 | echo 'vm.swappiness=10 74 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 75 | 76 | 77 | # --------------------------- 78 | # Add the user to the pipewire group 79 | # --------------------------- 80 | notify "Add ourselves to the pipewire group" 81 | sudo usermod -a -G pipewire $USER 82 | 83 | 84 | # --------------------------- 85 | # REAPER 86 | # Note: The instructions below will create a PORTABLE REAPER installation 87 | # at ~/REAPER. 88 | # --------------------------- 89 | notify "REAPER" 90 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 91 | mkdir ./reaper 92 | tar -C ./reaper -xf reaper.tar.xz 93 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 94 | rm -rf ./reaper 95 | rm reaper.tar.xz 96 | touch ~/REAPER/reaper.ini 97 | 98 | 99 | # --------------------------- 100 | # Wine (staging) 101 | # This is required for yabridge 102 | # See https://wiki.winehq.org/Debian for additional information. 103 | # --------------------------- 104 | notify "Install Wine" 105 | sudo dpkg --add-architecture i386 106 | sudo mkdir -pm755 /etc/apt/keyrings 107 | wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - 108 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/trixie/winehq-trixie.sources 109 | sudo apt update 110 | sudo apt install --install-recommends --allow-change-held-packages winehq-staging=9.21~trixie-1 wine-staging=9.21~trixie-1 wine-staging-amd64=9.21~trixie-1 wine-staging-i386=9.21~trixie-1 --allow-downgrades -y 111 | sudo apt-mark hold winehq-staging wine-staging wine-staging-i386 wine-staging-amd64 112 | 113 | # Winetricks 114 | sudo apt install cabextract -y 115 | mkdir -p ~/.local/share 116 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 117 | mv winetricks ~/.local/share 118 | chmod +x ~/.local/share/winetricks 119 | echo '' >> ~/.bash_aliases 120 | echo '# Audio: winetricks' >> ~/.bash_aliases 121 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 122 | . ~/.bash_aliases 123 | 124 | # Base wine packages required for proper plugin functionality 125 | winetricks corefonts 126 | 127 | # Make a copy of .wine, as we will use this in the future as the base of 128 | # new wine prefixes (when installing plugins) 129 | cp -r ~/.wine ~/.wine-base 130 | 131 | 132 | # --------------------------- 133 | # Yabridge 134 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 135 | # --------------------------- 136 | # NOTE: When you run this script, there may be a newer version of yabridge available. 137 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 138 | notify "Install yabridge" 139 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 140 | mkdir -p ~/.local/share 141 | tar -C ~/.local/share -xavf yabridge.tar.gz 142 | rm yabridge.tar.gz 143 | echo '' >> ~/.bash_aliases 144 | echo '# Audio: yabridge path' >> ~/.bash_aliases 145 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 146 | . ~/.bash_aliases 147 | 148 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 149 | sudo apt install libnotify-bin -y 150 | 151 | # Create common VST paths 152 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 153 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 154 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 155 | 156 | # Add them into yabridge 157 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 158 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 159 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 160 | 161 | # --------------------------- 162 | # Install Windows VST plugins 163 | # This is a manual step for you to run when you download plugins. 164 | # First, run the plugin installer .exe file 165 | # When the installer asks for a directory, make sure you select 166 | # one of the directories above. 167 | 168 | # VST2 plugins: 169 | # C:\Program Files\Steinberg\VstPlugins 170 | # OR 171 | # C:\Program Files\Common Files\VST2 172 | 173 | # VST3 plugins: 174 | # C:\Program Files\Common Files\VST3 175 | # --------------------------- 176 | 177 | # Each time you install a new plugin, you need to run: 178 | # yabridgectl sync 179 | 180 | # --------------------------- 181 | # FINISHED! 182 | # Now just reboot, and make music! 183 | # --------------------------- 184 | notify "Done - please reboot." 185 | 186 | -------------------------------------------------------------------------------- /ubuntu/2404/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Ubuntu (24.04 / noble) for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/ubuntu/2404/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt dist-upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install the Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | # TODO: FINALISE TESTING OF THIS SECTION 30 | #notify "Install the Liquorix kernel" 31 | #sudo apt install curl -y 32 | #curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash 33 | 34 | 35 | # --------------------------- 36 | # Pipewire 37 | # https://wiki.debian.org/PipeWire 38 | # NOTE: If you don't have any audio coming from your system, it is possible that the hardware 39 | # channels in your audio interface are muted. In that case, run alsamixer, press F6 to select 40 | # your audio interface, locate your main monitor channel, then press M to unmute. 41 | # You can then run sudo alsactl store to persist these changes. 42 | # --------------------------- 43 | notify "Install pipewire" 44 | sudo apt install pipewire pipewire-alsa pipewire-audio pipewire-audio-client-libraries pipewire-jack pipewire-pulse libspa-0.2-jack wireplumber -y 45 | 46 | # Copy config files 47 | sudo cp -vRa /usr/share/pipewire /etc/ 48 | 49 | # Tell all apps that use JACK to now use the Pipewire JACK 50 | sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ 51 | sudo ldconfig 52 | 53 | 54 | # --------------------------- 55 | # grub 56 | # --------------------------- 57 | notify "Modify GRUB options" 58 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub 59 | sudo update-grub 60 | 61 | 62 | # --------------------------- 63 | # limits 64 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 65 | # --------------------------- 66 | # TODO: CONFIRM THIS IS NO LONGER REQUIRED 67 | #notify "Modify limits.d/audio.conf" 68 | #echo '@pipewire - rtprio 90 69 | #@pipewire - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 70 | 71 | 72 | # --------------------------- 73 | # sysctl.conf 74 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 75 | # --------------------------- 76 | notify "Modify /etc/sysctl.conf" 77 | echo 'vm.swappiness=10 78 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 79 | 80 | 81 | # --------------------------- 82 | # Add the user to the pipewire group 83 | # --------------------------- 84 | notify "Add ourselves to the pipewire group" 85 | sudo usermod -a -G pipewire $USER 86 | 87 | 88 | # --------------------------- 89 | # REAPER 90 | # Note: The instructions below will create a PORTABLE REAPER installation 91 | # at ~/REAPER. 92 | # --------------------------- 93 | notify "REAPER" 94 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 95 | mkdir ./reaper 96 | tar -C ./reaper -xf reaper.tar.xz 97 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 98 | rm -rf ./reaper 99 | rm reaper.tar.xz 100 | touch ~/REAPER/reaper.ini 101 | 102 | 103 | # --------------------------- 104 | # Wine (staging) 105 | # This is required for yabridge 106 | # See https://wiki.winehq.org/Ubuntu and https://wiki.winehq.org/Winetricks for additional information. 107 | # --------------------------- 108 | notify "Install Wine" 109 | sudo dpkg --add-architecture i386 110 | sudo mkdir -pm755 /etc/apt/keyrings 111 | wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - 112 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources 113 | sudo apt update 114 | sudo apt install --install-recommends --allow-change-held-packages winehq-staging=9.21~noble-1 wine-staging=9.21~noble-1 wine-staging-amd64=9.21~noble-1 wine-staging-i386=9.21~noble-1 --allow-downgrades -y 115 | sudo apt-mark hold winehq-staging wine-staging wine-staging-i386 wine-staging-amd64 116 | 117 | # Winetricks 118 | sudo apt install cabextract -y 119 | mkdir -p ~/.local/share 120 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 121 | mv winetricks ~/.local/share 122 | chmod +x ~/.local/share/winetricks 123 | echo '' >> ~/.bash_aliases 124 | echo '# Audio: winetricks' >> ~/.bash_aliases 125 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 126 | . ~/.bash_aliases 127 | 128 | # Base wine packages required for proper plugin functionality 129 | winetricks corefonts 130 | 131 | 132 | # --------------------------- 133 | # Yabridge 134 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 135 | # --------------------------- 136 | # NOTE: When you run this script, there may be a newer version of yabridge available. 137 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 138 | notify "Install yabridge" 139 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 140 | mkdir -p ~/.local/share 141 | tar -C ~/.local/share -xavf yabridge.tar.gz 142 | rm yabridge.tar.gz 143 | echo '' >> ~/.bash_aliases 144 | echo '# Audio: yabridge path' >> ~/.bash_aliases 145 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 146 | . ~/.bash_aliases 147 | 148 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 149 | sudo apt install libnotify-bin -y 150 | 151 | # Create common VST paths 152 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 153 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 154 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 155 | 156 | # Add them into yabridge 157 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 158 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 159 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 160 | 161 | # --------------------------- 162 | # Install Windows VST plugins 163 | # This is a manual step for you to run when you download plugins. 164 | # First, run the plugin installer .exe file 165 | # When the installer asks for a directory, make sure you select 166 | # one of the directories above. 167 | 168 | # VST2 plugins: 169 | # C:\Program Files\Steinberg\VstPlugins 170 | # OR 171 | # C:\Program Files\Common Files\VST2 172 | 173 | # VST3 plugins: 174 | # C:\Program Files\Common Files\VST3 175 | # --------------------------- 176 | 177 | # Each time you install a new plugin, you need to run: 178 | # yabridgectl sync 179 | 180 | # --------------------------- 181 | # FINISHED! 182 | # Now just reboot, and make music! 183 | # --------------------------- 184 | notify "Done - please reboot." 185 | 186 | -------------------------------------------------------------------------------- /ubuntu/2510/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Ubuntu (25.10 / quokka) for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/ubuntu/2510/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt dist-upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install the Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | # TODO: FINALISE TESTING OF THIS SECTION 30 | #notify "Install the Liquorix kernel" 31 | #sudo apt install curl -y 32 | #curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash 33 | 34 | 35 | # --------------------------- 36 | # Pipewire 37 | # https://wiki.debian.org/PipeWire 38 | # NOTE: If you don't have any audio coming from your system, it is possible that the hardware 39 | # channels in your audio interface are muted. In that case, run alsamixer, press F6 to select 40 | # your audio interface, locate your main monitor channel, then press M to unmute. 41 | # You can then run sudo alsactl store to persist these changes. 42 | # --------------------------- 43 | notify "Install pipewire" 44 | sudo apt install pipewire pipewire-alsa pipewire-audio pipewire-audio-client-libraries pipewire-jack pipewire-pulse libspa-0.2-jack wireplumber -y 45 | 46 | # Copy config files 47 | sudo cp -vRa /usr/share/pipewire /etc/ 48 | 49 | # Tell all apps that use JACK to now use the Pipewire JACK 50 | sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ 51 | sudo ldconfig 52 | 53 | 54 | # --------------------------- 55 | # grub 56 | # --------------------------- 57 | notify "Modify GRUB options" 58 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub 59 | sudo update-grub 60 | 61 | 62 | # --------------------------- 63 | # limits 64 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 65 | # --------------------------- 66 | # TODO: CONFIRM THIS IS NO LONGER REQUIRED 67 | #notify "Modify limits.d/audio.conf" 68 | #echo '@pipewire - rtprio 90 69 | #@pipewire - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 70 | 71 | 72 | # --------------------------- 73 | # sysctl.conf 74 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 75 | # --------------------------- 76 | notify "Modify /etc/sysctl.conf" 77 | echo 'vm.swappiness=10 78 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 79 | 80 | 81 | # --------------------------- 82 | # Add the user to the pipewire group 83 | # --------------------------- 84 | notify "Add ourselves to the pipewire group" 85 | sudo usermod -a -G pipewire $USER 86 | 87 | 88 | # --------------------------- 89 | # REAPER 90 | # Note: The instructions below will create a PORTABLE REAPER installation 91 | # at ~/REAPER. 92 | # --------------------------- 93 | notify "REAPER" 94 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 95 | mkdir ./reaper 96 | tar -C ./reaper -xf reaper.tar.xz 97 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 98 | rm -rf ./reaper 99 | rm reaper.tar.xz 100 | touch ~/REAPER/reaper.ini 101 | 102 | 103 | # --------------------------- 104 | # Wine (staging) 105 | # This is required for yabridge 106 | # See https://wiki.winehq.org/Ubuntu and https://wiki.winehq.org/Winetricks for additional information. 107 | # --------------------------- 108 | notify "Install Wine" 109 | sudo dpkg --add-architecture i386 110 | sudo mkdir -pm755 /etc/apt/keyrings 111 | wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - 112 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources 113 | sudo apt update 114 | sudo apt install --install-recommends --allow-change-held-packages winehq-staging=9.21~noble-1 wine-staging=9.21~noble-1 wine-staging-amd64=9.21~noble-1 wine-staging-i386=9.21~noble-1 --allow-downgrades -y 115 | sudo apt-mark hold winehq-staging wine-staging wine-staging-i386 wine-staging-amd64 116 | 117 | # Winetricks 118 | sudo apt install cabextract -y 119 | mkdir -p ~/.local/share 120 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 121 | mv winetricks ~/.local/share 122 | chmod +x ~/.local/share/winetricks 123 | echo '' >> ~/.bash_aliases 124 | echo '# Audio: winetricks' >> ~/.bash_aliases 125 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 126 | . ~/.bash_aliases 127 | 128 | # Base wine packages required for proper plugin functionality 129 | winetricks corefonts 130 | 131 | 132 | # --------------------------- 133 | # Yabridge 134 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 135 | # --------------------------- 136 | # NOTE: When you run this script, there may be a newer version of yabridge available. 137 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 138 | notify "Install yabridge" 139 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 140 | mkdir -p ~/.local/share 141 | tar -C ~/.local/share -xavf yabridge.tar.gz 142 | rm yabridge.tar.gz 143 | echo '' >> ~/.bash_aliases 144 | echo '# Audio: yabridge path' >> ~/.bash_aliases 145 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 146 | . ~/.bash_aliases 147 | 148 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 149 | sudo apt install libnotify-bin -y 150 | 151 | # Create common VST paths 152 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 153 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 154 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 155 | 156 | # Add them into yabridge 157 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 158 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 159 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 160 | 161 | # --------------------------- 162 | # Install Windows VST plugins 163 | # This is a manual step for you to run when you download plugins. 164 | # First, run the plugin installer .exe file 165 | # When the installer asks for a directory, make sure you select 166 | # one of the directories above. 167 | 168 | # VST2 plugins: 169 | # C:\Program Files\Steinberg\VstPlugins 170 | # OR 171 | # C:\Program Files\Common Files\VST2 172 | 173 | # VST3 plugins: 174 | # C:\Program Files\Common Files\VST3 175 | # --------------------------- 176 | 177 | # Each time you install a new plugin, you need to run: 178 | # yabridgectl sync 179 | 180 | # --------------------------- 181 | # FINISHED! 182 | # Now just reboot, and make music! 183 | # --------------------------- 184 | notify "Done - please reboot." 185 | 186 | -------------------------------------------------------------------------------- /elementaryos/8/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring ElementaryOS (8 / noble) for pro audio USING PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/elementaryos/8/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt dist-upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install the Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | # TODO: FINALISE TESTING OF THIS SECTION 30 | #notify "Install the Liquorix kernel" 31 | #sudo apt install curl -y 32 | #curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash 33 | 34 | 35 | # --------------------------- 36 | # Pipewire 37 | # https://wiki.debian.org/PipeWire 38 | # NOTE: If you don't have any audio coming from your system, it is possible that the hardware 39 | # channels in your audio interface are muted. In that case, run alsamixer, press F6 to select 40 | # your audio interface, locate your main monitor channel, then press M to unmute. 41 | # You can then run sudo alsactl store to persist these changes. 42 | # --------------------------- 43 | notify "Install pipewire" 44 | sudo apt install pipewire pipewire-alsa pipewire-audio pipewire-audio-client-libraries pipewire-jack pipewire-pulse libspa-0.2-jack wireplumber -y 45 | 46 | # Copy config files 47 | sudo cp -vRa /usr/share/pipewire /etc/ 48 | 49 | # Tell all apps that use JACK to now use the Pipewire JACK 50 | sudo cp /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf /etc/ld.so.conf.d/ 51 | sudo ldconfig 52 | 53 | 54 | # --------------------------- 55 | # grub 56 | # --------------------------- 57 | notify "Modify GRUB options" 58 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet"/GRUB_CMDLINE_LINUX_DEFAULT="quiet threadirqs cpufreq.default_governor=performance"/g' /etc/default/grub 59 | sudo update-grub 60 | 61 | 62 | # --------------------------- 63 | # limits 64 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 65 | # --------------------------- 66 | # TODO: CONFIRM THIS IS NO LONGER REQUIRED 67 | #notify "Modify limits.d/audio.conf" 68 | #echo '@pipewire - rtprio 90 69 | #@pipewire - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 70 | 71 | 72 | # --------------------------- 73 | # sysctl.conf 74 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 75 | # --------------------------- 76 | notify "Modify /etc/sysctl.conf" 77 | echo 'vm.swappiness=10 78 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 79 | 80 | 81 | # --------------------------- 82 | # Add the user to the pipewire group 83 | # --------------------------- 84 | notify "Add ourselves to the pipewire group" 85 | sudo usermod -a -G pipewire $USER 86 | 87 | 88 | # --------------------------- 89 | # REAPER 90 | # Note: The instructions below will create a PORTABLE REAPER installation 91 | # at ~/REAPER. 92 | # --------------------------- 93 | notify "REAPER" 94 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 95 | mkdir ./reaper 96 | tar -C ./reaper -xf reaper.tar.xz 97 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 98 | rm -rf ./reaper 99 | rm reaper.tar.xz 100 | touch ~/REAPER/reaper.ini 101 | 102 | 103 | # --------------------------- 104 | # Wine (staging) 105 | # This is required for yabridge 106 | # See https://wiki.winehq.org/Ubuntu and https://wiki.winehq.org/Winetricks for additional information. 107 | # --------------------------- 108 | notify "Install Wine" 109 | sudo dpkg --add-architecture i386 110 | sudo mkdir -pm755 /etc/apt/keyrings 111 | wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor -o /etc/apt/keyrings/winehq-archive.key - 112 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources 113 | sudo apt update 114 | sudo apt install --install-recommends --allow-change-held-packages winehq-staging=9.21~noble-1 wine-staging=9.21~noble-1 wine-staging-amd64=9.21~noble-1 wine-staging-i386=9.21~noble-1 --allow-downgrades -y 115 | sudo apt-mark hold winehq-staging wine-staging wine-staging-i386 wine-staging-amd64 116 | 117 | # Winetricks 118 | sudo apt install cabextract -y 119 | mkdir -p ~/.local/share 120 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 121 | mv winetricks ~/.local/share 122 | chmod +x ~/.local/share/winetricks 123 | echo '' >> ~/.bash_aliases 124 | echo '# Audio: winetricks' >> ~/.bash_aliases 125 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 126 | . ~/.bash_aliases 127 | 128 | # Base wine packages required for proper plugin functionality 129 | winetricks corefonts 130 | 131 | 132 | # --------------------------- 133 | # Yabridge 134 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 135 | # --------------------------- 136 | # NOTE: When you run this script, there may be a newer version of yabridge available. 137 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 138 | notify "Install yabridge" 139 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 140 | mkdir -p ~/.local/share 141 | tar -C ~/.local/share -xavf yabridge.tar.gz 142 | rm yabridge.tar.gz 143 | echo '' >> ~/.bash_aliases 144 | echo '# Audio: yabridge path' >> ~/.bash_aliases 145 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 146 | . ~/.bash_aliases 147 | 148 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 149 | sudo apt install libnotify-bin -y 150 | 151 | # Create common VST paths 152 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 153 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 154 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 155 | 156 | # Add them into yabridge 157 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 158 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 159 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 160 | 161 | # --------------------------- 162 | # Install Windows VST plugins 163 | # This is a manual step for you to run when you download plugins. 164 | # First, run the plugin installer .exe file 165 | # When the installer asks for a directory, make sure you select 166 | # one of the directories above. 167 | 168 | # VST2 plugins: 169 | # C:\Program Files\Steinberg\VstPlugins 170 | # OR 171 | # C:\Program Files\Common Files\VST2 172 | 173 | # VST3 plugins: 174 | # C:\Program Files\Common Files\VST3 175 | # --------------------------- 176 | 177 | # Each time you install a new plugin, you need to run: 178 | # yabridgectl sync 179 | 180 | # --------------------------- 181 | # FINISHED! 182 | # Now just reboot, and make music! 183 | # --------------------------- 184 | notify "Done - please reboot." 185 | 186 | -------------------------------------------------------------------------------- /zorinos/16/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Zorin OS 16 for pro audio using PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/zorin/16/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt dist-upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install the Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | notify "Install the Liquorix kernel" 30 | sudo add-apt-repository ppa:damentz/liquorix -y && sudo apt-get update 31 | sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 32 | 33 | 34 | # ------------------------------------------------------------------------------------ 35 | # Install the latest Pipewire 36 | # https://pipewire-debian.github.io/pipewire-debian/ 37 | # ------------------------------------------------------------------------------------ 38 | notify "Install Pipewire" 39 | sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream -y 40 | sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream -y 41 | sudo apt update 42 | sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,libcamera,locales,tests}} -y 43 | sudo apt install wireplumber{,-doc} gir1.2-wp-0.4 libwireplumber-0.4-{0,dev} -y 44 | systemctl --user --now disable pulseaudio.{socket,service} 45 | systemctl --user mask pulseaudio 46 | sudo cp -vRa /usr/share/pipewire /etc/ 47 | systemctl --user --now enable pipewire{,-pulse}.{socket,service} filter-chain.service 48 | systemctl --user --now enable wireplumber.service 49 | 50 | 51 | # --------------------------- 52 | # Modify GRUB options 53 | # threadirqs: 54 | # mitigations=off: 55 | # cpufreq.default_governor=performance: 56 | # --------------------------- 57 | notify "Modify GRUB options" 58 | sudo systemctl disable ondemand 59 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs mitigations=off cpufreq.default_governor=performance"/g' /etc/default/grub 60 | sudo update-grub 61 | 62 | 63 | # --------------------------- 64 | # sysctl.conf 65 | # --------------------------- 66 | notify "sysctl.conf" 67 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 68 | echo 'vm.swappiness=10 69 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 70 | 71 | 72 | # --------------------------- 73 | # audio.conf 74 | # --------------------------- 75 | notify "audio.conf" 76 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 77 | echo '@audio - rtprio 90 78 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 79 | 80 | 81 | # --------------------------- 82 | # Add the user to the audio group 83 | # --------------------------- 84 | notify "Add user to the audio group" 85 | sudo adduser $USER audio 86 | 87 | 88 | # --------------------------- 89 | # REAPER 90 | # Note: The instructions below will create a PORTABLE REAPER installation 91 | # at ~/REAPER. 92 | # --------------------------- 93 | notify "REAPER" 94 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 95 | mkdir ./reaper 96 | tar -C ./reaper -xf reaper.tar.xz 97 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 98 | rm -rf ./reaper 99 | rm reaper.tar.xz 100 | touch ~/REAPER/reaper.ini 101 | 102 | 103 | # --------------------------- 104 | # Wine (staging) 105 | # This is required for yabridge 106 | # See https://wiki.winehq.org/Ubuntu for additional information. 107 | # --------------------------- 108 | notify "Install Wine" 109 | sudo dpkg --add-architecture i386 110 | sudo mkdir -pm755 /etc/apt/keyrings 111 | sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key 112 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources 113 | sudo apt update 114 | sudo apt install --install-recommends winehq-staging -y 115 | 116 | # Winetricks 117 | sudo apt install cabextract -y 118 | mkdir -p ~/.local/share 119 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 120 | mv winetricks ~/.local/share 121 | chmod +x ~/.local/share/winetricks 122 | echo '' >> ~/.bash_aliases 123 | echo '# Audio: winetricks' >> ~/.bash_aliases 124 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 125 | . ~/.bash_aliases 126 | 127 | # Base wine packages required for proper plugin functionality 128 | winetricks corefonts 129 | 130 | # Make a copy of .wine, as we will use this in the future as the base of 131 | # new wine prefixes (when installing plugins) 132 | cp -r ~/.wine ~/.wine-base 133 | 134 | 135 | # --------------------------- 136 | # Yabridge 137 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 138 | # --------------------------- 139 | # NOTE: When you run this script, there may be a newer version of yabridge available. 140 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 141 | notify "Install yabridge" 142 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 143 | mkdir -p ~/.local/share 144 | tar -C ~/.local/share -xavf yabridge.tar.gz 145 | rm yabridge.tar.gz 146 | echo '' >> ~/.bash_aliases 147 | echo '# Audio: yabridge path' >> ~/.bash_aliases 148 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 149 | . ~/.bash_aliases 150 | 151 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 152 | sudo apt install libnotify-bin -y 153 | 154 | # Create common VST paths 155 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 156 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 157 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 158 | 159 | # Add them into yabridge 160 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 161 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 162 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 163 | 164 | # --------------------------- 165 | # Install Windows VST plugins 166 | # This is a manual step for you to run when you download plugins. 167 | # First, run the plugin installer .exe file 168 | # When the installer asks for a directory, make sure you select 169 | # one of the directories above. 170 | 171 | # VST2 plugins: 172 | # C:\Program Files\Steinberg\VstPlugins 173 | # OR 174 | # C:\Program Files\Common Files\VST2 175 | 176 | # VST3 plugins: 177 | # C:\Program Files\Common Files\VST3 178 | # --------------------------- 179 | 180 | # Each time you install a new plugin, you need to run: 181 | # yabridgectl sync 182 | 183 | # --------------------------- 184 | # FINISHED! 185 | # Now just reboot, and make music! 186 | # --------------------------- 187 | notify "Done - please reboot." 188 | -------------------------------------------------------------------------------- /zorinos/18/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Zorin OS 18 for pro audio using PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/zorin/18/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt dist-upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install the Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | notify "Install the Liquorix kernel" 30 | sudo add-apt-repository ppa:damentz/liquorix -y && sudo apt-get update 31 | sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 32 | 33 | 34 | # ------------------------------------------------------------------------------------ 35 | # Install the latest Pipewire 36 | # https://pipewire-debian.github.io/pipewire-debian/ 37 | # ------------------------------------------------------------------------------------ 38 | notify "Install Pipewire" 39 | sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream -y 40 | sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream -y 41 | sudo apt update 42 | sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,libcamera,locales,tests}} -y 43 | sudo apt install wireplumber{,-doc} gir1.2-wp-0.4 libwireplumber-0.4-{0,dev} -y 44 | systemctl --user --now disable pulseaudio.{socket,service} 45 | systemctl --user mask pulseaudio 46 | sudo cp -vRa /usr/share/pipewire /etc/ 47 | systemctl --user --now enable pipewire{,-pulse}.{socket,service} filter-chain.service 48 | systemctl --user --now enable wireplumber.service 49 | 50 | 51 | # --------------------------- 52 | # Modify GRUB options 53 | # threadirqs: 54 | # mitigations=off: 55 | # cpufreq.default_governor=performance: 56 | # --------------------------- 57 | notify "Modify GRUB options" 58 | sudo systemctl disable ondemand 59 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs mitigations=off cpufreq.default_governor=performance"/g' /etc/default/grub 60 | sudo update-grub 61 | 62 | 63 | # --------------------------- 64 | # sysctl.conf 65 | # --------------------------- 66 | notify "sysctl.conf" 67 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 68 | echo 'vm.swappiness=10 69 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 70 | 71 | 72 | # --------------------------- 73 | # audio.conf 74 | # --------------------------- 75 | notify "audio.conf" 76 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 77 | echo '@audio - rtprio 90 78 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 79 | 80 | 81 | # --------------------------- 82 | # Add the user to the audio group 83 | # --------------------------- 84 | notify "Add user to the audio group" 85 | sudo adduser $USER audio 86 | 87 | 88 | # --------------------------- 89 | # REAPER 90 | # Note: The instructions below will create a PORTABLE REAPER installation 91 | # at ~/REAPER. 92 | # --------------------------- 93 | notify "REAPER" 94 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 95 | mkdir ./reaper 96 | tar -C ./reaper -xf reaper.tar.xz 97 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 98 | rm -rf ./reaper 99 | rm reaper.tar.xz 100 | touch ~/REAPER/reaper.ini 101 | 102 | 103 | # --------------------------- 104 | # Wine (staging) 105 | # This is required for yabridge 106 | # See https://wiki.winehq.org/Ubuntu for additional information. 107 | # --------------------------- 108 | notify "Install Wine" 109 | sudo dpkg --add-architecture i386 110 | sudo mkdir -pm755 /etc/apt/keyrings 111 | sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key 112 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources 113 | sudo apt update 114 | sudo apt install --install-recommends winehq-staging -y 115 | 116 | # Winetricks 117 | sudo apt install cabextract -y 118 | mkdir -p ~/.local/share 119 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 120 | mv winetricks ~/.local/share 121 | chmod +x ~/.local/share/winetricks 122 | echo '' >> ~/.bash_aliases 123 | echo '# Audio: winetricks' >> ~/.bash_aliases 124 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 125 | . ~/.bash_aliases 126 | 127 | # Base wine packages required for proper plugin functionality 128 | winetricks corefonts 129 | 130 | # Make a copy of .wine, as we will use this in the future as the base of 131 | # new wine prefixes (when installing plugins) 132 | cp -r ~/.wine ~/.wine-base 133 | 134 | 135 | # --------------------------- 136 | # Yabridge 137 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 138 | # --------------------------- 139 | # NOTE: When you run this script, there may be a newer version of yabridge available. 140 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 141 | notify "Install yabridge" 142 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 143 | mkdir -p ~/.local/share 144 | tar -C ~/.local/share -xavf yabridge.tar.gz 145 | rm yabridge.tar.gz 146 | echo '' >> ~/.bash_aliases 147 | echo '# Audio: yabridge path' >> ~/.bash_aliases 148 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 149 | . ~/.bash_aliases 150 | 151 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 152 | sudo apt install libnotify-bin -y 153 | 154 | # Create common VST paths 155 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 156 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 157 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 158 | 159 | # Add them into yabridge 160 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 161 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 162 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 163 | 164 | # --------------------------- 165 | # Install Windows VST plugins 166 | # This is a manual step for you to run when you download plugins. 167 | # First, run the plugin installer .exe file 168 | # When the installer asks for a directory, make sure you select 169 | # one of the directories above. 170 | 171 | # VST2 plugins: 172 | # C:\Program Files\Steinberg\VstPlugins 173 | # OR 174 | # C:\Program Files\Common Files\VST2 175 | 176 | # VST3 plugins: 177 | # C:\Program Files\Common Files\VST3 178 | # --------------------------- 179 | 180 | # Each time you install a new plugin, you need to run: 181 | # yabridgectl sync 182 | 183 | # --------------------------- 184 | # FINISHED! 185 | # Now just reboot, and make music! 186 | # --------------------------- 187 | notify "Done - please reboot." 188 | -------------------------------------------------------------------------------- /ubuntu/2004/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Ubuntu 20.04 (focal) for pro audio using PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/ubuntu/2004/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt dist-upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install the Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | notify "Install the Liquorix kernel" 30 | sudo add-apt-repository ppa:damentz/liquorix -y && sudo apt-get update 31 | sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 32 | 33 | 34 | # ------------------------------------------------------------------------------------ 35 | # Install the latest Pipewire 36 | # https://pipewire-debian.github.io/pipewire-debian/ 37 | # ------------------------------------------------------------------------------------ 38 | notify "Install Pipewire" 39 | sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream -y 40 | sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream -y 41 | sudo apt update 42 | sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,libcamera,locales,tests}} -y 43 | sudo apt install wireplumber{,-doc} gir1.2-wp-0.4 libwireplumber-0.4-{0,dev} -y 44 | systemctl --user --now disable pulseaudio.{socket,service} 45 | systemctl --user mask pulseaudio 46 | sudo cp -vRa /usr/share/pipewire /etc/ 47 | systemctl --user --now enable pipewire{,-pulse}.{socket,service} filter-chain.service 48 | systemctl --user --now enable wireplumber.service 49 | 50 | 51 | # --------------------------- 52 | # Modify GRUB options 53 | # threadirqs: 54 | # mitigations=off: 55 | # cpufreq.default_governor=performance: 56 | # --------------------------- 57 | notify "Modify GRUB options" 58 | sudo systemctl disable ondemand 59 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs mitigations=off cpufreq.default_governor=performance"/g' /etc/default/grub 60 | sudo update-grub 61 | 62 | 63 | # --------------------------- 64 | # sysctl.conf 65 | # --------------------------- 66 | notify "sysctl.conf" 67 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 68 | echo 'vm.swappiness=10 69 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 70 | 71 | 72 | # --------------------------- 73 | # audio.conf 74 | # --------------------------- 75 | notify "audio.conf" 76 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 77 | echo '@audio - rtprio 90 78 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 79 | 80 | 81 | # --------------------------- 82 | # Add the user to the audio group 83 | # --------------------------- 84 | notify "Add user to the audio group" 85 | sudo adduser $USER audio 86 | 87 | 88 | # --------------------------- 89 | # REAPER 90 | # Note: The instructions below will create a PORTABLE REAPER installation 91 | # at ~/REAPER. 92 | # --------------------------- 93 | notify "REAPER" 94 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 95 | mkdir ./reaper 96 | tar -C ./reaper -xf reaper.tar.xz 97 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 98 | rm -rf ./reaper 99 | rm reaper.tar.xz 100 | touch ~/REAPER/reaper.ini 101 | 102 | 103 | # --------------------------- 104 | # Wine (staging) 105 | # This is required for yabridge 106 | # See https://wiki.winehq.org/Ubuntu and https://wiki.winehq.org/Winetricks for additional information. 107 | # --------------------------- 108 | notify "Install Wine" 109 | sudo dpkg --add-architecture i386 110 | sudo mkdir -pm755 /etc/apt/keyrings 111 | sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key 112 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources 113 | sudo apt update 114 | sudo apt install --install-recommends winehq-staging -y 115 | 116 | # Winetricks 117 | sudo apt install cabextract -y 118 | mkdir -p ~/.local/share 119 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 120 | mv winetricks ~/.local/share 121 | chmod +x ~/.local/share/winetricks 122 | echo '' >> ~/.bash_aliases 123 | echo '# Audio: winetricks' >> ~/.bash_aliases 124 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 125 | . ~/.bash_aliases 126 | 127 | # Base wine packages required for proper plugin functionality 128 | winetricks corefonts 129 | 130 | # Make a copy of .wine, as we will use this in the future as the base of 131 | # new wine prefixes (when installing plugins) 132 | cp -r ~/.wine ~/.wine-base 133 | 134 | 135 | # --------------------------- 136 | # Yabridge 137 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 138 | # --------------------------- 139 | # NOTE: When you run this script, there may be a newer version of yabridge available. 140 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 141 | notify "Install yabridge" 142 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 143 | mkdir -p ~/.local/share 144 | tar -C ~/.local/share -xavf yabridge.tar.gz 145 | rm yabridge.tar.gz 146 | echo '' >> ~/.bash_aliases 147 | echo '# Audio: yabridge path' >> ~/.bash_aliases 148 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 149 | . ~/.bash_aliases 150 | 151 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 152 | sudo apt install libnotify-bin -y 153 | 154 | # Create common VST paths 155 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 156 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 157 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 158 | 159 | # Add them into yabridge 160 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 161 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 162 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 163 | 164 | # --------------------------- 165 | # Install Windows VST plugins 166 | # This is a manual step for you to run when you download plugins. 167 | # First, run the plugin installer .exe file 168 | # When the installer asks for a directory, make sure you select 169 | # one of the directories above. 170 | 171 | # VST2 plugins: 172 | # C:\Program Files\Steinberg\VstPlugins 173 | # OR 174 | # C:\Program Files\Common Files\VST2 175 | 176 | # VST3 plugins: 177 | # C:\Program Files\Common Files\VST3 178 | # --------------------------- 179 | 180 | # Each time you install a new plugin, you need to run: 181 | # yabridgectl sync 182 | 183 | # --------------------------- 184 | # FINISHED! 185 | # Now just reboot, and make music! 186 | # --------------------------- 187 | notify "Done - please reboot." 188 | -------------------------------------------------------------------------------- /neon/2004/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring KDE Neon (based on Ubuntu 20.04) for pro audio using PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/neon/2004/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo pkcon refresh && sudo pkcon update 23 | 24 | 25 | # --------------------------- 26 | # Install the Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | notify "Install the Liquorix kernel" 30 | sudo add-apt-repository ppa:damentz/liquorix -y && sudo apt-get update 31 | sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 32 | 33 | 34 | # ------------------------------------------------------------------------------------ 35 | # Install the latest Pipewire 36 | # https://pipewire-debian.github.io/pipewire-debian/ 37 | # ------------------------------------------------------------------------------------ 38 | notify "Install Pipewire" 39 | sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream -y 40 | sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream -y 41 | sudo apt update 42 | sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,libcamera,locales,tests}} -y 43 | sudo apt install wireplumber{,-doc} gir1.2-wp-0.4 libwireplumber-0.4-{0,dev} -y 44 | systemctl --user --now disable pulseaudio.{socket,service} 45 | systemctl --user mask pulseaudio 46 | sudo cp -vRa /usr/share/pipewire /etc/ 47 | systemctl --user --now enable pipewire{,-pulse}.{socket,service} filter-chain.service 48 | systemctl --user --now enable wireplumber.service 49 | 50 | 51 | # --------------------------- 52 | # Modify GRUB options 53 | # threadirqs: 54 | # mitigations=off: 55 | # cpufreq.default_governor=performance: 56 | # --------------------------- 57 | notify "Modify GRUB options" 58 | sudo systemctl disable ondemand 59 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs mitigations=off cpufreq.default_governor=performance"/g' /etc/default/grub 60 | sudo update-grub 61 | 62 | 63 | # --------------------------- 64 | # sysctl.conf 65 | # --------------------------- 66 | notify "sysctl.conf" 67 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 68 | echo 'vm.swappiness=10 69 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 70 | 71 | 72 | # --------------------------- 73 | # audio.conf 74 | # --------------------------- 75 | notify "audio.conf" 76 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 77 | echo '@audio - rtprio 90 78 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 79 | 80 | 81 | # --------------------------- 82 | # Add the user to the audio group 83 | # --------------------------- 84 | notify "Add user to the audio group" 85 | sudo adduser $USER audio 86 | 87 | 88 | # --------------------------- 89 | # REAPER 90 | # Note: The instructions below will create a PORTABLE REAPER installation 91 | # at ~/REAPER. 92 | # --------------------------- 93 | notify "REAPER" 94 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 95 | mkdir ./reaper 96 | tar -C ./reaper -xf reaper.tar.xz 97 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 98 | rm -rf ./reaper 99 | rm reaper.tar.xz 100 | touch ~/REAPER/reaper.ini 101 | 102 | 103 | # --------------------------- 104 | # Wine (staging) 105 | # This is required for yabridge 106 | # See https://wiki.winehq.org/Ubuntu and https://wiki.winehq.org/Winetricks for additional information. 107 | # --------------------------- 108 | notify "Install Wine" 109 | sudo dpkg --add-architecture i386 110 | sudo mkdir -pm755 /etc/apt/keyrings 111 | sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key 112 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/focal/winehq-focal.sources 113 | sudo apt update 114 | sudo apt install --install-recommends winehq-staging -y 115 | 116 | # Winetricks 117 | sudo apt install cabextract -y 118 | mkdir -p ~/.local/share 119 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 120 | mv winetricks ~/.local/share 121 | chmod +x ~/.local/share/winetricks 122 | echo '' >> ~/.bash_aliases 123 | echo '# Audio: winetricks' >> ~/.bash_aliases 124 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 125 | . ~/.bash_aliases 126 | 127 | # Base wine packages required for proper plugin functionality 128 | winetricks corefonts 129 | 130 | # Make a copy of .wine, as we will use this in the future as the base of 131 | # new wine prefixes (when installing plugins) 132 | cp -r ~/.wine ~/.wine-base 133 | 134 | 135 | # --------------------------- 136 | # Yabridge 137 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 138 | # --------------------------- 139 | # NOTE: When you run this script, there may be a newer version of yabridge available. 140 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 141 | notify "Install yabridge" 142 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 143 | mkdir -p ~/.local/share 144 | tar -C ~/.local/share -xavf yabridge.tar.gz 145 | rm yabridge.tar.gz 146 | echo '' >> ~/.bash_aliases 147 | echo '# Audio: yabridge path' >> ~/.bash_aliases 148 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 149 | . ~/.bash_aliases 150 | 151 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 152 | sudo apt install libnotify-bin -y 153 | 154 | # Create common VST paths 155 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 156 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 157 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 158 | 159 | # Add them into yabridge 160 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 161 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 162 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 163 | 164 | # --------------------------- 165 | # Install Windows VST plugins 166 | # This is a manual step for you to run when you download plugins. 167 | # First, run the plugin installer .exe file 168 | # When the installer asks for a directory, make sure you select 169 | # one of the directories above. 170 | 171 | # VST2 plugins: 172 | # C:\Program Files\Steinberg\VstPlugins 173 | # OR 174 | # C:\Program Files\Common Files\VST2 175 | 176 | # VST3 plugins: 177 | # C:\Program Files\Common Files\VST3 178 | # --------------------------- 179 | 180 | # Each time you install a new plugin, you need to run: 181 | # yabridgectl sync 182 | 183 | # --------------------------- 184 | # FINISHED! 185 | # Now just reboot, and make music! 186 | # --------------------------- 187 | notify "Done - please reboot." 188 | -------------------------------------------------------------------------------- /ubuntu/2204/install-audio.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # --------------------------- 3 | # This is a bash script for configuring Ubuntu 22.04 (jammy) for pro audio using PIPEWIRE. 4 | # --------------------------- 5 | # NOTE: Execute this script by running the following command on your system: 6 | # wget -O ~/install-audio.sh https://raw.githubusercontent.com/tuxaudio/linux-audio-setup-scripts/main/ubuntu/2204/install-audio.sh && chmod +x ~/install-audio.sh && ~/install-audio.sh 7 | 8 | # Exit if any command fails 9 | set -e 10 | 11 | notify () { 12 | echo "--------------------------------------------------------------------" 13 | echo $1 14 | echo "--------------------------------------------------------------------" 15 | } 16 | 17 | 18 | # --------------------------- 19 | # Update our system 20 | # --------------------------- 21 | notify "Update the system" 22 | sudo apt update && sudo apt dist-upgrade -y 23 | 24 | 25 | # --------------------------- 26 | # Install the Liquorix kernel 27 | # https://liquorix.net/ 28 | # --------------------------- 29 | notify "Install the Liquorix kernel" 30 | sudo add-apt-repository ppa:damentz/liquorix -y && sudo apt-get update 31 | sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64 -y 32 | 33 | 34 | # ------------------------------------------------------------------------------------ 35 | # Install the latest Pipewire 36 | # https://pipewire-debian.github.io/pipewire-debian/ 37 | # ------------------------------------------------------------------------------------ 38 | notify "Install Pipewire" 39 | sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream -y 40 | sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream -y 41 | sudo apt update 42 | sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,libcamera,locales,tests}} -y 43 | sudo apt install wireplumber{,-doc} gir1.2-wp-0.4 libwireplumber-0.4-{0,dev} -y 44 | systemctl --user --now disable pulseaudio.{socket,service} 45 | systemctl --user mask pulseaudio 46 | sudo cp -vRa /usr/share/pipewire /etc/ 47 | systemctl --user --now enable pipewire{,-pulse}.{socket,service} filter-chain.service 48 | systemctl --user --now enable wireplumber.service 49 | 50 | 51 | # --------------------------- 52 | # Modify GRUB options 53 | # threadirqs: 54 | # mitigations=off: 55 | # cpufreq.default_governor=performance: 56 | # --------------------------- 57 | notify "Modify GRUB options" 58 | #sudo systemctl disable ondemand 59 | sudo sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash threadirqs mitigations=off cpufreq.default_governor=performance"/g' /etc/default/grub 60 | sudo update-grub 61 | 62 | 63 | # --------------------------- 64 | # sysctl.conf 65 | # --------------------------- 66 | notify "sysctl.conf" 67 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 68 | echo 'vm.swappiness=10 69 | fs.inotify.max_user_watches=600000' | sudo tee -a /etc/sysctl.conf 70 | 71 | 72 | # --------------------------- 73 | # audio.conf 74 | # --------------------------- 75 | notify "audio.conf" 76 | # See https://wiki.linuxaudio.org/wiki/system_configuration for more information. 77 | echo '@audio - rtprio 90 78 | @audio - memlock unlimited' | sudo tee -a /etc/security/limits.d/audio.conf 79 | 80 | 81 | # --------------------------- 82 | # Add the user to the audio group 83 | # --------------------------- 84 | notify "Add user to the audio group" 85 | sudo adduser $USER audio 86 | 87 | 88 | # --------------------------- 89 | # REAPER 90 | # Note: The instructions below will create a PORTABLE REAPER installation 91 | # at ~/REAPER. 92 | # --------------------------- 93 | notify "REAPER" 94 | wget -O reaper.tar.xz http://reaper.fm/files/7.x/reaper755_linux_x86_64.tar.xz 95 | mkdir ./reaper 96 | tar -C ./reaper -xf reaper.tar.xz 97 | ./reaper/reaper_linux_x86_64/install-reaper.sh --install ~/ --integrate-desktop 98 | rm -rf ./reaper 99 | rm reaper.tar.xz 100 | touch ~/REAPER/reaper.ini 101 | 102 | 103 | # --------------------------- 104 | # Wine (staging) 105 | # This is required for yabridge 106 | # See https://wiki.winehq.org/Ubuntu and https://wiki.winehq.org/Winetricks for additional information. 107 | # --------------------------- 108 | notify "Install Wine" 109 | sudo dpkg --add-architecture i386 110 | sudo mkdir -pm755 /etc/apt/keyrings 111 | sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key 112 | sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources 113 | sudo apt update 114 | sudo apt install --install-recommends winehq-staging -y 115 | 116 | # Winetricks 117 | sudo apt install cabextract -y 118 | mkdir -p ~/.local/share 119 | wget -O winetricks https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 120 | mv winetricks ~/.local/share 121 | chmod +x ~/.local/share/winetricks 122 | echo '' >> ~/.bash_aliases 123 | echo '# Audio: winetricks' >> ~/.bash_aliases 124 | echo 'export PATH="$PATH:$HOME/.local/share"' >> ~/.bash_aliases 125 | . ~/.bash_aliases 126 | 127 | # Base wine packages required for proper plugin functionality 128 | winetricks corefonts 129 | 130 | # Make a copy of .wine, as we will use this in the future as the base of 131 | # new wine prefixes (when installing plugins) 132 | cp -r ~/.wine ~/.wine-base 133 | 134 | 135 | # --------------------------- 136 | # Yabridge 137 | # Detailed instructions can be found at: https://github.com/robbert-vdh/yabridge/blob/master/README.md 138 | # --------------------------- 139 | # NOTE: When you run this script, there may be a newer version of yabridge available. 140 | # Check https://github.com/robbert-vdh/yabridge/releases and update the version numbers below if necessary 141 | notify "Install yabridge" 142 | wget -O yabridge.tar.gz https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz 143 | mkdir -p ~/.local/share 144 | tar -C ~/.local/share -xavf yabridge.tar.gz 145 | rm yabridge.tar.gz 146 | echo '' >> ~/.bash_aliases 147 | echo '# Audio: yabridge path' >> ~/.bash_aliases 148 | echo 'export PATH="$PATH:$HOME/.local/share/yabridge"' >> ~/.bash_aliases 149 | . ~/.bash_aliases 150 | 151 | # libnotify-bin contains notify-send, which is used for yabridge plugin notifications. 152 | sudo apt install libnotify-bin -y 153 | 154 | # Create common VST paths 155 | mkdir -p "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 156 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 157 | mkdir -p "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 158 | 159 | # Add them into yabridge 160 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins" 161 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST2" 162 | yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" 163 | 164 | # --------------------------- 165 | # Install Windows VST plugins 166 | # This is a manual step for you to run when you download plugins. 167 | # First, run the plugin installer .exe file 168 | # When the installer asks for a directory, make sure you select 169 | # one of the directories above. 170 | 171 | # VST2 plugins: 172 | # C:\Program Files\Steinberg\VstPlugins 173 | # OR 174 | # C:\Program Files\Common Files\VST2 175 | 176 | # VST3 plugins: 177 | # C:\Program Files\Common Files\VST3 178 | # --------------------------- 179 | 180 | # Each time you install a new plugin, you need to run: 181 | # yabridgectl sync 182 | 183 | # --------------------------- 184 | # FINISHED! 185 | # Now just reboot, and make music! 186 | # --------------------------- 187 | notify "Done - please reboot." 188 | --------------------------------------------------------------------------------