aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--TODO1
-rw-r--r--include/CudaLibrary.hpp4
-rwxr-xr-xinstall_ubuntu.sh6
4 files changed, 6 insertions, 9 deletions
diff --git a/README.md b/README.md
index e0a1575..e632779 100644
--- a/README.md
+++ b/README.md
@@ -20,12 +20,12 @@ Using NvFBC (recording the monitor/screen) is not faster than not using NvFBC (r
# 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`.\
+If you are running an Ubuntu based distro then run `install_ubuntu.sh` as root: `sudo ./install_ubuntu.sh`. You also need to install the `libnvidia-compute` version that fits your nvidia driver to install libcuda.so to run gpu-screen-recorder.\
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.\
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
-`libgl (libglvnd), ffmpeg, libx11, libxcomposite, libpulse`. You need to additionally have `cuda` installed when you run `gpu-screen-recorder`.\
+`libgl (libglvnd), ffmpeg, libx11, libxcomposite, libpulse`. You need to additionally have `libcuda.so` installed when you run `gpu-screen-recorder`.\
Recording monitors requires a gpu with NvFBC support (note: this is not required when recording a single window!). Normally only tesla and quadro gpus support this, but by using [nvidia-patch](https://github.com/keylase/nvidia-patch) or [nvlax](https://github.com/illnyang/nvlax) you can do this on all gpus that support nvenc as well (gpus as old as the nvidia 600 series), provided you are not using outdated gpu drivers.
# How to use
diff --git a/TODO b/TODO
index 1e88c53..ad1b158 100644
--- a/TODO
+++ b/TODO
@@ -13,3 +13,4 @@ Allow recording a region by recording the compositor proxy window / nvfbc window
Resizing the target window to be smaller than the initial size is buggy. The window texture ends up duplicated in the video.
Handle frames (especially for applications with rounded client-side decorations, such as gnome applications. They are huge).
Use nvenc directly, which allows removing the use of cuda.
+Fallback to nvfbc and window tracking if window capture fails. \ No newline at end of file
diff --git a/include/CudaLibrary.hpp b/include/CudaLibrary.hpp
index d9514cb..fe99975 100644
--- a/include/CudaLibrary.hpp
+++ b/include/CudaLibrary.hpp
@@ -100,9 +100,9 @@ struct Cuda {
return true;
dlerror(); // clear
- void *lib = dlopen("libcuda.so", RTLD_LAZY);
+ void *lib = dlopen("libcuda.so.1", RTLD_LAZY);
if(!lib) {
- lib = dlopen("libcuda.so.1", RTLD_LAZY);
+ lib = dlopen("libcuda.so", RTLD_LAZY);
if(!lib) {
fprintf(stderr, "Error: failed to load libcuda.so/libcuda.so.1, error: %s\n", dlerror());
return false;
diff --git a/install_ubuntu.sh b/install_ubuntu.sh
index 0e36542..af1af43 100755
--- a/install_ubuntu.sh
+++ b/install_ubuntu.sh
@@ -5,11 +5,8 @@ cd "$script_dir"
[ $(id -u) -ne 0 ] && echo "You need root privileges to run the install script" && exit 1
-dpkg -l nvidia-cuda-dev > /dev/null 2>&1
-cuda_missing="$?"
-
set -e
-apt-get -y install build-essential nvidia-cuda-dev\
+apt-get -y install build-essential\
libswresample-dev libavformat-dev libavcodec-dev libavutil-dev\
libgl-dev libx11-dev libxcomposite-dev\
libpulse-dev
@@ -24,4 +21,3 @@ install -Dm755 "gpu-screen-recorder" "/usr/local/bin/gpu-screen-recorder"
install -Dm755 "gpu-screen-recorder" "/usr/bin/gpu-screen-recorder"
echo "Successfully installed gpu-screen-recorder"
-[ "$cuda_missing" -eq 1 ] && echo "You need to reboot your computer before using gpu-screen-recorder because cuda was installed"