From e3ef77e6aae4418948aea52e28c693e6ef49f208 Mon Sep 17 00:00:00 2001
From: tteckster <tteckster@gmail.com>
Date: Tue, 11 Jan 2022 23:17:09 -0500
Subject: [PATCH] Add files via upload

---
 plex_hardware_acceleration.sh | 47 +++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 plex_hardware_acceleration.sh

diff --git a/plex_hardware_acceleration.sh b/plex_hardware_acceleration.sh
new file mode 100644
index 00000000..aedd534a
--- /dev/null
+++ b/plex_hardware_acceleration.sh
@@ -0,0 +1,47 @@
+#!/usr/bin/env bash
+
+while true; do
+    read -p "This will add Hardware Acceleration Support to your Plex Media Server LXC. 
+    Did you replace 106 with your LXC ID? Proceed(y/n)?" yn
+    case $yn in
+        [Yy]* ) break;;
+        [Nn]* ) exit;;
+        * ) echo "Please answer yes or no.";;
+    esac
+done
+set -o errexit
+set -o errtrace
+set -o nounset
+set -o pipefail
+shopt -s expand_aliases
+alias die='EXIT=$? LINE=$LINENO error_exit'
+trap die ERR
+function error_exit() {
+  trap - ERR
+  local DEFAULT='Unknown failure occured.'
+  local REASON="\e[97m${1:-$DEFAULT}\e[39m"
+  local FLAG="\e[91m[ERROR] \e[93m$EXIT@$LINE"
+  msg "$FLAG $REASON"
+  exit $EXIT
+}
+function msg() {
+  local TEXT="$1"
+  echo -e "$TEXT"
+}
+CTID=$1
+CTID_CONFIG_PATH=/etc/pve/lxc/${CTID}.conf
+cat <<EOF >> $CTID_CONFIG_PATH
+lxc.cgroup2.devices.allow: c 226:0 rwm
+lxc.cgroup2.devices.allow: c 226:128 rwm
+lxc.cgroup2.devices.allow: c 29:0 rwm
+lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
+lxc.mount.entry: /dev/fb0 dev/fb0 none bind,optional,create=file
+EOF
+echo -e "\e[1;33m Finished....Please Reboot the LXC to apply the changes \e[0m"
+
+# Plex can transcode media files on the fly. By default they use the CPU.
+# All Intel CPU’s since Sandy Bridge released in 2011 have hardware acceleration for H.264 built in.
+# So if your CPU supports Quick Sync you can speed up transcoding and reduce load by running the 
+# following in the Proxmox web shell (replace 106 with your LXC ID)
+# bash -c "$(wget -qLO - https://raw.githubusercontent.com/tteck/Proxmox/main/plex_hardware_acceleration.sh)" -s 106
+# Reboot the LXC to apply the changes
\ No newline at end of file