Setting up GE Force RTX 5090 w/Ollama

I’m attempting to use a RTX 5090 on Fedora 43 in LockDown Mode, aka Secure Boot.

Ollama and other apps fail to use the card, due to what Gemeni feels is their inability to send 32 gb of data directly to the card.

Here is a log of what I’ve tried, thus far.

Gemeni has come to the conclusion that the only way to proceed is to disable Secure Boot.

=====

nvidia-smi .. nvidia

| NVIDIA-SMI 580.142 Driver Version: 580.142 CUDA Version: 13.0 |

| 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 RTX 5090 Off | 00000000:01:00.0 Off | N/A |
| 0% 25C P8 18W / 600W | 2MiB / 32607MiB | 0% Default |
| | | N/A |

| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |

| No running processes found |

nvidia-smi -q -d PERFORMANCE
Timestamp : Sat Mar 28 13:34:03 2026
Driver Version : 580.142
CUDA Version : 13.0

Attached GPUs : 1
GPU 00000000:01:00.0
Performance State : P8
Clocks Event Reasons
Idle : Not Active
Applications Clocks Setting : Not Active
SW Power Cap : Not Active
HW Slowdown : Not Active
HW Thermal Slowdown : Not Active
HW Power Brake Slowdown : Not Active
Sync Boost : Not Active
SW Thermal Slowdown : Not Active
Display Clock Setting : Not Active
Clocks Event Reasons Counters
SW Power Capping : 218861 us
Sync Boost : 0 us
SW Thermal Slowdown : 0 us
HW Thermal Slowdown : 0 us
HW Power Braking : 0 us
Sparse Operation Mode : N/A

=====

nvidia-smi -l 1
nvidia-smi -q | grep “Architecture”

=====
To see if Fedora has successfully assigned the correct drivers to each, run:

switcherooctl list

cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64 580.142 Release Build (dvs-builder@U22-I3-AD05-51-5) Tue Mar 3 19:14:46 UTC 2026
GCC version: gcc version 15.2.1 20260123 (Red Hat 15.2.1-7) (GCC)

cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm

env | grep -iE “CUDA|NVIDIA|PALLADIUM”
nothing returned

journalctl -u ollama --since “1 hour ago” | grep -i “pci”
nothing returned

=====

vi start-ollama.sh

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export OLLAMA_LLM_LIBRARY=“cuda_v12”
export CUDA_VISIBLE_DEVICES=0
export GGML_CUDA_FORCE_CUBLAS=1
export OLLAMA_FLASH_ATTENTION=1
export ROCR_VISIBLE_DEVICES=-1
export OLLAMA_DEBUG=1
export OLLAMA_TMPDIR=$HOME/.ollama/tmp
mkdir -p $OLLAMA_TMPDIR

ollama serve

=====

./start-ollama.sh

Starting Ollama on RTX 5090…

releasing cuda driver library
level=INFO source=types.go:130
msg=“inference compute”
id=GPU-5164997c-870c-87da-33d6-7532dc534ed5
library=cuda variant=v12
compute=12.0
driver=13.0
name=“NVIDIA GeForce RTX 5090”
total=“31.4 GiB”
available=“30.9 GiB”

.. will post log in a follow up ..

=====

ps aux | grep ollama
[uid] 29318 0.2 0.1 15096472 135956 pts/0 Sl+ 15:22 0:00 ollama serve
[uid] 29340 0.2 0.0 1770604 29008 pts/1 Sl+ 15:23 0:00 ollama run qwen3
[uid] 29369 808 4.9 9533832 6399428 pts/0 Sl+ 15:23 46:56 /usr/lib64/ollama/bin/ollama runner --model ~/.ollama/models/blobs/sha256-a3de86cd1c132c822487ededd47a324c50491393e6565cd14bafa40d0b8e686f --ctx-size 8192 --batch-size 512 --n-gpu-layers 37 --threads 16 --parallel 2 --port 45209
[uid] 53012 0.0 0.0 6560 2448 pts/2 S+ 15:29 0:00 grep --color=auto ollama

=====

groups
wheel

usermod -aG video,render $USER

=====

vi /etc/modprobe.d/nvidia.conf
options nvidia-current NVreg_OpenRmEnableUnsupportedGpus=0
options nvidia NVreg_EnableGpuFirmware=0
OR

options nvidia-current NVreg_OpenRmEnableUnsupportedGpus=1
options nvidia NVreg_EnableGpuFirmware=0
OR

options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
options nvidia NVreg_EnableGpuFirmware=0

dracut -f

reboot

cat /sys/module/nvidia/parameters/NVreg_OpenRmEnableUnsupportedGpus
no such file or directory

=====

journalctl -u ollama
Nothing returned

=====

dnf config-manager addrepo --from-repofile=https://developer.download.nvidia.com/compute/cuda/repos/fedora43/x86_64/cuda-fedora43.repo
dnf clean all
dnf install cuda-toolkit

=====

ldconfig -p | grep cublas
1209 libs found in cache `/etc/ld.so.cache’
none where cublas

@after dnf install install cuda-toolkit

ldconfig -p | grep cublas
1285 libs found in cache `/etc/ld.so.cache’
libcublasLt.so.13 (libc6,x86-64) => /usr/local/cuda/targets/x86_64-linux/lib/libcublasLt.so.13
libcublasLt.so (libc6,x86-64) => /usr/local/cuda/targets/x86_64-linux/lib/libcublasLt.so
libcublas.so.13 (libc6,x86-64) => /usr/local/cuda/targets/x86_64-linux/lib/libcublas.so.13
libcublas.so (libc6,x86-64) => /usr/local/cuda/targets/x86_64-linux/lib/libcublas.so

=====

dmesg | grep -i “lockdown”
kernal is in lockdown from EFI Secure Boot mode;

=====

modinfo -F signer nvidia
signer: sage_1774667474_4502a9e6

modinfo -F signer nvidia_uvm
signer: sage_1774667474_4502a9e6

modinfo nvidia | grep -E “OpenRm|GpuFirmware”
parm: NVreg_EnableGpuFirmware:int
parm: NVreg_EnableGpuFirmwareLogs:int
parm: NVreg_OpenRmEnableUnsupportedGpus:int

=====

grep . /sys/module/nvidia/parameters/* | grep -i “OpenRm”
grep: /sys/module/nvidia/parameters/*: No such file or directory

=====

loginctl show-session $(loginctl | grep $(whoami) | awk ‘{print $1}’) -p Type
Type=tty
Type=unspecified
Type=tty
Type=tty

======

In GRUB
Add to the linux or linuxefi line …
nvidia.NVreg_OpenRmEnableUnsupportedGpus=1
nvidia.NVreg_EnableGpuFirmware=0

=====

cat /proc/cmdline
nvidia.NVreg_OpenRmEnableUnsupportedGpus=1
nvidia.NVreg_EnableGpuFirmware=0

Only appear when manually added during edit in Grub.

Starting Ollama on RTX 5090…
level=INFO source=routes.go:1235 msg=“server config” env=“map[CUDA_VISIBLE_DEVICES:0 GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_CONTEXT_LENGTH:4096 OLLAMA_DEBUG:DEBUG OLLAMA_FLASH_ATTENTION:true OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://127.0.0.1:11434 OLLAMA_INTEL_GPU:false OLLAMA_KEEP_ALIVE:5m0s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY:cuda_v12 OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:/home/mfuhrman/.ollama/models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NEW_ENGINE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:0 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://* vscode-file://*] OLLAMA_SCHED_SPREAD:false ROCR_VISIBLE_DEVICES:-1 http_proxy: https_proxy: no_proxy:]”
level=INFO source=images.go:476 msg=“total blobs: 10”
level=INFO source=images.go:483 msg=“total unused blobs removed: 0”
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in “debug” mode. Switch to “release” mode in production.

  • using env: export GIN_MODE=release
  • using code: gin.SetMode(gin.ReleaseMode)

[GIN-debug] HEAD / → github.com/ollama/ollama/server.(*Server).GenerateRoutes.func1 (5 handlers)
[GIN-debug] GET / → github.com/ollama/ollama/server.(*Server).GenerateRoutes.func2 (5 handlers)
[GIN-debug] HEAD /api/version → github.com/ollama/ollama/server.(*Server).GenerateRoutes.func3 (5 handlers)
[GIN-debug] GET /api/version → github.com/ollama/ollama/server.(Server).GenerateRoutes.func4 (5 handlers)
[GIN-debug] POST /api/pull → github.com/ollama/ollama/server.(Server).PullHandler-fm (5 handlers)
[GIN-debug] POST /api/push → github.com/ollama/ollama/server.(Server).PushHandler-fm (5 handlers)
[GIN-debug] HEAD /api/tags → github.com/ollama/ollama/server.(Server).ListHandler-fm (5 handlers)
[GIN-debug] GET /api/tags → github.com/ollama/ollama/server.(Server).ListHandler-fm (5 handlers)
[GIN-debug] POST /api/show → github.com/ollama/ollama/server.(Server).ShowHandler-fm (5 handlers)
[GIN-debug] DELETE /api/delete → github.com/ollama/ollama/server.(Server).DeleteHandler-fm (5 handlers)
[GIN-debug] POST /api/create → github.com/ollama/ollama/server.(Server).CreateHandler-fm (5 handlers)
[GIN-debug] POST /api/blobs/:digest → github.com/ollama/ollama/server.(Server).CreateBlobHandler-fm (5 handlers)
[GIN-debug] HEAD /api/blobs/:digest → github.com/ollama/ollama/server.(Server).HeadBlobHandler-fm (5 handlers)
[GIN-debug] POST /api/copy → github.com/ollama/ollama/server.(Server).CopyHandler-fm (5 handlers)
[GIN-debug] GET /api/ps → github.com/ollama/ollama/server.(Server).PsHandler-fm (5 handlers)
[GIN-debug] POST /api/generate → github.com/ollama/ollama/server.(Server).GenerateHandler-fm (5 handlers)
[GIN-debug] POST /api/chat → github.com/ollama/ollama/server.(Server).ChatHandler-fm (5 handlers)
[GIN-debug] POST /api/embed → github.com/ollama/ollama/server.(Server).EmbedHandler-fm (5 handlers)
[GIN-debug] POST /api/embeddings → github.com/ollama/ollama/server.(Server).EmbeddingsHandler-fm (5 handlers)
[GIN-debug] POST /v1/chat/completions → github.com/ollama/ollama/server.(Server).ChatHandler-fm (6 handlers)
[GIN-debug] POST /v1/completions → github.com/ollama/ollama/server.(Server).GenerateHandler-fm (6 handlers)
[GIN-debug] POST /v1/embeddings → github.com/ollama/ollama/server.(Server).EmbedHandler-fm (6 handlers)
[GIN-debug] GET /v1/models → github.com/ollama/ollama/server.(Server).ListHandler-fm (6 handlers)
[GIN-debug] GET /v1/models/:model → github.com/ollama/ollama/server.(Server).ShowHandler-fm (6 handlers)
level=INFO source=routes.go:1288 msg=“Listening on 127.0.0.1:11434 (version 0.0.0)”
level=DEBUG source=sched.go:108 msg=“starting llm scheduler”
level=INFO source=gpu.go:217 msg=“looking for compatible GPUs”
level=DEBUG source=gpu.go:98 msg=“searching for GPU discovery libraries for NVIDIA”
level=DEBUG source=gpu.go:501 msg=“Searching for GPU library” name=libcuda.so

level=DEBUG source=gpu.go:525 msg=“gpu library search” globs=“[/usr/lib64/ollama/libcuda.so /usr/local/cuda/targets/x86_64-linux/lib/libcuda.so /usr/local/cuda/targets//lib/libcuda.so /usr/lib/-linux-gnu/nvidia/current/libcuda.so /usr/lib/-linux-gnu/libcuda.so /usr/lib/wsl/lib/libcuda.so /usr/lib/wsl/drivers//libcuda.so /opt/cuda/lib/libcuda.so /usr/local/cuda/lib/libcuda.so /usr/lib/libcuda.so /usr/local/lib/libcuda.so]”
level=DEBUG source=gpu.go:558 msg=“discovered GPU libraries” paths=[/usr/lib64/libcuda.so.580.142]
initializing /usr/lib64/libcuda.so.580.142
dlsym: cuInit - 0x7f0dca527610
dlsym: cuDriverGetVersion - 0x7f0dca5276d0
dlsym: cuDeviceGetCount - 0x7f0dca527850
dlsym: cuDeviceGet - 0x7f0dca527790
dlsym: cuDeviceGetAttribute - 0x7f0dca527cd0
dlsym: cuDeviceGetUuid - 0x7f0dca57a6f0
dlsym: cuDeviceGetName - 0x7f0dca527910
dlsym: cuCtxCreate_v3 - 0x7f0dca578130
dlsym: cuMemGetInfo_v2 - 0x7f0dca52b540
dlsym: cuCtxDestroy - 0x7f0dca57a030
calling cuInit
calling cuDriverGetVersion
raw version 0x32c8
CUDA driver version: 13.0
calling cuDeviceGetCount
device count 1
time=2026-03-30T21:31:07.317-04:00 level=DEBUG source=gpu.go:125 msg=“detected GPUs” count=1 library=/usr/lib64/libcuda.so.580.142
[GPU-5164997c-870c-87da-33d6-7532dc534ed5] CUDA totalMem 32109mb
[GPU-5164997c-870c-87da-33d6-7532dc534ed5] CUDA freeMem 31601mb
[GPU-5164997c-870c-87da-33d6-7532dc534ed5] Compute Capability 12.0
level=WARN source=amd_linux.go:61 msg=“ollama recommends running the https://www.amd.com/en/support/linux-drivers” error=“amdgpu version file missing: /sys/module/amdgpu/version stat /sys/module/amdgpu/version: no such file or directory”
level=DEBUG source=amd_linux.go:101 msg=“evaluating amdgpu node /sys/class/kfd/kfd/topology/nodes/0/properties”
level=DEBUG source=amd_linux.go:121 msg=“detected CPU /sys/class/kfd/kfd/topology/nodes/0/properties”
level=DEBUG source=amd_linux.go:101 msg=“evaluating amdgpu node /sys/class/kfd/kfd/topology/nodes/1/properties”
level=DEBUG source=amd_linux.go:206 msg=“mapping amdgpu to drm sysfs nodes” amdgpu=/sys/class/kfd/kfd/topology/nodes/1/properties vendor=4098 device=5056 unique_id=0
level=DEBUG source=amd_linux.go:219 msg=“failed to read sysfs node” file=/sys/class/drm/card0-DP-4/device/vendor error=“open /sys/class/drm/card0-DP-4/device/vendor: no such file or directory”
level=DEBUG source=amd_linux.go:219 msg=“failed to read sysfs node” file=/sys/class/drm/card0-DP-5/device/vendor error=“open /sys/class/drm/card0-DP-5/device/vendor: no such file or directory”
level=DEBUG source=amd_linux.go:219 msg=“failed to read sysfs node” file=/sys/class/drm/card0-DP-6/device/vendor error=“open /sys/class/drm/card0-DP-6/device/vendor: no such file or directory”
level=DEBUG source=amd_linux.go:219 msg=“failed to read sysfs node” file=/sys/class/drm/card0-HDMI-A-2/device/vendor error=“open /sys/class/drm/card0-HDMI-A-2/device/vendor: no such file or directory”
level=DEBUG source=amd_linux.go:240 msg=matched amdgpu=/sys/class/kfd/kfd/topology/nodes/1/properties drm=/sys/class/drm/card1/device
level=DEBUG source=amd_linux.go:318 msg=“amdgpu memory” gpu=0 total=“2.0 GiB”
level=DEBUG source=amd_linux.go:319 msg=“amdgpu memory” gpu=0 available=“2.0 GiB”
level=INFO source=amd_linux.go:332 msg=“filtering out device per user request” id=0 visible_devices=[-1]
level=INFO source=amd_linux.go:402 msg=“no compatible amdgpu devices detected”
releasing cuda driver library
level=INFO source=types.go:130 msg=“inference compute” id=GPU-5164997c-870c-87da-33d6-7532dc534ed5 library=cuda variant=v12 compute=12.0 driver=13.0 name=“NVIDIA GeForce RTX 5090” total=“31.4 GiB” available=“30.9 GiB”