Hallo in die Runde,
ich habe ein kleines Problem mit meiner HIS Radeon RX 480 IceQ X². Und zwar laeuft sie, wenn zwei unterschiedliche Monitore angeschlossen sind, grundsaetzlich mit 600/2000 und verbraucht auf dem Desktop rund 30 Watt mehr. Bis jetzt habe ich das umgangen, indem der zweite Bildschirm an der IGP hing. Das wird aber bei dem bald anstehenden Wechsel auf Ryzen nicht mehr moeglich sein. Also meine Frage:
Ist es moeglich, ein Bios zu basteln, dass die Karte auf dem Desktop auf 300/300 haelt?
Ich hatte bereits vor einiger Zeit ein 580er Bios drauf (ich weiß nicht mehr welches), aber das lief nicht wirklich rund, bis auf die Powerstates der Karte, die waren klar zuverlaessiger. Leider war es zu instabil, sodass ich zurueck zum Original bin. Da ein Biosswitch vorhanden ist, ist das auch kein Problem.
Am liebsten waere mir ein 480er Original-Bios, dass so modifiziert ist, dass die Karte auf dem Desktop idled.
Grundsaetzlich kann ich die Arbeit auch selber machen, wenn ich ein wenig Hilfe bzw. Anleitung erhalte.
Vielen Dank schon mal im Voraus
MFG
Einhard
Ich weiß nicht genau, es könnte eine Möglichkeit bestehen. Ich habe mal beim Rest von meinem Team angefragt ob die noch Infos haben oder damit schonmal rumgespielt haben. Wenn du bereit für Trial and Error bist, ich geb dir heute/morgen noch ein paar Infos wo du möglicherweise ansetzen könntest.
Also wenn du eine Version gestestet hast, bevor ich IMC Voltage gefixt hatte, dann konnte es schon passieren das v.a. der 1000MHz State ein paar Fehler geworfen hat. Sollte aber inzwischen alles sehr, sehr stabil laufen, Memory Errors gibts inzwischen eher weniger denn mehr.
Den 480er mod aus Post#2 kannst du bedenkenlos nehmen, verfügt auch über den 1000MHz Memory State, und zwar genau wie bei den 580er implementiert. Leider wird im Multi (wie auch bei den 580ern) immer noch 2000MHz angewählt, und ich glaube es gab schon erfolglose Versuche das zu ändern. Aber schaun mer mal..
Update:
also die PowerPlay hab ich mir nochmal angesehn, hier sind die Sub-Tables aus dem Header:
4D 00 uint16_t StateArrayOffset; // Offset: 0x22
A1 02 uint16_t FanTableOffset; // Offset: 0x24
98 02 uint16_t ThermalControlOffset; // Offset: 0x26
00 00 uint16_t Reserved0; // Offset: 0x28
B5 01 uint16_t MemClkDepTableOffset; // Offset: 0x2A
3B 01 uint16_t CoreClkDepTableOffset;
77 00 uint16_t VDDCLookupTableOffset;
F9 00 uint16_t VDDCGFXLookupTableOffset;
DE 01 uint16_t MMDependencyTableOffset;
06 03 uint16_t VCEStateTableOffset;
00 00 uint16_t PPMTableOffset;
D1 02 uint16_t PowerTuneTableOffset;
00 00 uint16_t HardLimitTableOffset;
20 03 uint16_t PCIETableOffset;
3A 03 uint16_t GPIOTableOffset;
A1 02 uint16_t FanTableOffset; // Offset: 0x24
98 02 uint16_t ThermalControlOffset; // Offset: 0x26
00 00 uint16_t Reserved0; // Offset: 0x28
B5 01 uint16_t MemClkDepTableOffset; // Offset: 0x2A
3B 01 uint16_t CoreClkDepTableOffset;
77 00 uint16_t VDDCLookupTableOffset;
F9 00 uint16_t VDDCGFXLookupTableOffset;
DE 01 uint16_t MMDependencyTableOffset;
06 03 uint16_t VCEStateTableOffset;
00 00 uint16_t PPMTableOffset;
D1 02 uint16_t PowerTuneTableOffset;
00 00 uint16_t HardLimitTableOffset;
20 03 uint16_t PCIETableOffset;
3A 03 uint16_t GPIOTableOffset;
typedef struct _PolarisStateArrayTable
{
uint8_t RevisionID;
uint8_t NumEntries;
PolarisState Entries[1];
} PolarisStateArrayTable;
Update2:
So, diesmal richtig, in der PowerPlay Table offset 0x4D
01 02 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 07 00 02 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00
Der erste Teil ist noch überschaubar:
typedef struct _PolarisStateArrayTable
{
01 uint8_t RevisionID;
02 uint8_t NumEntries;
PolarisState Entries[1];
} PolarisStateArrayTable;
d.h. es gibt nur 2 entries, und keinen speziellen für MultiMonitor. Für den zusätzlichen Memory Step von 1000MHz muss ein 01 in 02 geändert werden, vermutlich weils dann von 00-02 geht..
Jedenfalls finde ich nichts im BIOS. Auch sonst niemand, das ist wohl eine Treibergeschichte. Sorry.
Zuletzt bearbeitet:

danke für die schnelle und ausführlich Antwort.
