Skip to content

Commit

Permalink
✨ feat(server): Add Nvidia gpu configuration script (#3)
Browse files Browse the repository at this point in the history
## 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
  • Loading branch information
wanjohiryan authored Mar 29, 2024
1 parent c4f5e22 commit 41350ed
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/server.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ on:
pull_request:
paths:
- "server.Dockerfile"
- ".scripts/**"
- ".github/workflows/server.yml"
schedule:
- cron: 0 0 * * * # At the end of everyday
push:
branches: [main]
paths:
- "server.Dockerfile"
- ".scripts/**"
- ".github/workflows/server.yml"
tags:
- v*.*.*
Expand Down
48 changes: 48 additions & 0 deletions .scripts/gpu
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 41350ed

Please sign in to comment.