You are not logged in.

#1 2024-02-01 13:33:25

andyturfer
Member
Registered: 2021-01-08
Posts: 72

[SOLVED] Is it possible to disable the AMD dGPU on a laptop?

I have a laptop with a Ryzen 7 6800H with two AMD GPUs (an integrated AMD Radeon RX 680m, and a discrete AMD Radeon RX 6700m).

I have read about hybrid graphics here, but this seems to only apply to hybrid graphics where the dedicated GPU is an Nvidia GPU.

On another laptop I have with an Nvidia dGPU, I can power down the dGPU using envycontrol or optimus-manager (or using acpi_call).

Details of my laptop's GPUs:

# lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {}

03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] (rev cf) (prog-if 00 [VGA controller])
        DeviceName: Realtek
        Subsystem: Lenovo Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
        Flags: bus master, fast devsel, latency 0, IRQ 131
        Memory at 7c00000000 (64-bit, prefetchable) [size=16G]
        Memory at 8000000000 (64-bit, prefetchable) [size=256M]
        I/O ports at 5000 [size=256]
        Memory at b8c00000 (32-bit, non-prefetchable) [size=1M]
        Expansion ROM at b8d20000 [disabled] [size=128K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [64] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting
        Capabilities: [200] Physical Resizable BAR
        Capabilities: [240] Power Budgeting <?>
        Capabilities: [270] Secondary PCI Express
        Capabilities: [2a0] Access Control Services
        Capabilities: [2d0] Process Address Space ID (PASID)
        Capabilities: [320] Latency Tolerance Reporting
        Capabilities: [410] Physical Layer 16.0 GT/s <?>
        Capabilities: [440] Lane Margining at the Receiver <?>
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu

37:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M] (rev c8) (prog-if 00 [VGA controller])
        Subsystem: Lenovo Rembrandt [Radeon 680M]
        Flags: bus master, fast devsel, latency 0, IRQ 49
        Memory at 8040000000 (64-bit, prefetchable) [size=256M]
        Memory at 8050000000 (64-bit, prefetchable) [size=2M]
        I/O ports at 1000 [size=256]
        Memory at b8700000 (32-bit, non-prefetchable) [size=512K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [64] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable- Count=1/4 Maskable- 64bit+
        Capabilities: [c0] MSI-X: Enable+ Count=4 Masked-
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [270] Secondary PCI Express
        Capabilities: [2a0] Access Control Services
        Capabilities: [2b0] Address Translation Service (ATS)
        Capabilities: [2c0] Page Request Interface (PRI)
        Capabilities: [2d0] Process Address Space ID (PASID)
        Capabilities: [410] Physical Layer 16.0 GT/s <?>
        Capabilities: [450] Lane Margining at the Receiver <?>
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu

The Radeon RX 6700m does power down automatically (which is great), but certain programs wake it up - even if only for 5 or so seconds (three examples are Telegram, Slack and nvtop).

Is there any way to completely power down the AMD dGPU so nothing wakes it up (similar to how envycontrol and optimus-manager do this when you select "integrated graphics")?

Last edited by andyturfer (2024-03-03 00:56:22)

Offline

#2 2024-02-01 16:12:35

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,754

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

envycontrol and optimus-manager can do so because they can unload the nvidia kernel module without repercussions, which in your case would break your integrated gpu as well.

Random guess, try globally (or at least for the specific tools giviing you this issue) setting DRI_PRIME= to the pci id of your integrated gpu. https://docs.mesa3d.org/envvars.html#envvar-DRI_PRIME i.e.

DRI_PRIME=pci-0000_37_00_0 

Offline

#3 2024-02-29 15:35:39

andyturfer
Member
Registered: 2021-01-08
Posts: 72

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

I tried DRI_PRIME=pci-0000_37_00_0, unfortunately it didn't work.

Offline

#4 2024-02-29 15:43:32

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,754

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

You could alias the vid:pid of the dedicated GPU so it doesn't load amdgpu for the dedicated card, similar to: https://bbs.archlinux.org/viewtopic.php?id=290580

so in some /etc/modprobe.d/don'tloadamdgpu.conf

alias $VID:$PID amdgpu

you'll find vid and pid from lspci -nn and the exact format of the alias command e.g. from a modinfo amdgpu

Offline

#5 2024-03-02 15:07:29

andyturfer
Member
Registered: 2021-01-08
Posts: 72

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

Output from lspci -nn:

$ lspci -nn | grep -i vga
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev cf)
37:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M] [1002:1681] (rev c8)

The output from modinfo amdgpu has many aliases:

...
alias:          pci:v00001002d*sv*sd*bc12sc00i00*
alias:          pci:v00001002d*sv*sd*bc03sc80i00*
alias:          pci:v00001002d*sv*sd*bc03sc00i00*
alias:          pci:v00001002d0000743Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00007424sv*sd*bc*sc*i*
alias:          pci:v00001002d00007423sv*sd*bc*sc*i*
alias:          pci:v00001002d00007422sv*sd*bc*sc*i*
alias:          pci:v00001002d00007421sv*sd*bc*sc*i*
alias:          pci:v00001002d00007420sv*sd*bc*sc*i*
alias:          pci:v00001002d0000143Fsv*sd*bc*sc*i*
alias:          pci:v00001002d000013FEsv*sd*bc*sc*i*
alias:          pci:v00001002d00007410sv*sd*bc*sc*i*
alias:          pci:v00001002d0000740Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000740Csv*sd*bc*sc*i*
alias:          pci:v00001002d00007408sv*sd*bc*sc*i*
alias:          pci:v00001002d000073FFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073EFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073EDsv*sd*bc*sc*i*
alias:          pci:v00001002d000073ECsv*sd*bc*sc*i*
alias:          pci:v00001002d000073EBsv*sd*bc*sc*i*
alias:          pci:v00001002d000073EAsv*sd*bc*sc*i*
alias:          pci:v00001002d000073E9sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E8sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E3sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E2sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E1sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E0sv*sd*bc*sc*i*
alias:          pci:v00001002d000073DFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DEsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DDsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DCsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DBsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DAsv*sd*bc*sc*i*
alias:          pci:v00001002d000073C3sv*sd*bc*sc*i*
alias:          pci:v00001002d000073C1sv*sd*bc*sc*i*
alias:          pci:v00001002d000073C0sv*sd*bc*sc*i*
alias:          pci:v00001002d00001681sv*sd*bc*sc*i*
alias:          pci:v00001002d0000164Dsv*sd*bc*sc*i*
alias:          pci:v00001002d000073BFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073AFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073AEsv*sd*bc*sc*i*
alias:          pci:v00001002d000073ADsv*sd*bc*sc*i*
alias:          pci:v00001002d000073ACsv*sd*bc*sc*i*
alias:          pci:v00001002d000073ABsv*sd*bc*sc*i*
alias:          pci:v00001002d000073A9sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A8sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A5sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A3sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A2sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A1sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A0sv*sd*bc*sc*i*
alias:          pci:v00001002d00007362sv*sd*bc*sc*i*
alias:          pci:v00001002d00007360sv*sd*bc*sc*i*
alias:          pci:v00001002d0000164Csv*sd*bc*sc*i*
alias:          pci:v00001002d00001638sv*sd*bc*sc*i*
alias:          pci:v00001002d00001636sv*sd*bc*sc*i*
alias:          pci:v00001002d000015E7sv*sd*bc*sc*i*
alias:          pci:v00001002d0000734Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00007347sv*sd*bc*sc*i*
alias:          pci:v00001002d00007341sv*sd*bc*sc*i*
alias:          pci:v00001002d00007340sv*sd*bc*sc*i*
alias:          pci:v00001002d0000731Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000731Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000731Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000731Asv*sd*bc*sc*i*
alias:          pci:v00001002d00007319sv*sd*bc*sc*i*
alias:          pci:v00001002d00007318sv*sd*bc*sc*i*
alias:          pci:v00001002d00007312sv*sd*bc*sc*i*
alias:          pci:v00001002d00007310sv*sd*bc*sc*i*
alias:          pci:v00001002d00007390sv*sd*bc*sc*i*
alias:          pci:v00001002d0000738Esv*sd*bc*sc*i*
alias:          pci:v00001002d00007388sv*sd*bc*sc*i*
alias:          pci:v00001002d0000738Csv*sd*bc*sc*i*
alias:          pci:v00001002d000015D8sv*sd*bc*sc*i*
alias:          pci:v00001002d000015DDsv*sd*bc*sc*i*
alias:          pci:v00001002d000066AFsv*sd*bc*sc*i*
alias:          pci:v00001002d000066A7sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A4sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A3sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A2sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A1sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A0sv*sd*bc*sc*i*
alias:          pci:v00001002d000069AFsv*sd*bc*sc*i*
alias:          pci:v00001002d000069A3sv*sd*bc*sc*i*
alias:          pci:v00001002d000069A2sv*sd*bc*sc*i*
alias:          pci:v00001002d000069A1sv*sd*bc*sc*i*
alias:          pci:v00001002d000069A0sv*sd*bc*sc*i*
alias:          pci:v00001002d0000687Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Asv*sd*bc*sc*i*
alias:          pci:v00001002d00006869sv*sd*bc*sc*i*
alias:          pci:v00001002d00006868sv*sd*bc*sc*i*
alias:          pci:v00001002d00006867sv*sd*bc*sc*i*
alias:          pci:v00001002d00006864sv*sd*bc*sc*i*
alias:          pci:v00001002d00006863sv*sd*bc*sc*i*
alias:          pci:v00001002d00006862sv*sd*bc*sc*i*
alias:          pci:v00001002d00006861sv*sd*bc*sc*i*
alias:          pci:v00001002d00006860sv*sd*bc*sc*i*
alias:          pci:v00001002d0000694Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000694Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000694Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000699Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00006997sv*sd*bc*sc*i*
alias:          pci:v00001002d00006995sv*sd*bc*sc*i*
alias:          pci:v00001002d00006987sv*sd*bc*sc*i*
alias:          pci:v00001002d00006986sv*sd*bc*sc*i*
alias:          pci:v00001002d00006985sv*sd*bc*sc*i*
alias:          pci:v00001002d00006981sv*sd*bc*sc*i*
alias:          pci:v00001002d00006980sv*sd*bc*sc*i*
alias:          pci:v00001002d00006FDFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067CFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067CCsv*sd*bc*sc*i*
alias:          pci:v00001002d000067CAsv*sd*bc*sc*i*
alias:          pci:v00001002d000067C9sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C8sv*sd*bc*sc*i*
alias:          pci:v00001002d000067DFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067D0sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C7sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C4sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C2sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C1sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C0sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E9sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E7sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E1sv*sd*bc*sc*i*
alias:          pci:v00001002d000067FFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067EFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067EBsv*sd*bc*sc*i*
alias:          pci:v00001002d000067E8sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E3sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E0sv*sd*bc*sc*i*
alias:          pci:v00001002d000098E4sv*sd*bc*sc*i*
alias:          pci:v00001002d00009877sv*sd*bc*sc*i*
alias:          pci:v00001002d00009876sv*sd*bc*sc*i*
alias:          pci:v00001002d00009875sv*sd*bc*sc*i*
alias:          pci:v00001002d00009874sv*sd*bc*sc*i*
alias:          pci:v00001002d00009870sv*sd*bc*sc*i*
alias:          pci:v00001002d0000730Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00007300sv*sd*bc*sc*i*
alias:          pci:v00001002d00006939sv*sd*bc*sc*i*
alias:          pci:v00001002d00006938sv*sd*bc*sc*i*
alias:          pci:v00001002d00006930sv*sd*bc*sc*i*
alias:          pci:v00001002d0000692Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000692Bsv*sd*bc*sc*i*
alias:          pci:v00001002d00006929sv*sd*bc*sc*i*
alias:          pci:v00001002d00006928sv*sd*bc*sc*i*
alias:          pci:v00001002d00006921sv*sd*bc*sc*i*
alias:          pci:v00001002d00006920sv*sd*bc*sc*i*
alias:          pci:v00001002d00006907sv*sd*bc*sc*i*
alias:          pci:v00001002d00006903sv*sd*bc*sc*i*
alias:          pci:v00001002d00006902sv*sd*bc*sc*i*
alias:          pci:v00001002d00006901sv*sd*bc*sc*i*
alias:          pci:v00001002d00006900sv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Asv*sd*bc*sc*i*
alias:          pci:v00001002d00009859sv*sd*bc*sc*i*
alias:          pci:v00001002d00009858sv*sd*bc*sc*i*
alias:          pci:v00001002d00009857sv*sd*bc*sc*i*
alias:          pci:v00001002d00009856sv*sd*bc*sc*i*
alias:          pci:v00001002d00009855sv*sd*bc*sc*i*
alias:          pci:v00001002d00009854sv*sd*bc*sc*i*
alias:          pci:v00001002d00009853sv*sd*bc*sc*i*
alias:          pci:v00001002d00009852sv*sd*bc*sc*i*
alias:          pci:v00001002d00009851sv*sd*bc*sc*i*
alias:          pci:v00001002d00009850sv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Asv*sd*bc*sc*i*
alias:          pci:v00001002d00009839sv*sd*bc*sc*i*
alias:          pci:v00001002d00009838sv*sd*bc*sc*i*
alias:          pci:v00001002d00009837sv*sd*bc*sc*i*
alias:          pci:v00001002d00009836sv*sd*bc*sc*i*
alias:          pci:v00001002d00009835sv*sd*bc*sc*i*
alias:          pci:v00001002d00009834sv*sd*bc*sc*i*
alias:          pci:v00001002d00009833sv*sd*bc*sc*i*
alias:          pci:v00001002d00009832sv*sd*bc*sc*i*
alias:          pci:v00001002d00009831sv*sd*bc*sc*i*
alias:          pci:v00001002d00009830sv*sd*bc*sc*i*
alias:          pci:v00001002d000067BEsv*sd*bc*sc*i*
alias:          pci:v00001002d000067BAsv*sd*bc*sc*i*
alias:          pci:v00001002d000067B9sv*sd*bc*sc*i*
alias:          pci:v00001002d000067B8sv*sd*bc*sc*i*
alias:          pci:v00001002d000067B1sv*sd*bc*sc*i*
alias:          pci:v00001002d000067B0sv*sd*bc*sc*i*
alias:          pci:v00001002d000067AAsv*sd*bc*sc*i*
alias:          pci:v00001002d000067A9sv*sd*bc*sc*i*
alias:          pci:v00001002d000067A8sv*sd*bc*sc*i*
alias:          pci:v00001002d000067A2sv*sd*bc*sc*i*
alias:          pci:v00001002d000067A1sv*sd*bc*sc*i*
alias:          pci:v00001002d000067A0sv*sd*bc*sc*i*
alias:          pci:v00001002d0000665Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000665Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000665Csv*sd*bc*sc*i*
alias:          pci:v00001002d00006658sv*sd*bc*sc*i*
alias:          pci:v00001002d00006651sv*sd*bc*sc*i*
alias:          pci:v00001002d00006650sv*sd*bc*sc*i*
alias:          pci:v00001002d00006649sv*sd*bc*sc*i*
alias:          pci:v00001002d00006647sv*sd*bc*sc*i*
alias:          pci:v00001002d00006646sv*sd*bc*sc*i*
alias:          pci:v00001002d00006641sv*sd*bc*sc*i*
alias:          pci:v00001002d00006640sv*sd*bc*sc*i*
alias:          pci:v00001002d0000131Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000131Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000131Bsv*sd*bc*sc*i*
alias:          pci:v00001002d00001318sv*sd*bc*sc*i*
alias:          pci:v00001002d00001317sv*sd*bc*sc*i*
alias:          pci:v00001002d00001316sv*sd*bc*sc*i*
alias:          pci:v00001002d00001315sv*sd*bc*sc*i*
alias:          pci:v00001002d00001313sv*sd*bc*sc*i*
alias:          pci:v00001002d00001312sv*sd*bc*sc*i*
alias:          pci:v00001002d00001311sv*sd*bc*sc*i*
alias:          pci:v00001002d00001310sv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Asv*sd*bc*sc*i*
alias:          pci:v00001002d00001309sv*sd*bc*sc*i*
alias:          pci:v00001002d00001307sv*sd*bc*sc*i*
alias:          pci:v00001002d00001306sv*sd*bc*sc*i*
alias:          pci:v00001002d00001305sv*sd*bc*sc*i*
alias:          pci:v00001002d00001304sv*sd*bc*sc*i*
alias:          pci:v00001002d0000666Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00006667sv*sd*bc*sc*i*
alias:          pci:v00001002d00006665sv*sd*bc*sc*i*
alias:          pci:v00001002d00006664sv*sd*bc*sc*i*
alias:          pci:v00001002d00006663sv*sd*bc*sc*i*
alias:          pci:v00001002d00006660sv*sd*bc*sc*i*
alias:          pci:v00001002d0000683Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000683Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000683Bsv*sd*bc*sc*i*
alias:          pci:v00001002d00006839sv*sd*bc*sc*i*
alias:          pci:v00001002d00006838sv*sd*bc*sc*i*
alias:          pci:v00001002d00006837sv*sd*bc*sc*i*
alias:          pci:v00001002d00006835sv*sd*bc*sc*i*
alias:          pci:v00001002d00006831sv*sd*bc*sc*i*
alias:          pci:v00001002d00006830sv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Asv*sd*bc*sc*i*
alias:          pci:v00001002d00006829sv*sd*bc*sc*i*
alias:          pci:v00001002d00006828sv*sd*bc*sc*i*
alias:          pci:v00001002d00006827sv*sd*bc*sc*i*
alias:          pci:v00001002d00006826sv*sd*bc*sc*i*
alias:          pci:v00001002d00006825sv*sd*bc*sc*i*
alias:          pci:v00001002d00006824sv*sd*bc*sc*i*
alias:          pci:v00001002d00006823sv*sd*bc*sc*i*
alias:          pci:v00001002d00006822sv*sd*bc*sc*i*
alias:          pci:v00001002d00006821sv*sd*bc*sc*i*
alias:          pci:v00001002d00006820sv*sd*bc*sc*i*
alias:          pci:v00001002d00006631sv*sd*bc*sc*i*
alias:          pci:v00001002d00006623sv*sd*bc*sc*i*
alias:          pci:v00001002d00006621sv*sd*bc*sc*i*
alias:          pci:v00001002d00006620sv*sd*bc*sc*i*
alias:          pci:v00001002d00006617sv*sd*bc*sc*i*
alias:          pci:v00001002d00006613sv*sd*bc*sc*i*
alias:          pci:v00001002d00006611sv*sd*bc*sc*i*
alias:          pci:v00001002d00006610sv*sd*bc*sc*i*
alias:          pci:v00001002d00006608sv*sd*bc*sc*i*
alias:          pci:v00001002d00006607sv*sd*bc*sc*i*
alias:          pci:v00001002d00006606sv*sd*bc*sc*i*
alias:          pci:v00001002d00006605sv*sd*bc*sc*i*
alias:          pci:v00001002d00006604sv*sd*bc*sc*i*
alias:          pci:v00001002d00006603sv*sd*bc*sc*i*
alias:          pci:v00001002d00006602sv*sd*bc*sc*i*
alias:          pci:v00001002d00006601sv*sd*bc*sc*i*
alias:          pci:v00001002d00006600sv*sd*bc*sc*i*
alias:          pci:v00001002d00006819sv*sd*bc*sc*i*
alias:          pci:v00001002d00006818sv*sd*bc*sc*i*
alias:          pci:v00001002d00006817sv*sd*bc*sc*i*
alias:          pci:v00001002d00006816sv*sd*bc*sc*i*
alias:          pci:v00001002d00006811sv*sd*bc*sc*i*
alias:          pci:v00001002d00006810sv*sd*bc*sc*i*
alias:          pci:v00001002d00006809sv*sd*bc*sc*i*
alias:          pci:v00001002d00006808sv*sd*bc*sc*i*
alias:          pci:v00001002d00006806sv*sd*bc*sc*i*
alias:          pci:v00001002d00006802sv*sd*bc*sc*i*
alias:          pci:v00001002d00006801sv*sd*bc*sc*i*
alias:          pci:v00001002d00006800sv*sd*bc*sc*i*
alias:          pci:v00001002d0000679Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000679Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000679Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000679Asv*sd*bc*sc*i*
alias:          pci:v00001002d00006799sv*sd*bc*sc*i*
alias:          pci:v00001002d00006798sv*sd*bc*sc*i*
alias:          pci:v00001002d00006792sv*sd*bc*sc*i*
alias:          pci:v00001002d00006791sv*sd*bc*sc*i*
alias:          pci:v00001002d00006790sv*sd*bc*sc*i*
alias:          pci:v00001002d0000678Asv*sd*bc*sc*i*
alias:          pci:v00001002d00006788sv*sd*bc*sc*i*
alias:          pci:v00001002d00006784sv*sd*bc*sc*i*
alias:          pci:v00001002d00006780sv*sd*bc*sc*i*
...

I'm guessing the alias I'm interested in is the one containing "73df":

$ modinfo amdgpu | grep -i 73df
alias:          pci:v00001002d000073DFsv*sd*bc*sc*i*

I then created /etc/modprobe.d/igpumode.conf:

$ cat /etc/modprobe.d/igpumode.conf 
alias pci:v00001002d000073DFsv*sd*bc*sc*i* amdgpu

Unfortuantely, this didn't work - after rebooting, the dGPU is still polled and is still powered on by certain apps. I can confirm the dGPU powers on by using this in a terminal pane:

watch -n1 -d -t cat /sys/bus/pci/devices/0000\:01\:00.0/power/runtime_status

Is the format I'm using for the $VID:$PID correct?

Last edited by andyturfer (2024-03-02 15:45:39)

Offline

#6 2024-03-02 15:15:12

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,754

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

Do a

modprobe -R amdgpu

it should tell you the exact aliases in use on your system, then your modprobe conf would use

alias $integratedGPUalias amdgpu

Offline

#7 2024-03-02 15:39:11

andyturfer
Member
Registered: 2021-01-08
Posts: 72

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

# modprobe -R amdgpu
amdgpu

Do you mean modinfo amdgpu? The aliases listed from modinfo amdgpu are in my previous post. The complete output is:

# modinfo amdgpu
filename:       /lib/modules/6.7.6-arch1-2/kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko.zst
license:        GPL and additional rights
description:    AMD GPU
author:         AMD linux driver team
firmware:       amdgpu/navi12_gpu_info.bin
firmware:       amdgpu/arcturus_gpu_info.bin
firmware:       amdgpu/raven2_gpu_info.bin
firmware:       amdgpu/picasso_gpu_info.bin
firmware:       amdgpu/raven_gpu_info.bin
firmware:       amdgpu/vega12_gpu_info.bin
firmware:       amdgpu/vega10_gpu_info.bin
import_ns:      DMA_BUF
firmware:       amdgpu/ip_discovery.bin
firmware:       amdgpu/mullins_mec.bin
firmware:       amdgpu/mullins_rlc.bin
firmware:       amdgpu/mullins_ce.bin
firmware:       amdgpu/mullins_me.bin
firmware:       amdgpu/mullins_pfp.bin
firmware:       amdgpu/kabini_mec.bin
firmware:       amdgpu/kabini_rlc.bin
firmware:       amdgpu/kabini_ce.bin
firmware:       amdgpu/kabini_me.bin
firmware:       amdgpu/kabini_pfp.bin
firmware:       amdgpu/kaveri_mec2.bin
firmware:       amdgpu/kaveri_mec.bin
firmware:       amdgpu/kaveri_rlc.bin
firmware:       amdgpu/kaveri_ce.bin
firmware:       amdgpu/kaveri_me.bin
firmware:       amdgpu/kaveri_pfp.bin
firmware:       amdgpu/hawaii_mec.bin
firmware:       amdgpu/hawaii_rlc.bin
firmware:       amdgpu/hawaii_ce.bin
firmware:       amdgpu/hawaii_me.bin
firmware:       amdgpu/hawaii_pfp.bin
firmware:       amdgpu/bonaire_mec.bin
firmware:       amdgpu/bonaire_rlc.bin
firmware:       amdgpu/bonaire_ce.bin
firmware:       amdgpu/bonaire_me.bin
firmware:       amdgpu/bonaire_pfp.bin
firmware:       amdgpu/mullins_sdma1.bin
firmware:       amdgpu/mullins_sdma.bin
firmware:       amdgpu/kabini_sdma1.bin
firmware:       amdgpu/kabini_sdma.bin
firmware:       amdgpu/kaveri_sdma1.bin
firmware:       amdgpu/kaveri_sdma.bin
firmware:       amdgpu/hawaii_sdma1.bin
firmware:       amdgpu/hawaii_sdma.bin
firmware:       amdgpu/bonaire_sdma1.bin
firmware:       amdgpu/bonaire_sdma.bin
firmware:       amdgpu/si58_mc.bin
firmware:       amdgpu/hainan_mc.bin
firmware:       amdgpu/oland_mc.bin
firmware:       amdgpu/verde_mc.bin
firmware:       amdgpu/pitcairn_mc.bin
firmware:       amdgpu/tahiti_mc.bin
firmware:       amdgpu/hainan_rlc.bin
firmware:       amdgpu/hainan_ce.bin
firmware:       amdgpu/hainan_me.bin
firmware:       amdgpu/hainan_pfp.bin
firmware:       amdgpu/oland_rlc.bin
firmware:       amdgpu/oland_ce.bin
firmware:       amdgpu/oland_me.bin
firmware:       amdgpu/oland_pfp.bin
firmware:       amdgpu/verde_rlc.bin
firmware:       amdgpu/verde_ce.bin
firmware:       amdgpu/verde_me.bin
firmware:       amdgpu/verde_pfp.bin
firmware:       amdgpu/pitcairn_rlc.bin
firmware:       amdgpu/pitcairn_ce.bin
firmware:       amdgpu/pitcairn_me.bin
firmware:       amdgpu/pitcairn_pfp.bin
firmware:       amdgpu/tahiti_rlc.bin
firmware:       amdgpu/tahiti_ce.bin
firmware:       amdgpu/tahiti_me.bin
firmware:       amdgpu/tahiti_pfp.bin
firmware:       amdgpu/topaz_mc.bin
firmware:       amdgpu/hawaii_mc.bin
firmware:       amdgpu/bonaire_mc.bin
firmware:       amdgpu/polaris12_k_mc.bin
firmware:       amdgpu/polaris10_k_mc.bin
firmware:       amdgpu/polaris11_k_mc.bin
firmware:       amdgpu/polaris12_32_mc.bin
firmware:       amdgpu/polaris12_mc.bin
firmware:       amdgpu/polaris10_mc.bin
firmware:       amdgpu/polaris11_mc.bin
firmware:       amdgpu/tonga_mc.bin
firmware:       amdgpu/vega12_asd.bin
firmware:       amdgpu/vega12_sos.bin
firmware:       amdgpu/vega10_cap.bin
firmware:       amdgpu/vega10_asd.bin
firmware:       amdgpu/vega10_sos.bin
firmware:       amdgpu/raven_ta.bin
firmware:       amdgpu/raven2_ta.bin
firmware:       amdgpu/picasso_ta.bin
firmware:       amdgpu/raven2_asd.bin
firmware:       amdgpu/picasso_asd.bin
firmware:       amdgpu/raven_asd.bin
firmware:       amdgpu/beige_goby_ta.bin
firmware:       amdgpu/beige_goby_sos.bin
firmware:       amdgpu/dimgrey_cavefish_ta.bin
firmware:       amdgpu/dimgrey_cavefish_sos.bin
firmware:       amdgpu/vangogh_toc.bin
firmware:       amdgpu/vangogh_asd.bin
firmware:       amdgpu/navy_flounder_ta.bin
firmware:       amdgpu/navy_flounder_sos.bin
firmware:       amdgpu/sienna_cichlid_cap.bin
firmware:       amdgpu/sienna_cichlid_ta.bin
firmware:       amdgpu/sienna_cichlid_sos.bin
firmware:       amdgpu/arcturus_ta.bin
firmware:       amdgpu/arcturus_asd.bin
firmware:       amdgpu/arcturus_sos.bin
firmware:       amdgpu/navi12_cap.bin
firmware:       amdgpu/navi12_ta.bin
firmware:       amdgpu/navi12_asd.bin
firmware:       amdgpu/navi12_sos.bin
firmware:       amdgpu/navi14_ta.bin
firmware:       amdgpu/navi14_asd.bin
firmware:       amdgpu/navi14_sos.bin
firmware:       amdgpu/navi10_ta.bin
firmware:       amdgpu/navi10_asd.bin
firmware:       amdgpu/navi10_sos.bin
firmware:       amdgpu/vega20_ta.bin
firmware:       amdgpu/vega20_asd.bin
firmware:       amdgpu/vega20_sos.bin
firmware:       amdgpu/green_sardine_ta.bin
firmware:       amdgpu/green_sardine_asd.bin
firmware:       amdgpu/renoir_ta.bin
firmware:       amdgpu/renoir_asd.bin
firmware:       amdgpu/psp_14_0_0_ta.bin
firmware:       amdgpu/psp_14_0_0_toc.bin
firmware:       amdgpu/psp_13_0_6_ta.bin
firmware:       amdgpu/psp_13_0_6_sos.bin
firmware:       amdgpu/psp_13_0_11_ta.bin
firmware:       amdgpu/psp_13_0_11_toc.bin
firmware:       amdgpu/psp_13_0_10_ta.bin
firmware:       amdgpu/psp_13_0_10_sos.bin
firmware:       amdgpu/psp_13_0_7_ta.bin
firmware:       amdgpu/psp_13_0_7_sos.bin
firmware:       amdgpu/psp_13_0_0_ta.bin
firmware:       amdgpu/psp_13_0_0_sos.bin
firmware:       amdgpu/psp_13_0_8_ta.bin
firmware:       amdgpu/psp_13_0_8_toc.bin
firmware:       amdgpu/psp_13_0_5_ta.bin
firmware:       amdgpu/psp_13_0_5_toc.bin
firmware:       amdgpu/yellow_carp_ta.bin
firmware:       amdgpu/yellow_carp_toc.bin
firmware:       amdgpu/aldebaran_cap.bin
firmware:       amdgpu/aldebaran_ta.bin
firmware:       amdgpu/aldebaran_sos.bin
firmware:       amdgpu/psp_13_0_4_ta.bin
firmware:       amdgpu/psp_13_0_4_toc.bin
firmware:       amdgpu/vegam_rlc.bin
firmware:       amdgpu/vegam_mec2.bin
firmware:       amdgpu/vegam_mec.bin
firmware:       amdgpu/vegam_me.bin
firmware:       amdgpu/vegam_pfp.bin
firmware:       amdgpu/vegam_ce.bin
firmware:       amdgpu/polaris12_rlc.bin
firmware:       amdgpu/polaris12_mec2_2.bin
firmware:       amdgpu/polaris12_mec2.bin
firmware:       amdgpu/polaris12_mec_2.bin
firmware:       amdgpu/polaris12_mec.bin
firmware:       amdgpu/polaris12_me_2.bin
firmware:       amdgpu/polaris12_me.bin
firmware:       amdgpu/polaris12_pfp_2.bin
firmware:       amdgpu/polaris12_pfp.bin
firmware:       amdgpu/polaris12_ce_2.bin
firmware:       amdgpu/polaris12_ce.bin
firmware:       amdgpu/polaris11_rlc.bin
firmware:       amdgpu/polaris11_mec2_2.bin
firmware:       amdgpu/polaris11_mec2.bin
firmware:       amdgpu/polaris11_mec_2.bin
firmware:       amdgpu/polaris11_mec.bin
firmware:       amdgpu/polaris11_me_2.bin
firmware:       amdgpu/polaris11_me.bin
firmware:       amdgpu/polaris11_pfp_2.bin
firmware:       amdgpu/polaris11_pfp.bin
firmware:       amdgpu/polaris11_ce_2.bin
firmware:       amdgpu/polaris11_ce.bin
firmware:       amdgpu/polaris10_rlc.bin
firmware:       amdgpu/polaris10_mec2_2.bin
firmware:       amdgpu/polaris10_mec2.bin
firmware:       amdgpu/polaris10_mec_2.bin
firmware:       amdgpu/polaris10_mec.bin
firmware:       amdgpu/polaris10_me_2.bin
firmware:       amdgpu/polaris10_me.bin
firmware:       amdgpu/polaris10_pfp_2.bin
firmware:       amdgpu/polaris10_pfp.bin
firmware:       amdgpu/polaris10_ce_2.bin
firmware:       amdgpu/polaris10_ce.bin
firmware:       amdgpu/fiji_rlc.bin
firmware:       amdgpu/fiji_mec2.bin
firmware:       amdgpu/fiji_mec.bin
firmware:       amdgpu/fiji_me.bin
firmware:       amdgpu/fiji_pfp.bin
firmware:       amdgpu/fiji_ce.bin
firmware:       amdgpu/topaz_rlc.bin
firmware:       amdgpu/topaz_mec.bin
firmware:       amdgpu/topaz_me.bin
firmware:       amdgpu/topaz_pfp.bin
firmware:       amdgpu/topaz_ce.bin
firmware:       amdgpu/tonga_rlc.bin
firmware:       amdgpu/tonga_mec2.bin
firmware:       amdgpu/tonga_mec.bin
firmware:       amdgpu/tonga_me.bin
firmware:       amdgpu/tonga_pfp.bin
firmware:       amdgpu/tonga_ce.bin
firmware:       amdgpu/stoney_rlc.bin
firmware:       amdgpu/stoney_mec.bin
firmware:       amdgpu/stoney_me.bin
firmware:       amdgpu/stoney_pfp.bin
firmware:       amdgpu/stoney_ce.bin
firmware:       amdgpu/carrizo_rlc.bin
firmware:       amdgpu/carrizo_mec2.bin
firmware:       amdgpu/carrizo_mec.bin
firmware:       amdgpu/carrizo_me.bin
firmware:       amdgpu/carrizo_pfp.bin
firmware:       amdgpu/carrizo_ce.bin
firmware:       amdgpu/aldebaran_sjt_mec2.bin
firmware:       amdgpu/aldebaran_sjt_mec.bin
firmware:       amdgpu/aldebaran_rlc.bin
firmware:       amdgpu/aldebaran_mec2.bin
firmware:       amdgpu/aldebaran_mec.bin
firmware:       amdgpu/green_sardine_rlc.bin
firmware:       amdgpu/green_sardine_mec2.bin
firmware:       amdgpu/green_sardine_mec.bin
firmware:       amdgpu/green_sardine_me.bin
firmware:       amdgpu/green_sardine_pfp.bin
firmware:       amdgpu/green_sardine_ce.bin
firmware:       amdgpu/renoir_rlc.bin
firmware:       amdgpu/renoir_mec.bin
firmware:       amdgpu/renoir_me.bin
firmware:       amdgpu/renoir_pfp.bin
firmware:       amdgpu/renoir_ce.bin
firmware:       amdgpu/arcturus_rlc.bin
firmware:       amdgpu/arcturus_mec.bin
firmware:       amdgpu/raven_kicker_rlc.bin
firmware:       amdgpu/raven2_rlc.bin
firmware:       amdgpu/raven2_mec2.bin
firmware:       amdgpu/raven2_mec.bin
firmware:       amdgpu/raven2_me.bin
firmware:       amdgpu/raven2_pfp.bin
firmware:       amdgpu/raven2_ce.bin
firmware:       amdgpu/picasso_rlc_am4.bin
firmware:       amdgpu/picasso_rlc.bin
firmware:       amdgpu/picasso_mec2.bin
firmware:       amdgpu/picasso_mec.bin
firmware:       amdgpu/picasso_me.bin
firmware:       amdgpu/picasso_pfp.bin
firmware:       amdgpu/picasso_ce.bin
firmware:       amdgpu/raven_rlc.bin
firmware:       amdgpu/raven_mec2.bin
firmware:       amdgpu/raven_mec.bin
firmware:       amdgpu/raven_me.bin
firmware:       amdgpu/raven_pfp.bin
firmware:       amdgpu/raven_ce.bin
firmware:       amdgpu/vega20_rlc.bin
firmware:       amdgpu/vega20_mec2.bin
firmware:       amdgpu/vega20_mec.bin
firmware:       amdgpu/vega20_me.bin
firmware:       amdgpu/vega20_pfp.bin
firmware:       amdgpu/vega20_ce.bin
firmware:       amdgpu/vega12_rlc.bin
firmware:       amdgpu/vega12_mec2.bin
firmware:       amdgpu/vega12_mec.bin
firmware:       amdgpu/vega12_me.bin
firmware:       amdgpu/vega12_pfp.bin
firmware:       amdgpu/vega12_ce.bin
firmware:       amdgpu/vega10_rlc.bin
firmware:       amdgpu/vega10_mec2.bin
firmware:       amdgpu/vega10_mec.bin
firmware:       amdgpu/vega10_me.bin
firmware:       amdgpu/vega10_pfp.bin
firmware:       amdgpu/vega10_ce.bin
firmware:       amdgpu/gc_9_4_3_rlc.bin
firmware:       amdgpu/gc_9_4_3_mec.bin
firmware:       amdgpu/gc_10_3_7_rlc.bin
firmware:       amdgpu/gc_10_3_7_mec2.bin
firmware:       amdgpu/gc_10_3_7_mec.bin
firmware:       amdgpu/gc_10_3_7_me.bin
firmware:       amdgpu/gc_10_3_7_pfp.bin
firmware:       amdgpu/gc_10_3_7_ce.bin
firmware:       amdgpu/gc_10_3_6_rlc.bin
firmware:       amdgpu/gc_10_3_6_mec2.bin
firmware:       amdgpu/gc_10_3_6_mec.bin
firmware:       amdgpu/gc_10_3_6_me.bin
firmware:       amdgpu/gc_10_3_6_pfp.bin
firmware:       amdgpu/gc_10_3_6_ce.bin
firmware:       amdgpu/cyan_skillfish2_rlc.bin
firmware:       amdgpu/cyan_skillfish2_mec2.bin
firmware:       amdgpu/cyan_skillfish2_mec.bin
firmware:       amdgpu/cyan_skillfish2_me.bin
firmware:       amdgpu/cyan_skillfish2_pfp.bin
firmware:       amdgpu/cyan_skillfish2_ce.bin
firmware:       amdgpu/yellow_carp_rlc.bin
firmware:       amdgpu/yellow_carp_mec2.bin
firmware:       amdgpu/yellow_carp_mec.bin
firmware:       amdgpu/yellow_carp_me.bin
firmware:       amdgpu/yellow_carp_pfp.bin
firmware:       amdgpu/yellow_carp_ce.bin
firmware:       amdgpu/beige_goby_rlc.bin
firmware:       amdgpu/beige_goby_mec2.bin
firmware:       amdgpu/beige_goby_mec.bin
firmware:       amdgpu/beige_goby_me.bin
firmware:       amdgpu/beige_goby_pfp.bin
firmware:       amdgpu/beige_goby_ce.bin
firmware:       amdgpu/dimgrey_cavefish_rlc.bin
firmware:       amdgpu/dimgrey_cavefish_mec2.bin
firmware:       amdgpu/dimgrey_cavefish_mec.bin
firmware:       amdgpu/dimgrey_cavefish_me.bin
firmware:       amdgpu/dimgrey_cavefish_pfp.bin
firmware:       amdgpu/dimgrey_cavefish_ce.bin
firmware:       amdgpu/vangogh_rlc.bin
firmware:       amdgpu/vangogh_mec2.bin
firmware:       amdgpu/vangogh_mec.bin
firmware:       amdgpu/vangogh_me.bin
firmware:       amdgpu/vangogh_pfp.bin
firmware:       amdgpu/vangogh_ce.bin
firmware:       amdgpu/navy_flounder_rlc.bin
firmware:       amdgpu/navy_flounder_mec2.bin
firmware:       amdgpu/navy_flounder_mec.bin
firmware:       amdgpu/navy_flounder_me.bin
firmware:       amdgpu/navy_flounder_pfp.bin
firmware:       amdgpu/navy_flounder_ce.bin
firmware:       amdgpu/sienna_cichlid_rlc.bin
firmware:       amdgpu/sienna_cichlid_mec2.bin
firmware:       amdgpu/sienna_cichlid_mec.bin
firmware:       amdgpu/sienna_cichlid_me.bin
firmware:       amdgpu/sienna_cichlid_pfp.bin
firmware:       amdgpu/sienna_cichlid_ce.bin
firmware:       amdgpu/navi12_rlc.bin
firmware:       amdgpu/navi12_mec2.bin
firmware:       amdgpu/navi12_mec.bin
firmware:       amdgpu/navi12_me.bin
firmware:       amdgpu/navi12_pfp.bin
firmware:       amdgpu/navi12_ce.bin
firmware:       amdgpu/navi14_rlc.bin
firmware:       amdgpu/navi14_mec2.bin
firmware:       amdgpu/navi14_mec.bin
firmware:       amdgpu/navi14_me.bin
firmware:       amdgpu/navi14_pfp.bin
firmware:       amdgpu/navi14_ce.bin
firmware:       amdgpu/navi14_mec2_wks.bin
firmware:       amdgpu/navi14_mec_wks.bin
firmware:       amdgpu/navi14_me_wks.bin
firmware:       amdgpu/navi14_pfp_wks.bin
firmware:       amdgpu/navi14_ce_wks.bin
firmware:       amdgpu/navi10_rlc.bin
firmware:       amdgpu/navi10_mec2.bin
firmware:       amdgpu/navi10_mec.bin
firmware:       amdgpu/navi10_me.bin
firmware:       amdgpu/navi10_pfp.bin
firmware:       amdgpu/navi10_ce.bin
firmware:       amdgpu/gc_11_5_0_imu.bin
firmware:       amdgpu/gc_11_0_4_imu.bin
firmware:       amdgpu/gc_11_0_3_imu.bin
firmware:       amdgpu/gc_11_0_2_imu.bin
firmware:       amdgpu/gc_11_0_1_imu.bin
firmware:       amdgpu/gc_11_0_0_imu.bin
firmware:       amdgpu/gc_11_5_0_rlc.bin
firmware:       amdgpu/gc_11_5_0_mec.bin
firmware:       amdgpu/gc_11_5_0_me.bin
firmware:       amdgpu/gc_11_5_0_pfp.bin
firmware:       amdgpu/gc_11_0_4_rlc.bin
firmware:       amdgpu/gc_11_0_4_mec.bin
firmware:       amdgpu/gc_11_0_4_me.bin
firmware:       amdgpu/gc_11_0_4_pfp.bin
firmware:       amdgpu/gc_11_0_3_rlc.bin
firmware:       amdgpu/gc_11_0_3_mec.bin
firmware:       amdgpu/gc_11_0_3_me.bin
firmware:       amdgpu/gc_11_0_3_pfp.bin
firmware:       amdgpu/gc_11_0_2_rlc.bin
firmware:       amdgpu/gc_11_0_2_mec.bin
firmware:       amdgpu/gc_11_0_2_me.bin
firmware:       amdgpu/gc_11_0_2_pfp.bin
firmware:       amdgpu/gc_11_0_1_rlc.bin
firmware:       amdgpu/gc_11_0_1_mec.bin
firmware:       amdgpu/gc_11_0_1_me.bin
firmware:       amdgpu/gc_11_0_1_pfp.bin
firmware:       amdgpu/gc_11_0_0_toc.bin
firmware:       amdgpu/gc_11_0_0_rlc.bin
firmware:       amdgpu/gc_11_0_0_mec.bin
firmware:       amdgpu/gc_11_0_0_me.bin
firmware:       amdgpu/gc_11_0_0_pfp.bin
firmware:       amdgpu/topaz_sdma1.bin
firmware:       amdgpu/topaz_sdma.bin
firmware:       amdgpu/vegam_sdma1.bin
firmware:       amdgpu/vegam_sdma.bin
firmware:       amdgpu/polaris12_sdma1.bin
firmware:       amdgpu/polaris12_sdma.bin
firmware:       amdgpu/polaris11_sdma1.bin
firmware:       amdgpu/polaris11_sdma.bin
firmware:       amdgpu/polaris10_sdma1.bin
firmware:       amdgpu/polaris10_sdma.bin
firmware:       amdgpu/stoney_sdma.bin
firmware:       amdgpu/fiji_sdma1.bin
firmware:       amdgpu/fiji_sdma.bin
firmware:       amdgpu/carrizo_sdma1.bin
firmware:       amdgpu/carrizo_sdma.bin
firmware:       amdgpu/tonga_sdma1.bin
firmware:       amdgpu/tonga_sdma.bin
firmware:       amdgpu/aldebaran_sdma.bin
firmware:       amdgpu/green_sardine_sdma.bin
firmware:       amdgpu/renoir_sdma.bin
firmware:       amdgpu/arcturus_sdma.bin
firmware:       amdgpu/raven2_sdma.bin
firmware:       amdgpu/picasso_sdma.bin
firmware:       amdgpu/raven_sdma.bin
firmware:       amdgpu/vega20_sdma1.bin
firmware:       amdgpu/vega20_sdma.bin
firmware:       amdgpu/vega12_sdma1.bin
firmware:       amdgpu/vega12_sdma.bin
firmware:       amdgpu/vega10_sdma1.bin
firmware:       amdgpu/vega10_sdma.bin
firmware:       amdgpu/sdma_4_4_2.bin
firmware:       amdgpu/cyan_skillfish2_sdma1.bin
firmware:       amdgpu/cyan_skillfish2_sdma.bin
firmware:       amdgpu/navi12_sdma1.bin
firmware:       amdgpu/navi12_sdma.bin
firmware:       amdgpu/navi14_sdma1.bin
firmware:       amdgpu/navi14_sdma.bin
firmware:       amdgpu/navi10_sdma1.bin
firmware:       amdgpu/navi10_sdma.bin
firmware:       amdgpu/sdma_5_2_7.bin
firmware:       amdgpu/sdma_5_2_6.bin
firmware:       amdgpu/yellow_carp_sdma.bin
firmware:       amdgpu/vangogh_sdma.bin
firmware:       amdgpu/beige_goby_sdma.bin
firmware:       amdgpu/dimgrey_cavefish_sdma.bin
firmware:       amdgpu/navy_flounder_sdma.bin
firmware:       amdgpu/sienna_cichlid_sdma.bin
firmware:       amdgpu/sdma_6_1_0.bin
firmware:       amdgpu/sdma_6_0_3.bin
firmware:       amdgpu/sdma_6_0_2.bin
firmware:       amdgpu/sdma_6_0_1.bin
firmware:       amdgpu/sdma_6_0_0.bin
firmware:       amdgpu/sienna_cichlid_mes1.bin
firmware:       amdgpu/sienna_cichlid_mes.bin
firmware:       amdgpu/navi10_mes.bin
firmware:       amdgpu/gc_11_5_0_mes1.bin
firmware:       amdgpu/gc_11_5_0_mes_2.bin
firmware:       amdgpu/gc_11_0_4_mes1.bin
firmware:       amdgpu/gc_11_0_4_mes_2.bin
firmware:       amdgpu/gc_11_0_4_mes.bin
firmware:       amdgpu/gc_11_0_3_mes1.bin
firmware:       amdgpu/gc_11_0_3_mes_2.bin
firmware:       amdgpu/gc_11_0_3_mes.bin
firmware:       amdgpu/gc_11_0_2_mes1.bin
firmware:       amdgpu/gc_11_0_2_mes_2.bin
firmware:       amdgpu/gc_11_0_2_mes.bin
firmware:       amdgpu/gc_11_0_1_mes1.bin
firmware:       amdgpu/gc_11_0_1_mes_2.bin
firmware:       amdgpu/gc_11_0_1_mes.bin
firmware:       amdgpu/gc_11_0_0_mes1.bin
firmware:       amdgpu/gc_11_0_0_mes_2.bin
firmware:       amdgpu/gc_11_0_0_mes.bin
firmware:       amdgpu/vega20_uvd.bin
firmware:       amdgpu/vega12_uvd.bin
firmware:       amdgpu/vega10_uvd.bin
firmware:       amdgpu/vegam_uvd.bin
firmware:       amdgpu/polaris12_uvd.bin
firmware:       amdgpu/polaris11_uvd.bin
firmware:       amdgpu/polaris10_uvd.bin
firmware:       amdgpu/stoney_uvd.bin
firmware:       amdgpu/fiji_uvd.bin
firmware:       amdgpu/carrizo_uvd.bin
firmware:       amdgpu/tonga_uvd.bin
firmware:       amdgpu/mullins_uvd.bin
firmware:       amdgpu/hawaii_uvd.bin
firmware:       amdgpu/kaveri_uvd.bin
firmware:       amdgpu/kabini_uvd.bin
firmware:       amdgpu/bonaire_uvd.bin
firmware:       amdgpu/oland_uvd.bin
firmware:       amdgpu/pitcairn_uvd.bin
firmware:       amdgpu/verde_uvd.bin
firmware:       amdgpu/tahiti_uvd.bin
firmware:       amdgpu/vega20_vce.bin
firmware:       amdgpu/vega12_vce.bin
firmware:       amdgpu/vega10_vce.bin
firmware:       amdgpu/vegam_vce.bin
firmware:       amdgpu/polaris12_vce.bin
firmware:       amdgpu/polaris11_vce.bin
firmware:       amdgpu/polaris10_vce.bin
firmware:       amdgpu/stoney_vce.bin
firmware:       amdgpu/fiji_vce.bin
firmware:       amdgpu/carrizo_vce.bin
firmware:       amdgpu/tonga_vce.bin
firmware:       amdgpu/mullins_vce.bin
firmware:       amdgpu/hawaii_vce.bin
firmware:       amdgpu/kaveri_vce.bin
firmware:       amdgpu/kabini_vce.bin
firmware:       amdgpu/bonaire_vce.bin
firmware:       amdgpu/vcn_4_0_5.bin
firmware:       amdgpu/vcn_4_0_4.bin
firmware:       amdgpu/vcn_4_0_3.bin
firmware:       amdgpu/vcn_4_0_2.bin
firmware:       amdgpu/vcn_4_0_0.bin
firmware:       amdgpu/vcn_3_1_2.bin
firmware:       amdgpu/yellow_carp_vcn.bin
firmware:       amdgpu/beige_goby_vcn.bin
firmware:       amdgpu/dimgrey_cavefish_vcn.bin
firmware:       amdgpu/vangogh_vcn.bin
firmware:       amdgpu/navy_flounder_vcn.bin
firmware:       amdgpu/sienna_cichlid_vcn.bin
firmware:       amdgpu/navi12_vcn.bin
firmware:       amdgpu/navi14_vcn.bin
firmware:       amdgpu/navi10_vcn.bin
firmware:       amdgpu/aldebaran_vcn.bin
firmware:       amdgpu/green_sardine_vcn.bin
firmware:       amdgpu/renoir_vcn.bin
firmware:       amdgpu/arcturus_vcn.bin
firmware:       amdgpu/raven2_vcn.bin
firmware:       amdgpu/picasso_vcn.bin
firmware:       amdgpu/raven_vcn.bin
firmware:       amdgpu/vpe_6_1_0.bin
firmware:       amdgpu/beige_goby_smc.bin
firmware:       amdgpu/dimgrey_cavefish_smc.bin
firmware:       amdgpu/navy_flounder_smc.bin
firmware:       amdgpu/sienna_cichlid_smc.bin
firmware:       amdgpu/navi12_smc.bin
firmware:       amdgpu/navi14_smc.bin
firmware:       amdgpu/navi10_smc.bin
firmware:       amdgpu/arcturus_smc.bin
firmware:       amdgpu/smu_13_0_10.bin
firmware:       amdgpu/smu_13_0_7.bin
firmware:       amdgpu/smu_13_0_0.bin
firmware:       amdgpu/aldebaran_smc.bin
firmware:       amdgpu/smu_13_0_6.bin
firmware:       amdgpu/smu_14_0_2.bin
firmware:       amdgpu/vega20_smc.bin
firmware:       amdgpu/vega12_smc.bin
firmware:       amdgpu/vega10_acg_smc.bin
firmware:       amdgpu/vega10_smc.bin
firmware:       amdgpu/vegam_smc.bin
firmware:       amdgpu/polaris12_k_smc.bin
firmware:       amdgpu/polaris12_smc.bin
firmware:       amdgpu/polaris11_k2_smc.bin
firmware:       amdgpu/polaris11_k_smc.bin
firmware:       amdgpu/polaris11_smc_sk.bin
firmware:       amdgpu/polaris11_smc.bin
firmware:       amdgpu/polaris10_k2_smc.bin
firmware:       amdgpu/polaris10_k_smc.bin
firmware:       amdgpu/polaris10_smc_sk.bin
firmware:       amdgpu/polaris10_smc.bin
firmware:       amdgpu/fiji_smc.bin
firmware:       amdgpu/tonga_k_smc.bin
firmware:       amdgpu/tonga_smc.bin
firmware:       amdgpu/topaz_k_smc.bin
firmware:       amdgpu/topaz_smc.bin
firmware:       amdgpu/hawaii_k_smc.bin
firmware:       amdgpu/hawaii_smc.bin
firmware:       amdgpu/bonaire_k_smc.bin
firmware:       amdgpu/bonaire_smc.bin
firmware:       amdgpu/banks_k_2_smc.bin
firmware:       amdgpu/hainan_k_smc.bin
firmware:       amdgpu/hainan_smc.bin
firmware:       amdgpu/oland_k_smc.bin
firmware:       amdgpu/oland_smc.bin
firmware:       amdgpu/verde_k_smc.bin
firmware:       amdgpu/verde_smc.bin
firmware:       amdgpu/pitcairn_k_smc.bin
firmware:       amdgpu/pitcairn_smc.bin
firmware:       amdgpu/tahiti_smc.bin
firmware:       amdgpu/dcn_3_5_dmcub.bin
firmware:       amdgpu/navi12_dmcu.bin
firmware:       amdgpu/raven_dmcu.bin
firmware:       amdgpu/dcn_3_2_1_dmcub.bin
firmware:       amdgpu/dcn_3_2_0_dmcub.bin
firmware:       amdgpu/dcn_3_1_6_dmcub.bin
firmware:       amdgpu/dcn_3_1_5_dmcub.bin
firmware:       amdgpu/dcn_3_1_4_dmcub.bin
firmware:       amdgpu/yellow_carp_dmcub.bin
firmware:       amdgpu/beige_goby_dmcub.bin
firmware:       amdgpu/dimgrey_cavefish_dmcub.bin
firmware:       amdgpu/vangogh_dmcub.bin
firmware:       amdgpu/green_sardine_dmcub.bin
firmware:       amdgpu/navy_flounder_dmcub.bin
firmware:       amdgpu/sienna_cichlid_dmcub.bin
firmware:       amdgpu/renoir_dmcub.bin
srcversion:     201D4D972061CD23E633DBE
alias:          pci:v00001002d*sv*sd*bc12sc00i00*
alias:          pci:v00001002d*sv*sd*bc03sc80i00*
alias:          pci:v00001002d*sv*sd*bc03sc00i00*
alias:          pci:v00001002d0000743Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00007424sv*sd*bc*sc*i*
alias:          pci:v00001002d00007423sv*sd*bc*sc*i*
alias:          pci:v00001002d00007422sv*sd*bc*sc*i*
alias:          pci:v00001002d00007421sv*sd*bc*sc*i*
alias:          pci:v00001002d00007420sv*sd*bc*sc*i*
alias:          pci:v00001002d0000143Fsv*sd*bc*sc*i*
alias:          pci:v00001002d000013FEsv*sd*bc*sc*i*
alias:          pci:v00001002d00007410sv*sd*bc*sc*i*
alias:          pci:v00001002d0000740Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000740Csv*sd*bc*sc*i*
alias:          pci:v00001002d00007408sv*sd*bc*sc*i*
alias:          pci:v00001002d000073FFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073EFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073EDsv*sd*bc*sc*i*
alias:          pci:v00001002d000073ECsv*sd*bc*sc*i*
alias:          pci:v00001002d000073EBsv*sd*bc*sc*i*
alias:          pci:v00001002d000073EAsv*sd*bc*sc*i*
alias:          pci:v00001002d000073E9sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E8sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E3sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E2sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E1sv*sd*bc*sc*i*
alias:          pci:v00001002d000073E0sv*sd*bc*sc*i*
alias:          pci:v00001002d000073DFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DEsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DDsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DCsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DBsv*sd*bc*sc*i*
alias:          pci:v00001002d000073DAsv*sd*bc*sc*i*
alias:          pci:v00001002d000073C3sv*sd*bc*sc*i*
alias:          pci:v00001002d000073C1sv*sd*bc*sc*i*
alias:          pci:v00001002d000073C0sv*sd*bc*sc*i*
alias:          pci:v00001002d00001681sv*sd*bc*sc*i*
alias:          pci:v00001002d0000164Dsv*sd*bc*sc*i*
alias:          pci:v00001002d000073BFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073AFsv*sd*bc*sc*i*
alias:          pci:v00001002d000073AEsv*sd*bc*sc*i*
alias:          pci:v00001002d000073ADsv*sd*bc*sc*i*
alias:          pci:v00001002d000073ACsv*sd*bc*sc*i*
alias:          pci:v00001002d000073ABsv*sd*bc*sc*i*
alias:          pci:v00001002d000073A9sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A8sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A5sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A3sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A2sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A1sv*sd*bc*sc*i*
alias:          pci:v00001002d000073A0sv*sd*bc*sc*i*
alias:          pci:v00001002d00007362sv*sd*bc*sc*i*
alias:          pci:v00001002d00007360sv*sd*bc*sc*i*
alias:          pci:v00001002d0000164Csv*sd*bc*sc*i*
alias:          pci:v00001002d00001638sv*sd*bc*sc*i*
alias:          pci:v00001002d00001636sv*sd*bc*sc*i*
alias:          pci:v00001002d000015E7sv*sd*bc*sc*i*
alias:          pci:v00001002d0000734Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00007347sv*sd*bc*sc*i*
alias:          pci:v00001002d00007341sv*sd*bc*sc*i*
alias:          pci:v00001002d00007340sv*sd*bc*sc*i*
alias:          pci:v00001002d0000731Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000731Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000731Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000731Asv*sd*bc*sc*i*
alias:          pci:v00001002d00007319sv*sd*bc*sc*i*
alias:          pci:v00001002d00007318sv*sd*bc*sc*i*
alias:          pci:v00001002d00007312sv*sd*bc*sc*i*
alias:          pci:v00001002d00007310sv*sd*bc*sc*i*
alias:          pci:v00001002d00007390sv*sd*bc*sc*i*
alias:          pci:v00001002d0000738Esv*sd*bc*sc*i*
alias:          pci:v00001002d00007388sv*sd*bc*sc*i*
alias:          pci:v00001002d0000738Csv*sd*bc*sc*i*
alias:          pci:v00001002d000015D8sv*sd*bc*sc*i*
alias:          pci:v00001002d000015DDsv*sd*bc*sc*i*
alias:          pci:v00001002d000066AFsv*sd*bc*sc*i*
alias:          pci:v00001002d000066A7sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A4sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A3sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A2sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A1sv*sd*bc*sc*i*
alias:          pci:v00001002d000066A0sv*sd*bc*sc*i*
alias:          pci:v00001002d000069AFsv*sd*bc*sc*i*
alias:          pci:v00001002d000069A3sv*sd*bc*sc*i*
alias:          pci:v00001002d000069A2sv*sd*bc*sc*i*
alias:          pci:v00001002d000069A1sv*sd*bc*sc*i*
alias:          pci:v00001002d000069A0sv*sd*bc*sc*i*
alias:          pci:v00001002d0000687Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000686Asv*sd*bc*sc*i*
alias:          pci:v00001002d00006869sv*sd*bc*sc*i*
alias:          pci:v00001002d00006868sv*sd*bc*sc*i*
alias:          pci:v00001002d00006867sv*sd*bc*sc*i*
alias:          pci:v00001002d00006864sv*sd*bc*sc*i*
alias:          pci:v00001002d00006863sv*sd*bc*sc*i*
alias:          pci:v00001002d00006862sv*sd*bc*sc*i*
alias:          pci:v00001002d00006861sv*sd*bc*sc*i*
alias:          pci:v00001002d00006860sv*sd*bc*sc*i*
alias:          pci:v00001002d0000694Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000694Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000694Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000699Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00006997sv*sd*bc*sc*i*
alias:          pci:v00001002d00006995sv*sd*bc*sc*i*
alias:          pci:v00001002d00006987sv*sd*bc*sc*i*
alias:          pci:v00001002d00006986sv*sd*bc*sc*i*
alias:          pci:v00001002d00006985sv*sd*bc*sc*i*
alias:          pci:v00001002d00006981sv*sd*bc*sc*i*
alias:          pci:v00001002d00006980sv*sd*bc*sc*i*
alias:          pci:v00001002d00006FDFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067CFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067CCsv*sd*bc*sc*i*
alias:          pci:v00001002d000067CAsv*sd*bc*sc*i*
alias:          pci:v00001002d000067C9sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C8sv*sd*bc*sc*i*
alias:          pci:v00001002d000067DFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067D0sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C7sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C4sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C2sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C1sv*sd*bc*sc*i*
alias:          pci:v00001002d000067C0sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E9sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E7sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E1sv*sd*bc*sc*i*
alias:          pci:v00001002d000067FFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067EFsv*sd*bc*sc*i*
alias:          pci:v00001002d000067EBsv*sd*bc*sc*i*
alias:          pci:v00001002d000067E8sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E3sv*sd*bc*sc*i*
alias:          pci:v00001002d000067E0sv*sd*bc*sc*i*
alias:          pci:v00001002d000098E4sv*sd*bc*sc*i*
alias:          pci:v00001002d00009877sv*sd*bc*sc*i*
alias:          pci:v00001002d00009876sv*sd*bc*sc*i*
alias:          pci:v00001002d00009875sv*sd*bc*sc*i*
alias:          pci:v00001002d00009874sv*sd*bc*sc*i*
alias:          pci:v00001002d00009870sv*sd*bc*sc*i*
alias:          pci:v00001002d0000730Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00007300sv*sd*bc*sc*i*
alias:          pci:v00001002d00006939sv*sd*bc*sc*i*
alias:          pci:v00001002d00006938sv*sd*bc*sc*i*
alias:          pci:v00001002d00006930sv*sd*bc*sc*i*
alias:          pci:v00001002d0000692Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000692Bsv*sd*bc*sc*i*
alias:          pci:v00001002d00006929sv*sd*bc*sc*i*
alias:          pci:v00001002d00006928sv*sd*bc*sc*i*
alias:          pci:v00001002d00006921sv*sd*bc*sc*i*
alias:          pci:v00001002d00006920sv*sd*bc*sc*i*
alias:          pci:v00001002d00006907sv*sd*bc*sc*i*
alias:          pci:v00001002d00006903sv*sd*bc*sc*i*
alias:          pci:v00001002d00006902sv*sd*bc*sc*i*
alias:          pci:v00001002d00006901sv*sd*bc*sc*i*
alias:          pci:v00001002d00006900sv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000985Asv*sd*bc*sc*i*
alias:          pci:v00001002d00009859sv*sd*bc*sc*i*
alias:          pci:v00001002d00009858sv*sd*bc*sc*i*
alias:          pci:v00001002d00009857sv*sd*bc*sc*i*
alias:          pci:v00001002d00009856sv*sd*bc*sc*i*
alias:          pci:v00001002d00009855sv*sd*bc*sc*i*
alias:          pci:v00001002d00009854sv*sd*bc*sc*i*
alias:          pci:v00001002d00009853sv*sd*bc*sc*i*
alias:          pci:v00001002d00009852sv*sd*bc*sc*i*
alias:          pci:v00001002d00009851sv*sd*bc*sc*i*
alias:          pci:v00001002d00009850sv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000983Asv*sd*bc*sc*i*
alias:          pci:v00001002d00009839sv*sd*bc*sc*i*
alias:          pci:v00001002d00009838sv*sd*bc*sc*i*
alias:          pci:v00001002d00009837sv*sd*bc*sc*i*
alias:          pci:v00001002d00009836sv*sd*bc*sc*i*
alias:          pci:v00001002d00009835sv*sd*bc*sc*i*
alias:          pci:v00001002d00009834sv*sd*bc*sc*i*
alias:          pci:v00001002d00009833sv*sd*bc*sc*i*
alias:          pci:v00001002d00009832sv*sd*bc*sc*i*
alias:          pci:v00001002d00009831sv*sd*bc*sc*i*
alias:          pci:v00001002d00009830sv*sd*bc*sc*i*
alias:          pci:v00001002d000067BEsv*sd*bc*sc*i*
alias:          pci:v00001002d000067BAsv*sd*bc*sc*i*
alias:          pci:v00001002d000067B9sv*sd*bc*sc*i*
alias:          pci:v00001002d000067B8sv*sd*bc*sc*i*
alias:          pci:v00001002d000067B1sv*sd*bc*sc*i*
alias:          pci:v00001002d000067B0sv*sd*bc*sc*i*
alias:          pci:v00001002d000067AAsv*sd*bc*sc*i*
alias:          pci:v00001002d000067A9sv*sd*bc*sc*i*
alias:          pci:v00001002d000067A8sv*sd*bc*sc*i*
alias:          pci:v00001002d000067A2sv*sd*bc*sc*i*
alias:          pci:v00001002d000067A1sv*sd*bc*sc*i*
alias:          pci:v00001002d000067A0sv*sd*bc*sc*i*
alias:          pci:v00001002d0000665Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000665Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000665Csv*sd*bc*sc*i*
alias:          pci:v00001002d00006658sv*sd*bc*sc*i*
alias:          pci:v00001002d00006651sv*sd*bc*sc*i*
alias:          pci:v00001002d00006650sv*sd*bc*sc*i*
alias:          pci:v00001002d00006649sv*sd*bc*sc*i*
alias:          pci:v00001002d00006647sv*sd*bc*sc*i*
alias:          pci:v00001002d00006646sv*sd*bc*sc*i*
alias:          pci:v00001002d00006641sv*sd*bc*sc*i*
alias:          pci:v00001002d00006640sv*sd*bc*sc*i*
alias:          pci:v00001002d0000131Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000131Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000131Bsv*sd*bc*sc*i*
alias:          pci:v00001002d00001318sv*sd*bc*sc*i*
alias:          pci:v00001002d00001317sv*sd*bc*sc*i*
alias:          pci:v00001002d00001316sv*sd*bc*sc*i*
alias:          pci:v00001002d00001315sv*sd*bc*sc*i*
alias:          pci:v00001002d00001313sv*sd*bc*sc*i*
alias:          pci:v00001002d00001312sv*sd*bc*sc*i*
alias:          pci:v00001002d00001311sv*sd*bc*sc*i*
alias:          pci:v00001002d00001310sv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000130Asv*sd*bc*sc*i*
alias:          pci:v00001002d00001309sv*sd*bc*sc*i*
alias:          pci:v00001002d00001307sv*sd*bc*sc*i*
alias:          pci:v00001002d00001306sv*sd*bc*sc*i*
alias:          pci:v00001002d00001305sv*sd*bc*sc*i*
alias:          pci:v00001002d00001304sv*sd*bc*sc*i*
alias:          pci:v00001002d0000666Fsv*sd*bc*sc*i*
alias:          pci:v00001002d00006667sv*sd*bc*sc*i*
alias:          pci:v00001002d00006665sv*sd*bc*sc*i*
alias:          pci:v00001002d00006664sv*sd*bc*sc*i*
alias:          pci:v00001002d00006663sv*sd*bc*sc*i*
alias:          pci:v00001002d00006660sv*sd*bc*sc*i*
alias:          pci:v00001002d0000683Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000683Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000683Bsv*sd*bc*sc*i*
alias:          pci:v00001002d00006839sv*sd*bc*sc*i*
alias:          pci:v00001002d00006838sv*sd*bc*sc*i*
alias:          pci:v00001002d00006837sv*sd*bc*sc*i*
alias:          pci:v00001002d00006835sv*sd*bc*sc*i*
alias:          pci:v00001002d00006831sv*sd*bc*sc*i*
alias:          pci:v00001002d00006830sv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Dsv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Csv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000682Asv*sd*bc*sc*i*
alias:          pci:v00001002d00006829sv*sd*bc*sc*i*
alias:          pci:v00001002d00006828sv*sd*bc*sc*i*
alias:          pci:v00001002d00006827sv*sd*bc*sc*i*
alias:          pci:v00001002d00006826sv*sd*bc*sc*i*
alias:          pci:v00001002d00006825sv*sd*bc*sc*i*
alias:          pci:v00001002d00006824sv*sd*bc*sc*i*
alias:          pci:v00001002d00006823sv*sd*bc*sc*i*
alias:          pci:v00001002d00006822sv*sd*bc*sc*i*
alias:          pci:v00001002d00006821sv*sd*bc*sc*i*
alias:          pci:v00001002d00006820sv*sd*bc*sc*i*
alias:          pci:v00001002d00006631sv*sd*bc*sc*i*
alias:          pci:v00001002d00006623sv*sd*bc*sc*i*
alias:          pci:v00001002d00006621sv*sd*bc*sc*i*
alias:          pci:v00001002d00006620sv*sd*bc*sc*i*
alias:          pci:v00001002d00006617sv*sd*bc*sc*i*
alias:          pci:v00001002d00006613sv*sd*bc*sc*i*
alias:          pci:v00001002d00006611sv*sd*bc*sc*i*
alias:          pci:v00001002d00006610sv*sd*bc*sc*i*
alias:          pci:v00001002d00006608sv*sd*bc*sc*i*
alias:          pci:v00001002d00006607sv*sd*bc*sc*i*
alias:          pci:v00001002d00006606sv*sd*bc*sc*i*
alias:          pci:v00001002d00006605sv*sd*bc*sc*i*
alias:          pci:v00001002d00006604sv*sd*bc*sc*i*
alias:          pci:v00001002d00006603sv*sd*bc*sc*i*
alias:          pci:v00001002d00006602sv*sd*bc*sc*i*
alias:          pci:v00001002d00006601sv*sd*bc*sc*i*
alias:          pci:v00001002d00006600sv*sd*bc*sc*i*
alias:          pci:v00001002d00006819sv*sd*bc*sc*i*
alias:          pci:v00001002d00006818sv*sd*bc*sc*i*
alias:          pci:v00001002d00006817sv*sd*bc*sc*i*
alias:          pci:v00001002d00006816sv*sd*bc*sc*i*
alias:          pci:v00001002d00006811sv*sd*bc*sc*i*
alias:          pci:v00001002d00006810sv*sd*bc*sc*i*
alias:          pci:v00001002d00006809sv*sd*bc*sc*i*
alias:          pci:v00001002d00006808sv*sd*bc*sc*i*
alias:          pci:v00001002d00006806sv*sd*bc*sc*i*
alias:          pci:v00001002d00006802sv*sd*bc*sc*i*
alias:          pci:v00001002d00006801sv*sd*bc*sc*i*
alias:          pci:v00001002d00006800sv*sd*bc*sc*i*
alias:          pci:v00001002d0000679Fsv*sd*bc*sc*i*
alias:          pci:v00001002d0000679Esv*sd*bc*sc*i*
alias:          pci:v00001002d0000679Bsv*sd*bc*sc*i*
alias:          pci:v00001002d0000679Asv*sd*bc*sc*i*
alias:          pci:v00001002d00006799sv*sd*bc*sc*i*
alias:          pci:v00001002d00006798sv*sd*bc*sc*i*
alias:          pci:v00001002d00006792sv*sd*bc*sc*i*
alias:          pci:v00001002d00006791sv*sd*bc*sc*i*
alias:          pci:v00001002d00006790sv*sd*bc*sc*i*
alias:          pci:v00001002d0000678Asv*sd*bc*sc*i*
alias:          pci:v00001002d00006788sv*sd*bc*sc*i*
alias:          pci:v00001002d00006784sv*sd*bc*sc*i*
alias:          pci:v00001002d00006780sv*sd*bc*sc*i*
depends:        gpu-sched,ttm,drm_display_helper,drm_buddy,amdxcp,drm_suballoc_helper,drm_exec,video,drm_ttm_helper,i2c-algo-bit
retpoline:      Y
intree:         Y
name:           amdgpu
vermagic:       6.7.6-arch1-2 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         Build time autogenerated kernel key
sig_key:        7C:B1:91:12:73:44:33:30:08:24:A7:45:CB:9A:BA:59:3B:FE:74:E8
sig_hashalgo:   sha512
signature:      30:66:02:31:00:CD:BA:A9:08:15:B9:89:12:56:20:1F:3B:FD:4B:B7:
                8C:EF:15:01:60:C6:A9:42:8A:F3:1D:34:F2:9A:3E:C0:72:71:BB:C8:
                A2:65:65:51:21:ED:32:3B:17:A9:49:26:C4:02:31:00:9B:E0:48:71:
                F1:C4:B8:7C:9B:19:91:73:E1:47:03:CD:08:5F:AD:3A:54:13:70:02:
                CE:EB:12:9D:44:AC:39:EA:42:80:8D:6A:68:C3:2F:BD:C7:10:00:D2:
                6D:FD:17:D6
parm:           vramlimit:Restrict VRAM for testing, in megabytes (int)
parm:           vis_vramlimit:Restrict visible VRAM for testing, in megabytes (int)
parm:           gartsize:Size of kernel GART to setup in megabytes (32, 64, etc., -1=auto) (uint)
parm:           gttsize:Size of the GTT userspace domain in megabytes (-1 = auto) (int)
parm:           moverate:Maximum buffer migration rate in MB/s. (32, 64, etc., -1=auto, 0=1=disabled) (int)
parm:           audio:Audio enable (-1 = auto, 0 = disable, 1 = enable) (int)
parm:           disp_priority:Display Priority (0 = auto, 1 = normal, 2 = high) (int)
parm:           hw_i2c:hw i2c engine enable (0 = disable) (int)
parm:           pcie_gen2:PCIE Gen2 mode (-1 = auto, 0 = disable, 1 = enable) (int)
parm:           msi:MSI support (1 = enable, 0 = disable, -1 = auto) (int)
parm:           lockup_timeout:GPU lockup timeout in ms (default: for bare metal 10000 for non-compute jobs and 60000 for compute jobs; for passthrough or sriov, 10000 for all jobs. 0: keep default value. negative: infinity timeout), format: for bare metal [Non-Compute] or [GFX,Compute,SDMA,Video]; for passthrough or sriov [all jobs] or [GFX,Compute,SDMA,Video]. (string)
parm:           dpm:DPM support (1 = enable, 0 = disable, -1 = auto) (int)
parm:           fw_load_type:firmware loading type (3 = rlc backdoor autoload if supported, 2 = smu load if supported, 1 = psp load, 0 = force direct if supported, -1 = auto) (int)
parm:           aspm:ASPM support (1 = enable, 0 = disable, -1 = auto) (int)
parm:           runpm:PX runtime pm (2 = force enable with BAMACO, 1 = force enable with BACO, 0 = disable, -1 = auto, -2 = autowith displays) (int)
parm:           ip_block_mask:IP Block Mask (all blocks enabled (default)) (uint)
parm:           bapm:BAPM support (1 = enable, 0 = disable, -1 = auto) (int)
parm:           deep_color:Deep Color support (1 = enable, 0 = disable (default)) (int)
parm:           vm_size:VM address space size in gigabytes (default 64GB) (int)
parm:           vm_fragment_size:VM fragment size in bits (4, 5, etc. 4 = 64K (default), Max 9 = 2M) (int)
parm:           vm_block_size:VM page table size in bits (default depending on vm_size) (int)
parm:           vm_fault_stop:Stop on VM fault (0 = never (default), 1 = print first, 2 = always) (int)
parm:           vm_update_mode:VM update using CPU (0 = never (default except for large BAR(LB)), 1 = Graphics only, 2 = Compute only (default for LB), 3 = Both (int)
parm:           exp_hw_support:experimental hw support (1 = enable, 0 = disable (default)) (int)
parm:           dc:Display Core driver (1 = enable, 0 = disable, -1 = auto (default)) (int)
parm:           sched_jobs:the max number of jobs supported in the sw queue (default 32) (int)
parm:           sched_hw_submission:the max number of HW submissions (default 2) (int)
parm:           ppfeaturemask:all power features enabled (default)) (hexint)
parm:           forcelongtraining:force memory long training (uint)
parm:           pcie_gen_cap:PCIE Gen Caps (0: autodetect (default)) (uint)
parm:           pcie_lane_cap:PCIE Lane Caps (0: autodetect (default)) (uint)
parm:           cg_mask:Clockgating flags mask (0 = disable clock gating) (ullong)
parm:           pg_mask:Powergating flags mask (0 = disable power gating) (uint)
parm:           sdma_phase_quantum:SDMA context switch phase quantum (x 1K GPU clock cycles, 0 = no change (default 32)) (uint)
parm:           disable_cu:Disable CUs (se.sh.cu,...) (charp)
parm:           virtual_display:Enable virtual display feature (the virtual_display will be set like xxxx:xx:xx.x,x;xxxx:xx:xx.x,x) (charp)
parm:           lbpw:Load Balancing Per Watt (LBPW) support (1 = enable, 0 = disable, -1 = auto) (int)
parm:           compute_multipipe:Force compute queues to be spread across pipes (1 = enable, 0 = disable, -1 = auto) (int)
parm:           gpu_recovery:Enable GPU recovery mechanism, (1 = enable, 0 = disable, -1 = auto) (int)
parm:           emu_mode:Emulation mode, (1 = enable, 0 = disable) (int)
parm:           ras_enable:Enable RAS features on the GPU (0 = disable, 1 = enable, -1 = auto (default)) (int)
parm:           ras_mask:Mask of RAS features to enable (default 0xffffffff), only valid when ras_enable == 1 (uint)
parm:           timeout_fatal_disable:disable watchdog timeout fatal error (false = default) (bool)
parm:           timeout_period:watchdog timeout period (0 = timeout disabled, 1 ~ 0x23 = timeout maxcycles = (1 << period) (uint)
parm:           si_support:SI support (1 = enabled, 0 = disabled (default)) (int)
parm:           cik_support:CIK support (1 = enabled, 0 = disabled (default)) (int)
parm:           smu_memory_pool_size:reserve gtt for smu debug usage, 0 = disable,0x1 = 256Mbyte, 0x2 = 512Mbyte, 0x4 = 1 Gbyte, 0x8 = 2GByte (uint)
parm:           async_gfx_ring:Asynchronous GFX rings that could be configured with either different priorities (HP3D ring and LP3D ring), or equal priorities (0 = disabled, 1 = enabled (default)) (int)
parm:           mcbp:Enable Mid-command buffer preemption (0 = disabled, 1 = enabled), -1 = auto (default) (int)
parm:           discovery:Allow driver to discover hardware IPs from IP Discovery table at the top of VRAM (int)
parm:           mes:Enable Micro Engine Scheduler (0 = disabled (default), 1 = enabled) (int)
parm:           mes_kiq:Enable Micro Engine Scheduler KIQ (0 = disabled (default), 1 = enabled) (int)
parm:           noretry:Disable retry faults (0 = retry enabled, 1 = retry disabled, -1 auto (default)) (int)
parm:           force_asic_type:A non negative value used to specify the asic type for all supported GPUs (int)
parm:           use_xgmi_p2p:Enable XGMI P2P interface (0 = disable; 1 = enable (default)) (int)
parm:           sched_policy:Scheduling policy (0 = HWS (Default), 1 = HWS without over-subscription, 2 = Non-HWS (Used for debugging only) (int)
parm:           hws_max_conc_proc:Max # processes HWS can execute concurrently when sched_policy=0 (0 = no concurrency, #VMIDs for KFD = Maximum(default)) (int)
parm:           cwsr_enable:CWSR enable (0 = Off, 1 = On (Default)) (int)
parm:           max_num_of_queues_per_device:Maximum number of supported queues per device (1 = Minimum, 4096 = default) (int)
parm:           send_sigterm:Send sigterm to HSA process on unhandled exception (0 = disable, 1 = enable) (int)
parm:           halt_if_hws_hang:Halt if HWS hang is detected (0 = off (default), 1 = on) (int)
parm:           hws_gws_support:Assume MEC2 FW supports GWS barriers (false = rely on FW version check (Default), true = force supported) (bool)
parm:           queue_preemption_timeout_ms:queue preemption timeout in ms (1 = Minimum, 9000 = default) (int)
parm:           debug_evictions:enable eviction debug messages (false = default) (bool)
parm:           no_system_mem_limit:disable system memory limit (false = default) (bool)
parm:           no_queue_eviction_on_vm_fault:No queue eviction on VM fault (0 = queue eviction, 1 = no queue eviction) (int)
parm:           mtype_local:MTYPE for local memory (0 = MTYPE_RW (default), 1 = MTYPE_NC, 2 = MTYPE_CC) (int)
parm:           dcfeaturemask:all stable DC features enabled (default)) (uint)
parm:           dcdebugmask:all debug options disabled (default)) (uint)
parm:           visualconfirm:Visual confirm (0 = off (default), 1 = MPO, 5 = PSR) (uint)
parm:           abmlevel:ABM level (0 = off (default), 1-4 = backlight reduction level)  (uint)
parm:           backlight:Backlight control (0 = pwm, 1 = aux, -1 auto (default)) (bint)
parm:           tmz:Enable TMZ feature (-1 = auto (default), 0 = off, 1 = on) (int)
parm:           reset_method:GPU reset method (-1 = auto (default), 0 = legacy, 1 = mode0, 2 = mode1, 3 = mode2, 4 = baco/bamaco) (int)
parm:           bad_page_threshold:Bad page threshold(-1 = ignore threshold (default value), 0 = disable bad page retirement, -2 = driver sets threshold) (int)
parm:           num_kcq:number of kernel compute queue user want to setup (8 if set to greater than 8 or less than 0, only affect gfx 8+) (int)
parm:           vcnfw_log:Enable vcnfw log(0 = disable (default value), 1 = enable) (int)
parm:           sg_display:S/G Display (-1 = auto (default), 0 = disable) (int)
parm:           umsch_mm:Enable Multi Media User Mode Scheduler (0 = disabled (default), 1 = enabled) (int)
parm:           smu_pptable_id:specify pptable id to be used (-1 = auto(default) value, 0 = use pptable from vbios, > 0 = soft pptable id) (int)
parm:           user_partt_mode:specify partition mode to be used (-2 = AMDGPU_AUTO_COMPUTE_PARTITION_MODE(default value)                                               0 = AMDGPU_SPX_PARTITION_MODE,                                           1 = AMDGPU_DPX_PARTITION_MODE,                                          2 = AMDGPU_TPX_PARTITION_MODE,          3 = AMDGPU_QPX_PARTITION_MODE,                                           4 = AMDGPU_CPX_PARTITION_MODE) (uint)
parm:           enforce_isolation:enforce process isolation between graphics and compute . enforce_isolation = on (bool)
parm:           seamless:Seamless boot (-1 = auto (default), 0 = disable, 1 = enable) (int)
parm:           debug_mask:debug options for amdgpu, disabled by default (uint)
parm:           agp:AGP (-1 = auto (default), 0 = disable, 1 = enable) (int)

Last edited by andyturfer (2024-03-02 15:39:57)

Offline

#8 2024-03-02 16:01:12

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,754

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

You need to alias the rembrand gpu that's the igpu, and you're polling the wrong pci bus. So

alias pci:v00001002d00001681sv*sd*bc*sc*i* amdgpu

Last edited by V1del (2024-03-02 16:02:04)

Offline

#9 2024-03-02 16:38:19

seth
Member
Registered: 2012-09-03
Posts: 51,462

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

Afaiu the OP there's no problem w/ picking up either GPU, the point is to NOT use amdgpu for the Navi 22
In case just aliasing the rembrand chip doesn't cut it, try "pci_stub=1002:73df", https://wiki.archlinux.org/title/Kernel_parameters

But nb. that there's no guarantee on the outcome of the power draw if the device isn't controlled by a driver at all.

I get nvtop (it's kinda its job), but see https://man.archlinux.org/man/extra/nvt … en#Devices
Telegram is https://archlinux.org/packages/extra/x8 … m-desktop/ ?
Does vainfo wake it?
https://wiki.archlinux.org/title/Hardwa … ing_VA-API

Offline

#10 2024-03-02 22:21:58

andyturfer
Member
Registered: 2021-01-08
Posts: 72

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

Sorry, Telegram does not fire up the discrete RX 6700m GPU on startup (just re-tested).

vainfo also doesn't turn on the discrete GPU.

I tried using pci_stub=1002:73df as a kernel parameter, this didn't work (the discrete GPU still turns on every now and then).

I'm chasing another possible way of doing this that's looking promising - I tried creating a udev rule following this: https://wiki.archlinux.org/title/hybrid … screte_GPU

I changed the "vendor" to AMD (1002):

ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x1002", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"

The above udev rule results in no display at all (because both my iGPU and dGPU are 1002 (AMD)).

The udev info for the RX 6700m dGPU:

$ lspci -nn | grep -i vga
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev cf)
37:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Rembrandt [Radeon 680M] [1002:1681] (rev c8)

[andy:legion7] tmp $ udevadm info -q property -p /sys/bus/pci/devices/0000:03:00.0
DEVPATH=/devices/pci0000:00/0000:00:01.1/0000:01:00.0/0000:02:00.0/0000:03:00.0
DRIVER=amdgpu
PCI_CLASS=30000
PCI_ID=1002:73DF
PCI_SUBSYS_ID=17AA:3B21
PCI_SLOT_NAME=0000:03:00.0
MODALIAS=pci:v00001002d000073DFsv000017AAsd00003B21bc03sc00i00
SUBSYSTEM=pci
USEC_INITIALIZED=22482678
ID_PCI_CLASS_FROM_DATABASE=Display controller
ID_PCI_SUBCLASS_FROM_DATABASE=VGA compatible controller
ID_PCI_INTERFACE_FROM_DATABASE=VGA controller
ID_VENDOR_FROM_DATABASE=Advanced Micro Devices, Inc. [AMD/ATI]
ID_MODEL_FROM_DATABASE=Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
ID_PATH=pci-0000:03:00.0
ID_PATH_TAG=pci-0000_03_00_0

Some of the udev rules I have tried:

# ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x1002", ATTR{device}="0x73DF", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"
# ACTION=="add", SUBSYSTEM=="pci",  ATTRS{product}=="Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"
ACTION=="add", SUBSYSTEM=="pci",  ATTR{vendor}=="0x1002", ATTR{product}=="0x73DF", ATTR{class}=="0x03[0-9]*", ATTR{power/control}="auto", ATTR{remove}="1"

In a udev rule, is there any way to be more specific with the "selector"? (<-- or should I ask this in a separate post?)

Offline

#11 2024-03-02 22:28:51

seth
Member
Registered: 2012-09-03
Posts: 51,462

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

this didn't work (the discrete GPU still turns on every now and then)

Does the pci-stub module still suck away the GPU?

ATTRS{idVendor}=="1002", ATTRS{idProduct}=="73df"

https://wiki.archlinux.org/title/udev#udev_rule_example

Offline

#12 2024-03-03 00:56:03

andyturfer
Member
Registered: 2021-01-08
Posts: 72

Re: [SOLVED] Is it possible to disable the AMD dGPU on a laptop?

Thanks @seth and @V1del. I've managed to power down the discrete AMD RX 6700m GPU (and keep it powered down regardless of which app is opened) with the following udev rule:

ACTION=="add", \
  KERNEL=="0000:03:00.0", \
  SUBSYSTEM=="pci", \
  ATTR{class}=="0x03[0-9]*", \
  ATTR{power/control}="auto", \
  ATTR{remove}="1"

I'll have to read up more on udev rules to find out if I have to add other rules for various scenarios (like plugging in a HDMI cable).

Offline

Board footer

Powered by FluxBB