Skip to content

Fixes for AMD RX 90x0(XT) #3076

@Ondalf

Description

@Ondalf

Hi, got hardware to try out, and found a few issues.
Hopefully this addresses some of those:

diff --git a/Modules/DeviceLib.psm1 b/Modules/DeviceLib.psm1
index 4424b2bc..dbfa9149 100644
--- a/Modules/DeviceLib.psm1
+++ b/Modules/DeviceLib.psm1
@@ -1020,13 +1020,19 @@ function Update-DeviceInformation {
                                         $PowerLimitPercent = [int]$($Script:abControl.GpuEntries[$_.Index].PowerLimitCur)
                                         $Utilization = [int]$($CardData | Where-Object SrcName -match "^(GPU\d* )?usage$").Data
                                         $PCIBusId    = if ($_.GpuId -match "&BUS_(\d+)&DEV_(\d+)") {"{0:x2}:{1:x2}" -f [int]$Matches[1],[int]$Matches[2]} else {$null}
+                                        # AMD seems to work somewhat with ab beta, so lets parse power - tested RX9060XT
+                                        $CurrPowerDraw   = [int]$($CardData | Where-Object SrcName -match "^(GPU\d* )?power$").Data
+                                        if ($CurrPowerDraw -eq 0) {
+                                            # if no power in list, or it equals 0, fall back to script - does not get executed on RX9060XT
+                                            $CurrPowerDraw = $Script:AmdCardsTDP."$($_.Model_Name)" * ((100 + $PowerLimitPercent) * 0.01) * ($Utilization * 0.01)
+                                        }

                                         $Data = [PSCustomObject]@{
                                             Clock       = [int]$($CardData | Where-Object SrcName -match "^(GPU\d* )?core clock$").Data
                                             ClockMem    = [int]$($CardData | Where-Object SrcName -match "^(GPU\d* )?memory clock$").Data
                                             FanSpeed    = [int]$($CardData | Where-Object SrcName -match "^(GPU\d* )?fan speed$").Data
                                             Temperature = [int]$($CardData | Where-Object SrcName -match "^(GPU\d* )?temperature$").Data
-                                            PowerDraw   = $Script:AmdCardsTDP."$($_.Model_Name)" * ((100 + $PowerLimitPercent) / 100) * ($Utilization / 100)
+                                            PowerDraw   = $CurrPowerDraw
                                         }

Up for grabs. Works For Me ™️
Got no other AMD hardware to test out, so this is all for this time.
Cannot test the fallback properly, so that's someone elses issue due lack of hardware.
Requires Afterburner beta. odvii reports 0W always for this particular card.

...also Kudaraidees yespowereqpay will not work, due header incompatibility.
So might as well disable it for time being.

I'll try to compile a list of miners that won't work with gfx1200 (RX9060XT)
gfx1036 (9060X integrated to CPU) works, and most miners, like wildrig beta picks the integrated after spitting out "gfx1200 not supported".
So likely needs list of miners that are compatible with RDNA4.

Metadata

Metadata

Assignees

Labels

miner issueSome miner is not behaving, like it should

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions