AMDGPU Linux Driver No Longer Lets You Have Unlimited Control To Lower Your Power Limit
The AMDGPU Linux driver up until the recent Linux 6.7 kernel release has let you lower the power limit of your graphics card with, well, no limits... This has allowed AMD Radeon Linux users to limit their GPU power draw when desiring for power/efficiency reasons. But since Linux 6.7 they've begun enforcing a lower-power limit set by the respective graphics card BIOS. Users petitioned to have this change reverted but in the name of safety this lower-limit enforcement will stand.
The AMDGPU driver has long honored the vBIOS programmed maximum power limit but until Linux 6.7 the driver hasn't enforced the vBIOS-set lower power limit. But since Linux 6.7 and the plan moving forward is to honor this power limit bounding box -- matching the behavior of the AMD Radeon Windows driver.
Since the Linux 6.7 kernel release have been user complaints and reports of regressions in the AMDGPU driver no longer honoring previously-allowed lower power limits as they are falling outside the minimum limits established by the graphics card AIB partner. AMD and the Linux Direct Rendering Manager subsystem maintainers have decided this will be the intended behavior to avoid risking any user hardware issues and potential damage -- granted, the likelihood for damage is more often on the upper power limit, but still limiting the GPU power use too low can lead to undefined behavior or other hard to diagnose problems.
It was confirmed today in this bug report that:
That stems from a lengthy mailing list discussion and confirmation from AMD that this matches the Windows driver behavior and that there is the risk when running outside of the validated power ranges to see undefined behavior and potentially hardware damage.
This change is frustrating some AMD Linux users with some graphics cards reportedly having very conservative pre-defined lower power limits and thus no longer being able to run on the lower-end outside of that imposed range even though they could successfully do so on prior kernels.
The AMDGPU driver has long honored the vBIOS programmed maximum power limit but until Linux 6.7 the driver hasn't enforced the vBIOS-set lower power limit. But since Linux 6.7 and the plan moving forward is to honor this power limit bounding box -- matching the behavior of the AMD Radeon Windows driver.
Since the Linux 6.7 kernel release have been user complaints and reports of regressions in the AMDGPU driver no longer honoring previously-allowed lower power limits as they are falling outside the minimum limits established by the graphics card AIB partner. AMD and the Linux Direct Rendering Manager subsystem maintainers have decided this will be the intended behavior to avoid risking any user hardware issues and potential damage -- granted, the likelihood for damage is more often on the upper power limit, but still limiting the GPU power use too low can lead to undefined behavior or other hard to diagnose problems.
It was confirmed today in this bug report that:
"This has been discussed on the amd-gfx M/L, and the conclusion was that under-powering outside of the bounding box is potentially dangerous and might damage the hardware. This won't be added back in."
That stems from a lengthy mailing list discussion and confirmation from AMD that this matches the Windows driver behavior and that there is the risk when running outside of the validated power ranges to see undefined behavior and potentially hardware damage.
This change is frustrating some AMD Linux users with some graphics cards reportedly having very conservative pre-defined lower power limits and thus no longer being able to run on the lower-end outside of that imposed range even though they could successfully do so on prior kernels.
98 Comments