Update info about cuda
This commit is contained in:
parent
5cdb2df3d7
commit
5b26291269
@ -20,12 +20,12 @@ Using NvFBC (recording the monitor/screen) is not faster than not using NvFBC (r
|
|||||||
|
|
||||||
# Installation
|
# 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 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.\
|
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).
|
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
|
# 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.
|
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
|
# How to use
|
||||||
|
1
TODO
1
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.
|
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).
|
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.
|
Use nvenc directly, which allows removing the use of cuda.
|
||||||
|
Fallback to nvfbc and window tracking if window capture fails.
|
@ -100,9 +100,9 @@ struct Cuda {
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
dlerror(); // clear
|
dlerror(); // clear
|
||||||
void *lib = dlopen("libcuda.so", RTLD_LAZY);
|
void *lib = dlopen("libcuda.so.1", RTLD_LAZY);
|
||||||
if(!lib) {
|
if(!lib) {
|
||||||
lib = dlopen("libcuda.so.1", RTLD_LAZY);
|
lib = dlopen("libcuda.so", RTLD_LAZY);
|
||||||
if(!lib) {
|
if(!lib) {
|
||||||
fprintf(stderr, "Error: failed to load libcuda.so/libcuda.so.1, error: %s\n", dlerror());
|
fprintf(stderr, "Error: failed to load libcuda.so/libcuda.so.1, error: %s\n", dlerror());
|
||||||
return false;
|
return false;
|
||||||
|
@ -5,11 +5,8 @@ cd "$script_dir"
|
|||||||
|
|
||||||
[ $(id -u) -ne 0 ] && echo "You need root privileges to run the install script" && exit 1
|
[ $(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
|
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\
|
libswresample-dev libavformat-dev libavcodec-dev libavutil-dev\
|
||||||
libgl-dev libx11-dev libxcomposite-dev\
|
libgl-dev libx11-dev libxcomposite-dev\
|
||||||
libpulse-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"
|
install -Dm755 "gpu-screen-recorder" "/usr/bin/gpu-screen-recorder"
|
||||||
|
|
||||||
echo "Successfully installed 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"
|
|
||||||
|
Loading…
Reference in New Issue
Block a user