Hi all, I'm running a node on a laptop with that has an iGPU and a dGPU which may be relevant for this context.
The CPU is i5-7200U with UHD 620 - this is passed through successfully to ubuntu VM with HDMI output.
The dGPU is:
I'm trying to passthrough only the nvidia GPU to a debian 12 VM to run ollama. As far as I can tell this is passed through successfully and I have installed the nvidia and CUDA drivers following debian wiki: https://wiki.debian.org/NvidiaGraphicsDrivers
Now, the odd thing is, the drivers appears to be loaded properly:
lspci -vv output on the VM:
However, the gpu itself is not being detected... both by nvidia-smi and ollama:
VM config is q35 and SeaBIOS. PCIE passthrough with Raw device and checked All functions, PCIE is also checked.
Would love to get help on why the PCIE device is listed with loaded drivers but not visible to anything! Thanks!
The CPU is i5-7200U with UHD 620 - this is passed through successfully to ubuntu VM with HDMI output.
The dGPU is:
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
I'm trying to passthrough only the nvidia GPU to a debian 12 VM to run ollama. As far as I can tell this is passed through successfully and I have installed the nvidia and CUDA drivers following debian wiki: https://wiki.debian.org/NvidiaGraphicsDrivers
Now, the odd thing is, the drivers appears to be loaded properly:
lspci -vv output on the VM:
01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940MX] (rev a2)
Physical Slot: 0
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 16
Region 0: Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
Region 1: Memory at 7040000000 (64-bit, prefetchable) [size=256M]
Region 3: Memory at 7050000000 (64-bit, prefetchable) [size=32M]
Region 5: I/O ports at 5000
Capabilities: [60] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [78] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 25W
DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us
ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 8GT/s, Width x4
TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range AB, TimeoutDis+ NROPrPrP- LTR+
10BitTagComp- 10BitTagReq- OBFF Via message, ExtFmt- EETLPPrefix-
EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
FRS- TPHComp- ExtTPHComp-
AtomicOpsCap: 32bit- 64bit- 128bitCAS-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
AtomicOpsCtl: ReqEn-
LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ EqualizationPhase1+
EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
Retimer- 2Retimers- CrosslinkRes: unsupported
Capabilities: [100 v1] Virtual Channel
Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
Arb: Fixed- WRR32- WRR64- WRR128-
Ctrl: ArbSelect=Fixed
Status: InProgress-
VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
Status: NegoPending- InProgress-
Capabilities: [250 v1] Latency Tolerance Reporting
Max snoop latency: 3145728ns
Max no snoop latency: 3145728ns
Capabilities: [128 v1] Power Budgeting <?>
Capabilities: [600 v1] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nvidia
Kernel modules: nvidia
However, the gpu itself is not being detected... both by nvidia-smi and ollama:
debian@debian:~$ nvidia-smi
No devices were found
ollama ps
NAME ID SIZE PROCESSOR UNTIL
llama3.2:latest a80c4f17acd5 3.5 GB 100% CPU 4 minutes from now
VM config is q35 and SeaBIOS. PCIE passthrough with Raw device and checked All functions, PCIE is also checked.
Would love to get help on why the PCIE device is listed with loaded drivers but not visible to anything! Thanks!