System information
System:
Kernel: 6.6.72 arch: x86_64 bits: 64 compiler: gcc v: 13.3.0
clocksource: tsc avail: hpet,acpi_pm
parameters: initrd=\EFI\nixos\24hc1n3s1ywsax2v9xr75i9pks65bxr7-initrd-linux-6.6.72-initrd.efi
init=/nix/store/373h5rcccwq8i2i92jl7vp0vgw85v72y-nixos-system-revivajxo-24.11.713387.107d5ef05c0b/init
loglevel=4 ibt=off
Desktop: N/A wm: kwin_wayland dm: SDDM Distro: NixOS 24.11 (Vicuna)
Machine:
Type: Desktop System: Hewlett-Packard product: HP Z440 Workstation v: N/A
serial: Chassis: type: 6 serial:
Mobo: Hewlett-Packard model: 212B v: 1.01 serial:
part-nu: X2D67UT#ABA uuid: UEFI: Hewlett-Packard
v: M60 v02.59 date: 03/31/2022
CPU:
Info: model: Intel Xeon E5-1620 v4 bits: 64 type: MT MCP arch: Broadwell
level: v3 note: check built: 2015-18 process: Intel 14nm family: 6
model-id: 0x4F (79) stepping: 1 microcode: 0xB000040
Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
L3: 10 MiB desc: 1x10 MiB
Speed (MHz): avg: 1197 high: 1198 min/max: 1200/3800 scaling:
driver: intel_cpufreq governor: schedutil cores: 1: 1198 2: 1197 3: 1197
4: 1197 5: 1197 6: 1197 7: 1197 8: 1197 bogomips: 55870
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: gather_data_sampling status: Not affected
Type: itlb_multihit status: KVM: VMX disabled
Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
vulnerable
Type: mds mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
Type: reg_file_data_sampling status: Not affected
Type: retbleed status: Not affected
Type: spec_rstack_overflow status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
prctl
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
sanitization
Type: spectre_v2 mitigation: Retpolines; IBPB: conditional; IBRS_FW;
STIBP: conditional; RSB filling; PBRSB-eIBRS: Not affected; BHI: Not
affected
Type: srbds status: Not affected
Type: tsx_async_abort mitigation: Clear CPU buffers; SMT vulnerable
Graphics:
Device-1: NVIDIA GK107 [GeForce GT 740] driver: nvidia v: 470.256.02
alternate: nvidiafb,nouveau,nvidia_drm non-free: series: 470.xx+
status: legacy-active (EOL~2024-09-xx) arch: Kepler code: GKxxx
process: TSMC 28nm built: 2012-2018 pcie: gen: 1 speed: 2.5 GT/s lanes: 16
link-max: gen: 3 speed: 8 GT/s bus-ID: 03:00.0 chip-ID: 10de:0fc8
class-ID: 0300
Display: unspecified server: X.org v: 1.21.1.14 with: Xwayland v: 24.1.4
compositor: kwin_wayland driver: X: loaded: modesetting unloaded: fbdev,vesa
dri: i965 gpu: nvidia
Monitor-1: Unknown-1 size-res: N/A modes: 800x600
API: OpenGL Message: Unable to show GL data. glxinfo is missing.
Audio:
Device-1: Intel C610/X99 series HD Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:8d20
class-ID: 0403
Device-2: NVIDIA GK107 HDMI Audio driver: snd_hda_intel v: kernel pcie:
gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 3 speed: 8 GT/s
bus-ID: 03:00.1 chip-ID: 10de:0e1b class-ID: 0403
API: ALSA v: k6.6.72 status: kernel-api tools: N/A
Server-1: PipeWire v: 1.2.7 status: off with: 1: pipewire-pulse
status: off 2: wireplumber status: active 3: pipewire-alsa type: plugin
tools: pw-cat,pw-cli,wpctl
Server-2: PulseAudio v: 17.0 status: off tools: pacat,pactl
Network:
Device-1: Intel Ethernet I218-LM vendor: Hewlett-Packard driver: e1000e
v: kernel port: 3020 bus-ID: 00:19.0 chip-ID: 8086:15a0 class-ID: 0200
IF: eno1 state: up speed: 1000 Mbps duplex: full mac:
IF-ID-1: br-0cd9a69b91d3 state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-2: br-18157550e547 state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-3: br-203994d73b34 state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-4: br-4b7708312b55 state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-5: br-548d5f2e102b state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-6: br-55780ebe2134 state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-7: br-59693dafb13b state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-8: br-7c7deb58e14e state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-9: br-9a208c16a8ac state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-10: br-aab784f71036 state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-11: br-f6aefdbf2950 state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-12: br-fe419fe346f5 state: up speed: 10000 Mbps duplex: unknown
mac:
IF-ID-13: docker0 state: down mac:
IF-ID-14: veth02b937d state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-15: veth05a4b05 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-16: veth05c5358 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-17: veth067e01c state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-18: veth1a14529 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-19: veth1a57fad state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-20: veth1cccc62 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-21: veth211bbbb state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-22: veth329a6ad state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-23: veth374973a state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-24: veth3df2c8b state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-25: veth3f8325f state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-26: veth401029d state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-27: veth4078089 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-28: veth48ae5f7 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-29: veth53d1adf state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-30: veth5435e4a state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-31: veth55c1293 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-32: veth5bbb163 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-33: veth5d53213 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-34: veth65fd6b5 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-35: veth6aad2bc state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-36: veth77456d6 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-37: veth7f65401 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-38: veth830aca2 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-39: veth89f856f state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-40: veth8a914a9 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-41: veth8cee711 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-42: vetha5924b9 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-43: vethab819db state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-44: vethab869d3 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-45: vethac3d026 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-46: vethb6bb1d2 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-47: vethbc0c60d state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-48: vethbd6ed79 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-49: vethbecb5db state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-50: vethc12257d state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-51: vethc25717c state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-52: vethc8adba9 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-53: vethcbc11ae state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-54: vethcc16c7d state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-55: vethd11c208 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-56: vethd70bc83 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-57: vethd7e43f0 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-58: vethdee0f66 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-59: vethe384677 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-60: vethee767be state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-61: vethf159bea state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-62: vethf40ea37 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-63: vethf502797 state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-64: vethf8260db state: up speed: 10000 Mbps duplex: full
mac:
IF-ID-65: wg0 state: unknown speed: N/A duplex: N/A mac: N/A
Info: services: apache2, NetworkManager, nfsd, nginx, smbd, sshd,
systemd-timesyncd, xinetd
RAID:
Device-1: revivajxo2 type: zfs status: ONLINE level: linear raw:
size: 10.9 TiB free: 6.26 TiB allocated: 4.65 TiB zfs-fs: size: 10.78 TiB
free: 6.13 TiB
Components: Online:
1: sdc maj-min: 8:32 size: 10.91 TiB
Device-2: revivajxo2_dup type: zfs status: ONLINE level: linear raw:
size: 10.9 TiB free: 5.67 TiB allocated: 5.24 TiB zfs-fs: size: 10.78 TiB
free: 5.54 TiB
Components: Online:
1: sda maj-min: 8:0 size: 10.91 TiB
Drives:
Local Storage: total: raw: 22.28 TiB usable: 22.02 TiB
used: 4.51 TiB (20.5%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/sda maj-min: 8:0 vendor: Seagate model: ST12000VN0007-2GS116
size: 10.91 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
tech: HDD rpm: 7200 serial: fw-rev: SC60 scheme: GPT
ID-2: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 860 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: fw-rev: 3B6Q scheme: GPT
ID-3: /dev/sdc maj-min: 8:32 vendor: Seagate model: ST12000VN0007-2GS116
size: 10.91 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
tech: HDD rpm: 7200 serial: fw-rev: SC60 scheme: GPT
Partition:
ID-1: / raw-size: 465.26 GiB size: 456.89 GiB (98.20%)
used: 336.6 GiB (73.7%) fs: ext4 dev: /dev/sdb1 maj-min: 8:17
ID-2: /boot raw-size: 511 MiB size: 510 MiB (99.80%)
used: 82.7 MiB (16.2%) fs: vfat dev: /dev/sdb2 maj-min: 8:18
Swap:
Alert: No swap data was found.
Sensors:
Src: /sys System Temperatures: cpu: 37.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: 16 GiB available: 15.53 GiB used: 13.35 GiB (85.9%)
Processes: 571 Power: uptime: 2d 23h 55m states: freeze,mem,disk
suspend: deep avail: s2idle wakeups: 0 hibernate: platform avail: shutdown,
reboot, suspend, test_resume image: 6.2 GiB Init: systemd v: 256
default: graphical tool: systemctl
Packages: 1495 pm: nix-default pkgs: 0 pm: nix-sys pkgs: 1460 libs: 265
pm: nix-usr pkgs: 35 libs: 6 Compilers: gcc: 13.3.0 Shell: Bash v: 5.2.37
running-in: waypipe (SSH) inxi: 3.3.35
Scenario 1:
Expected behavior: When I plug in an HDMI cable, I am presented with the login screen
Current behavior: HDMI screen does not register a connected device
Scenario 2:
This isn’t really within the scope of this post, but I’m including it because it might provide helpful diagnostic data. I’m trying to get Jellyfin to do hardware transcoding with this GPU also. It fails no matter what I set the transcoding to:
- NVENC: driver must be at least v520 (which does not support the GTX970, so NVENC is just out for this card)
- VAAPI: tries to run the following ffmpeg command:
and fails with this error:/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -f matroska -i file:"/media/TV/StarTrek.DS9/S05/Star Trek DS9 - S05E17 - A Simple Investigation.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 1367855 -maxrate 1367855 -bufsize 2735710 -profile:v:0 high -sei -a53_cc -force_key_frames:0 "expr:gte(t,n_forced*3)" -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(720\,576*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(720/a\,576))/2)*2,format=nv12,hwupload_vaapi" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename "59ae7979f9ce72d55826995982d0d1ce-1.mp4" -start_number 0 -hls_segment_filename "/config/transcodes/59ae7979f9ce72d55826995982d0d1ce%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/config/transcodes/59ae7979f9ce72d55826995982d0d1ce.m3u8"
[AVHWDeviceContext @ 0x5592d3e10b80] Failed to initialise VAAPI connection: -1 (unknown libva error). [AVFilterGraph @ 0x5592d3e99040] Error initializing filters [vost#0:0/h264_vaapi @ 0x5592d3ea9880] Error initializing a simple filtergraph Error opening output file /config/transcodes/59ae7979f9ce72d55826995982d0d1ce.m3u8. Error opening output files: Input/output error
- and with Video4Linux there is this error from ffmpeg
[h264_v4l2m2m @ 0x55c2322e9f80] Could not find a valid device [h264_v4l2m2m @ 0x55c2322e9f80] can't configure encoder
The Jellyfin container is like this:
services:
jellyfin:
image: jellyfin/jellyfin
user: $UID:$GID
restart: unless-stopped
volumes:
- target: /config
source: ./config
type: bind
- type: bind
target: /media/
source: /path/to/my/media
- type: bind
target: /cache
source: ${base_dir}/tmp/jellyfin/cache
# Network held in common by publicly routed services and Traefik
networks: [public]
labels:
traefik.enable: "true"
traefik.http.routers.jellyfin.rule: Host(`myhost.example`)
traefik.http.routers.jellyfin.tls: true
traefik.http.routers.jellyfin.tls.certresolver: letsencrypt
# For HW Accel:
group_add: [ 26 ]
devices:
- 'nvidia.com/gpu=all'
environment:
NVIDIA_VISIBLE_DEVICES: all
And the GPU is available inside the container:
$ docker compose exec jellyfin nvidia-smi
Mon Feb 3 22:40:16 2025
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.256.02 Driver Version: 470.256.02 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| 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 ... Off | 00000000:03:00.0 N/A | N/A |
| 30% 41C P0 N/A / N/A | 0MiB / 4035MiB | N/A Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
and outside of it:
$ nvidia-smi
Tue Feb 4 07:10:13 2025
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.256.02 Driver Version: 470.256.02 CUDA Version: 11.4 |
|-------------------------------+----------------------+----------------------+
| 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 ... Off | 00000000:03:00.0 N/A | N/A |
| 30% 42C P0 N/A / N/A | 0MiB / 4035MiB | N/A Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
There are other scenarios which I’m failing to work out, but I think this covers the relevant information to figure out what’s wrong. Basically, the video card is there, but no software seems to be able to find it or figure out what to do with it except nvidia-smi
.
Relevant Configs
{pkgs, lib, ...}: {
imports = [./audio.nix];
services = {
desktopManager.plasma6.enable = true;
displayManager.sddm.enable = true;
# Enable the X11 windowing system.
xserver.enable = true;
};
environment.systemPackages = with pkgs; [
filelight
wl-clipboard
];
hardware = {
nvidia-container-toolkit.enable = true;
nvidia = {
open = false;
package = pkgs.linuxKernel.packages.linux_6_6.nvidia_x11_legacy470;
};
graphics.enable32Bit = true;
};
services.xserver.videoDrivers = ["nvidia"];
nixpkgs.config = {
allowUnfreePredicate = pkg: let pkgName = lib.getName pkg;
in builtins.elem pkgName [
"nvidia-x11" "nvidia-settings"
];
nvidia.acceptLicense = true;
};
}