Mastodon
Zuletzt aktualisiert am
Phoronix Linux News
Michael Larabel

Mehr "Nova"-Open-Source-NVIDIA-Treibercode für Linux 6.16 im Upstream

 Zusätzlich zum Nouveau-Treiber, der mit dem kommenden Linux 6.16-Zyklus NVIDIA Blackwell- und Hopper-GPU-Unterstützung erhält, wird der moderne, auf Rust basierende Nova-Treiber für zukünftige Open-Source-NVIDIA-GPU-Unterstützung mit der nächsten Kernel-Veröffentlichung etwas umfangreicher werden.
Eine Übersetzung von 🇬🇧 Phoronix.com

Der in Rust geschriebene Nova-Treiber wurde in Linux 6.15 als Upstream veröffentlicht, allerdings nur der vorläufige Boilerplate-Code. Der Nova-Treiber ist derzeit für Linux-Endbenutzer mit NVIDIA-Grafikprozessoren nicht nützlich, die weiterhin entweder den Nouveau-Treiber oder NVIDIAs Linux-Grafiktreiber-Paket verwenden müssen. Letztendlich wird dieser Nova-Treiber aber für NVIDIA Turing und neuere GPUs mit GSP-Unterstützung (GPU System Processor) nützlich sein.

Für Linux 6.16 wird der Nova-Treiber ein wenig weiter ausgebaut. Danilo Krummrich von Red Hat hat diesen Pull Request mit mehr Nova-Material für Linux 6.16 eingereicht:

auxiliary:
- bus abstractions
- implementation for driver registration
- add sample driver

drm:
- implement __drm_dev_alloc()
- DRM core infrastructure Rust abstractions
- device, driver and registration
- DRM IOCTL
- DRM File
- GEM object
- IntoGEMObject rework
- generically implement AlwaysRefCounted through IntoGEMObject
- refactor unsound from_gem_obj() into as_ref()
- refactor into_gem_obj() into as_raw()

driver-core:
- merge topic/device-context-2025-04-17 from driver-core tree
- implement Devres::access()
- fix: doctest build under `!CONFIG_PCI`
- accessor for Device::parent()
- fix: conditionally expect `dead_code` for `parent()`
- impl TryFrom<&Device> bus devices (PCI, platform)

nova-core:
- remove completed Vec extentions from task list
- register auxiliary device for nova-drm
- derive useful traits for Chipset
- add missing GA100 chipset
- take &Device in Gpu::new()
- infrastructure to generate register definitions
- fix register layout of NV_PMC_BOOT_0
- move Firmware into own (Rust) module
- fix: select AUXILIARY_BUS

nova-drm:
- initial driver skeleton (depends on drm and auxiliary bus abstractions)
- fix: select AUXILIARY_BUS

Rust (dependencies):
- implement Opaque::zeroed()
- implement Revocable::try_access_with()
- implement Revocable::access()"

ℹ️ Der Nova-Treiber ist für NVIDIA-Linux-Anwender immer noch nicht brauchbar, aber der Treiber wird mit mehr Funktionen ausgestattet und neue Rust Direct Rendering Manager (DRM)-Codes/Abhängigkeiten werden auf dem Weg dorthin beseitigt.

Unterstützen sie Michael

Ein Service von s3n🧩net

Comments