Beiträge von roqueeee

    Das ganze Thema scheint halt ein komplexes Wechselspiel aus VBios, Treiber, Falcon Smc und anderen Device Properties zu sein.


    Meine RX580 hat ja zum Beispiel auch keine Probleme und macht alles ohne Murren mit. Sleep, mit oder ohne RadeonBoost, etc pp. alles Spitze und das seit 2 Jahren.


    Es gibt halt ein paar "zickige" Karten die nicht so richtig wollen. Meine RX460 gehört auf jeden Fall dazu.


    Ich denke mal je mehr wir hier rumexperimentieren, desto mehr Karten kriegen wir dann am Ende zum Laufen :thumbup:

    Also meine gegenwärtige Vorstellung ist (das sind hier nur Annahmen, da ist nichts bewiesen), dass mit PP_EnableLoadFalconSmcFirmware 0x0 das Bios der Karte das Powermanagment übernimmt.

    Mit PP_EnableLoadFalconSmcFirmware 0x1 nimmt das Betriebssytem Einfluss auf die Karte und kann z.B. mit den Werten in CFG_PTPL2_TBL Power Targets bei verschiedenen Boost-Stufen vorgeben.

    Wenn du jetzt PP_EnableLoadFalconSmcFirmware einschaltest, aber keine CFG_PTPL2-Werte mitgibst, wird die AMD9500Controller.kext wahrscheinlich auf irgendwelche Defaults zurückgreifen. Keine Ahnung welche das sind.

    Im Fall von HDRI scheint das ja gut zu klappen. Bei meiner Rx460 führt das allerdings dazu, dass die Karte nur so wenig Strom zur Verfügung hat, dass die nicht über 600MHz Taktrate hinaus kommt. Zumindest nehme ich an, dass das der Grund ist. Grundsätzlich scheint PP_EnableLoadFalconSmcFirmware 0x1 aber immer das Ruckeln nach Sleep zu beseitigen, wenn man das denn haben sollte.

    Power Target klingt gut, PL2 könnte sich auf Phase Lock Loop beziehen und evtl. auf den Voltage Controller anspielen. Wenn das wirklich Werte in Watt sind, habe ich Glück, dass das Bios der Karte verhindert hat, dass die RX460 den Stromtod gestorben ist. Pcie-Slots liefern in der Regel auch nur 75 Watt 8).


    6e (110) aus Florin ist übrigens nicht genug um gute FPS mit einer RX580 zu erzielen. Die Karte taktet zwar hoch, das scheint aber nicht genug für konstante FPS zu sein. Das hatte ich gestern nicht mehr getestet.


    Werde jetzt erstmal Sinu mit 82 (130) testen.


    CNT könnte für continous stehen...

    Habe heute Abend nochmal mit PP_EnableLoadFalconSmcFirmware und CFG_PTPL2_TBL rumgespielt. Was ich bisher herausgefunden habe ist noch work in progress, ich dachte ich teils aber mal. Kann natürlich auch sein, dass das schon allseits bekannt ist!


    Vielleicht hat HDRI Lust zu überprüfen, ob das bei ihm auch so funktioniert wie an meinen beiden Rechnern. Konnte hier mit einer RX460 und mit einer RX580 testen.


    Sorry für den Roman!


    Habe mir zuerst alle CFG_PTPL2_TBL Werte bei den Framebuffern in der AMD9500Controller.kext angeguckt. Das sind alles absteigende Hexadezimalwerte.

    Forrahue z.B., ist zwar Ascii oder Unicode oder was auch immer, ändert aber nichts:

    Code
    1. Ç|vpjd^XRLF@:4.(
    2. wird zu Hex:
    3. 82 7c 76 70 6a 64 5e 58 52 4c 46 40 3a 34 2e 28
    4. wird zu Dezimal:
    5. 130 124 118 112 106 100 94 88 82 76 70 64 58 52 46 40

    Dachte dann zuerst, dass das die Frequenzen der Karte sein könnten wenn man ne Null ranhängt.

    Habe dann mit den Werten rumgespielt, um zu gucken, ob sich was bei meiner Karte ändert.

    Bei sehr niedrigen Werten fing die Karte an langsamer zu werden, vorher nicht. Die Frequenz der Karte entsprach aber im Benchmark nie den Werten bei CFG_PTPL2_TBL.


    Bei diesen Versuchen habe ich dann festgestellt, dass die CFG_PTPL2_TBL Einstellungen nur was ändern, wenn PP_EnableLoadFalconSmcFirmware eingeschaltet ist. Ohne Falcon Smc hatten die Einstellungen keine Auswirkung.


    PP_EnableLoadFalconSmcFirmware scheint also wie ein Ein-/Ausschalter für CFG_PTPL2_TBL und wahrscheinlich andere Werte zu sein.


    Mein jetziger Verdacht ist, dass man mit CFG_PTPL2_TBL wahrscheinlich Power Limits einstellt, evtl. in Prozent.


    Habe die letzte Stunde mit eigenen Werten und den Werten aus verschiedenen Framebuffern getestet.


    Die RX460 erreicht bei mir ihren Maximaltakt im Benchmark, wenn der höchste Wert bei CFG_PTPL2_TBL um die 75 liegt, also 4B 00 00 00


    Die RX580 brauchte mehr, so um die 100, 64 00 00 00.


    Man kann CFG_PTPL2_TBL auch nur mit einem einzigen Wert füttern, das klappt dann auch. Denke aber, dass das suboptimal ist. Um mir nichts ausdenken zu müssen, habe ich die Werte aus passenden Framebuffern übernommen:


    Code
    1. RX460 mit den Werten aus Elqui:
    2. 4b 00 00 00 49 00 00 00 47 00 00 00 45 00 00 00 43 00 00 00 41 00 00 00 3f 00 00 00 3d 00 00 00 3b 00 00 00 39 00 00 00 37 00 00 00 33 00 00 00 2f 00 00 00 2b 00 00 00 27 00 00 00 0a 00 00 00
    3. RX580 mit den Werten aus Florin:
    4. 6e 00 00 00 6b 00 00 00 68 00 00 00 65 00 00 00 62 00 00 00 5f 00 00 00 5c 00 00 00 59 00 00 00 56 00 00 00 53 00 00 00 50 00 00 00 4a 00 00 00 44 00 00 00 3e 00 00 00 38 00 00 00 0a 00 00 00

    Läuft bis jetzt ganz gut, muss aber natürlich noch ein bisschen getestet werden!

    revunix

    Wollte auch nochmal sagen, dass wenn du Probleme mit einem langsamen Start von htop im Terminal hast, ich persönlich das Problem nicht bei der Grafikkarte suchen würde. Da denke ich eher an die CPU-Frequenz oder langsames Sata/Nvme...


    Anekdotisch kann ich dazu berichten, dass ich vor ein paar Wochen testweise Debian 64-bit auf meinem Pi4 installiert habe und mich gewundert habe, weshalb sich alles so langsam anfühlt. Habe dann irgendwann gecheckt, dass sich der Kernel für den Powersave CPUFreq Governor entschieden hatte und das Ding die ganze Zeit mit niedrigstem Takt lief...

    So wie die Kext aufgebaut ist muss deine RX580 die Device id 67DF haben, damit der Wert eingefügt wird. Würde mich jetzt wundern wenn das nicht der Fall ist, aber ich dachte ich erwähne es. In der config.plist EDIT: Info.plist muss der Wert zum injizieren natürlich auch vorhanden sein. Wenn die Bedienungen gegeben sind sollte das eigtl. klappen. Ist RadeonBoost in Kernel->Add bei OpenCore eingetragen?