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
147
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:

adminpldt

New Member
Jul 8, 2026
2
1
3
After lurking for a long time on these threads and Reddit, I got my m720q, equipped it with an i7 8700, a Quadro T600, powered by a 135w power supply. I researched A LOT on this. General consensus on forums seems to indicate that:
  1. The board only has a maximum power of 66w. Reference
  2. Installing a non-T CPU would peg BD-PROCHOT immediately, so ThrottleStop is needed.
  3. Adding a GPU would immediately trigger BD-PROCHOT to prevent an overcurrent situation.
  4. Non-T CPU + GPU requires an undervolt for stability.

Hey, I have a weird problem with my m720q ... added a A2000 6gb to it. I felt like 135W was a bit too close for a 35W CPU and a 75W GPU. So I upgraded the power supply to a 230W PSU. But when I used it, my CPU was "stuck" at 0.94 GHz, and would not move. So performance was atrocious. I then tried a 170W PSU, and now, it is "stuck" again, but at 2.40GHz. Is it normal? Do I need to do something in the bios or anything to "unstuck" it?
I have the 9900 in a 920x. You will need to use throttlestop to tune a little otherwise it throttles the CPU down to 800 mhz under load due to PROCHOT thermal signals. I think the highest I saw the CPU package power go was 50-60 watts, I am assuming due to thermals, so you don't get the full power out of it. No issues other than that so far. I have been able to run a dedicated GPU in the PCIE slot as well but even with the biggest PSU the system will crash if the PCIE slot draws too much power (somewhere around 40ish watts I think) That is a documented problem with the PCIE slot on these machines regardless of the CPU and I haven't located a workaround.
Regarding the 9900, yes it probably runs, I think the 9900K runs too. For most (but not all) purposes, you can turn any 9900T, 9900, 9000K into each other by adjusting the power limits PL1, PL2. The Lenovo Tiny versions with with T-series CPU usually come with a less performant aluminum heatsink and smaller PSU.

I have M920X with copper heatsink. I upgraded it to 8086K (special version of 8700K) undervolted and power limited to PL2 70/ PL1 50w.
I got an interesting discovery: my m720q somehow has a PL1 of 65w, PL2 of 122w, PL4 of 120w after a BIOS update. I had BIOS ver. M1UKT4EA upon installing the i7 8700, and observed BD-PROCHOT is pegged, so I turned it off with ThrottleStop. Some user had success in BIOS ver. M1UKT74A, so I updated my BIOS ver. to M1UKT74A (installer from archive.org), and magically, BD-PROCHOT is now NOT pegged. HWMonitor and ThrottleStop reports PL1 of 65w, PL2 of 122w, PL4 of 120w (I neglected to check before the BIOS update). I have no idea how this came to be. This survives across reboots, OSes, and even reformats.
  • Running IntelBurnTest, my max turbo power was 52w. At this time, I had a 90w supply.

Then I got the 135w supply, GPU, and BA7H70 rev 1.2 riser. Installed it, had to troubleshoot video settings in bios (it had to be in auto for the GPU to be recognized in the OS), started my benchmarks expecting major issues, and ... everything worked totally fine ...? This isn't how everyone said this was supposed to be?
  • The 135w supply even allowed my cpu to turbo up to 78w without GPU load. Running Furmark + IntelBurnTest, GPU draws its max TBP of 40w, and the CPU still turbos up to 52w.

Granted, I had been benchmarking for about ~3 minutes as pictured. I had to leave immediately and just tested the components before I left. Further testing later. Am I missing something here?

image (1).png
Note: drops in GPU usage was due to my alt-tabbing.
 
Last edited:
  • Like
Reactions: Fritz

WhiteNoise

Active Member
Jan 20, 2024
147
65
28
Hello.
A few notes.

1. The 35w/65w versions differ primary by the heatsink provided (aluminum vs copper). Some of the tinyminimacro also have physically different motherboard with more VRMs in the higher powered version.
The board certainty doesn't have a maximum power of 66W. It's more than that.

2. In my experience, the BD-PROCHOT is often triggered if you have an inadequate/insufficient PSU. 135w should be enough.

3. Undervolting is not necessary but it helps a lot (lower power consumption, lower temps, higher clocks).

4. The Tiny5 with 65w+ CPU (and GPU in your case) benefit from a vented/meshed top cover. Something that they fixed in Tiny6+. Ultimately you should set your PL1 to the level of noise/temperature you are comfortable with.

5. The CPU package wattage measurement (which is what PL1/PL2 limit) can be misleading. In AVX-based stress tests, the CPU package wattage reported is not that high, but if you measure from the wall you'll see that it's pulling a lot of power. In those condition, the CPU ICC max is often triggered to limit the CPU.
 

adminpldt

New Member
Jul 8, 2026
2
1
3
Thanks for your insights!

1. Yeah, the heatsink definitely is a limitation right now. I'm looking on buying a 65w heatsink, but prices right now are insane. They cost as much as the whole system cost me. The fan from the 65w heatsink is my best bet right now. 1/4 the price, double the amps (0.8a in 35w hsf, 1.6a in 65w hsf).
2. Before the GPU, I had a around week of testing the system with a 90w PSU. BIOS rev. M1UKT4EA definitely pegged BD-PROCHOT and gave 800mhz clocks, whereas updating to BIOS rev. M1UKT74A immediately fixed that. Same 90w PSU. Something weird is going on in the BIOS revs. Someone might find this useful.
3. Yeah, I realized undervolting is a bit needed that when I maxed out the 35w hsf. Still, my jank mod allowed a ~7ºC difference and ~700RPM reduction in fan speeds.
4. As for the meshed top cover, I'm working on it, but it's not easily available. Shipping cost more than the top cover itself, and I wanted a clean OEM look, not a 3D printed case.
5. What stress tests can you recommend? Someone on reddit recommends 3DMark CPU Profile, but I don't really want to buy 3DMark. It costs more than the m720q barebone.


Edit: Stressing for 10 min, CPU is happy to turbo up to 52w, and satisfies at 35w with the GPU on full 40w. With CPU alone, it goes up to 78w. Really weird stuff, considering these are all contrary to what everyone else experienced.

att.V-071lePxpEQOseN_5KBd_uf-jNs1iG6EQp5G8Kk1_Q.jpeg
 
Last edited:

Aary7

New Member
Jul 16, 2026
1
0
1
Ran into this exact thing on my ThinkCentre. Every tool I tried (Task Manager, HWiNFO, even Lenovo Vantage) reported the fan at 0 RPM while it was obviously spinning, because Windows only ever sees a stubbed-out embedded controller. I ended up reverse-engineering the real EC and writing a small open-source tool that reads the actual RPM, shows per-core CPU temps, and switches the fan modes, including a Full Speed mode that's normally locked away in the BIOS.

Honest on scope: I've only verified it on my M70t Gen 6, so on other boards it runs monitoring-only until the EC layout gets mapped, and readings can be off. If it doesn't work for your model, please open an issue on the repo with your model and baseboard number and I'll definitely add it.

MIT, no telemetry: GitHub - blazingphoenix7/thinkcentre-fan-control: The real fan RPM your Lenovo ThinkCentre reports as 0, plus per-core CPU temps and fan modes up to a Full Speed that Vantage won't give you. A tiny Windows tray app, reverse-engineered from the embedded controller.
 

AnonAlex

New Member
Jul 18, 2026
1
0
1
Is there a suitable 2 port 2.5 GbE network card for the Lite M90q Gen 3 / P360?
Wondering the same by following 1st page, signed up to ask something similar and to see in year 2026 which model makes most sense for a beginner?
Maybe get a M920x due to DDR5 prices, stick to ddr4? What'd you guys do in if you were starting fresh for least headache and well future proof

Locally:
$200 - Lenovo ThinkCentre m70q Gen 2
i5-11400T (6c / 12t)

$300 - Lenovo ThinkCentre m90q Gen 3
i5-12500 (6c / 12t)
16GB DDR5 RAM (either 2x8GB or 1x16GB)

Ebay US has many other options.
 

WhiteNoise

Active Member
Jan 20, 2024
147
65
28
Is there a suitable 2 port 2.5 GbE network card for the Lite M90q Gen 3 / P360?
All dual port 2.5GbE cards I have seen are based around an ASMEDIA pcie switch that doesn't provide enough bandwidth when all ports are active at the same time.

You are better off buying an intel X550-T2, X710-T2L, E610.