Drag to reposition cover

Lenovo Thinkcentre/ThinkStation Tiny (Project TinyMiniMicro) Reference Thread

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Rundell

New Member
Mar 20, 2023
10
13
3
how? nice!
thanks for the "modprobe nct6683 force=on" trick, works for my gen4
There are a few github repositories that can help you get started. For myself I used this one as the basis but my version is now heavily modified since the repo has not been updated in awhile. GitHub - alexleigh/pve-mods: Proxmox VE modifications to add temperature sensors

I also created a script to update the files if proxmox gets updated.

This repo seems like it is newer and active: GitHub - Meliox/PVE-mods: Proxmox modifications
 
  • Like
Reactions: stegg

WhiteNoise

Active Member
Jan 20, 2024
144
65
28
...

Phase 2: The GVT-g VRAM Wall
With the CPU unleashed, I configured Intel GVT-g to split the UHD 630 iGPU among my VMs. But when I tried to start them, Proxmox threw the dreaded error:

pci device '0000:00:02.0' has no available instances of 'i915-GVTg_V5_4'
  • The Problem: The Lenovo BIOS defaults to a measly 32MB of DVMT Pre-Allocated memory (Stolen Memory). To run a high-res V5_4 vGPU slice, you need at least 128MB.
  • The Dead Ends: I tried using common Lenovo EFI offsets (like 0x18F and 0x8F5) to increase the VRAM. The system ignored them. I then tried the Proxmox kernel parameter ignore_resource_conflict=1 hoping the Linux kernel would just overcommit the memory. It failed; the hardware driver strictly enforces the limit.
  • The Breakthrough (IFR Extraction): Lenovo shuffles hex addresses with every minor BIOS update. Guessing was useless. I took my BIOS dump, ran it through UEFIExtract to pull the Setup PE32 module, and pushed it through ifrextractor. This generated a text map of my exact BIOS. We found the real offset for DVMT Pre-Allocated was 0xA44. We set it to 0x08 (256MB).

...
Today, I am rebuilding my M920x and I decided to update the BIOS and re-check the UEFI settings.
I wanted to let you know that for DVMT Pre-Allocated (0xA44), 0x3 is not among the possible values. It is an option for DVMT Total Gfx Mem (0xA45).
The offsets and values haven't changed since at least Apr-2024, the last BIOS that I reviewed.

I have reread you post and, no offense, if feels like it was written by an LLM. So i don't know.
I am not even sure if it is advisable to touch these settings (the default values are the ones recommended by Intel), nor it if is necessary to change some of them to get GVT-g to work. Maybe I'll look into it if I need it.


Code:
0x37EB3         One Of: DVMT Pre-Allocated, VarStoreInfo (VarOffset/VarName): 0xA44, VarStore: 0x1, QuestionId: 0x2747, Size: 1, Min: 0x0, Max 0xFE, Step: 0x0 {05 91 E4 05 F7 05 47 27 01 00 44 0A 10 10 00 FE 00}
0x37EC4             Default: DefaultId: 0x0, Value (8 bit): 0x1 {5B 06 00 00 00 01}
0x37ECA             One Of Option: 0M, Value (8 bit): 0x0 {09 07 E5 05 00 00 00}
0x37ED1             One Of Option: 32M, Value (8 bit): 0x1 {09 07 E6 05 00 00 01}
0x37ED8             One Of Option: 64M, Value (8 bit): 0x2 {09 07 E7 05 00 00 02}
0x37EDF             One Of Option: 4M, Value (8 bit): 0xF0 {09 07 E8 05 00 00 F0}
0x37EE6             One Of Option: 8M, Value (8 bit): 0xF1 {09 07 E9 05 00 00 F1}
0x37EED             One Of Option: 12M, Value (8 bit): 0xF2 {09 07 EA 05 00 00 F2}
0x37EF4             One Of Option: 16M, Value (8 bit): 0xF3 {09 07 EB 05 00 00 F3}
0x37EFB             One Of Option: 20M, Value (8 bit): 0xF4 {09 07 EC 05 00 00 F4}
0x37F02             One Of Option: 24M, Value (8 bit): 0xF5 {09 07 ED 05 00 00 F5}
0x37F09             One Of Option: 28M, Value (8 bit): 0xF6 {09 07 EE 05 00 00 F6}
0x37F10             One Of Option: 32M/F7, Value (8 bit): 0xF7 {09 07 EF 05 00 00 F7}
0x37F17             One Of Option: 36M, Value (8 bit): 0xF8 {09 07 F0 05 00 00 F8}
0x37F1E             One Of Option: 40M, Value (8 bit): 0xF9 {09 07 F1 05 00 00 F9}
0x37F25             One Of Option: 44M, Value (8 bit): 0xFA {09 07 F2 05 00 00 FA}
0x37F2C             One Of Option: 48M, Value (8 bit): 0xFB {09 07 F3 05 00 00 FB}
0x37F33             One Of Option: 52M, Value (8 bit): 0xFC {09 07 F4 05 00 00 FC}
0x37F3A             One Of Option: 56M, Value (8 bit): 0xFD {09 07 F5 05 00 00 FD}
0x37F41             One Of Option: 60M, Value (8 bit): 0xFE {09 07 F6 05 00 00 FE}
0x37F48         End One Of {29 02}
0x37F4A         One Of: DVMT Total Gfx Mem, VarStoreInfo (VarOffset/VarName): 0xA45, VarStore: 0x1, QuestionId: 0x67, Size: 1, Min: 0x1, Max 0x3, Step: 0x0 {05 91 F8 05 F9 05 67 00 01 00 45 0A 10 10 01 03 00}
0x37F5B             Default: DefaultId: 0x0, Value (8 bit): 0x2 {5B 06 00 00 00 02}
0x37F61             One Of Option: 128M, Value (8 bit): 0x1 {09 07 FA 05 00 00 01}
0x37F68             One Of Option: 256M, Value (8 bit): 0x2 {09 07 FB 05 00 00 02}
0x37F6F             One Of Option: MAX, Value (8 bit): 0x3 {09 07 FC 05 00 00 03}
0x37F76         End One Of {29 02}
 

besseddrest

Member
May 14, 2025
58
20
8
Yes thank you. This video was posted the same day...
Looks like a single slot aftermarket cooler is advertised on n3rdware, expected release December or January , could make the end result more compact...

Hey there, curious if you ever got the B50 Pro and the n3rdware single slot cooler? I'm thinking of future improvements to my system and i'm considering this combo, wondering what your exp is like
 

MBastian

Active Member
Jul 17, 2016
345
107
43
Germany
modprobe drivetemp
modprobe nct6683 force=on

modprobe is not persistent so you need to add it to a systemd that will run it on startup.
Why? Just put it in a config under /etc/modules-load.d/
FYI: At least on Debian 13 you do not need to add force=on for nct6683 on a m920x
 
Last edited: