Runtime D3 (RTD3) with Quadro T1200?

I’m looking at purchasing a laptop with an Nvidia T1200 (or maybe T1000) and an Intel i7 11800H.

Will Runtime D3 (RTD3) work on Linux with the T1200 (or T1000)?

Unfortunately this is impossible to tell in advance. While the combo meets the specs for it, some manufacturers simply fail to properly implement it in bios.

1 Like

Thanks @generix - I’ve written to the manufacturer and asked them. It does seem very difficult getting this information, even from the manufacturer. I might just buy it, see if it works, then return it if it doesn’t.

As @generix says, the laptop “should” work, but you need to test it.

If you buy it, you can try to dump your ACPI tables and decompile them. You need acpica, you can install it, it depends in which distro you are, but on Arch the package is called acpica.

After you install it, make a directory to work on and open it on your terminal, execute sudo acpidump -b that command will create a bunch of .dat files, those files are your ACPI tables, but they are in a binary format, you need to decompile them, for that you execute iasl * , that command decompile all the .dat files that are in the directory and make a bunch of .dsl files.

What I did later was open that directory with VIsual Studio Code and used the “Find in files” option, looking for the _PR3 and _PR0 methods, those are the required for RTD3.

If they are missing then your OEM need to fix that in the BIOS. In the case that they are missing I think you can also patch your ACPI tables and add those methods.

1 Like

@Cherenkov11 Many thanks for the steps/info!

Off topic here, but I’ve just followed the steps you mentioned on my Legion 5 (AMD Ryzen 7 4800H and Nvidia GTX 1660TI):

$ grep -ir "_PR3\|_PR0" ./*
./ssdt3.dsl:        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
./ssdt3.dsl:        Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
./ssdt3.dsl:        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
./ssdt3.dsl:        Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot
./ssdt6.dsl:        Name (_PR0, Package (0x01)  // _PR0: Power Resources for D0
./ssdt6.dsl:        Name (_PR3, Package (0x01)  // _PR3: Power Resources for D3hot

Does this mean Runtime D3 should work on my Legion 5?

@AndyTurfer hahaha, I just realize you’re the same guy I responded to in another thread. In theory we (because I also have a 4800h and turing GPU) should be able to use RTD3 on our ryzen machines, because they have all the neccesary to work (mainly the _RP3 _RP0 methods) but it looks that they are disabled on the nvidia driver. Only ryzen 5xxx series have this enabled, even though _PR3 and _PR0 are available even in 3xxx series AMD APU’s.

Regarding your question, _PR3 and _PR0 are used on other devices of the computers, so, you can verify if one of those results that grep shows you belongs to your NVIDIA GPU, for that open either sstd3 or sstd6 and look for the devices that they are into.

For example, mines belong to the device called _SB.PCI0.GPP0, that’s my GPU. Maybe yours have the same name.

1 Like

Like @Cherenkov11 already mentioned, “field testing” (user reports in this forum) points to nvidia having disabled runtime pm for pre-5xxx gen ryzen cpus. The bios bug with some intel notebooks I’m talking of is different, though. They’re all supporting runtime-pm and from checking the sysfs nodes everything seems to work -but- the gpu is not really turned off, still consuming power. So the test is:

  • run on battery
  • start powertop
  • let the gpu suspend

Then check powertop display whether the power draw lowers or not. On broken bioses, this doesn’t happen, even sometimes power consumption rises to insane amounts.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.