From 9f0b98dc5e0a1598751deef8c8ed7dfefa660f85 Mon Sep 17 00:00:00 2001 From: Steam Deck User Date: Sat, 1 Apr 2023 19:23:34 +0200 Subject: [PATCH] Add install script for amd/intel for ubuntu --- README.md | 7 ++++--- TODO | 3 ++- install_ubuntu_amd.sh | 14 ++++++++++++++ install_ubuntu_intel.sh | 14 ++++++++++++++ install_ubuntu.sh => install_ubuntu_nvidia.sh | 0 5 files changed, 34 insertions(+), 4 deletions(-) create mode 100755 install_ubuntu_amd.sh create mode 100755 install_ubuntu_intel.sh rename install_ubuntu.sh => install_ubuntu_nvidia.sh (100%) 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 similarity index 100% rename from install_ubuntu.sh rename to install_ubuntu_nvidia.sh