feat(server): Add Nvidia gpu configuration script (#3)

## Description

**What(what issue does this code solve/what feature does it add):**

Add a way to configure the Nvidia GPU, by installing the necessary
packages for Proton to work.

**How(how does it solve it):**

We made a script `.scripts/gpu` when called like `gpu -c` it will
install Vulkan and proprietry nvidia drivers.

## Required Checklist:

- [ ] I have added any necessary documentation and comments in my code
(where appropriate)
- [ ] I have added tests to make sure my code runs in all contexts

## Further comments
This commit is contained in:
Wanjohi
2024-03-29 18:02:18 +03:00
committed by GitHub
parent c4f5e2296c
commit 41350edf3e
2 changed files with 50 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ on:
pull_request:
paths:
- "server.Dockerfile"
- ".scripts/**"
- ".github/workflows/server.yml"
schedule:
- cron: 0 0 * * * # At the end of everyday
@@ -13,6 +14,7 @@ on:
branches: [main]
paths:
- "server.Dockerfile"
- ".scripts/**"
- ".github/workflows/server.yml"
tags:
- v*.*.*

48
.scripts/gpu Normal file
View File

@@ -0,0 +1,48 @@
#!/bin/bash
# Version 0.0.1
#TODO: install nvidia vulkan drivers, or AMD/Intel Mesa drivers
#TODO: install dependencies for gpu-installer
# https://aur.archlinux.org/packages/gpu-screen-recorder-git
# https://github.com/lutris/docs/blob/master/InstallingDrivers.md#amd--intel
# https://github.com/lutris/docs/blob/master/InstallingDrivers.md#nvidia
# https://discourse.ubuntu.com/t/enabling-gpu-acceleration-on-ubuntu-on-wsl2-with-the-nvidia-cuda-platform/26604
xarg="$1"
xnstll() {
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root or via sudo!"
exit 1
else
add-apt-repository ppa:graphics-drivers/ppa
dpkg --add-architecture i386
apt update -y
apt upgrade -y
apt install -y nvidia-driver-535 libvulkan1 libvulkan1:i386
rm -rf /var/lib/apt/lists/*
fi
}
usage() {
echo -e "\n$(basename $0): ERROR - $*" 1>&2
echo -e "\nusage: $(basename $0)\n [-c,--configure] \n \n (configure) install dependencies and configure your GPU \n \n" 1>&2
}
if [[ $# -lt 1 ]]; then
usage "one option required!"
else
case $xarg in
-c | --configure)
# install wine
xnstll
;;
-* | \* | *)
# do_usage
usage "invalid option $1"
exit 1
;;
esac
fi