Marc MERLIN
2020-May-29 18:03 UTC
[Nouveau] 5.5 kernel: using nouveau or something else just long enough to turn off Quadro RTX 4000 Mobile for hybrid graphics?
Howdy, So, I have a Thinkpad P70 with hybrid graphics. 01:00.0 VGA compatible controller: NVIDIA Corporation GM107GLM [Quadro M600M] (rev a2) that one works fine, I can use i915 for the main screen, and nouveau to display on the external ports (external ports are only wired to nvidia chip, so it's impossible to use them without turning the nvidia chip on). I now got a newer P73 also with the same hybrid graphics (setup as such in the bios). It runs fine with i915, and I don't need to use external display with nouveau for now (it almost works, but I only see the mouse cursor on the external screen, no window or anything else can get displayed, very weird). 01:00.0 VGA compatible controller: NVIDIA Corporation TU104GLM [Quadro RTX 4000 Mobile / Max-Q] (rev a1) What I need for now is either nouveau, or bbswitch if it still works to turn the nvidia chip off every time I power on/reboot/plug/unplug external power. if I don't load the nouveau module, I get this in powertop: Bad Runtime PM for PCI Device NVIDIA Corporation TU104GLM [Quadro RTX 4000 Mobile / Max-Q] powertop cannot really turn it off and I get The battery reports a discharge rate of 63.0 W If I load the nouveau driver, the chip gets turned off (great), but it's unstable and hard crashes my laptop when I plug/unplug it from power after a few times. This is what I got in my logs after the last crash: intel-lpss 0000:00:15.0: power state changed by ACPI to D3cold intel-lpss 0000:00:15.1: power state changed by ACPI to D3cold snd_hda_intel 0000:00:1f.3: PME# enabled intel-lpss 0000:00:1e.0: power state changed by ACPI to D3cold snd_hda_intel 0000:00:1f.3: power state changed by ACPI to D3hot xhci_hcd 0000:01:00.2: PME# enabled nvidia-gpu 0000:01:00.3: PME# enabled pcieport 0000:05:00.0: PME# enabled xhci_hcd 0000:2c:00.0: PME# enabled pcieport 0000:05:02.0: PME# enabled pcieport 0000:04:00.0: PME# enabled pcieport 0000:00:1c.0: PME# enabled pcieport 0000:00:1c.0: power state changed by ACPI to D3cold nouveau 0000:01:00.0: power state changed by ACPI to D3cold pcieport 0000:00:01.0: PME# enabled pcieport 0000:00:01.0: power state changed by ACPI to D3cold I am using TLP to manage battery use, the driver might not like things getting turned off to save power (although when it works, I can get the laptop down to 10W) Any suggestions on my best way to just keep the nvidia chip off reliably? nouveau? bbswitch? other? (and before you ask, no, you cannot turn it off in the bios, it's hybrid or nvidia only) If that helps, here is what I got when I tried to use hybrid graphics to power an external monitor (just pasting for completeness, I don't need this to work for now) pci 0000:01:00.0: optimus capabilities: enabled, status dynamic power, hda bios codec supported VGA switcheroo: detected Optimus DSM method \_SB_.PCI0.PEG0.PEGP handle nouveau: detected PR support, will not use DSM nouveau 0000:01:00.0: runtime IRQ mapping not provided by arch nouveau 0000:01:00.0: NVIDIA TU104 (164000a1) nouveau 0000:01:00.0: bios: version 90.04.4d.00.2c nouveau 0000:01:00.0: enabling bus mastering nouveau 0000:01:00.0: fb: 8192 MiB GDDR6 vga_switcheroo: enabled [TTM] Zone kernel: Available graphics memory: 32730618 KiB [TTM] Zone dma32: Available graphics memory: 2097152 KiB [TTM] Initializing pool allocator [TTM] Initializing DMA pool allocator nouveau 0000:01:00.0: DRM: VRAM: 8192 MiB nouveau 0000:01:00.0: DRM: GART: 536870912 MiB nouveau 0000:01:00.0: DRM: BIT table 'A' not found nouveau 0000:01:00.0: DRM: BIT table 'L' not found nouveau 0000:01:00.0: DRM: TMDS table version 2.0 nouveau 0000:01:00.0: DRM: DCB version 4.1 nouveau 0000:01:00.0: DRM: DCB outp 00: 02800f66 04600020 nouveau 0000:01:00.0: DRM: DCB outp 01: 02011f52 00020010 nouveau 0000:01:00.0: DRM: DCB outp 02: 01022f36 04600010 nouveau 0000:01:00.0: DRM: DCB outp 03: 04033f76 04600010 nouveau 0000:01:00.0: DRM: DCB outp 04: 04044f86 04600020 nouveau 0000:01:00.0: DRM: DCB conn 00: 00020047 nouveau 0000:01:00.0: DRM: DCB conn 01: 00010161 nouveau 0000:01:00.0: DRM: DCB conn 02: 00001248 nouveau 0000:01:00.0: DRM: DCB conn 03: 01000348 nouveau 0000:01:00.0: DRM: DCB conn 04: 02000471 nouveau 0000:01:00.0: DRM: failed to create kernel channel, -22 nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies nouveau 0000:01:00.0: DRM: unknown connector type 48 nouveau 0000:01:00.0: DRM: unknown connector type 48 [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. memmap_init_zone_device initialised 2097152 pages in 16ms nouveau 0000:01:00.0: DRM: DMEM: registered 8192MB of device memory nouveau 0000:01:00.0: DRM: allocated 2560x1600 fb: 0x200000, bo 0000000018f13ee1 nouveau 0000:01:00.0: fb1: nouveaudrmfb frame buffer device sauron:~$ xrandr --setprovideroutputsource 1 0 sauron:~$ xrandr --listactivemonitors Monitors: 1 0: +*eDP-1 3840/382x2160/214+0+0 eDP-1 sauron:~$ xrandr --auto sauron:~$ xrandr --listactivemonitors Monitors: 2 0: +*eDP-1 3840/382x2160/214+0+0 eDP-1 1: +HDMI-1-1 2560/641x1600/400+3840+0 HDMI-1-1 moving to new window moves the mouse, but not windows get displayed. Thanks, Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Home page: http://marc.merlins.org/
Ilia Mirkin
2020-May-29 18:53 UTC
[Nouveau] 5.5 kernel: using nouveau or something else just long enough to turn off Quadro RTX 4000 Mobile for hybrid graphics?
On Fri, May 29, 2020 at 2:35 PM Marc MERLIN <marc_nouveau at merlins.org> wrote:> > Howdy, > > So, I have a Thinkpad P70 with hybrid graphics. > 01:00.0 VGA compatible controller: NVIDIA Corporation GM107GLM [Quadro M600M] (rev a2) > that one works fine, I can use i915 for the main screen, and nouveau to > display on the external ports (external ports are only wired to nvidia > chip, so it's impossible to use them without turning the nvidia chip > on). > > I now got a newer P73 also with the same hybrid graphics (setup as such > in the bios). It runs fine with i915, and I don't need to use external > display with nouveau for now (it almost works, but I only see the mouse > cursor on the external screen, no window or anything else can get > displayed, very weird). > 01:00.0 VGA compatible controller: NVIDIA Corporation TU104GLM [Quadro RTX 4000 Mobile / Max-Q] (rev a1) > > What I need for now is either nouveau, or bbswitch if it still works to > turn the nvidia chip off every time I power on/reboot/plug/unplug > external power. > if I don't load the nouveau module, I get this in powertop: > Bad Runtime PM for PCI Device NVIDIA Corporation TU104GLM [Quadro RTX 4000 Mobile / Max-Q] > powertop cannot really turn it off and I get > The battery reports a discharge rate of 63.0 W > > If I load the nouveau driver, the chip gets turned off (great), but it's > unstable and hard crashes my laptop when I plug/unplug it from power > after a few times. > This is what I got in my logs after the last crash: > intel-lpss 0000:00:15.0: power state changed by ACPI to D3cold > intel-lpss 0000:00:15.1: power state changed by ACPI to D3cold > snd_hda_intel 0000:00:1f.3: PME# enabled > intel-lpss 0000:00:1e.0: power state changed by ACPI to D3cold > snd_hda_intel 0000:00:1f.3: power state changed by ACPI to D3hot > xhci_hcd 0000:01:00.2: PME# enabled > nvidia-gpu 0000:01:00.3: PME# enabled > pcieport 0000:05:00.0: PME# enabled > xhci_hcd 0000:2c:00.0: PME# enabled > pcieport 0000:05:02.0: PME# enabled > pcieport 0000:04:00.0: PME# enabled > pcieport 0000:00:1c.0: PME# enabled > pcieport 0000:00:1c.0: power state changed by ACPI to D3cold > nouveau 0000:01:00.0: power state changed by ACPI to D3cold > pcieport 0000:00:01.0: PME# enabled > pcieport 0000:00:01.0: power state changed by ACPI to D3cold > > I am using TLP to manage battery use, the driver might not like things getting turned off to save power > (although when it works, I can get the laptop down to 10W) > > Any suggestions on my best way to just keep the nvidia chip off reliably? > nouveau? bbswitch? other? > (and before you ask, no, you cannot turn it off in the bios, it's hybrid or nvidia only) > > > If that helps, here is what I got when I tried to use hybrid graphics to power an external > monitor (just pasting for completeness, I don't need this to work for now) > > pci 0000:01:00.0: optimus capabilities: enabled, status dynamic power, hda bios codec supported > VGA switcheroo: detected Optimus DSM method \_SB_.PCI0.PEG0.PEGP handle > nouveau: detected PR support, will not use DSM > nouveau 0000:01:00.0: runtime IRQ mapping not provided by arch > nouveau 0000:01:00.0: NVIDIA TU104 (164000a1) > nouveau 0000:01:00.0: bios: version 90.04.4d.00.2c > nouveau 0000:01:00.0: enabling bus mastering > nouveau 0000:01:00.0: fb: 8192 MiB GDDR6 > vga_switcheroo: enabled > [TTM] Zone kernel: Available graphics memory: 32730618 KiB > [TTM] Zone dma32: Available graphics memory: 2097152 KiB > [TTM] Initializing pool allocator > [TTM] Initializing DMA pool allocator > nouveau 0000:01:00.0: DRM: VRAM: 8192 MiB > nouveau 0000:01:00.0: DRM: GART: 536870912 MiB > nouveau 0000:01:00.0: DRM: BIT table 'A' not found > nouveau 0000:01:00.0: DRM: BIT table 'L' not found > nouveau 0000:01:00.0: DRM: TMDS table version 2.0 > nouveau 0000:01:00.0: DRM: DCB version 4.1 > nouveau 0000:01:00.0: DRM: DCB outp 00: 02800f66 04600020 > nouveau 0000:01:00.0: DRM: DCB outp 01: 02011f52 00020010 > nouveau 0000:01:00.0: DRM: DCB outp 02: 01022f36 04600010 > nouveau 0000:01:00.0: DRM: DCB outp 03: 04033f76 04600010 > nouveau 0000:01:00.0: DRM: DCB outp 04: 04044f86 04600020 > nouveau 0000:01:00.0: DRM: DCB conn 00: 00020047 > nouveau 0000:01:00.0: DRM: DCB conn 01: 00010161 > nouveau 0000:01:00.0: DRM: DCB conn 02: 00001248 > nouveau 0000:01:00.0: DRM: DCB conn 03: 01000348 > nouveau 0000:01:00.0: DRM: DCB conn 04: 02000471 > nouveau 0000:01:00.0: DRM: failed to create kernel channel, -22 > nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies > nouveau 0000:01:00.0: DRM: unknown connector type 48 > nouveau 0000:01:00.0: DRM: unknown connector type 48 > [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). > [drm] Driver supports precise vblank timestamp query. > memmap_init_zone_device initialised 2097152 pages in 16ms > nouveau 0000:01:00.0: DRM: DMEM: registered 8192MB of device memory > nouveau 0000:01:00.0: DRM: allocated 2560x1600 fb: 0x200000, bo 0000000018f13ee1 > nouveau 0000:01:00.0: fb1: nouveaudrmfb frame buffer device > > sauron:~$ xrandr --setprovideroutputsource 1 0 > sauron:~$ xrandr --listactivemonitors > Monitors: 1 > 0: +*eDP-1 3840/382x2160/214+0+0 eDP-1 > > sauron:~$ xrandr --auto > sauron:~$ xrandr --listactivemonitors > Monitors: 2 > 0: +*eDP-1 3840/382x2160/214+0+0 eDP-1 > 1: +HDMI-1-1 2560/641x1600/400+3840+0 HDMI-1-1 > > moving to new window moves the mouse, but not windows get displayed.Do you see anything in dmesg after this is set up? I'd expect some errors about timeouts or something else. Which kernel are you using? There have been some turing-specific fixes recently. Also note that TLP has a problem where it forces the audio sub-function to always-on which prevents the GPU from suspending. Cheers, -ilia
Marc MERLIN
2020-May-29 19:46 UTC
[Nouveau] 5.5 kernel: using nouveau or something else just long enough to turn off Quadro RTX 4000 Mobile for hybrid graphics?
On Fri, May 29, 2020 at 02:53:51PM -0400, Ilia Mirkin wrote:> > moving to new window moves the mouse, but not windows get displayed. > > Do you see anything in dmesg after this is set up? I'd expect some > errors about timeouts or something else.Nothing other than what I pasted.> Which kernel are you using? There have been some turing-specific fixes recently.5.5.11. I can put 5.6 if needed.> Also note that TLP has a problem where it forces the audio > sub-function to always-on which prevents the GPU from suspending.Ah, thanks for that. I have #RUNTIME_PM_DRIVER_BLACKLIST="amdgpu mei_me nouveau nvidia pcieport radeon" sauron:~$ lspci |grep -i nvidia 01:00.0 VGA compatible controller: NVIDIA Corporation TU104GLM [Quadro RTX 4000 Mobile / Max-Q] (rev a1) 01:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1) 01:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1) 01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1) So you're saying that I need to blacklist 01:00.1 and without that it hangs when suspending the powered off nvidia chip, which is what I'm experiencing as a hang when I unplug power? Thanks, Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Home page: http://marc.merlins.org/
Apparently Analagous Threads
- 5.5 kernel: using nouveau or something else just long enough to turn off Quadro RTX 4000 Mobile for hybrid graphics?
- pcieport 0000:00:01.0: PME: Spurious native interrupt (nvidia with nouveau and thunderbolt on thinkpad P73)
- 5.5 kernel: using nouveau or something else just long enough to turn off Quadro RTX 4000 Mobile for hybrid graphics?
- pcieport 0000:00:01.0: PME: Spurious native interrupt (nvidia with nouveau and thunderbolt on thinkpad P73)
- pcieport 0000:00:01.0: PME: Spurious native interrupt (nvidia with nouveau and thunderbolt on thinkpad P73)