Last active
December 29, 2021 20:47
-
-
Save phillhocking/65b198d13ed2607e584b6cc45ec0431e to your computer and use it in GitHub Desktop.
Stand Up Ubuntu Studio 20.04 with NVIDIA CUDA/nvenc ffmpeg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# personalization/visualization | |
gsettings set com.canonical.indicator.datetime time-format '24-hour' | |
sudo add-apt-repository ppa:papirus/papirus -y && sudo apt update | |
sudo apt install -y papirus-icon-theme git sassc python3-pip fonts-powerline powerline | |
pip install powerline-status | |
pip3 install powerline-gitstatus | |
git clone https://github.com/vinceliuice/vimix-gtk-themes.git vimix | |
cd vimix | |
sudo ./install.sh -a | |
cd ~ | |
# HashiCorp repo / Terraform | |
sudo apt install -y gnupg software-properties-common curl | |
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - | |
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | |
sudo apt update && sudo apt install -y terraform packer vagrant virtualbox | |
# chrome | |
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - | |
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' | |
sudo apt update | |
sudo apt install -y google-chrome-stable | |
# applications | |
sudo snap install spotify | |
sudo snap install code --classic | |
sudo snap install slack --classic | |
sudo snap install discord | |
sudo snap install bitwarden | |
sudo snap install vlc | |
sudo snap install zoom-client | |
# obs | |
sudo add-apt-repository -y ppa:obsproject/obs-studio | |
sudo apt install -y ffmpeg v4l2loopback-dkms obs-studio | |
# utilities | |
sudo apt install -y powerline gmrun xclip urlview gpm font-manager libsecret-1-0 libsecret-1-dev tmux neofetch ckb-next awscli | |
cd /usr/share/doc/git/contrib/credential/libsecret && sudo make | |
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret | |
sudo systemctl enable gpm | |
sudo systemctl start gpm | |
sudo apt install -y network-manager-l2tp network-manager-l2tp-gnome whois gnome-online-accounts | |
sudo apt install -y gnome-control-center --no-install-recommends | |
# docker | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - | |
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | |
apt update -y | |
apt install -y docker-ce docker-ce-cli containerd.io docker-compose | |
sudo systemctl enable docker | |
sudo systemctl start docker | |
# kubernetes | |
sudo apt install -y kubernetes | |
sudo snap install kubectl --classic | |
sudo snap install k9s-nsg | |
snap connect k9s-nsg:kube-config | |
curl https://baltocdn.com/helm/signing.asc | sudo apt-key add - | |
sudo apt-get install apt-transport-https --yes | |
echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list | |
sudo apt-get update | |
sudo apt-get install helm | |
# ubuntu studio | |
sudo apt install -y ubuntustudio-desktop ubuntustudio-audio ubuntustudio-menu linux-lowlatency ubuntustudio-graphics ubuntustudio-photography ubuntustudio-video ubuntustudio-lowlatency-settings ubuntustudio-performance-tweaks | |
# nvidia | |
sudo apt install -y nvidia-cuda-toolkit libnvidia-encode-495 | |
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin | |
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 | |
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub | |
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /" | |
sudo apt update | |
sudo apt install -y cuda nvidia-gds | |
echo export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} |tee -a ~/.bashrc | |
echo export LD_LIBRARY_PATH=/usr/local/cuda/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} |tee -a ~/.bashrc | |
source ~./bashrc | |
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git | |
cd nv-codec-headers && sudo make install && cd .. | |
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg/ | |
sudo apt install y build-essential pkg-config checkinstall git libfaac-dev libgpac-dev ladspa-sdk-dev libunistring-dev libbz2-dev \ | |
libjack-jackd2-dev libmp3lame-dev libsdl2-dev libopencore-amrnb-dev libopencore-amrwb-dev libvpx-dev libx264-dev libx265-dev libxvidcore-dev libopenal-dev libopus-dev \ | |
libsdl1.2-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev \ | |
libxfixes-dev texi2html yasm zlib1g-dev libnuma-dev libssl-dev | |
cd ffmpeg | |
./configure --pkg-config-flags="--static --libs openssl" --enable-nonfree --enable-gpl --enable-version3 --enable-libmp3lame --enable-libvpx --enable-libopus --enable-opencl --enable-libxcb --enable-opengl --enable-nvenc --enable-vaapi --enable-vdpau --enable-ffplay --enable-ffprobe --enable-libxvid --enable-libx264 --enable-libx265 --enable-openal --enable-openssl --enable-cuda-nvcc --enable-cuvid --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 | |
sudo apt install meson libsystemd-dev pkg-config ninja-build git libdbus-1-dev libinih-dev | |
git clone https://github.com/FeralInteractive/gamemode.git | |
cd gamemode | |
git checkout 1.6.1 | |
# Audio / VST plugins | |
sudo apt install -y libtool autoconf libexpat1-dev libglib2.0-dev libfluidsynth-dev jackd2 libjack-jackd2-dev libjack-jackd2-0 libglade2-dev lv2-dev jackd2 pavucontrol pulseaudio-module-jack | |
sudo tee -a /etc/pulse/default.pa load-module module-jack-source source_name=pulse_return client_name=pulse_return connect=false | |
sudo tee -a /etc/pulse/default.pa load-module module-jack-source load-module module-jack-source source_name=pulse_return client_name=pulse_return connect=false | |
sudo tee -a /etc/pulse/default.pa load-module module-jack-sink | |
git clone https://github.com/calf-studio-gear/calf.git | |
cd calf | |
./autogen.sh | |
make -j2 | |
sudo make install | |
sudo usermod -aG audio phocking | |
# scanner | |
sudo apt install sane xsane v4l-utils |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment