Jump to content

Search the Community: Showing results for tags 'AMD'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • InsanelyMac Lounge
    • Front Page News and Rumors
    • Reader News and Reviews
    • Forum Information and Feedback
  • OSx86 Project
    • New Releases and Updates
    • New Users Lounge
    • Developers Corner
    • Tutorials (The Genius Bar)
    • Technical FAQ
    • OSx86 Installation
    • Post-Installation
    • DSDT and SSDT
    • Hardware Components and Drivers
    • Complete Desktops
    • Notebooks
    • Netbooks
    • Tablets
    • MacMod of the Month
    • Multi-booting and Virtualisation
  • International
    • Your Language
    • Deutsch
    • Español
    • Français
    • Italiano
    • Português
    • Русский
  • Apple World
    • Mac OS X
    • Apple Computers and Hardware
    • iOS Devices
    • Mac Applications
    • Mac Programming and Development
    • iOS Programming and Development
    • Mac Gaming
    • Mac Accessories
  • Discuss and Learn
    • Windows Discussion
    • *nix
    • Apple Opinions and Discussion
    • The Great Debates
    • Internet(s), Servers, and Networks
    • Buying Thoughts, Reviews, and Recommendations
    • Mods and Overclocking
    • The Big Issues [Real Life]
  • Everything Else
    • Creativity
    • Thunderdome (Random Stuff)
    • Laughs
    • The Marketplace


  • Kexts
    • Graphics Cards
    • Audio
    • LAN and Wireless
    • Other
  • Kernels
  • Bootloaders
  • DSDTs
    • Patches
  • Pandora
  • Apps
  • Miscellaneous
  • Customization

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start




Website URL







Found 520 results

  1. Hi all I currently use an NVidia 760 with four displays: 1 x 4K; 2 x 1920x1200; 1 x 1920x1080. This mostly works, but I am considering replacing it with an AMD GPU - likely a Radeon 7970 - for two reasons: I would like to add a fifth monitor, maybe even a sixth; I get small stutters and slowdowns with my NVidia, using both Native and NVidiaWeb drivers. It is a lot better than it was with my NVidia 980Ti, but it's still not perfectly smooth as it should be, especially when I have a full screen video playing while also doing UI movements like Swipe Left A Space or Mission Control. I have just been told that it should be possible to access all display outputs on an AMD 79XX GPU, possibly requiring a custom SSDT and/or radeonDeInit? I've only ever had one AMD GPU and that was 8 years ago so I am not experienced with them. My NVidia 980Ti has five outputs, but can only use four at once. But I believe AMD's EyeFinity does allow it to use them all as separate displays. Before I buy the GPU, I'd be most grateful if anyone could confirm that it should be possible to run five or six simultaneous displays on a card such as the ASUS HD 7970 DirectCU II (6 x DP outputs) or XFX AMD Radeon HD 7970 (2 x mini-DP; 1 x HDMI; 2 x DVI). With one display being 4K @ 60fps and the rest 1920x1200 or 1080P. I have Googled on this a while but haven't yet found anyone discussing connecting more than four monitors to an AMD Hack I did see that the late-2013 Mac Pro (which uses 2 x AMD FirePro GPUs) states it can support "up to 6 Thunderbolt displays". So I know the OS can do it, it's just a question of whether a particular GPU can, and in a Hack setup. Thanks very much TB
  2. verymilan

    Weird display issues with gxt1060

    Hi, i recently set up High Sierra on my AMD computer with the help of the amdosx community (i actually used an installer just to confirm that something would work in the first place before i spend hours for nothing, i can and could have downloaded High Sierra the "legal" way). However the graphicscard is recognized properly, the 6gig are recognized and i have no artifacts and no screen tearing with the official nvidia webdriver, but unfortunally, dark colors have horizontal dark stripes in them and specific bright colors like on left bar of system windows such as settings do flicker like low fps. I only used the clover on the flash drive for now and i'd like if it's worth digging deeper of if i should just forget about it as it is a common nvidia problem on macOS. Would be amazing to know. Closer machine infos: * High Sierra (misses a recent minor patch as my network is veeeery slow and i got this nvidia issue anyway so i mainly jumped back to linux) * AMD fx8350 * Asus Sabertooth 990fx Ref. 2.0 * NVIDIA GeForce GTX 1060 6GB
  3. Rampage Dev

    Patched Framebuffer Repository

    about: This is a Repository for ATI and AMD patched Framebuffers. Here you will find a complete list of successfully patched framebuffers for ATI and AMD Graphics Cards. This is not a support page so do not post questions on this page. Start a new topic if you have questions. Thank you for your cooperation. Framebuffer Editing Guides: BCC9′s post that can be found here Alexander Martinez’s post that can be found here Mucha’s post that can be found here Posting Guidelines: The following are the posting guidelines for this page. Failure to follow set guidelines will mean that the patched framebuffer will not be posted on the first post. Thank you for your cooperation. Graphics Card Model: Graphics Card Manufacture Name: Graphics Card Manufacture Part Number: Fixed by: Patched Framebuffer:
  4. Thanks to B for the kernel version of the test, so more and more of the game player started to make the design industry software, for example: Adobe After Effects, Photoshop, Premiere, Illustrator, CINEMA, 4D and so on, but we also encountered "unexpected exit" collapse problem in the corresponding software, here we all work together, to find and solve problems the problem!
  5. Hello, I am interested in building a Hackintosh using Threadripper. Could you please recommend good motherboard(s)? Is there one that is fully compatible with the Hackintosh?
  6. Mostly because of my partly success in making proper patch for all Radeon R9 270 Series GPU-s described in Radeon R9 270X FrameBuffer issue topic, but also because I see that many of you are still searching for some sort of help, I was coming to an idea to share some of my conclusions via this tutorial, in hope that it will resolve all of your current troubles. Once when you check this tutorial and you use it, you will understand better where is the problem and eventually, after you determinate what is what you will be able to fix it. It is important to say, that this tutorial is universal and it can be used for any AMD GPU. So lets start… Modifying the AMD driver is one of the advanced hacker's technique, however, recently with clover in combination, the whole process can be reduced to a decent minimum. This tutorial aims to discover what specific digits in the code do and basically to educate so that everyone can make necessary modification alone and w/o further assistant. All you need is a bit of good will and some patience. --------------------------------------------------------------------------------------------------------- Extracting ROM file - Step 1 involves extraction of the original ROM file from your graphics card. This could be done from Windows by applications such as GPU-Z or some other similar, or from Mac OS X via DPCIManager application. Extracted ROM file you’ll need to save and then switch again in your Mac OS X. --------------------------------------------------------------------------------------------------------- Finding proper FB - Step 2 involves finding proper frame buffer that can be used by your GPU. In order to do this properly, we will need a terminal and corresponding ATI FrameBuffers script. We need this one to extract FB code inside AMDXXXXControllers.kexts. Download ATI FrameBuffers php scripts by Pavo. Unpack the zip file on the desktop, then switch to terminal. Type php then simply drag the script in the terminal and press enter. What you’ll get is a long series of codes together with the exact names of the frame buffers inside certain AMD Controller kexts. Although by using this patching method we can modified any FB, it is recommended that you find the proper one for your GPU, which might already work with your card. The point with this is to locate those that contain the same number of connectors, so per example: My GPU has 4 connectors: 2xDVI, 1xHDMI and 1xDP - so this means that I need to use FB with 4 connectors. In the AMD personality dump file, just under the first line with FB name, we can find info that we need. Personality: Futomaki ConnectorInfo count in decimal: 4 So this means that I should check those FB-s first. Copy the code from the terminal in the Text Editor and save it on the desktop. Then take a look carefully extracted code, and write all frame buffers from the AMD Controller kext that drives your video card. For example, Radeon R9 270X that I’m using, is driven by AMD7000Controller.kext which containing the following list of frame buffers: MaguroS, Maguro, KaniS, Kani, Junsai, IkuraS, Ikura, OPM, Hamachi, Futomaki, Gari, Ebi, Dashimaki, Chutoro, Buri, Aji. For Radeon 6850HD it is necessary to look at the list of FB extracted from AMD6000Controller.kext, etc. ... Now that you have the names of FB-s you will need to determine which of them your card can use. The simplest way of doing this is Clover, although it is possible to do the same thing with Chameleon boot loader, but I'll be focusing exclusively this time on Clover. So open Clover Configurator and in the Graphics section of the FB Name field, type the first FB from your list. Then restart computer and reboot again in OS X. If all goes well, your graphics will work immediately (with or without GL quartz enabled), however, there are two more situations that may occur. First one is a situation where you will get a black screen, but the monitor will stays on. This also means that assigned FB works, but the connectors code inside dedicated AMD Controller kext is mismatched. In this situation pressing the ALT+CMD+Eject buttons on Apple keyboards and WIN+ALT+F12 on PC keyboards will simply sleep your computer. After waking from sleep your computer will activate the screen again. Basically, this is the one of the most common situation which requires further patching. In all other situations, most likely your monitor will automatically be switched off. This means that the assigned FB does not work, or another word that is not compatible with your GPU. In this situation my recommendation would be that you simply restart your computer. The best way to do that is to implement the software restart by pressing CTRL+CMD+Eject buttons on Apple keyboards or for PC keyboards that would be CRTL+ALT+F12, after which the computer will just restart immediately. By modifying Clover Boot options from its menu, where you can rename assigned FB or simply remove all enabled Graphics options that you are previously assigned, you will be able to re-boot OS X normally again. Basically, this is the part that will certainly take you some time before you discover which FB best suits to your card, but when you do this, you're ready for the next step. --------------------------------------------------------------------------------------------------------- FB Code Construction - Step 3 is the most important and involves modifying the original driver or more precisely, it considers changing hexadecimal values inside the driver that are defining the connector output signal from your graphic card. For this maneuver we will need correct values extracted from the existing ROM file, and that can be done through the two scripts: radeon_bios_decode and redsock_bios_decoder scripts. It is necessary to use both because they are giving different results. Basically only with both results we can collect all the necessary data that we need. Scripts can be used in a similar way. You’ll need to open the terminal, drag the first script in a terminal then press once space, than type < than once space again and now drag your ROM file in the terminal and simply hit Enter. The obtained result will look something like this (example R9 270X) localhost:~ Vladimir$ /Users/Vladimir/Developer/Ati\ Workbench/AMD\ Graphics\ tool/Radeon\ BIOS\ decoders/radeon_bios_decode < /Users/Vladimir/Developer/Ati\ Workbench/AMD\ Graphics\ tool/AMD\ BIOS/Pitcairn.rom radeon_bios_decode will give the following result: ATOM BIOS Rom: SubsystemVendorID: 0x148c SubsystemID: 0x2336 IOBaseAddress: 0x0000 Filename: E8B11LCC.HHW BIOS Bootup Message: C63101 CURACAO XT 2GB GDDR5 64Mx32 E8B11LCC.HHW 2013 PCI ID 1002: 6810 Connector at index 0 Type [offset 43522]: DisplayPort (10) Encoder [offset 43526]: INTERNAL_UNIPHY2 (0x21) i2cid [offset 43632]: 0x90, OSX senseid: 0x1 Connector at index 1 Type [offset 43532]: HDMI-A (11) Encoder [offset 43536]: INTERNAL_UNIPHY2 (0x21) i2cid [offset 43659]: 0x92, OSX senseid: 0x3 Connector at index 2 Type [offset 43542]: DVI-I (2) Encoder [offset 43546]: INTERNAL_UNIPHY (0x1e) i2cid [offset 43696]: 0x95, OSX senseid: 0x6 Connector at index 3 Type [offset 43552]: DVI-I (2) Encoder [offset 43556]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [offset 43696]: 0x95, OSX senseid: 0x6 Connector at index 4 Type [offset 43562]: DVI-D (3) Encoder [offset 43566]: INTERNAL_UNIPHY1 (0x20) i2cid [offset 43723]: 0x94, OSX senseid: 0x5 redsock_bios_decoder will give the following result: E8B11LCC.HHW: C63101 CURACAO XT 2GB GDDR5 64Mx32 E8B11LCC.HHW 2013 Subsystem Vendor ID: 148c Subsystem ID: 2336 Object Header Structure Size: 355 Connector Object Table Offset: 48 Router Table Object Offset: 0 Encoder Object Table Offset: fd Display Path Table Offset: 12 Connector Object Id [19] which is [DISPLAY_PORT] encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false Connector Object Id [12] which is [HDMI_TYPE_A] encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true Connector Object Id [2] which is [DVI_I] encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false Connector Object Id [2] which is [DVI_I] encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 0x10 enc)] linkb: false Connector Object Id [4] which is [DVI_D] encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false Copy and paste the results into Text Editor and save it. Then extract the following items from both results like in this example by following the color order: 01 [DISPLAY_PORT] redsock_bios_decoder : enc obj 0x21 transmitter 0x12 dual link 0x2 enc 0x4 radeon_bios_decode: Connector at index 0 Type [@offset 43522]: DisplayPort (10) Encoder [@offset 43526]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 43632]: 0x90, OSX senseid: 0x1 Code construction: 12 04 01 01 02 [HDMI_TYPE_A] redsock_bios_decoder : enc obj 0x21 transmitter 0x22 dual link 0x2 enc 0x5 radeon_bios_decode: Connector at index 1 Type [@offset 43532]: HDMI-A (11) Encoder [@offset 43536]: INTERNAL_UNIPHY2 (0x21) i2cid [@offset 43659]: 0x92, OSX senseid: 0x3 Code construction: 22 05 02 03 03 [DVI_I] redsock_bios_decoder : enc obj 0x1e transmitter 0x10 dual link 0x0 enc 0x0 radeon_bios_decode: Connector at index 2 Type [@offset 43542]: DVI-I (2) Encoder [@offset 43546]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 43696]: 0x95, OSX senseid: 0x6 Code construction: 10 00 03 06 04 [DVI_I] redsock_bios_decoder : enc obj 0x15 transmitter 0x00 enc 0x10 radeon_bios_decode: Connector at index 3 Type [@offset 43552]: DVI-I (2) Encoder [@offset 43556]: INTERNAL_KLDSCP_DAC1 (0x15) i2cid [@offset 43696]: 0x95, OSX senseid: 0x6 Code construction: 00 10 04 06 05 [DVI_D] redsock_bios_decoder : enc obj 0x20 transmitter 0x11 dual link 0x1 enc 0x2 radeon_bios_decode: Connector at index 4 Type [@offset 43562]: DVI-D (3) Encoder [@offset 43566]: INTERNAL_UNIPHY1 (0x20) i2cid [@offset 43723]: 0x94, OSX senseid: 0x5 Code construction: 11 02 05 05 Now let's look at the original source code extracted from the original driver for the FB Futomaki that activates R9 270X: Personality: Futomaki 10.9.2 ConnectorInfo count in decimal: 4 Disk offset in decimal 811280 00 04 00 00 04 03 00 00 00 01 01 01 12 04 04 01 00 04 00 00 04 03 00 00 00 01 02 01 22 05 05 02 04 00 00 00 14 02 00 00 00 01 03 00 00 00 06 06 00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 03 Each row represents definition for the one connector. In this case we have 4 of them. In order to better understand what is what I will separate first line from the code as an example: 00 04 00 00 04 03 00 00 00 01 01 01 12 04 04 01 Divided into segments: 00 04 00 00 / Connector type 04 03 00 00 / ATY, ControlFlags 00 01 01 01 / Features 12 / Transmitter 04 / Encoder 04 / hotplug ID 01 / Sense ID What this means? First I’ll put the list of all types of connectors: Connector Type LVDS 0 × 00000002 = 02 00 00 00 Note: Laptop Monitor Connector Type DVIDL 0 × 00000004 = 04 00 00 00 Note: Dual Link DVI Connector Type VGA 0 × 00000010 = 10 00 00 00 Connector Type SV 0 × 00000080 = 08 00 00 00 Connector Type DP = 0 × 00000400 00 04 00 00 Connector Type HDMI 0 × 00000800 = 00 08 00 00 Connector Type DVISL 0 × 00000200 = 00 02 00 00 Note: Single Link DVI So now it's clear that first 4 pair of numbers represents the type of connector in the code: 00 04 00 00 04 03 00 00 00 01 01 01 12 04 04 01 / Display Port 00 04 00 00 04 03 00 00 00 01 02 01 22 05 05 02 / Display Port 04 00 00 00 14 02 00 00 00 01 03 00 00 00 06 06 / DVI-D 00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 03 / HDMI Constructed FB is made this way, mostly due to the fact that Apple monitors are using DP as the primary connection and then we have beneath in order all others. In the vast majority of cases there, you will need to change only the last 4 digits, which are also the most important for proper connector injection, or eventually you will need to assign further a DVI-I (SL) connection for your monitor. In this case, it is basically a mandatory thing mostly because the original code does not have it. Therefore, we will need to change the second row from DP into DVI-SL. The initial input of first four pairs of digits we will need to change from 00 04 00 00 to 00 02 00 00, which is the proper input for DVI-SL. 00 02 00 00 Then follows the explanation of the second set of digits: 0×0002 : LVDS ControlFlag : 0×0040 and 0×0100 0×0004 : DVI ControlFlag : 0×0016, 0×0014, and 0×214 0×0010 : VGA ControlFlag : 0×0010 0×0080 : S-Video ControlFlag : 0×0002 0×0200 : DVI ControlFlag : 0×0014, 0×0214, and 0×0204 0×0400 : DisplayPort ControlFlag : 0×0100, 0×0104, 0×0304, 0×0604, and 0×0400 0×0800 : HDMI ControlFlag : 0×0200 0×1000 : DVI ControlFlag : 0×0016 Translated in to: Connector Type DP 04 03 00 00 Connector Type DP 04 03 00 00 Connector Type HDMI 00 02 00 00 Connector Type DVIDL 14 02 00 00 Connector Type_DVISL C 04 02 00 00 Connector Type_DVISL 04 02 00 00 From this example it is clear that in the modified row we should add further 04 02 00 00 according to the matched connector name. So after first 00 02 00 00 we will need to add the following 4 pair of digits 04 02 00 00 and all together it looks like this: 00 02 00 00 04 02 00 00 The following is the part that relates to the ATY,Features (hex digits): The first pair of numbers: 0 × 0002: LVDS * 0x09 = 09 0 × 0004: DVI 0x00 = 00 0 × 0010: VGA 0x00 = 00 0 × 0080: S-Video 0x04 = 04 0 × 0200: DVI 0x00 = 00 0 × 0400: Display Port 0 × 00 = 00 0 × 0800: HDMI 0 × 00 = 00 0 × 1000: DVI 0x00 = 00 The second pair of numbers: Use Internal * 0 × 01 = 01 Use RGB YUV On 0 × 04 = 04 Use Backlight * 0 × 08 = 08 Backlight Inverted 0 × 10 = 10 Use Clamshell 0 × 20 = 20 A third pair of numbers represents the order of connector activation 01 = first active connector 02 = second active connector 03 = third active connector etc. ... I suggest that you mark as first, connector raw that your monitor will use it as primary. The fourth two numbers are listed as Unknown: You can leave the same like in the original code (usually stands 01 or 00) or simply replace it with zeros - 00. I will in this demonstration left the original values: Finally, we add the following digits: 00 02 00 00 04 02 00 00 00 01 01 01 Last four digits simply rewrite from the above constructed table: 03 [DVI_I] redsock_bios_decoder : enc obj 0x1e transmitter 0x10 dual link 0x0 enc 0x0 radeon_bios_decode: Connector at index 2 Type [@offset 43542]: DVI-I (2) Encoder [@offset 43546]: INTERNAL_UNIPHY (0x1e) i2cid [@offset 43696]: 0x95, OSX senseid: 0x6 Code construction: 10 00 03 06 I will explain in short, what is what here, but that would not be important much anyway. The only one thing important it is the order of digits that we need to use and the patch will work. So here it is: Transmitter - the first two digits Encoder - the second two digits Hotplug ID - third two digits Sense ID - Fourth two digits --------------------------------------------------------------------------------------------- So that was detail explanation, however, we can simplify this procedure by using next basic code schematics per connector: LVDS / 02000000 40000000 08010000 / + (add your code construction) VGA / 10000000 10000000 00010000 / + (add your code construction) DP / 00040000 04030000 00010000 / + (add your code construction) DVI-SL / 00020000 04020000 00010000 / + (add your code construction) DVI-DL / 04000000 14020000 00010000 / + (add your code construction) HDMI / 00080000 00020000 00010000 / + (add your code construction) As you can see, all you have to do is to add the last 8 digits which you need to construct by yourself (see example above) Sierra is using additional digits in the code, so you'll need to add extra zero segments in front of your code construction and after it. Check example bellow: 00080000 00020000 00010000 00000000 + (add your code construction) 00000000 ----------------------------------------------------------------------------------------------- So this is it, and here we have final construction. 00 02 00 00 04 02 00 00 00 01 01 01 10 00 03 06 Except for the above modification, like I said, in most cases you will need to replace only the last four values: Original code: 00 04 00 00 04 03 00 00 00 01 01 01 12 04 04 01 - DP 00 04 00 00 04 03 00 00 00 01 02 01 22 05 05 02 - DP 04 00 00 00 14 02 00 00 00 01 03 00 00 00 06 06 - DVI-DL 00 08 00 00 04 02 00 00 00 01 04 00 11 02 01 03 - HDMI Modified code: 00 04 00 00 04 03 00 00 00 01 02 01 12 04 01 01 - DP 00 02 00 00 04 02 00 00 00 01 01 01 10 00 03 06 - DVI-I 04 00 00 00 14 02 00 00 00 01 03 00 11 02 05 05 - DVI-D 00 08 00 00 00 02 00 00 00 01 04 00 22 05 02 03 - HDMI With this, the whole thing is completed and you are now ready for the final step. --------------------------------------------------------------------------------------------------------- Clover Injection - Step 4 involves injection of the code and its activation. This can be done in several ways: kext patching by some hex tool or making the Binary patch, however, none of these methods are sufficiently elegant, mostly because in this case we will need to patch driver every time when we make system upgrade. Luckily we have a Clover, which is able to apply such modification "on the fly" which is ideal concept, or other words, this method represents a permanent solution that does not depend from the future system upgrades. Open Clover Configurator, and go to the Kernel & Kext patches. Click on the plus sign in the KextsToPatch field : Then type the name of the kext you want to patch, in this case this is AMD7000Controller. In the next field, enter the original hex code extracted from the driver, and next to it write a new one that you have created. Eventually, you can add notes in the next field (par example: Connectors patch) and that was it. You are ready for testing. If you are all done properly everything will work from the first attempt. If not you will need to work further on it. But if something goes wrong, you can always change the name of the FB or simply to uncheck the options that you have activated in the Graphics panel and thus everything will be back to its initial state. Decoders.zip ATI-framebuffers.zip
  7. enzocodini

    AMD Radeon R7 250X works!

    Well, the title says it all! It worked flawlessly in 10.11.3 El Capitan. Verde.kext was needed, though! I just followed instructions for HD 7770. Using Clover UEFI, only works in EFI mode (at least mine). Model: ASUS Radeon R7 250X 1GB RAM DDR5. Also don't use InjectATI! Verde.kext.zip
  8. THIS TOPIC IS THE RESULT OF VARIUS SPLITTED POST FROM CLOVER GENERAL DISCUSSION THE MAIN GOAL OF THAT IS KEEP TRACK OF THE RESULT IN THE TEST AND MAYBE FIND POSSIBLE SOLUTION ON THE BOOT HANG WITH POLARIS CARDS WITHOUT THE HELP OF PRIMARY iGPU ALSO TO KEEP THE CLOVER GENERAL DISCUSSION TOPIC CLEAN... Other related topic: - AMD Polaris IDs on 10.12 Sierra - 10.12 Sierra AMD Framebuffer dump script ErmaC (November, 12 2016) Hi guys A question from a noob: it's about Clover support for Polaris graphics cards https://sourceforge.net/p/cloverefiboot/code/HEAD/tree/rEFIt_UEFI/Platform/ati.c (line 277) //Polaris { 0x67C0, 0x00000000, CHIP_FAMILY_HAWAII, "AMD Radeon Polaris 10", kNull }, { 0x67DF, 0x00000000, CHIP_FAMILY_HAWAII, "AMD Radeon RX480", kNull }, { 0x67E0, 0x00000000, CHIP_FAMILY_HAWAII, "AMD Radeon RX460", kNull }, { 0x67EF, 0x00000000, CHIP_FAMILY_HAWAII, "AMD Radeon RX460", kNull }, { 0x67FF, 0x00000000, CHIP_FAMILY_HAWAII, "AMD Radeon Polaris 11", Shouldn't we have CHIP_FAMILY_POLARIS instead of CHIP_FAMILY_HAWAII??? Or maybe CHIP_FAMILY_BAFFIN (for Polaris 11) and CHIP_FAMILY_ELLESMERE (for Polaris 10)??? Also, are you sure about RX460 with 0x67E0??? According to AMD and Linux Kernel Driver DataBase, there's no RX 460 with that device. Here, all known Polaris graphics cards device-ids
  9. As I see many novices in the forum ask "How to make my Radeon working? I have bad resolution, no QE/CI...." and so on. They come to the section and have no find an answer here because all Radeons are different and they don't know where else they read about this. I want to explain all steps needed for launching the Radeon family of videocards. Bootloader. I will speak about Clover because I maintain this bootloader to know recent hardware and modern OSX. Not sure if you will have the same result with other bootloaders. I am carefully checking the injecting of ATI card and correcting it times to times. I am also accessible for bug reports. OSX version. Older card require older system, newer cards require new system. ATIRadeon9000 is possible to launch under Tiger. ATIRadeonMobilityX1400 requires 10.5-10.6. See RadeonHD topic. As I see RadeonHD3xxx was successful only in 10.5 For new AMDRadeonHD7xxx there must be 10.8.3+ system. DeviceID. This must be the first question before asking about the card. You may know the device-id from Windows->DeviceManger->VideoCard.properties->compatibleIDs You may boot into system in safe mode (key -x) and see system profiler And you may boot into Clover GUI, press F2 and get preboot.log. Find here something like 2:709 0:000 PCI (00|01:00.00) : 1002 6758 class=030000 2:709 0:000 Found Radeon model=AMD Radeon HD 6670 Series It means my DeviceID=6758 (these are hex numbers) Then you must check that Apple's drivers support your DeviceID. If not then add it! For example HD7850 has DeviceID=6819. If we look into ATI7000Controller (AMD7000... in new systems) we find 6818 here but no 6819! I show you how to do this with terminal commands. Launch /Application/Utilities/Terminal.app. Type in opened window: cp /System/Library/Extensions/ATI7000Controller.kext/Contents/Info.plist ~/Desktop So you get a copy of the Info.plist on Desktop. Edit it with TextEdit. Change 68181002 -> 68191002. Don't edit this file directly in the system folder! Then copy back by terminal. Don't use finder to copy kexts! They will have wrong permissions in this case. sudo cp ~/Desktop/Info.plist /System/Library/Extensions/ATI7000Controller.kext/Contents/ sudo rm -r -v /System/Library/Caches/com.apple.kext.caches/* Second command make sure next reboot the kext will use your edited info.plist. The same operation you must do with a kext AMDRadeonAccelerator or ATIRadeonX2000 or other one. Check all candidates if they contain such list of possible IDs and choose closest to you. FakeID Since Clover revision 1971+ you may just inject new DeviceID into DSDT instead of correcting kexts. See instruction here. GraphicsEnabler or Injector OSX needs to know some properties (Model name, Family, etc...) that must be somehow injected at boot time. Yes, also real Macs got DeviceProperties string from firmware. Alternatives: 1. Set InjectATI=Yes in Clover (same as GE=y in Chameleon). 2. Use custom string made with gfxutil. For whom who knows. 3. Write _DSM into DSDT. You should know what to write. 4. Use some kext like ATY_init.kext or Natit.kext. If you are sure that the kext is for your card namely. I want to say that all this methods make the same thing. Differencies in their tuning. The Clover do this automatically for most known cards at this moment. Connectors. As you may see to start HD5000-7000 some strange names used: Pithecia, Orangutan, Elodea... What are they? They are configs for framebuffer. Predefined configs how connectors are solded for cards used in real Macs. Strange but these configs rear coincide with PC card. Usually gurus make advice "choose a framebuffer that most appropriate for your card". The chances 1:10. In most cases you may find a FB name that gives you main monitor working. Or nothing at all. Great respect to bcc9 who gives us a method to correct one of config to be exactly for you. See here. My retelling for Clover is here Success example in the thread in posts 44-52 Radeon Mobility I tested Clover's methods with two users having Mobility Radeon HD5470 and HD5650M. We found that full memory and QE/CI will be achieved if we set in Clover's config LoadVBios=Yes even thou no file with bios is provided. This is the key to make Radeon Mobility working! Other problem is bad gradients or artifacts. For this case Clover accept the key InjectEDID=Yes and sometimes you also need to inject CustomEDID. See Clover instructions for details. And my results. Gigabyte Radeon HD6670 <key>Graphics</key> <dict> <key>GraphicsInjector</key> <true/> <key>InjectEDID</key> <true/> <key>FBName</key> <string>Ipomoea</string> <key>LoadVBios</key> <false/> <key>VideoPorts</key> <integer>3</integer> <key>PatchVBios</key> <true/> </dict> <key>KernelAndKextPatches</key> <dict> <key>KernelCpu</key> <false/> <key>ATIConnectorsController</key> <string>6000</string> <key>ATIConnectorsData</key> <string>000400000403000000010000120401050008000004020000000100001102040310000000100000000001000000000002</string> <key>ATIConnectorsPatch</key> <string>040000000403000000010000100001061000000010000000000100000000000100080000040200000001000012040403</string> VTX Radeon HD5570 <key>Graphics</key> <dict> <key>PatchVBios</key> <false/> <key>FBName</key> <string>Baboon</string> <key>VideoPorts</key> <string>3</string> <key>GraphicsInjector</key> <string>Yes</string> <key>LoadVBios</key> <string>No</string> </dict> <key>KernelAndKextPatches</key> <dict> <key>Debug</key> <false/> <key>KernelCpu</key> <false/> <key>ATIConnectorsController</key> <string>5000</string> <key>ATIConnectorsData</key> <string>040000001400000000010000010201030008000000020000007100002205020110000000100000000001000000100002</string> <key>AppleRTC</key> <true/> <key>ATIConnectorsPatch</key> <string>040000001400000000010000010001040008000000020000007100002200020510000000100000000001000000000002</string> <key>AsusAICPUPM</key> <false/> <key>KextsToPatch</key> <array> <dict> <key>Name</key> <string>AppleAHCIPort</string> <key>Find</key> <data>RXh0ZXJuYWw=</data> <key>Replace</key> <data>SW50ZXJuYWw=</data> </dict> </array> </dict> See PatchVBios=No for this card "yes" leads to black screen. Use with precautions. A sample for Radeon R7 240 UPDATE for ElCapitan. It seems has more problems. My HD6670 is not working in ElCapitan OOB unlike Mavericks. I had to set FakeID=0x67401002 as correspond to real iMac12,2 and set this model in SMBIOS section. It related to GraphicsPM or GraphicsControl. Look these kexts to decide what you can do for your configuration. HighSierra requires change these kexts by version from Sierra 10.12.6 for Radeon HD6xxx AMDRadeonX3000.kext AMDRadeonX3000GLDriver.bundle IOAccelerator2D.plugin IOAcceleratorFamily2.kext . for Radeon HD7xxx and up AMDRadeonX4000.kext AMDRadeonX4000GLDriver.bundle IOAccelerator2D.plugin IOAcceleratorFamily2.kext . Black screen after wake problem resolved by follow method radeon_bios_decode.0.2.zip ati-personality.pl.0.15.zip ati-personality.pl.0.15a.zip
  10. abhinav

    mac 10.13 high sierra Installation

    How to install macOS 10.13 High Sierra in Vmware Workstation 14 Pro on AMD Machine Unlocker cmd already installed for vmware workstation 14 vmx file edited...added smc.version="0" My System Specs AMD FX8120 8 Core Corsair Vengeance 32 GB DDR3 RAM Asus 990FX Sabertooth Motherboard Sandisk Ultra II 480 GB SSD SATA 3 Asus STRIX 960 GTX 4 GB DCU II Model Pixel Shader 5 DirectX 12 Support Virtual Machine Specs 16 GB RAM 2 processors and 4 cores = 8 core processor SATA hard drive 128 MB video memory
  11. What works? Everything. Sleep/Wake, NVMe, Airport, Spotlight, AMD-graphics Config: ASUS Prime B250M-C µATX-board Intel Core i5 7500 (Kaby Lake) Gigabyte Radeon RX560 4GB Airport-compatible PCIe-Card for Wifi and Bluetooth (BCM943602CS) 2 NVMe drives: Samsung P961 with 1 TB and 256 GB Installed mac OS: 10.13.2 Clover: 4334 *Update 10.13.3* Added new config.plist and ssdt for AMD injection (config_amd_ssdt_10133.zip). With this config and Intel IGPU activated you'll get Metal2 (macOS GPUFamily1 v3). What did I do? Had to fake Skylake graphics or to prevent apps like iMovie or FinalCut from crashing. With Kabylake kexts loaded and IGPU as secondary graphics card, the computer will hard reset whenever the Intel GPU is utilised. Only Skylake kexts and activated IGPU will give you working Metal2 for the RX560. *Update 10.13.2* Since this update a new approach is advisable to get the RX560 up and running (works for 10.13.1 and GM as well). I've added a working SSDT and injector kext that gives you graphics and HDMI audio. Sleep works fine too if you add the DSDT I compiled. Credits go to @Toledo @Mork vom Ork and @Mieze because their work made this possible. *Update* I've added NEW config.plist and DSDT. For proper graphics power management you have to activate onboard graphics in BIOS but make PCIE the primary display. Furthermore you have to inject ig-platform-id 0x59120003 and let Clover patch GFX0 to IGPU. This is the only way to avoid crashes of iMovie, FinalCut or slowdowns after video playback. This may be the smoothest Hackintosh of my life. It is easier than Sierra install due to native support for most of the used hardware in High Sierra. Not much to do, using an up-to-date Clover version like 4184. Make sure you have apfs.efi in /Clover/drivers64UEFI/ on your EFI partition and that you delete EmuVariableUEFi.efi (downside: iMessage doesn't work without it). Somehow Rehabman's SSDT in /Clover/ACPI/patched helps avoiding crashes in iTunes. Needed kexts (on your EFI into /Clover/kexts/Other): FakeSMC, IntelMausiEthernet for ethernet, USBInjectAll and XHCI-200-series-injector for USB, Lilu and AppleALC for audio, Whatevergreen for AMD graphics, IntelGraphicsFixup and AMD9xxxControllerPatcher.kext. DSDT and SSDT go into EFI/Clover/ACPI/patched. config.plist.zip AMD9xxxControllerPatcher.kext.zip SSDT-HDMI-AMD-PEG0.aml.zip DSDT.aml.zip config_amd_ssdt_10133.zip
  12. M1GU5L

    macOS High sierra R9 380

    Last year i tried to install Sierra but after installing it keped booting to a black screen, now i want to try with high sierra but i dont know what i have to do to get this to work. I heard about the whatevergreen and lilu kexts but i dont know what to do with them, can anyone help me solving this? my pc specs Intel Core i5-4460 3.20 GHz with iGPU Intel HD Graphics 4600 Asus H81M-A 8GB RAM Kingston Hyper x 1600 mhz Asus Strix R9 380 4GB
  13. haegar33

    Still black boot with R290X on Sierra

    I have browsed thru all forums and all threads for this card but apparently my system is still something special. With some cumbersome effort (none of the simple one-click ##### and other USB-Installers methods ever worked for me) I managed to install Sierra 10.12.5. However when booting is nearly finsihed I get the famous black screen which can be recovered by quickly unplug/plug the DP monitor cable leading finally to a proper initialisation of my 290X. 1.) RadeoDeInit is on, without this patch the screens stays dark forever2.) Booting with iGFX never works for me, I always get memory allocation errors during boot until I disable the Intel graphics completely.3.) I am on Clover 4318, newer version do not make any differences. 4.) I am using a System Configuration for an Imac 14,2. Most other configs do not make difference either.I have not started again the nightmare of Framebuffer patching (as I remember from Yosemite) and I think it will not help as the card is recognised by Sierra but just not initialised.
  14. ITzTravelInTime

    VoodooTSCSync Configurator

    Version 2.1


    This app can be used to edit or create custom versions of the voodoo tsc sync kext, i have created it because i have seen many times peoples having troubles in finding the right version of voodoo tsc sync for their cpu, so i created a mac app that lets to edit or create a voodoo tsc kext and configure it for your system, i have included 3 ways to edit the kext: 1) configure using one of the existing templates (just chose one of the cpu models listed) 2) specifying the number of logical cores (threads) 3) manually editing the info.plist of the kext using the editor (still experimental, needs some improvements) This app uses a copy of the VoodooTSCSync in his Resourches folder, or you can open an existing version of VoodooTSC and edit it, there are some other useful features to discover, and new ideas are also welcome to improve this program, i know that with a plist editor you can do what this app does, but this is designed to be more user friendly than editing a plist file manually and just for accomplish the task of configuring this kext for your machines without looking on the web for that specific pre-configured version you need, just download this program and follow a few steps. Reference topic: VoodooTSCSync Configurator, create a custom version of voodoo tsc sync
  15. mitch_de

    OS X METAL Particles Bench (FPS)

    Version 2


    EDIT: After investigation it is clear that the older Particles Metal DEMO is really more an DEMO, and not usable as bench - because CPU bound limit, very huge cpu loads generating and moving that particles. NEW: From source here : https://github.com/F...alKit-Particles compiled app : from DOWNLOAD Screenshoot shows low cpu usage but very high (full) GPU load = i think diff gpus should perform different, compared to the demo below. first results 6 FPS Nvidia GT 740 18 FPS Nvidia GTX 650 THREAD: http://www.insanelymac.com/forum/topic/309245-metal-particles-demo-measures-fps/
  16. Version 1.3


    AMD Radeon GPU pack is a post-installation tool specifically designed for Clover boot loader. The tool contains patches and injectors for various AMD Radeon graphic cards, but also additional plugins for MacPro3,1 and MacPro6,1 SMBIOS specifications and Sandy Bridge CPU-s. How it works: The tool will add just a few FB code lines for proper GPU activation in Clover config.plist file (ATI Connectors Data, ATI Connectors Patch & ATI Connectors Controller). • Be advised that patches depend on card manufacturers. • The list of patches and injectors are based on certain GPU models and extracted ROM files from them. • Injectors from this tool will work on most models, but not on all of them. • That’s because certain GPU cards from the same series using the slightly different firmware. Injectors & patches: AMD Radeon HD 6450 (device id - 0x6779) AMD Radeon HD 6790 (device id - 0x673E) AMD Radeon HD 6850 (device id - 0x6739) AMD Radeon HD 6870 (device id - 0x6738) AMD Radeon HD 7730 (device id - 0x6837) AMD Radeon HD 7870 (device id - 0x6818) AMD Radeon R9 270 (device id - 0x6811) AMD Radeon R9 270X (device id - 0x6810) AMD Radeon R9 280X (device id - 0x6798) AMD Radeon R9 290X (device id - 0x67B0)
  17. Shaneee

    AMD Instaler

    Version 2.2.1


    AMD Installer for 10.7.x, 10.8.x, 10.9.x, 10.10.x and 10.11.x All credits for the kernel goes to the AMD Development team of Andy Vandijck, Bronya, Sinetek and Tora Chi Yo. Packaged with the latest kernels and some needed kexts. This package makes it easier for AMD users to install the latest kernels and some fixes for their systems.
  18. hzhjy123

    AMD Kernel

    Version 10.8.x


    Support topic for the kernel is here http://www.insanelymac.com/forum/topic/281450-mountain-lion-kernel-testing-on-amd-dont-ask-help-here-use-the-help-topic/ The kernel is RC4 by Bronzovka. I think that it is the best AMD Kernel at the moment. Advantages: 1. Faster than Andy's kernels (less than 30s) 2. Running stable 3. SSSE3 issue has already been solved But the kernel still has a few glitches. We will strive for it!
  19. theconnactic

    AMD Kernel

    Version 10.7.x RC 13


    Kernel developed by Bronzovka (on InsanelyMac he uses the nickname "bronya") which includes the newest patches by Sinetek (the opcode emulator, tool that enables SSSE3 and SSE4.2 for CPUs that otherwise won't support it) and Andy Vandjick (the built-in decrypt tool), and Bronzovka's own original patches and newest fixes, always remembering that he's the developer who first came up with a working 10.7.x kernel for AMD machines. With this kernel, you'll be able to boot with either 64-bit kernel mode (x86_64) or 32-bit kernel mode (i386), and both modes will support 64-bit applications and processes, so no more replacing the Finder or patching XPCHelper to avoid crashes like in the old days. nVidia users must stick to i386, due to a bug in the patchset that will render the system unusable in 64-bit kernel mode. ATI users can try both modes, opting for the one which gives the more reliability. Boot with arch=x86_64 (or i386) and -nossse3bit (except for FX-series CPUs) flags for the best results. There's a version FX-series-specific kernel as an option. Both will work with all versions of Lion to date. Enjoy! Many thanks to Bronzovka and all people directly and indirectly involved in this development.
  20. theconnactic

    AMD Kernel

    Version 10.8.x


    This is the result of months of development in this topic: http://www.insanelymac.com/forum/top...esting-on-amd/. The kernel, which i'm posting here as amd_kernel, was built by Andy Vandjick, but that wouldn't be possible without the amazing work by Sinetek (who made the first SSSE3 emulator ever, enabling non FX-series CPUs to run OSX in 64-bit kernel mode), R:A:W:x86, Bronzovka (who made Lion on AMD possible) and the Voodoo Team. Many thanks to them all! The correct boot flags to run the kernel are amd_kernel arch=x86_64. FX-series users must also add the correct busratio. The kernel is not working properly with nVidia graphics (and some ATI ones), so their users must also either add -x (safe mode) boot flag or disable GeforceGA.plugin and GLDriver.bundle in System/Library/Extensions. This kernel will also work with 64-bit Intel CPUs that are not capable of running the vanilla kernel. Good luck to all and please post feedback. The sources are also included for anyone wanting to build the kernel from the sources, or help improve it - there's still a lot of work to do.
  21. Hi guys, i'm trying to help a friend of mine trying to install osx(possibly high sierra) on his pc with the following specs: Amd fx8350 Asrock 990fx extreme 3 8gb of fury Kingston ddr3 ram(2x4) Radeon hd 7950 128gb ssd( crucial m550) A couple of hdds I don't remember the brand(maybe a seagate barracuda and a dumb old disk for data) We tried to install it using the regular clover+high showers installer but we couldn't get it to reach the installer, then we tried osx-amd(don't know if i can talk about it there, sorry if i can't) and we still couldn't get to the installer. Is there a guide i can use to install osx in that machin, i tried to search in the forum but i couldn't find it.
  22. Hi Guys, I’m stuck with 3mb VRAM, and can’t get my screen resolution! I’ve tried to reinstall 18 times with different configurations but I can’t seem to get it right! PLEEEEASE HELP I really don’t know what to do now. I've tried Enoch but still no success! MY COMPUTER SPEC: System Model: HP EliteBook 8570p Processor: i7-3520M CPU @ 2.90GHz, 2901 Mhz, 2 Cores GPU: AMD Radeon HD 7570M RAM: 12GB​
  23. Introduction With Whatevergreen.kext we already have a workaround for the AMD GPU wakeup issue which first arose with the release of El Capitan, but as a workaround is just a second class solution for a problem I decided to trace back the reason for the issue to it's origin and this post is the result of my research. As I used a R9 270X to do my research, which is the only AMD GPU I have, my patch has only been verified to work properly with this chip but according to the information sources I used, I have no reason to believe it won't work on other AMD GPU's too. In case there is still some uncertainty left in a particular point, I will mention this explicitly. Materials Used The Linux kernel sources of the Radeon driver in order to get a better understanding of the GPU's internals: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/drivers/gpu/drm/radeon?h=next-20171013 A copy of the ACPI 6.0 specs in order to find out how to dump the chip's control register space. A disassembler, e.g. objdump in Terminal or the trial version of Hopper Disassembler. What I Did As it's been a well known fact that wakeup with AMD GPUs still works with El Capitan and Sierra provided you select the IGPU as primary GPU enabled CSM and use Legacy VBIOS of the AMD GPU in BIOS setup. I was wondering what is different with UEFI VBIOS and decided to I create dumps of the GPU's control register space while using Legacy VBIOS with CSM enabled and while using UEFI VBIOS with CSM disabled in order to find out. Comparing the register space contents it became obvious where the root of the problem lies and how it can be fixed with a DSDT patch. Technical Background Using Legacy VBIOS only the primary GPU is initialized by the VBIOS, i.e. only the IGPU is initialized while the AMD GPU is left untouched. When OS X boots up the framebuffer controller kext will find the AMD GPU in vanilla state, initialize it properly and wakeup will work as expected. That's also the reason why you have to blind boot in this configuration. Using UEFI VBIOS the AMD GPU will be initialized too, provided it has a display connected to one of it's ports. You'll see the BIOS splash screen and will be able to access the BIOS settings but unfortunately macOS's framebuffer controller kext will notice that the GPU has already been initialized and skips the basic setup so that the configuration made by the VBIOS will be used and this is the point where things start to go wrong because this configuration seems to be broken causing wakeup to fail. First of all you have to locate the AMD GPU in your DSDT. In my case it can be found at _SB.PCI0.PEG0.PEGP but it needs to be renamed to GFX0 for AppleGraphicsDevicePolicy.kext (AGDP) to work properly. This can be done manually or using a Clover patch (this is what I did) and I assume that this problem has been already solved before. The reason why I mention it explicitly here, is that you should be aware of it and don't get confused when your AMD GPU has a different name in the DSDT than in IORegistry. Second, we need to get access to the GPU's control register space. According to the Linux sources, PCI Base Address Register 2 (BAR2) is used to address the control register space on Radeon HD5000, HD6000 and HD7000 GPUs. It's a 64bit base address register but newer GPUs (BONAIRE and above, i.e. Radeon HD8000 and HD9xxx) are different as the use BAR5 instead of BAR2. Unlike BAR2, BAR5 is a 32bit base address register. On my R9 270X (PITCAIRN) BAR5 is zero so that I decided to use this as an indication to use BAR2 but I must confess that I haven't checked if it works for all supported GPUs too. In case my patch doesn't work for you, be aware that this might be a pitfall! The Radeon driver's source code tells us that the first display controller engine's registers can be found starting at offset 0x6800. It also tells us a lot about the meaning of the register contents. Using Legacy VBIOS my R9 270X's display controller engine's registers are still at their default values when macOS boots: 00006800 01 00 00 00 08 80 00 0a 00 00 00 00 00 00 00 00 |................| 00006810 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006830 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006850 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006870 00 00 00 00 08 80 00 14 00 00 00 00 00 00 00 00 |................| 00006880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000068a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000068b0 00 00 00 00 10 00 00 00 00 00 00 20 00 00 00 20 |........... ... | 000068c0 00 00 00 20 10 00 00 00 00 00 00 20 00 00 00 20 |... ....... ... | 000068d0 00 00 00 20 00 00 00 00 00 20 00 00 00 00 00 00 |... ..... ......| 000068e0 00 00 00 20 00 00 00 00 00 00 00 00 00 20 00 00 |... ......... ..| 000068f0 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 20 |..... ......... | With UEFI VBIOS the display controller engine's registers look quite different. Using the Linux driver sources you can easily make sense out of these values and will discover that I've got a 4K display connected to my R9 270X which is configured to it's native resolution using 32 bits per pixel. 00006800 01 00 00 00 0a 80 00 0a 00 00 00 00 00 00 00 00 |................| 00006810 00 00 00 00 00 00 00 00 00 0f 00 00 f4 00 00 00 |................| 00006820 f4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006830 00 00 00 00 00 0f 00 00 70 08 00 00 00 00 00 00 |........p.......| 00006840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006850 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 |................| 00006860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006870 00 00 00 00 08 80 00 14 00 00 00 00 00 00 00 00 |................| 00006880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00006890 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000068a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 000068b0 00 00 00 00 10 00 00 00 00 00 00 20 00 00 00 20 |........... ... | 000068c0 00 00 00 20 10 00 00 00 00 00 00 20 00 00 00 20 |... ....... ... | 000068d0 00 00 00 20 00 00 00 00 00 20 00 00 00 00 00 00 |... ..... ......| 000068e0 00 00 00 20 00 00 00 00 00 00 00 00 00 20 00 00 |... ......... ..| 000068f0 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 20 |..... ......... | The rest was just a little bit of laborious work and trial and error, comparing register contents, understanding their meanings and see what happens when you reset these registers to their default values. If you try to play around with your GPU's control registers a little bit more, be prepared to get a garbled screen for a few seconds. After all I've managed to create a DSDT patch which fixes the wrong registers while preserving screen output during boot and, most important, solves the wakeup issue. The Patch Putting things together I created a DSDT patch to fix the incorrectly initialized registers. With this patch applied, I now have working wakeup with my R9 270X under Sierra (10.12.6) using UEFI VBIOS with CSM disabled in UEFI setup. No kext patches or additional kexts are needed anymore for sleep/wake to work properly with my R9 270X anymore. I can see the BIOS splash screen on my display and can access UEFI setup but the best of all is that there hasn't been a single wakeup issue since I applied this patch. Device (PEGP) { 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, 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) } } In case you have in-detail questions or need AML code for debugging (code to dump BARs or to dump the GPUs control register space) please let me know. I'm willing to share all my information in order support further research. Below you can find the register dumps I created attached to this post. FAQ Do I still have to select the IGPU as the primary display? No. Although I haven't tried this on my own, user chh1 confirmed that this is no longer required when using the patch (please see http://www.insanelymac.com/forum/topic/328549-tracing-back-the-amd-gpu-wakeup-issue-to-its-origin/?do=findComment&comment=2519884). Nevertheless I still recommend to select the IGPU as primary as there is absolutely no reason not to do so, in particular as the IGPU will be unusable for multimedia acceleration on Haswell based systems when it's not the primary one (IGPU's dev id is different when it's not the primary one). ​When I boot into macOS I always end up with a black screen. Does your patch solve this problem too? No, it doesn't. This patch solves the wakeup issue, nothin more and nothing less. The black screen after boot is either the result of a connector problem (please create a connector patch for your graphics card using the well-known methods) or the result of a problem with AGPM as certain system definitions (in particular recent iMacs) select special configurations for graphics power management. In order to achieve proper operation of AGPM it is crucial that your GPUs have correct names in the DSDT matching those listed in the AGPM configuration for the system definition (IGPU for the Intel GPU and GFX0 for the AMD GPU on iMac15,1, iMac17,1 and iMac18,x). You may patch your DSDT manually or use a Clover DSDT-patch to fix the device names. Credits vit9696 for developing Whatevergreen.kext and pointing me to the right direction. RehabMan for developing ACPIDebug.kext The Linux Radeon driver kernel developers for providing me with the background information I needed. Legacy.bin.zip UEFI.bin.zip
  24. Bor

    R9 380 fully work in Sierra

    r9 380 (a.k.a r9 285) used to work OOB on Yosemite, but became very problematic after El Capitan release booting to black screen. Finally, I managed to make it work under Sierra without any compromises. Graphics acceleration, OpenCL, Metal, sleep, audio via DP...all tested & confirmed to be working. In short, I had to do some ACPI patching, to get video out from my card. I still have to use my iGPU as a helper card, but fortunately NOT in "headless" mode. So I got image output & full acceleration from my iGPU too, don't have to blind boot or switch monitor cables during boot time. You know, it just works To confirm that everything works properly, I used FractalArchitect4 (its OpenCL & Metal built-in test tool), OpenGL Extensions Viewer, GeekBench (OpenCL), Final Cut X (OpenCL? Metal?) and After Effects (2017 version use GPU for compositing & accelerating some filters). I tested dGPU & iGPU separately. They work in each scenario properly, stabile & as fast as expected. Below are details of my machine and config. My specs: cpu i7 4790 (iGPU HD 4600) motherboard Gigabyte Z97-D3H mem 16 gb 1600 Mhz MSI r9 380 4gb - four ports (DP, HDMI, DVI, DVI), exactly matches layout of framebuffer Lagotto Couple SSD & hard drives Clover v4097 First, BIOS settings. I tried to list only important ones. 'M.I.T.' section, choose Advanced Memory Settings (XMP) - set 'Enhanced Stability' 'BIOS Features' section Intel Virtualisation Technology: OFF VT-d: OFF Windows 8 Features: Other OS Storage Boot Option Control: UEFI Only 'Peripherials' section Initial Display Output: IGPU Intel Processor Graphics: Enabled Intel Processor Graphics Memory Allocation: 64M DVMT Total Memory Size: MAX XHCI Hand-off: Enabled EHCI Hand-off: Enabled CLOVER SETTINGS ACPI>DSDT>Patches These are hex values for patches that you need to create. This part is crucial to get video output from r9 380! 'Rename PEG0 to GFX1'- find:50454730 replace:47465831 'Rename GFX0 to GFX2' - find:47465830 replace:47465832 In Devices>FakeID>IntelGFX put this value '0x04128086' In Graphics inject both Intel & AMD. In FBName use 'Lagotto' - this framebuffer is native for Tonga, r9 380/r9 285 cards In Ig-platform-id put value '0x0d220003' I use SMBIOS of iMac 15,1 (CPU, iGPU & dGPU are very close to my rig). If you will use my attached config.plist, don't forget to fill SMBIOS section accordingly. I removed it to keep out personal data. This thread was very useful to me while putting all pieces together: http://www.insanelymac.com/forum/topic/308025-no-graphics-usb-audio-after-wake/page-19 Thanks to all Insanelymac contributors & people willing to share their experience, I couldn't do it without this great community! config_REFERENCE.plist.zip
  25. zzmadd

    mITX Ryzen board advice

    Hi, I'm looking for a suggestion on a Ryzen motherboard in the mITX form factor that's most compatible with Hackintoshing High Sierra. Especially: - reliable multiple sleep / wake cycle must work without issues - USB2 and USB3 must be very reliable on peripherals and external discs - no kernel panics - M2 slot for Nvme drive - Wifi / Bluetooth on M2 PCI so to allow for swapping with original card otherwise with regret I'll have to switch to Intel..(