I'm trying to get obs studio working with nvenc encoding on my dell xps 15 2019 using nv-sglrun,
which should be possible according to this post on bugs.freebsd.org
"At the moment there are no native FreeBSD versions of libcuda.so/libnvidia-encode.so/libnvcuvid.so, so to actually use NVENC we need to load the Linux binaries for those libs with the help of emulators/libc6-shim and the `nv-sglrun` script from that port. Something like this:"
run nv-sglrun and obs
but I keep getting this error
I have all the nvidia drivers installed, linux enabled,
and ffmpeg has nvenc enabled
The issue seems to be the linux libraries path isn't being searched or something like that. I don't have a LIBRARY_PATH set or anything else related set as variable. After a couple of days of research and trying different things, I'm completely stuck and could do with a gentle nudge or hard kick in the right direction. I have only been back on FreeBSD for 2 weeks after a 3 year absence so I may be a bit ring rusty, I bought a dell XPS 15 2019 and was running ubuntu/fedora on it until 2 weeks go. But I have now managed to get it working with FreeBSD 14 running wayland and want to get obs studio working with nvenvc so I can make some FreeBSD videos. If anyone has a little time to help out that would be great and then hopefully I can write a how to guide and video about getting obs studio working with nvenc encoding.
I tried to output as much info as possible on my setup, hope its not too much info mods
Here's the output of nvidia-smi which is some chromium running with
CUDA isn't listed
gives this error message
lib directory
listing /usr/lib/libsrt*
output
shortened output shows NVENC is on
my fstab with Linux mount points.
rc.conf
rc.conf kld_list and linux
nv-sglrun printenv LD_LIBMAP
librt.so recap
running nv-sglrun nvidia-smi
listing /usr/lib
shortened ouput
freebsd dotfiles
root dotfiles dell xps 15 2019
dotfiles dell xps 15 2019
Things I've tried. I've had a look at this post about cuda for some pointers.
forums.freebsd.org
which mentions using LD_LIBMAP
and this post form vermaden which mentions using /etc/libmap.conf
i tried rediredcting the output of nv-sglrun LD_LIBMAP into a file
and creating a libmap conf file for obs
and then copying the cuda.conf to /usr/local/etc/libmap.d/
That didn't work I just keep getting this error
which should be possible according to this post on bugs.freebsd.org
"At the moment there are no native FreeBSD versions of libcuda.so/libnvidia-encode.so/libnvcuvid.so, so to actually use NVENC we need to load the Linux binaries for those libs with the help of emulators/libc6-shim and the `nv-sglrun` script from that port. Something like this:"
sudo pkg install nvidia-driver linux-nvidia-libs libc6-shim obs-studio
run nv-sglrun and obs
nv-sglrun obs
but I keep getting this error
Code:
ld-elf.so.1: Cannot open "/usr/lib/librt.so.1"
I have all the nvidia drivers installed, linux enabled,
and ffmpeg has nvenc enabled
The issue seems to be the linux libraries path isn't being searched or something like that. I don't have a LIBRARY_PATH set or anything else related set as variable. After a couple of days of research and trying different things, I'm completely stuck and could do with a gentle nudge or hard kick in the right direction. I have only been back on FreeBSD for 2 weeks after a 3 year absence so I may be a bit ring rusty, I bought a dell XPS 15 2019 and was running ubuntu/fedora on it until 2 weeks go. But I have now managed to get it working with FreeBSD 14 running wayland and want to get obs studio working with nvenvc so I can make some FreeBSD videos. If anyone has a little time to help out that would be great and then hopefully I can write a how to guide and video about getting obs studio working with nvenc encoding.
I tried to output as much info as possible on my setup, hope its not too much info mods

nvidia-smi
outputHere's the output of nvidia-smi which is some chromium running with
chrome --enable-features=Vulkan --use-vulkan --ozone-platform=wayland
CUDA isn't listed
Code:
Thu Dec 14 21:16:21 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.104.05 Driver Version: 535.104.05 CUDA Version: N/A |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce GTX 1650 Off | 00000000:01:00.0 Off | N/A |
| N/A 46C P8 1W / 50W | 2MiB / 4096MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 5337 G ...232,262144 --enable-features=Vulkan 1MiB |
+---------------------------------------------------------------------------------------+
nv-sglrun nvidia-smi
gives this error message
Code:
ld-elf.so.1: Cannot open "/usr/lib/librt.so.1"
lib directory
listing /usr/lib/libsrt*
ls -l /usr/lib/librt*
output
Code:
-r--r--r-- 1 root wheel 81646 10 Nov 08:06 /usr/lib/librt.a
lrwxr-xr-x 1 root wheel 20 10 Nov 08:06 /usr/lib/librt.so -> ../../lib/librt.so.1
-r--r--r-- 1 root wheel 59192 10 Nov 08:06 /usr/lib/librtld_db.a
lrwxr-xr-x 1 root wheel 15 10 Nov 08:06 /usr/lib/librtld_db.so -> librtld_db.so.2
-r--r--r-- 1 root wheel 11600 10 Nov 08:06 /usr/lib/librtld_db.so.2
pkg info ffmpeg
shortened output shows NVENC is on
Code:
NVENC : on
my fstab with Linux mount points.
Code:
# Device Mountpoint FStype Options Dump Pass#
/dev/gpt/efiboot0 /boot/efi msdosfs rw 2 2
/dev/nda0p3.eli none swap sw 0 0
# linux
proc /proc procfs rw 0 0
linprocfs /compat/linux/proc linprocfs rw 0 0
linsysfs /compat/linux/sys linsysfs rw 0 0
rc.conf
rc.conf kld_list and linux
Code:
kld_list="nvidia-modeset nvidia-drm linux linux64 i915kms ext2fs"
linux_enable="YES"
nv-sglrun printenv LD_LIBMAP
nv-sglrun printenv LD_LIBMAP
Code:
ld-linux.so.2 /usr/local/lib/libc6-shim/libc6.so
ld-linux-x86-64.so.2 /usr/local/lib/libc6-shim/libc6.so
libc.so.6 /usr/local/lib/libc6-shim/libc6.so
libdl.so.2 /usr/local/lib/libc6-shim/libc6.so
libm.so.6 /usr/local/lib/libc6-shim/libc6.so
libpthread.so.0 /usr/local/lib/libc6-shim/libc6.so
librt.so.1 /usr/local/lib/libc6-shim/libc6.so
bsd-librt.so.1 /usr/lib/librt.so.1
libGL.so /compat/linux/usr/lib64/libGLX_nvidia.so.535.104.05
libGL.so.1 /compat/linux/usr/lib64/libGLX_nvidia.so.535.104.05
libGLX_nvidia.so.0 /compat/linux/usr/lib64/libGLX_nvidia.so.0
libGLX_nvidia.so.535.104.05 /compat/linux/usr/lib64/libGLX_nvidia.so.535.104.05
libcuda.so /compat/linux/usr/lib64/libcuda.so
libcuda.so.1 /compat/linux/usr/lib64/libcuda.so.1
libcuda.so.535.104.05 /compat/linux/usr/lib64/libcuda.so.535.104.05
libgl_nvidia /compat/linux/usr/lib64/libGLX_nvidia.so.535.104.05
libnvcuvid.so /compat/linux/usr/lib64/libnvcuvid.so
libnvcuvid.so.1 /compat/linux/usr/lib64/libnvcuvid.so.1
libnvcuvid.so.535.104.05 /compat/linux/usr/lib64/libnvcuvid.so.535.104.05
libnvidia-allocator.so.1 /compat/linux/usr/lib64/libnvidia-allocator.so.1
libnvidia-allocator.so.535.104.05 /compat/linux/usr/lib64/libnvidia-allocator.so.535.104.05
libnvidia-cfg.so /compat/linux/usr/lib64/libnvidia-cfg.so
libnvidia-cfg.so.1 /compat/linux/usr/lib64/libnvidia-cfg.so.1
libnvidia-cfg.so.535.104.05 /compat/linux/usr/lib64/libnvidia-cfg.so.535.104.05
libnvidia-egl-gbm.so /compat/linux/usr/lib64/libnvidia-egl-gbm.so
libnvidia-egl-gbm.so.1 /compat/linux/usr/lib64/libnvidia-egl-gbm.so.1
libnvidia-egl-gbm.so.1.1.0 /compat/linux/usr/lib64/libnvidia-egl-gbm.so.1.1.0
libnvidia-egl-wayland.so.1 /compat/linux/usr/lib64/libnvidia-egl-wayland.so.1
libnvidia-egl-wayland.so.1.1.11 /compat/linux/usr/lib64/libnvidia-egl-wayland.so.1.1.11
libnvidia-eglcore.so.535.104.05 /compat/linux/usr/lib64/libnvidia-eglcore.so.535.104.05
libnvidia-encode.so /compat/linux/usr/lib64/libnvidia-encode.so
libnvidia-encode.so.1 /compat/linux/usr/lib64/libnvidia-encode.so.1
libnvidia-encode.so.535.104.05 /compat/linux/usr/lib64/libnvidia-encode.so.535.104.05
libnvidia-fbc.so /compat/linux/usr/lib64/libnvidia-fbc.so
libnvidia-fbc.so.1 /compat/linux/usr/lib64/libnvidia-fbc.so.1
libnvidia-fbc.so.535.104.05 /compat/linux/usr/lib64/libnvidia-fbc.so.535.104.05
libnvidia-glcore.so.535.104.05 /compat/linux/usr/lib64/libnvidia-glcore.so.535.104.05
libnvidia-glsi.so.535.104.05 /compat/linux/usr/lib64/libnvidia-glsi.so.535.104.05
libnvidia-glvkspirv.so.535.104.05 /compat/linux/usr/lib64/libnvidia-glvkspirv.so.535.104.05
libnvidia-gtk2.so.535.104.05 /compat/linux/usr/lib64/libnvidia-gtk2.so.535.104.05
libnvidia-gtk3.so.535.104.05 /compat/linux/usr/lib64/libnvidia-gtk3.so.535.104.05
libnvidia-ml.so /compat/linux/usr/lib64/libnvidia-ml.so
libnvidia-ml.so.1 /compat/linux/usr/lib64/libnvidia-ml.so.1
libnvidia-ml.so.535.104.05 /compat/linux/usr/lib64/libnvidia-ml.so.535.104.05
libnvidia-ngx.so.1 /compat/linux/usr/lib64/libnvidia-ngx.so.1
libnvidia-ngx.so.535.104.05 /compat/linux/usr/lib64/libnvidia-ngx.so.535.104.05
libnvidia-nvvm.so /compat/linux/usr/lib64/libnvidia-nvvm.so
libnvidia-nvvm.so.4 /compat/linux/usr/lib64/libnvidia-nvvm.so.4
libnvidia-nvvm.so.535.104.05 /compat/linux/usr/lib64/libnvidia-nvvm.so.535.104.05
libnvidia-opencl.so.1 /compat/linux/usr/lib64/libnvidia-opencl.so.1
libnvidia-opencl.so.535.104.05 /compat/linux/usr/lib64/libnvidia-opencl.so.535.104.05
libnvidia-opticalflow.so /compat/linux/usr/lib64/libnvidia-opticalflow.so
libnvidia-opticalflow.so.1 /compat/linux/usr/lib64/libnvidia-opticalflow.so.1
libnvidia-opticalflow.so.535.104.05 /compat/linux/usr/lib64/libnvidia-opticalflow.so.535.104.05
libnvidia-ptxjitcompiler.so /compat/linux/usr/lib64/libnvidia-ptxjitcompiler.so
libnvidia-ptxjitcompiler.so.1 /compat/linux/usr/lib64/libnvidia-ptxjitcompiler.so.1
libnvidia-ptxjitcompiler.so.535.104.05 /compat/linux/usr/lib64/libnvidia-ptxjitcompiler.so.535.104.05
libnvidia-rtcore.so.535.104.05 /compat/linux/usr/lib64/libnvidia-rtcore.so.535.104.05
libnvidia-tls.so.535.104.05 /compat/linux/usr/lib64/libnvidia-tls.so.535.104.05
librt.so recap
running nv-sglrun nvidia-smi
nv-sglrun nvidia-smi
Code:
ld-elf.so.1: Cannot open "/usr/lib/librt.so.1"
nv-sglrun printenv LD_LIBMAP
output
Code:
librt.so.1 /usr/local/lib/libc6-shim/libc6.so
listing /usr/lib
Code:
ls -l /usr/lib/librt*
shortened ouput
Code:
lrwxr-xr-x 1 root wheel 20 10 Nov 08:06 /usr/lib/librt.so -> ../../lib/librt.so.1
pkg prime-list
of user installed packages
Code:
ImageMagick7
abook
adwaita-qt5
adwaita-qt6
alacritty
apg
aria2
aspell
bat
beadm
cantarell-fonts
chromium
dictd
dnscrypt-proxy2
doas
emacs-devel
en-aspell
fd-find
ffmpeg
firacode
firefox
foreign-cdm
fzf
git
gstreamer1-plugins-opus
hs-pandoc
kanshi
libc6-shim
libnotify
libva-intel-driver
libva-nvidia-driver
libva-utils
libvdpau-va-gl
linux-nvidia-libs
linux-widevine-cdm
mixertui
mpv
mpv-mpris
musicpc
musicpd
mutt
ncmpc
noto-basic
noto-emoji
nvidia-driver
nvidia-drm-515-kmod
nvidia-settings
oath-toolkit
obs-studio
openvpn
pavucontrol
pkg
playerctl
poudriere
qt5-wayland
qt5ct
qt6-wayland
ripgrep
ripgrep-all
seatd
socat
sox
sudo
swayidle
swaylock-effects
tmux
tofi
translate-shell
transmission-gtk
tree-sitter
ts
urlview
virtual_oss
w3m
wayfire
wayfire-plugins-extra
wayland-protocols
wcm
weechat
wev
wf-shell
wget2
wl-clipboard
wlogout
wlrobs
xdg-desktop-portal-wlr
yt-dlp
zsh
zsh-completions
zsh-syntax-highlighting
freebsd dotfiles
root dotfiles dell xps 15 2019
dotfiles dell xps 15 2019
Things I've tried. I've had a look at this post about cuda for some pointers.

Can CUDA be installed on FreeBSD now ?
Hello to everyone. I've just read this thread : https://forums.developer.nvidia.com/t/cuda-and-nv-un-register-os-un-lock-user-pages/174678/13 where has been asked to modify the code of the freebsd driver to support CUDA. I read that it has been done. So,now can we install CUDA on FreeBSD by...
which mentions using LD_LIBMAP
Code:
$ env LD_LIBMAP="`nv-sglrun printenv LD_LIBMAP | grep -v libGL`" blender
and this post form vermaden which mentions using /etc/libmap.conf
i tried rediredcting the output of nv-sglrun LD_LIBMAP into a file
nv-sglrun printenv LD_LIBMAP > cuda.conf
and creating a libmap conf file for obs
Code:
[/usr/local/bin/obs]
ld-linux.so.2 /usr/local/lib/libc6-shim/libc6.so
ld-linux-x86-64.so.2 /usr/local/lib/libc6-shim/libc6.so
libc.so.6 /usr/local/lib/libc6-shim/libc6.so
libdl.so.2 /usr/local/lib/libc6-shim/libc6.so
libm.so.6 /usr/local/lib/libc6-shim/libc6.so
libpthread.so.0 /usr/local/lib/libc6-shim/libc6.so
librt.so.1 /usr/local/lib/libc6-shim/libc6.so
bsd-librt.so.1 /usr/lib/librt.so.1
libGL.so /compat/linux/usr/lib64/libGLX_nvidia.so.535.104.05
libGL.so.1 /compat/linux/usr/lib64/libGLX_nvidia.so.535.104.05
libGLX_nvidia.so.0 /compat/linux/usr/lib64/libGLX_nvidia.so.0
libGLX_nvidia.so.535.104.05 /compat/linux/usr/lib64/libGLX_nvidia.so.535.104.05
libcuda.so /compat/linux/usr/lib64/libcuda.so
libcuda.so.1 /compat/linux/usr/lib64/libcuda.so.1
libcuda.so.535.104.05 /compat/linux/usr/lib64/libcuda.so.535.104.05
libgl_nvidia /compat/linux/usr/lib64/libGLX_nvidia.so.535.104.05
libnvcuvid.so /compat/linux/usr/lib64/libnvcuvid.so
libnvcuvid.so.1 /compat/linux/usr/lib64/libnvcuvid.so.1
libnvcuvid.so.535.104.05 /compat/linux/usr/lib64/libnvcuvid.so.535.104.05
libnvidia-allocator.so.1 /compat/linux/usr/lib64/libnvidia-allocator.so.1
libnvidia-allocator.so.535.104.05 /compat/linux/usr/lib64/libnvidia-allocator.so.535.104.05
libnvidia-cfg.so /compat/linux/usr/lib64/libnvidia-cfg.so
libnvidia-cfg.so.1 /compat/linux/usr/lib64/libnvidia-cfg.so.1
libnvidia-cfg.so.535.104.05 /compat/linux/usr/lib64/libnvidia-cfg.so.535.104.05
libnvidia-egl-gbm.so /compat/linux/usr/lib64/libnvidia-egl-gbm.so
libnvidia-egl-gbm.so.1 /compat/linux/usr/lib64/libnvidia-egl-gbm.so.1
libnvidia-egl-gbm.so.1.1.0 /compat/linux/usr/lib64/libnvidia-egl-gbm.so.1.1.0
libnvidia-egl-wayland.so.1 /compat/linux/usr/lib64/libnvidia-egl-wayland.so.1
libnvidia-egl-wayland.so.1.1.11 /compat/linux/usr/lib64/libnvidia-egl-wayland.so.1.1.11
libnvidia-eglcore.so.535.104.05 /compat/linux/usr/lib64/libnvidia-eglcore.so.535.104.05
libnvidia-encode.so /compat/linux/usr/lib64/libnvidia-encode.so
libnvidia-encode.so.1 /compat/linux/usr/lib64/libnvidia-encode.so.1
libnvidia-encode.so.535.104.05 /compat/linux/usr/lib64/libnvidia-encode.so.535.104.05
libnvidia-fbc.so /compat/linux/usr/lib64/libnvidia-fbc.so
libnvidia-fbc.so.1 /compat/linux/usr/lib64/libnvidia-fbc.so.1
libnvidia-fbc.so.535.104.05 /compat/linux/usr/lib64/libnvidia-fbc.so.535.104.05
libnvidia-glcore.so.535.104.05 /compat/linux/usr/lib64/libnvidia-glcore.so.535.104.05
libnvidia-glsi.so.535.104.05 /compat/linux/usr/lib64/libnvidia-glsi.so.535.104.05
libnvidia-glvkspirv.so.535.104.05 /compat/linux/usr/lib64/libnvidia-glvkspirv.so.535.104.05
libnvidia-gtk2.so.535.104.05 /compat/linux/usr/lib64/libnvidia-gtk2.so.535.104.05
libnvidia-gtk3.so.535.104.05 /compat/linux/usr/lib64/libnvidia-gtk3.so.535.104.05
libnvidia-ml.so /compat/linux/usr/lib64/libnvidia-ml.so
libnvidia-ml.so.1 /compat/linux/usr/lib64/libnvidia-ml.so.1
libnvidia-ml.so.535.104.05 /compat/linux/usr/lib64/libnvidia-ml.so.535.104.05
libnvidia-ngx.so.1 /compat/linux/usr/lib64/libnvidia-ngx.so.1
libnvidia-ngx.so.535.104.05 /compat/linux/usr/lib64/libnvidia-ngx.so.535.104.05
libnvidia-nvvm.so /compat/linux/usr/lib64/libnvidia-nvvm.so
libnvidia-nvvm.so.4 /compat/linux/usr/lib64/libnvidia-nvvm.so.4
libnvidia-nvvm.so.535.104.05 /compat/linux/usr/lib64/libnvidia-nvvm.so.535.104.05
libnvidia-opencl.so.1 /compat/linux/usr/lib64/libnvidia-opencl.so.1
libnvidia-opencl.so.535.104.05 /compat/linux/usr/lib64/libnvidia-opencl.so.535.104.05
libnvidia-opticalflow.so /compat/linux/usr/lib64/libnvidia-opticalflow.so
libnvidia-opticalflow.so.1 /compat/linux/usr/lib64/libnvidia-opticalflow.so.1
libnvidia-opticalflow.so.535.104.05 /compat/linux/usr/lib64/libnvidia-opticalflow.so.535.104.05
libnvidia-ptxjitcompiler.so /compat/linux/usr/lib64/libnvidia-ptxjitcompiler.so
libnvidia-ptxjitcompiler.so.1 /compat/linux/usr/lib64/libnvidia-ptxjitcompiler.so.1
libnvidia-ptxjitcompiler.so.535.104.05 /compat/linux/usr/lib64/libnvidia-ptxjitcompiler.so.535.104.05
libnvidia-rtcore.so.535.104.05 /compat/linux/usr/lib64/libnvidia-rtcore.so.535.104.05
libnvidia-tls.so.535.104.05 /compat/linux/usr/lib64/libnvidia-tls.so.535.104.05
and then copying the cuda.conf to /usr/local/etc/libmap.d/
sudo cp cuda.conf /usr/local/etc/libmap.d/
That didn't work I just keep getting this error
Code:
ld-elf.so.1: Cannot open "/usr/lib/librt.so.1"