Jump to content

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



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • 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
    • Installation
    • Post-Installation
    • DSDT and SSDT
    • Hardware Components and Drivers
    • 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

Categories

  • 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

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 54 results

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. Version 1.3

    5,527 downloads

    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)
  7. Hi everybody! I need some help today: I’m trying to install Mac OS Sierra 10.12.5 on my friend’s laptop, which is an Acer Aspire 5250, but that’s quite a difficult task because it’s an AMD CPU. The model is AMD E-450 APU with Radeon HD Graphics (graphics model Radeon HD 6320). I need some help because I can’t boot the installer, when I select my USB from Clover, after the row of pluses in verbose mode instead of showing me all the booting commands it stucks on a black screen and the screen starts flickering along with a continuous beep sound and so I’m unable to get to the installer. Do I need a patched kernel or something else? Are you able to give me some help? Thanks!
  8. There is an utility to analyze Radeon Video Bios http://www.phoronix.com/scan.php?page=article&item=amd_atombios_dumper&num=1 My compilation for OSX atomdis.zip Usage ./atomdis c0000.bin F >bios_info.txt where c0000.bin is an BIOS image obtained by Clover with F6. I expected someone found this utility useful.
  9. Hi everyone, I'm pretty new to hackintosh stuff but I have a pretty okay knowledge with programming. Essentially I tried installing the official version of El Capitan on my Mac Pro 3,1 running Yosemite and since then my ATI Radeon HD5000 graphics card has not been working properly. I can't fullscreen Youtube videos without serious lag and I can't run 3d graphics such as Unity3d. I think there's an issue with my kexts. Here's the output when I run kextutil on AMDSupport.kext and AMD5000Controller.kext. Can anyone point me in the right direction? mac@macs-Mac-Pro:~ $ sudo kextutil /System/Library/Extensions/AMDSupport.kext (kernel) OSMetaClass: Kext com.apple.kext.AMDSupport class ATIController is a duplicate;kext com.apple.kext.ATISupport already has a class by that name. (kernel) Kext com.apple.kext.AMDSupport start failed (result 0xdc00400a). (kernel) Kext com.apple.kext.AMDSupport failed to load (0xdc008017). (kernel) Failed to load kext com.apple.kext.AMDSupport (error 0xdc008017). Failed to load /System/Library/Extensions/AMDSupport.kext - (libkern/kext) kext (kmod) start/stop routine failed. mac@macs-Mac-Pro:~ $ sudo kextutil /System/Library/Extensions/AMD5000Controller.kext (kernel) OSMetaClass: Kext com.apple.kext.AMDSupport class ATIController is a duplicate;kext com.apple.kext.ATISupport already has a class by that name. (kernel) Kext com.apple.kext.AMDSupport start failed (result 0xdc00400a). (kernel) Kext com.apple.kext.AMDSupport failed to load (0xdc008017). (kernel) Dependency com.apple.kext.AMDSupport of kext com.apple.kext.AMD5000Controller failed to load. (kernel) Can't remove kext com.apple.kext.AMDSupport; services failed to terminate - 0xdc008018. (kernel) Kext com.apple.kext.AMD5000Controller failed to load (0xdc008015). (kernel) Failed to load kext com.apple.kext.AMD5000Controller (error 0xdc008015). Failed to load /System/Library/Extensions/AMD5000Controller.kext - (libkern/kext) dependency load failed.
  10. Hi guys, my copy of ML will not boot after install. Here's the error in full: [AppleBluetoothHCIControllerUSBTransport][configurePM] ERROR waited 30 seconds and still did not get the commandWakeup() notification this = 0xffffff8010348000 kBluetoothHCIEventHardwareError occurred status = 0x0037 (kBluetoothHCIErrorSecureSimplePairingNotSupportedByHost or kBluetoothHCIErrorMax) mNumberOfCommandsAllowedByHardware 1 [iOBluetoothHCIController::setConfigState] calling registerService And then it just hangs there. Specs: Intel Core i5 Processor ATI Mobility Radeon 5650 GPU Intel HD Graphics Inbuilt 6GB of DDR3 RAM Windows 7 Please note I have NO access to ANY Macs or Linux machines. Boot Flags: -v, CPUs=1 (CPUs=1 fixes APIC error.) GraphicsInjector=No/Yes (neither work) I use Clover bootloader. Thanks!
  11. normanbates

    ATI Radeon HD 5850 slow 3D Performace

    Hi, i'm running OSX 10.8 ML very well. Only my graphics card ATI Radeon 5850 is a little bit slow in 3D Gaming. When I play World of Warcraft on medium details@1920x1200px it is not flawless. I've tested with the Bootloader Chameleon and Clover (same results) with Bootflags: <key>GraphicsEnabler</key> <string>Yes</string> <key>AtiConfig</key> <string>Uakari</string> In "About my Mac" it is shown as a ATI Radeon HD 5800 Series and when I start CInebench or Luxmark it is shown as "ATI Radeon Cypress Pro Prototype". Cinebench Score: 30 / Luxmark: 625 Any Ideas for getting better performace?
  12. Hello, First, here's my build: Gigabyte GA-H77M-D3H V1.0 (bios f9) 8 GB DDR3 RAM Intel Core i3 2100 @ 3.09 GHz XFX Radeon 5870 3 SATA hard drives (OS on 1, RAID 1 for the other 2) Problem: I installed 10.8.3 vanilla using myHack, and then installed kexts to get my network and sound working. myHack also installed Chameleon 2.1 for me. (I would have asked the fine folks at myHack, but I did my introduction and still I haven't been promoted to poster status after a week and a half.) If the system goes to sleep it won't wake up. I disabled sleep and found that leaving the screen set to turn off worked, but it would only wake up if I press the power button, and if I leave it for an extended period that doesn't even work. For graphics, the desktop looks great, I get that splash effect when I drop a new gadget on the dashboard, and I can play videos. I tried to run Uniengine Heaven 4.0 just to see how it may handle games, but I got a black screen with a little corruption on it. I looked in the System Profiler and this is what is says for Graphics/Displays: Chipset Model: ATI Radeon HD 5870 Type: GPU Bus: PCIe PCIe Lane Width: x16 VRAM (Total): 1024 MB Vendor: ATI (0x1002) Device ID: 0x6898 Revision ID: 0x0000 I notice that there's no Quartz Extreme or anything like that listed and if I understand correctly, it should definitely be there if everything is functioning properly. I'm confused by this because I thought this was one of those cards for which Mac OS has native support. Is there anyone out there brimming with awesomeness who could help me get these problems fixed? Much appreciated!
  13. LolfaceMC

    Multiple Displays HD6850-Framebuffer

    Hi, Help please!!! I have 3 vga moniters and I want to use at least 2 on my hackintosh. I use a dvi-vga adapter for my main display and I plugged my other monitor to the vga slot in the motherboard. This works in windows because I enabled "Enable Vga" in the BIOS. I tried some of the stuff on here http://legacy.tonymacx86.com/viewtopic.php?t=46392 but it desnt work. I cant use the other dvi port because it is a different kind of DVI port. Specs: GIGABYTE ATI Radeon HD6850 1GB DDR5 2DVI/HDMI/DisplayPort PCI-Express Video Card GV-R685OC-1GD Intel Core i5-2500K Quad-Core Processor 3.3 GHz 6 MB Cache LGA 1155 - BX80623I52500K Gigabyte Intel Z68 ATX DDR3 2133 LGA 1155 Motherboards GA-Z68X-UD3H-B3 THANKS!
  14. Hello there, as some of you might know Maverick since DP2 eliminated white screen on boot on 7XXX series. I tried to inject kexts from 10.9 into 10.8 but I failed. I am afraid it will be impossible because of some links into other kexts. Here's what I get from verbose: 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV23IOAccelSharedUserClient' for vtable '__ZTV39AMDRadeonX4000_AMDAccelSharedUserClient' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV16IOAccelGLContext' for vtable '__ZTV14AMDSIGLContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV13IOAccelDevice' for vtable '__ZTV29AMDRadeonX4000_AMDAccelDevice' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV14IOAccelSurface' for vtable '__ZTV30AMDRadeonX4000_AMDAccelSurface' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV16IOAccel2DContext' for vtable '__ZTV32AMDRadeonX4000_AMDAccel2DContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV16IOAccelCLContext' for vtable '__ZTV32AMDRadeonX4000_AMDAccelCLContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV19IOAccelVideoContext' for vtable '__ZTV35AMDRadeonX4000_AMDAccelVideoContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV21IOAccelDisplayMachine' for vtable '__ZTV37AMDRadeonX4000_AMDAccelDisplayMachine' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV21IOGraphicsAccelerator' for vtable '__ZTV37AMDRadeonX4000_AMDGraphicsAccelerator' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV23IOAccelSharedUserClient' for vtable '__ZTV39AMDRadeonX4000_AMDAccelSharedUserClient' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV16IOAccelGLContext' for vtable '__ZTV14AMDSIGLContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV13IOAccelDevice' for vtable '__ZTV29AMDRadeonX4000_AMDAccelDevice' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV14IOAccelSurface' for vtable '__ZTV30AMDRadeonX4000_AMDAccelSurface' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV16IOAccel2DContext' for vtable '__ZTV32AMDRadeonX4000_AMDAccel2DContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV16IOAccelCLContext' for vtable '__ZTV32AMDRadeonX4000_AMDAccelCLContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV19IOAccelVideoContext' for vtable '__ZTV35AMDRadeonX4000_AMDAccelVideoContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV21IOAccelDisplayMachine' for vtable '__ZTV37AMDRadeonX4000_AMDAccelDisplayMachine' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV21IOGraphicsAccelerator' for vtable '__ZTV37AMDRadeonX4000_AMDGraphicsAccelerator' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV23IOAccelSharedUserClient' for vtable '__ZTV39AMDRadeonX4000_AMDAccelSharedUserClient' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV16IOAccelGLContext' for vtable '__ZTV14AMDSIGLContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV13IOAccelDevice' for vtable '__ZTV29AMDRadeonX4000_AMDAccelDevice' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV14IOAccelSurface' for vtable '__ZTV30AMDRadeonX4000_AMDAccelSurface' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV16IOAccel2DContext' for vtable '__ZTV32AMDRadeonX4000_AMDAccel2DContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV16IOAccelCLContext' for vtable '__ZTV32AMDRadeonX4000_AMDAccelCLContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV19IOAccelVideoContext' for vtable '__ZTV35AMDRadeonX4000_AMDAccelVideoContext' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV21IOAccelDisplayMachine' for vtable '__ZTV37AMDRadeonX4000_AMDAccelDisplayMachine' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV21IOGraphicsAccelerator' for vtable '__ZTV37AMDRadeonX4000_AMDGraphicsAccelerator' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The super class vtable '__ZTV23IOAccelSharedUserClient' for vtable '__ZTV39AMDRadeonX4000_AMDAccelSharedUserClient' is out of date. Make sure your kext has been built against the correct headers. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The __ZTV12AMDSISurface was not patched because its parent, the __ZTV30AMDRadeonX4000_AMDAccelSurface, was not patchable. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The __ZTV14AMDSICLContext was not patched because its parent, the __ZTV32AMDRadeonX4000_AMDAccelCLContext, was not patchable. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The __ZTV17AMDSIVideoContext was not patched because its parent, the __ZTV35AMDRadeonX4000_AMDAccelVideoContext, was not patchable. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The __ZTV19AMDSIDisplayMachine was not patched because its parent, the __ZTV37AMDRadeonX4000_AMDAccelDisplayMachine, was not patchable. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The __ZTV24AMDSIGraphicsAccelerator was not patched because its parent, the __ZTV37AMDRadeonX4000_AMDGraphicsAccelerator, was not patchable. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The __ZTV27AMDVerdeGraphicsAccelerator was not patched because its parent, the __ZTV24AMDSIGraphicsAccelerator, was not patchable. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The __ZTV28AMDTahitiGraphicsAccelerator was not patched because its parent, the __ZTV24AMDSIGraphicsAccelerator, was not patchable. 8/10/13 1:54:22.000 PM kernel[0]: kxld[com.apple.AMDRadeonX4000]: The __ZTV30AMDPitcairnGraphicsAccelerator was not patched because its parent, the __ZTV24AMDSIGraphicsAccelerator, was not patchable. 8/10/13 1:54:22.000 PM kernel[0]: Can't load kext com.apple.AMDRadeonX4000 - link failed. 8/10/13 1:54:22.000 PM kernel[0]: Failed to load executable for kext com.apple.AMDRadeonX4000. 8/10/13 1:54:22.000 PM kernel[0]: Kext com.apple.AMDRadeonX4000 failed to load (0xdc008016). 8/10/13 1:54:22.000 PM kernel[0]: Failed to load kext com.apple.AMDRadeonX4000 (error 0xdc008016). 8/10/13 1:54:22.000 PM kernel[0]: [AGPM Controller] unknownPlatform I checked under ML at first which kexts from amd/ati are being loaded and than compared it with kexts loaded in Maverick. Than I deleted all amd/ati kexts in ML and copied kexts from Maverick. Ofc I repaird permissions and rebuild kextcache. I wonder if any of you have any ideas. BTW Maverick DP5 works gr8! PS. As it is HD7850 I modified plist files in X4000 and AMD7000[...] to contain dev-id 0x68191002 which is correct for my card. Thanks in advance
  15. Help! I have a toshiba laptop Core i3 330m Amd mobility Radeon hd 5650 4gb ram 320gb HDD I have installed just fine, I can boot fine also with a couple exceptions. 1, I have to enter "GraphicsEnabler=No -v -x -f" in order to boot to desktop. With out this I get a odd looking white screen with verticle lines going through the screen. 2, the OS can only see 3mb of VRAM. 3, this is kinda off topic but how do you get function keys like brightness and volume to work from the keyboard. I do not have any windows partitions installed or any thing else. I have access to a USB drive(8GB) and a laptop running windows. Mac OS X ml does not recognize my wifi card as it is not supported and I am getting wifi card to solve that issue. Thx people ;D
  16. conorgill

    Radeon R9 270x Framebuffer/ID problem?

    Hi all! My first post here First of all, I want to say a warm hello & thank you to everyone on here! InsanelyMac has pulled me out of the s**t many a time before now! On the topic of this graphics card - I have followed Vlada's InsanelyMac post (Here) regarding this GPU & I haven't had much luck! Basically, I have the Sapphire Radeon R9 270x running on (Niresh) Mavericks 10.9.2 - it's displaying as 'Radeon HD 7xxx 2048 MB'.. I am getting full resolution, and I assume QE/CI is working as I can make a move in Chess. However, running a LuxMark benchmark I am getting a "clBuildProgram -11" error, and in Unigine Heaven I am barely scraping 10fps with the settings on Extreme I have tried installing Vlada's driver package and it just gives me nothing (Black screen on DVI, screen goes off completely on HDMI). I have tried the Terminal method too, still no luck. The only section I could not follow properly was the DSDT section - I couldn't find the "PEGP" device in MaciASL, my Graphics Card is on PC02 according to IORegistryExplorer. So I guess my question is, has my n00b level reached a new extreme & I'm missing something completely obvious? Or should everything be working? BTW, I have another Mac installation on my second HDD, so copying/restoring {censored}-ups is easy enough for me! Thanks in advance! Conor
  17. Hi. Im trying to install OSX (niresh) on my Aspire 5551G Laptop. My laptop specs are: - Amd Phenom II x3 n830 (i'm not putting this topic on the section called "AMD" because is a problem related with graphics card, processor works perfectly). - Ati Mobility Radeon HD 5470 - 4GB RAM - 500 GB HDD. - Broadcom wifi Everything including wifi is working except the graphics card. I'm not able to get QE/CI Acceleration. I have tried to use niresh mavericks or niresh mountain lion (10.8.5). None of them supports. I have already tried patching EDID with clover, but no sucess (all works but there's still no qe/ci acceleration or resolutions). Using chameleon or chimera with "GraphicsEnabler=Yes PCIRootUID=1" i get a screen full of glitches. If i connect with VNC there's still no qe/ci acceleration, And if i don't use "PCIRootUID=1" Then nothing happens (no qe/ci acceleration but screen ok). I have already tried with some kext's. Nothing happened. I dont know how to inject EDID on chameleon and i think that this could save me. Someone can help me?
  18. ashindnile

    Edits to AMDFramebuffer :|

    Hey guys! I'm still working on QE/CI With 10.9.2 M When I load VBIOS in Clover, It instantly reboots after a stage.. I've tried both including and excluding my VBIOS in the ROM folder.. Anyway, I ran kext wizard and realized the AMDFramebuffer.kext is not loaded I wonder if that's the problem and what I must do to get it running? Thanks! Ashton
  19. Slice

    Working R7 240 in Mavericks

    I took a card AMD Radeon R7 240 (ASUS) 1GbDDR3 for one day testing and got it to work. DeviceID=0x6613 This is low cost card (50$) and works worse then my HD6670. Screenshots: This is Oland family that is not supported in Mavericks. May be it will be better in Yosemite. Nonetheless I made by Clover-rev3150 the follow: Devices->FakeID->ATI=0x67981002 (in Yosemite it will be better 6640) Graphics->Inject->ATI=true ->FBName=Futomaki Voila! The card has UEFI BIOS and works in native resolution 1920x1080 even without drivers. No acceleration but good color if no drivers. PS. On screenshot you may see model "GA Radeon6670". It is injected for my previous card. I just forgot to change the name. It is easy with Clover. EDITED. Make sure your DSDT contains GFX device. Else FakeID patch may not work. It can be obtained by Clover DSDT fixes: ACPI->DSDT->Fixes->FixDisplay_0100=true
  20. Stransform

    AMD Radeon HD 7570 Drivers

    Hello, Currently I am working on an Hackintosh by using my current computer. My current compute has an AMD FX-6100 and AMD Radeon HD 7570 Drivers. However I am not able to comfortably do the installation because the 7570 is always in low resolution. I have installed Mountain Lion today but modifying kext's don't work. Is there any way to make AMD Radeon HD 7570 work with Niresh? I have 2 screens, both being 1920x1080p Thanks. NOTE: The AMD Processor is compatible with me install Mac. I also have made a post this a while ago but I have tried them but it is not working. I am not new to the Hackintosh but I'm sort of new to kexts and things.
  21. pheonix137

    Radeon HD 4570 LVDS/VGA/HDMI

    Hi I am trying to make at least LVDS and VGA work. I have working Shrike framebuffer (output for ioreg with SSH is ATY,Shrike), but output on LVDS is like attached picture and no output on VGA or HDMI. I have tried patching framebuffer in ATI4600Controller.kext but I don't think it's working. Here is modified Shrike can anyone tell me if it's wrong? 02 00 00 00 40 00 00 00 09 01 00 00 12 04 00 07 LVDS 10 00 00 00 10 00 00 00 00 01 00 00 00 10 01 01 VGA 00 08 00 00 00 02 00 00 00 01 00 00 10 00 02 05 HDMI I have tried senseid 00 - 07 and none work for LVDS. Also have forced EDID to pick up LVDS which seems to force LVDS everytime with GraphicsEnabler=No but still nothing with GraphicsEnabler=Yes. Video bios dump: http://www.mediafire.com/?vnwa2b2xzx9nsyb UPDATE: I tried DSDT injection for my card detailed here: http://www.insanelymac.com/forum/topic/282637-ati-mobility-radeon-hd-4650-cant-find-lvds-senseline/ Here's the DSDT I came up with. What is wrong with it? I was getting jumbled screen again but different pattern than before, closer to solid color but still missing pixels and I was not able to log in and use VNC/SSH like usual. http://www.mediafire.com/download/c35l07k7blkdkm6/DSDT.aml Also I still couldn't get Shrike personality to work. Nothing seems to work, what else can I try? And can someone take a look at the stuff I've already done...in case I messed something up? Thanks!
  22. Hello, so for the past month and a half or so, I've been attempting to get OSX Mavericks/Yosemite to work on my laptop and desktop. I've since moved on to just my desktop and using OSX Yosemite since it seems they both have the most suppot between one another, especially given my laptop is also an AMD system with "Dual Graphics"(yeah I know, it was a bad decision in retrospect). Moving on, I know I'm new here, but I have been a PC enthusiast for 2 years now, so I have extensive knowledge on software and hardware. So I'll go ahead and get started with listing my system specs and then move onto my issues. My Specs: AMD FX 8350 4.0Ghz CPU MSI Radeon R9 290 4GB 512-bit GPU ASUS M5A97 R2.0 Motherboard Radeon R9 4X4GB 2133Mhz Gaming RAM Corsair HX850 Gold Rated PSU Samsung 840 EVO 250GB SSD(Windows OS), WD Black 3TB Performance Drive(Games & Personal Files), WD Caviar Blue 320GB laptop drive(OSX Yosemite), LG Blu-Ray Drive(currently unused while attempting to get OSX to work) Logitech 5.1 surround sound speakers Alright, so now that's out of the way, let me explain what has happened thus far. Since I've started attempting this, I've moved on to OSX Yosemite using the Niresh distro because it's the only thing I know that supports AMD chips(if there's a better method let me know, especially with a legal copy, I'm all for it since OSX is only like $30). I can boot Yosemite with just the flags "/amd" and "-v" no problem, go through the install and get Yosemite up and running using either Chameleon OR Clover. However, as many others have these same issues, I cannot get my graphics card or audio to work properly. With an all-in-one network driver from the Niresh site, I can get internet access no problem, but it's pretty much impossible to navigate Safari thanks to all the graphics artifacts and extremely slow rendering from the "3MB" of video memory that I can extract lol. I have a set of graphics kexts that have been designed by Deepak(a member which I believe I saw is also a part of this forum) specifically for my graphics card, but whenever I install them and then repair the permissions and cache, nothing seems to change. This goes for both Chameleon and Clover configurations, I even tried the FakeID configuration with Clover using the original kexts and the modified kexts, still nothing. I will say this though, when I do use Clover, my graphics card is recognized in the Clover configuration before booting into OSX, however the card is not utilized, at least to its potential. The reason I say this is because after messing around with a few things(of which I can't remember currently) I noticed the graphics rendering quicker and the mouse would move a bit smoother, meaning I was getting more graphics power through to the system. However, I've since bricked the system after about the 15th attempt to fix this issue, so I'm pretty much at a loss here. As for the audio, I have installed a similar all-in-one package for audio drivers from the Niresh site, but none of them seem to work as I still get plenty of feedback from my speakers. I doubt anyone can give me exact step by step instructions on what I need to do here, but perhaps I'm missing something? I've noticed that there's some kexts for something called QE/CI but I've yet to try and install them to see if that changes anything, I read up on what they are and what issues that might cause but it seems that's probably not the answer in my opinion. Any help/insight is definitely appreciated, hopefully somebody can help me with this.
  23. Hi there, im currently upgrading my System and i'm looking for a new/better Graphics Card to get rid of my old GT640. I had Nvidia Cards my entire life now, so I got used to them, but I've heard that AMD Radeon Graphics Cards aren't that bad either. And they are cheap, as I heard xD But I have really no clue where to start. I'm looking for a Graphics Card somewhere around 200€. It should be compatible with OSX 10.11 and support the newest Games on Windows with a decent resolution. But I don't need to play Games on Ultimate haha. Im currently using both the dedicated NVIDIA and the integrated Intel HD Graphics 4600 simultaneously. So this also should be possible Has someone an Idea which Graphics Card would be the best? Thanks in advance.
  24. So after I installed my Graphics Kext for my HD Radeon 3200 on snow leopard, everything went find but my mouse is this glitchy image shown in attachment. The only way for the cursor to show up is if I enlarge to a very large size and yet it will still revert to its glitchy image when the cursor is not moving. (Also anyone know how to get Realtek High definition Audio working in Snow leopard let me know pls)
  25. Hi guys, I have a AMD Radeon HD7850 GPU in my Intel hackintosh build. The issue with it is that when I use Clover's FakeID to spoof it as a supported card, after it says "GPU HW <something>" from the kernel, the screen will assumably go black, and then nothing is displayed when I assume the login screen is displayed. I have tried testing all the ports on the card, from DVI, HDMI and the 2 Mini DisplayPorts through a MiniDP to DP adapter, but it seems that the GPU is outputting to some odd output, or just giving a black screen. The only way to rescue the machine is... and I'm sorry to say... the reset button. My configuration is a ASRock H81M Motherboard, with a HD7850 2GB HIS GPU (Real ID in Clover = 6819, Spoof ID = 0x68181002). Parameters used: FakeID [ATI] = 0x68181002 (set as per Clover wiki) InjectATI = True FB Config = Futomaki (is this even needed? Tried booting without this set, still the same black screen) Ports = 5 (Default setting, but I only have 4 Ports) I really want to use the GPU on the DVI Port. Is there a way to say to the card that I want it to output to the DVI port, or which output I want to use? I appreciate the help, this is driving me nuts, but this hackintosh has worked mostly out of the box with a few mods to the kexts to enable audio, etc.
×