AMD RADEON RX Grafikkarten ohne LILU & WhatEverGreen nutzen
-
-
So sieht das in meiner SSDT für die R9 ebenfalls aus und funktioniert unter 10.12.6 prima. Wie beim echten iMac 17,1 findet man GFX0 und HDAU unter IOACPIPlane:/_SB/PCI0@0/PEG0@10000/
-
Genau sieht es bei mir im IORegExplorer auch aus. In der DSDT ist GFX0, HDAU und PEGP unterhalb (eingerückt) im Device PEG0.
-
Tja, was meine Karte angeht bin ich bisher wohl Software-technisch gesehen nicht weiter gekommen, allerdings habe ich eine Möglichkeit gefunden, um mein HDMI Problem ansatzweise zu lösen. Es nennt sich AirPlay Eine meiner Anlagen hat doch tatsächlich WLAN und unterstützt AirPlay, wodurch ich nun über das gleiche WLAN Netz mit meinem großen Rechner auf jeden Fall Musik abspielen kann. Mit dem Laptop klappt das leider noch nicht so ganz
Aber bei dem funktioniert HDMI Audio ja auch bestens. Naja, jetzt habe ich immerhin am Rechner vernünftigen Ton
-
Mir ist bei Tests aufgefallen, dass sich der erste Teil des Patches
auch in die Methode _INI integrieren lässt. Das ist ganz praktisch, wenn man zB PEGP mit Clover zu GFX0 umbenennen lässt und dann nur noch mit einer SSDT Methoden zu GFX0 hinzufügen will (_DSM und _INI).
Als SSDT kann das dann zB so aussehen:Code- /*
- * Intel ACPI Component Architecture
- * AML/ASL+ Disassembler version 20160422-64(RM)
- * Copyright (c) 2000 - 2016 Intel Corporation
- *
- * Disassembling to non-symbolic legacy ASL operators
- *
- * Disassembly of iASLAqbfPb.aml, Sun Nov 26 15:45:08 2017
- *
- * Original Table Header:
- * Signature "SSDT"
- * Length 0x000003DF (991)
- * Revision 0x02
- * Checksum 0xD7
- * OEM ID "Mieze"
- * OEM Table ID "GFX0"
- * OEM Revision 0x00000000 (0)
- * Compiler ID "INTL"
- * Compiler Version 0x20160422 (538313762)
- */
- DefinitionBlock ("", "SSDT", 2, "Mieze", "GFX0", 0x00000000)
- {
- External (_SB_.PCI0.PEG0.GFX0, DeviceObj) // (from opcode)
- Scope (\_SB.PCI0.PEG0.GFX0)
- {
- Method (_INI, 0, NotSerialized) // _INI: Initialize
- {
- OperationRegion (PCIB, PCI_Config, Zero, 0x0100)
- Field (PCIB, AnyAcc, NoLock, Preserve)
- {
- Offset (0x10),
- BAR0, 32,
- BAR1, 32,
- BAR2, 64,
- BAR4, 32,
- BAR5, 32
- }
- If (LEqual (BAR5, Zero))
- {
- Store (BAR2, Local0)
- }
- Else
- {
- Store (BAR5, Local0)
- }
- OperationRegion (GREG, SystemMemory, And (Local0, 0xFFFFFFFFFFFFFFF0), 0x8000)
- Field (GREG, AnyAcc, NoLock, Preserve)
- {
- Offset (0x6800),
- GENA, 32,
- GCTL, 32,
- LTBC, 32,
- Offset (0x6810),
- PSBL, 32,
- SSBL, 32,
- PTCH, 32,
- PSBH, 32,
- SSBH, 32,
- Offset (0x6848),
- FCTL, 32,
- Offset (0x6EF8),
- MUMD, 32
- }
- Store (Zero, FCTL)
- Store (Zero, PSBH)
- Store (Zero, SSBH)
- Store (Zero, LTBC)
- Store (One, GENA)
- Store (Zero, MUMD)
- }
- }
- }
-
Ich bin auch schon richtig weit gekommen. Habe die neueste Variante von @kuckkuck genommen. Danke nochmal.
Systemstart erfolgt jetzt mit meiner SSDT ohne Whatevergreen.
IOReg zeigt auch den richtigen Pfad
Bin mir aber bei dem Pfad in der SSDT noch so unsicher....Hat das So auszusehen?
oder So?
oder So?Letztere Variante wäre für mich am logischsten. Aber dann startet der Mac nicht mehr.
Aktuell benutze ich die zweite Variante. Status Quo ist, dass aber scheinbar nichts übernommen wird. In der IoReg sind die Framebuffer nicht benannt, und in der Systeminfo steht der Standart Krams mit "AMD R9 xxx 8192 MB"
Kann jemand mal drüberschauen?Nebenbei bemerkt: was meine ATY,Part# angeht, die habe ich wie in Post#143 beschrieben, ausgelesen.
Also ich bin für meine Verhältnisse schon echt weit, aber es hakt noch an ein paar Stellen. Wäre schön, wenn die Tage jemand mal drüber schauen könnte.
-
Wenn das Device bereits GFX0 heißt, würde ich an deiner Stelle einfach nur noch die Methoden injecten, denn wenn du versuchst mit einer SSDT nochmals das ganze Gerät GFX0 einzusetzen, wird das scheitern, da die SSDT in diesem Fall keinen Code der DSDT überschreibt.
Um in GFX0 die Methoden _INI und _DSM zu injecten, kannst du direkt in der SSDT direkt nach \_SB.PCI0.PEG0.GFX0 verweisen. IOPP kommt da nicht vor, gibts ja bei dir auch nicht. Nach External (_SB_.PCI0.PEG0.GFX0, DeviceObj) kommen dann also direkt die Methoden. Dazu die unten angehängte GFX0 SSDT.
Da HDAU nicht wie die Methode "in" GFX0 kommen, sondern neben, würde ich das in einer weiteren SSDT machen, die diesmal ein ganzes Device "HDAU" nach \_SB.PCI0.PEG0 verfrachtet. Nach External (_SB_.PCI0.PEG0, DeviceObj) kommt also das Device (HDAU). Ich habe dir also mal eine HDAUGFX SSDT erstellt. Du kannst natürlich zur Übersicht die beiden SSDTs wieder kombinieren, oder aber das ganze so nutzen wie es ist.
Mit Clover und der Option "AutoMerge" lassen sich übrigens soweit ich weiß alle SSDTs beim Boot kombinieren. Hat vielleicht einen Effekt auf die Boot Schnelligkeit. Müsstest du testen -
Jau Danke! Probiere ich gleich aus.
Jetzt verstehe ich das erst. Ich versuche es mal bildlich auszudrücken:
Ich habe sozusagen schon einen Weg/ eine Straße zum Device gebaut. Jetzt versuche ich mit meiner SSDT eine neue Straße drüberzupflastern, und am Ende der Straße die Methode an das Device zu kleben - was das Device aber nicht annimmt.
Dein Ratschlag ist jetzt die schon vorhandene Straße zu nehmen, darüber zu gehen, und die Methoden an das Device anzuheften.
Kann man das so sagen?Ich hatte mal ein IOREG erstellt, wo LiLu und WEG aktiv waren. Und dadrin steht, dass das Device HDAU auch schon vorhanden ist. (Folglich in meiner DSDT oder? )
Nur leider hat es nie funktioniert.
Was meinst Du, sollte ich das HDAU Device aus der DSDT löschen, und per SSDT einbinden? Oder den Code aus Deiner SSDT-HDAUGFX.aml in meine DSDT kopieren & einfügen? -
Das ist sehr schön bildlich dargestellt Die bereits gebaute Straße zum Device ist dabei in der DSDT.
Wenn da schon ein HDAU in deiner DSDT ist, heißt das, dass du sowieso eine gepatchte DSDT benutzt... Wiese baust du dann nicht einfach die Patches in die DSDT selber ein anstatt sie über einen Umweg über eine SSDT zu laden?
Der einzige Grund warum ich eine SSDT benutze, ist weil ich eben keine DSDT benutze. Ich lasse in meinem System ACPI Renames durch eine UEFI Erweiterung vornehmen (Clover kann das auch) und benutze dann nur noch SSDTs um weitere Properties zu meiner ACPI Struktur hinzuzufügen.
Würde ich aber eine DSDT benutzen, hätte ich den Patch einfach dort eingebaut... Bringt keinerlei Nachteile.as meinst Du, sollte ich das HDAU Device aus der DSDT löschen, und per SSDT einbinden? Oder den Code aus Deiner SSDT-HDAUGFX.aml in meine DSDT kopieren & einfügen?
Der code aus meiner SSDT wird schon in der DSDT sein. Generell sind SSDTs nur Erweiterungen der DSDT. Wenn du also sowieso eine Custom DSDT benutzt, macht das Nutzen von SSDTs im Prinzip keinen Sinn... -
Wenn ich das so mache ohne Whatevergreen, kann ich dann iTunes Filme nutzen usw. ohne das es schwarz wird wegen DRM Speere?
-
Streaming geht generell nicht auf dem Hack, habe ich mal gelesen.
-
Netflix auf Google Chrome geht bei mir.
Amazon Prime bei mir leider auch dort nicht. -
Ergibt für mich immer noch 0 Sinn leider wieso das so ist. Wenn das so genau ist dann sollte es doch auf Windows erst recht nicht funktionieren.
Ich mein da ist es ja nochmal viel einfacher irgendwas zu kopieren oder des gleichen.
-
Egal ob Whatevergreen oder SSDT, DRM hat damit eher nichts zu tun. Wenn du DRM, also zB iTunes Filme zum Laufen bringen willst, brauchst du eher Shiki und das Decoding mit der GPU muss gescheit funktionieren.
Bei mir zB laufen alle Dienste wie iTunes Filme oder Netflix einwandfrei.
-
Egal ob Whatevergreen oder SSDT, DRM hat damit eher nichts zu tun. Wenn du DRM, also zB iTunes Filme zum Laufen bringen willst, brauchst du eher Shiki und das Decoding mit der GPU muss gescheit funktionieren.
Bei mir zB laufen alle Dienste wie iTunes Filme oder Netflix einwandfrei.
Das wundert mich wirklich weil ich dachte erst das liegt daran weil ich entweder keine Nvidia Grafikkarte habe oder wegen der iGPU.
Verstehe nicht ganz warum das dann bei mir nicht will.
-
Wie lautet der korrekte Framebuffer bei der Vega 64?Nehme an, es ist "Kamarang".
@Mork vom Ork
Wie bekomme ich da den allerneuesten Metal Support (Unterstützt, Funktionsset macOS GPUFamily1 v3)?Codeschnipsel aus meiner SSDT:
Code- Scope (\_SB.PCI2.BR2A.GFX0)
- {
- OperationRegion (PCIS, PCI_Config, Zero, 0x0100)
- Field (PCIS, AnyAcc, NoLock, Preserve)
- {
- PVID, 16,
- PDID, 16
- }
- Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
- {
- Return (GPRW (0x69, 0x04))
- }
- Device (GFXA)
- {
- Name (_ADR, Zero) // _ADR: Address
- Device (GFX0)
- {
- Name (_ADR, Zero) // _ADR: Address
- OperationRegion (PCIB, PCI_Config, Zero, 0x0100)
- Field (PCIB, AnyAcc, NoLock, Preserve)
- {
- Offset (0x10),
- BAR0, 32,
- BAR1, 32,
- BAR2, 64,
- BAR4, 32,
- BAR5, 32
- }
- Method (_INI, 0, NotSerialized) // _INI: Initialize
- {
- If (LEqual (BAR5, Zero))
- {
- Store (BAR2, Local0)
- }
- Else
- {
- Store (BAR5, Local0)
- }
- OperationRegion (GREG, SystemMemory, And (Local0, 0xFFFFFFF0), 0x8000)
- Field (GREG, AnyAcc, NoLock, Preserve)
- {
- Offset (0x6800),
- GENA, 32,
- GCTL, 32,
- LTBC, 32,
- Offset (0x6810),
- PSBL, 32,
- SSBL, 32,
- PTCH, 32,
- PSBH, 32,
- SSBH, 32,
- Offset (0x6848),
- FCTL, 32,
- Offset (0x6EF8),
- MUMD, 32
- }
- Store (Zero, FCTL)
- Store (Zero, PSBH)
- Store (Zero, SSBH)
- Store (Zero, LTBC)
- Store (One, GENA)
- Store (Zero, MUMD)
- }
- Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
- {
- Store (Package (0x14)
- {
- "AAPL,slot-name",
- Buffer (0x07)
- {
- "Slot-1"
- },
- "CFG,CFG_USE_AGDC",
- Buffer (One)
- {
- 0x00
- },
- "PP,PP_DisableAutoWattman",
- Buffer (One)
- {
- 0x00
- },
- "@0,AAPL,boot-display",
- Buffer (One)
- {
- 0x00
- },
- "@0,name",
- Buffer (0x0D)
- {
- "ATY,Kamarang"
- },
- "@1,name",
- Buffer (0x0D)
- {
- "ATY,Kamarang"
- },
- "@2,name",
- Buffer (0x0D)
- {
- "ATY,Kamarang"
- },
- "@3,name",
- Buffer (0x0D)
- {
- "ATY,Kamarang"
- },
- "model",
- Buffer (0x13)
- {
- "AMD Radeon Vega 64"
- },
- "hda-gfx",
- Buffer (0x0A)
- {
- "onboard-2"
- }
- }, Local0)
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
- Return (Local0)
- }
- }
- Device (HDAU)
- {
- Name (_ADR, One) // _ADR: Address
- Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
- {
- Store (Package (0x0C)
- {
- "built-in",
- Buffer (One)
- {
- 0x00
- },
- "AAPL,slot-name",
- Buffer (0x07)
- {
- "Slot-1"
- },
- "layout-id",
- Buffer (0x04)
- {
- 0x01, 0x00, 0x00, 0x00
- },
- "name",
- Buffer (0x0D)
- {
- "AMD HD-Audio"
- },
- "model",
- Buffer (0x0D)
- {
- "AMD HD-Audio"
- },
- "hda-gfx",
- Buffer (0x0A)
- {
- "onboard-2"
- }
- }, Local0)
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
- Return (Local0)
- }
- }
- }
- }
-
Hi Mork,
ich versuche den AMD9xxxControllerPatcher ans Laufen zu bringen - scheint die Performance in meinem System zu verbessern.Allerdings läuft After Effects dann nicht mehr, siehe Fehlermeldung.
Irgendeine Ahnung woran das liegen könnte? Ich verwende Deine AMD9xxxControllerPatcher Datei, die scheint für Rx 580 ausgelegt zu sein. Ich habe mit Whatevergreen und Radeondeinit experimentiert, im Prinzip überall das selbe. -
Streaming geht generell nicht auf dem Hack, habe ich mal gelesen.
gucke Netflix und Amazon Prime Video aufm Hackintosh, warum sollte das nicht gehen?
-
Wollte grad sagen... also das ist wirklich absoluter Müll. amazon, YouTube. ITunes. Netflix, Sky, und co laufen alle bestens
-
Ich glaube hier war das streaming in iTunes gemeint und das geht in der Tat nicht wirklich. Trailer gucken geht und Filme leihen oder kaufen und nach dem Download anschauen geht ebenfalls aber eben nicht während der Download noch läuft. Ebenso ist es nicht möglich Streaming Video in iTunes anzusehen wie zum Beispiel die Carpool Karaoke Sendungen in Apple Music oder aber auch die Apple Music Festival Streams (gut das Music Festival hat Apple eh eingestampft). Versucht man solche Inhalte zu sehen bekommt man im besten Fall den Ton auf die Ohren und lauter lustige Streifen auf den Bildschirm oder aber iTunes stürzt ab. In einem der support Threads zu Shiki wird auch angemerkt das das nicht funktioniert und unklar ist warum es nicht funktioniert. Streaming über andere Plattformen geht hingegen meist ohne Probleme (Sky und Netflix nutzen Silverlight oder HTML5 als Transportschicht für geschützte Inhalte und Youtube kennt in der Regel kein DRM)...