aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteam Deck User <deck@archlinux.steamdeck>2023-04-01 19:23:34 +0200
committerSteam Deck User <deck@archlinux.steamdeck>2023-04-01 19:23:34 +0200
commit9f0b98dc5e0a1598751deef8c8ed7dfefa660f85 (patch)
tree4cb5312ae40883098d79656d1b04cdc4cd1a1e13
parentc720d38978b6697b94fa9bca0913370bbc5bb61c (diff)
Add install script for amd/intel for ubuntu
-rw-r--r--README.md7
-rw-r--r--TODO3
-rwxr-xr-xinstall_ubuntu_amd.sh14
-rwxr-xr-xinstall_ubuntu_intel.sh14
-rwxr-xr-xinstall_ubuntu_nvidia.sh (renamed from install_ubuntu.sh)0
5 files changed, 34 insertions, 4 deletions
diff --git a/README.md b/README.md
index 149d633..1cf23cc 100644
--- a/README.md
+++ b/README.md
@@ -22,14 +22,15 @@ It is recommended to save the video to a SSD because of the large file size, whi
Note that if you have a very powerful CPU and a not so powerful GPU and play a game that is bottlenecked by your GPU and barely uses your CPU then a CPU based screen recording (such as OBS with libx264 instead of nvenc) might perform slightly better than GPU Screen Recorder. At least on NVIDIA.
## Note about optimal performance on NVIDIA
NVIDIA driver has a "feature" (read: bug) where it will downclock memory transfer rate when a program uses cuda, such as GPU Screen Recorder. To work around this bug, GPU Screen Recorder can overclock your GPU memory transfer rate to it's normal optimal level.\
-To enable overclocking for optimal performance use the `-oc` option when running GPU Screen Recorder. You also need to have "Coolbits" NVIDIA X setting set to "12" to enable overclocking. You can automatically add this option if you run `install_coolbits.sh` and then reboot your computer. This script is automatically run if you are using NVIDIA and run `install.sh`.\
+To enable overclocking for optimal performance use the `-oc` option when running GPU Screen Recorder. You also need to have "Coolbits" NVIDIA X setting set to "12" to enable overclocking. You can automatically add this option if you run `sudo install_coolbits.sh` and then reboot your computer. This script is automatically run if you are using NVIDIA and run `install.sh`.\
Note that this only works when Xorg server is running as root, and using this option will only give you a performance boost if the game you are recording is bottlenecked by your GPU.\
Note! use at your own risk!
# Installation
If you are running an Arch Linux based distro, then you can find gpu screen recorder on aur under the name gpu-screen-recorder-git (`yay -S gpu-screen-recorder-git`).\
-If you are running an Ubuntu based distro then run `install_ubuntu.sh` as root: `sudo ./install_ubuntu.sh`. But it's recommended that you use the flatpak version of gpu-screen-recorder if you use an older version of ubuntu as the ffmpeg version will be old and wont support the best quality options.\
-If you are running another distro then you can run `install.sh` as root: `sudo ./install.sh`, but you need to manually install the dependencies, as described below.\
+If you are running an Ubuntu based distro then if you are using NVIDIA then run `sudo ./install_ubuntu_nvidia.sh`, if you are using AMD then run `sudo ./install_ubuntu_amd.sh` and if you are running intel then run `sudo ./install_ubuntu_intel.sh`.\
+But it's recommended that you use the flatpak version of gpu-screen-recorder if you use an older version of ubuntu as the ffmpeg version will be old and wont support the best quality options.\
+If you are running another distro then you can run `sudo ./install.sh`, but you need to manually install the dependencies, as described below.\
You can also install gpu screen recorder ([the gtk gui version](https://git.dec05eba.com/gpu-screen-recorder-gtk/)) from [flathub](https://flathub.org/apps/details/com.dec05eba.gpu_screen_recorder).
# Dependencies
diff --git a/TODO b/TODO
index 3785804..d1a47fd 100644
--- a/TODO
+++ b/TODO
@@ -40,4 +40,5 @@ Fix constant framerate not working properly on amd/intel because capture framera
JPEG color range on amd seems to produce too bright video with h264 but not hevc, why?
Support recording screen/monitor on amd/intel.
-Better configure vaapi. The file size is too large. \ No newline at end of file
+Better configure vaapi. The file size is too large.
+Better colors for vaapi. It looks a bit off when recording vscode for example. \ No newline at end of file
diff --git a/install_ubuntu_amd.sh b/install_ubuntu_amd.sh
new file mode 100755
index 0000000..5af70dc
--- /dev/null
+++ b/install_ubuntu_amd.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+script_dir=$(dirname "$0")
+cd "$script_dir"
+
+[ $(id -u) -ne 0 ] && echo "You need root privileges to run the install script" && exit 1
+
+set -e
+apt-get -y install build-essential\
+ libswresample-dev libavformat-dev libavcodec-dev libavutil-dev libavfilter-dev\
+ libglvnd-dev libx11-dev libxcomposite-dev libxrandr-dev\
+ libpulse-dev libva2 libegl-mesa0 mesa-va-drivers
+
+./install.sh
diff --git a/install_ubuntu_intel.sh b/install_ubuntu_intel.sh
new file mode 100755
index 0000000..782376d
--- /dev/null
+++ b/install_ubuntu_intel.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+script_dir=$(dirname "$0")
+cd "$script_dir"
+
+[ $(id -u) -ne 0 ] && echo "You need root privileges to run the install script" && exit 1
+
+set -e
+apt-get -y install build-essential\
+ libswresample-dev libavformat-dev libavcodec-dev libavutil-dev libavfilter-dev\
+ libglvnd-dev libx11-dev libxcomposite-dev libxrandr-dev\
+ libpulse-dev libva2 libegl-mesa0 intel-media-va-driver
+
+./install.sh
diff --git a/install_ubuntu.sh b/install_ubuntu_nvidia.sh
index d776c93..d776c93 100755
--- a/install_ubuntu.sh
+++ b/install_ubuntu_nvidia.sh