Jump to content
Slice

RadeonMonitor problems

133 posts in this topic

Recommended Posts

Also working now (changed code as slice said, compiled)  with RX 460 - 40 idle, up to 64 under load

How hot gets the RX 580 under gpu load?

Share this post


Link to post
Share on other sites
Advertisement

compiled ok .. but still no value in gpu .. maybe just like slice said before

give me the ioreg.txt. May be your mmio is not bar5 but bar2?

ioreg -lw0 >ioreg.txt

Share this post


Link to post
Share on other sites

Really high DIMM (RAM) Voltage, you have 2.x volt :)  My DDR3 setup BIOS 1,5 (shown as 1,58 volt in UEFI System Info).

Does your BIOS ( most have such System Info about volatge cpu + dimm in UEFI/BIOS) alaso 2,x+ volts?

With my old MB , DDR2 i also had 2,1 Volt but doesnt DDR3 need much less?

Share this post


Link to post
Share on other sites

Really high DIMM (RAM) Voltage, you have 2.x volt :)  My DDR3 setup BIOS 1,5 (shown as 1,58 volt in UEFI System Info).

Does your BIOS ( most have such System Info about volatge cpu + dimm in UEFI/BIOS) alaso 2,x+ volts?

With my old MB , DDR2 i also had 2,1 Volt but doesnt DDR3 need much less?

 

Everyone who posted screenshots above show DIMM voltage over 2v. Looks like a bug.

Share this post


Link to post
Share on other sites

give me the ioreg.txt. May be your mmio is not bar5 but bar2?

ioreg -lw0 >ioreg.txt

here it is ...

ioreg-pico-hd7790.txt.zip

 

by the way .. thanks for your hardwork

 

nb:

without whatevergreen and use ssdt-amd, change 5 to 2 still get GPU core 0

 

Method (_INI, 0, NotSerialized)  // _INI: Initialize

        {

            If (LEqual (BAR2, Zero))

            {

                Store (BAR5, Local0)

            }

            Else

            {

                Store (BAR2, Local0)

            }

 

Share this post


Link to post
Share on other sites

here it is ...

attachicon.gifioreg-pico-hd7790.txt.zip

 

by the way .. thanks for your hardwork

 

nb:

without whatevergreen and use ssdt-amd, change 5 to 2 still get GPU core 0

 

Method (_INI, 0, NotSerialized)  // _INI: Initialize

        {

            If (LEqual (BAR2, Zero))

            {

                Store (BAR5, Local0)

            }

            Else

            {

                Store (BAR2, Local0)

            }

 

You have two possible ranges (bar4 and bar5?)

({"address"=4158652416,"length"=262144}),({"address"=4158914560,"length"=131072}))

may be this is the problem,

 

Is it dual GPU?

Share this post


Link to post
Share on other sites

only one GPU used GFX1 because MP 6.1 or should I change to GFX0 ?

No. I meant two chips on one card but  it is not true.

This card is a puzzle.

Share this post


Link to post
Share on other sites

HD 7790, R9 290X is "Sea Islands" familes

According to linux sources Sea Island family (CI) has the same method 6b0,c0300014 as Volcanic Island (Polaris)

I found other methods

cz (?) family:

./RadeonDump -n 6b0,d8200ca4

 

Vega10

./RadeonDump -r 59800,59810

 

If there is no mistake in linux then combined method

./RadeonDump -n 6b0,714

Share this post


Link to post
Share on other sites

Picos-Mac-Pro:radeon pico$ ./RadeonDump1 -n 6b0,d8200ca4
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPP/GFX1@0/RadeonPCI
it matched on name "ATY_GPU"
0xd8200ca4: 0x       0
Picos-Mac-Pro:radeon pico$ ./RadeonDump1 -r 59800,59810
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPP/GFX1@0/RadeonPCI
it matched on name "ATY_GPU"
Segmentation fault: 11
Picos-Mac-Pro:radeon pico$ ./RadeonDump1 -n 6b0,714
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPP/GFX1@0/RadeonPCI
it matched on name "ATY_GPU"
0x 714: 0x       0

Share this post


Link to post
Share on other sites

@Slice .. I do not know maybe this is useful for your research

https://github.com/wkennington/linux-firmware/tree/master/radeon

But what can I find in bin files?

I took linux sources 4.14 and search all appearance of the string "get_temp". Then I analysed definitions of each symbol to find what registers to be set or read. This way I made monitoring for Polaris card.

Still no success for SeaIsland.

Share this post


Link to post
Share on other sites

Pavles-iMac:Desktop pavle$ ./RadeonDump1 -n 200,c0300014

Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0/RadeonPCI

it matched on name "ATY,BaladiParentEHC1"

0xc0300014: 0x       0

Pavles-iMac:Desktop pavle$ ./RadeonDump1 -n 200,c0300e0c

Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0/RadeonPCI

it matched on name "ATY,BaladiParentEHC1"

0xc0300e0c: 0x       0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

Announcements

  • Similar Content

    • By miliuco
      Radeon RX 580 8 GB graphics card on macOS High Sierra (as of 10.13.6), Mojave and Catalina on the P55-USB3 board: excellent performance with acceleration (Metal) OOB, no need for drivers (kexts), with 3 drawbacks, one has to do with the boot of the operating system (a solution is proposed), another with the number of rear connectors enabled (a solution is proposed) and another that only affects to one phase of the Mojave or Catalina installation (without clear solution for now).

      I have placed the XFX AMD Radeon RX-580 P8DFD6 8GB Triple X Edition GDDR5, 256BIT, DVI + HDMI + 3DP graphics card on a 10 year old motherboard (Gigabyte P55-USB3) in order to update the hackintosh to 10.14 Mojave and 10.15 Catalina because the card that I have used in past years, Nvidia Geforce GTX 750 1GB, has stopped working after 10.13.6 High Sierra since this was the last version for which Nvidia published the alternate web drivers that were necessary for the card to work well with graphic acceleration.

      The new RX 580 card needs considerably more space than the old one although it fits perfectly in an ATX case, and requires an additional power connector. It has 2 big fans that most of the time are stopped, at least in my case. In macOS it works perfectly, even with Metal acceleration, without additional drivers and without extra settings in Clover. But it has drawbacks that I comment below.

      Alterations during startup

      During the boot of the operating system, when the screen goes from the basic driver to the AMD driver, 2 artifacts appear randomly, they are very short in duration (from one to a few seconds):
      Very short flashing white screen that may or may not be accompanied by purple lines The fans runs for a few seconds (the noise is clearly audible). This behavior is solved with the installation of 2 kexts, Lilu and WhateverGreen. Lilu is an extension created by acidantheraand vit9696 among others whose function is to help to patch kexts, processes and libraries during macOS boot. It is accompanied by specific plugins for the task required, for example WhateverGreen that injects necessary patches for certain AMD, Intel and Nvidia graphics cards. It is mandatory to have both extensions together, one of them separately does not correct the problem.
      I have installed Lilu 1.4.4 and WhateverGreen 1.3.9 in the EFI/CLOVER/kexts/Other folder of the EFI partition and artifacts have disappeared. Remember that these 2 extensions are not necessary for the card to work properly, if you tolerate those very brief distortions of the screen or the noise of the fans running for a few seconds, you can live without Lilu and WhateverGreen.

      Note: authors recommend that when using Lilu and WhateverGreen with Radeon cards, NO graphic settings have to be added to Clover (Inject ATI, etc.).

      Note: these alterations, especially the brief white screen and less frequently purple lines and fan noise, are also seen in Windows and some real Macs with the same card.

      Alteration during macOS installation

      Boot from USB > Clover menu > Install macOS from Install macOS Catalina > screen works fine
      Boot from USB > Clover menu > Install macOS from MacintoshHD > black screen
      Booting from USB > Clover menu > Boot macOS from MacintoshHD > screen works fine.

      In the first and third stages, screen works fine. In the second stage the screen goes black although the installation continues. The user has nothing to do at this moment so you can leave the PC working until the Clover menu is shown again, the screen is recovered, the initial account options can be configured and you can enter into the newly installed system with correct resolution and acceleration.
      This behavior is not corrected even by placing Lilu and WhateverGreen into the USB device. At least in my case I have not found a solution for it. Yo can install macOS perfectly with that drawback of not seeing how it progresses during the second phase of the installation.

      Only 2 connectors of the 5 available work

      This card has 3 Display Port (DP) ports, 1 HDMI port and 1 DVI port. In my case, only 2 DP work, those that are further from the HDMI connector. It is enough if you use a single monitor or 2 monitors that can be connected by DP. But if you want to have 3 or more connected devices or some of them only have HDMI, it is necessary to enable the 5 connectors or at least 4 of them since the DVI is obsolete and does not allow resolutions as high as DP and HDMI.
      User foxbox has proposed a solution in a thread titled [Solved] Sapphire RX 580 Nitro + SE | black screen on HDMI and DVI. Must inject from Clover a modification to the Orinoco framebuffer (which is used in the RX 580 card) so that the 5 connectors lack a fixedly assigned address and, instead, receive it dynamically. This change is made from the KextsToPatch section of Clover. Read the post from foxbox.
      This has to be accompanied by 3 changes in the Graphics section of Clover: Orinoco in FB Name / Inject ATI / 5 in Video Ports. I have tested this solution in macOS Catalina and it effectively enables the 5 ports of the card but, since I only use 1 monitor, I have removed it and I am with Lilu and WhateverGreen.
       

    • By Slice
      Guys,
      Don't mix 6.18 and 3.41.
       
      There are three different projects for monitoring temperatures, voltages, fans speed and other hardware parameters:
      Initially it was FakeSMC with plugins for producing SMC keys for hardware parameters for different hardware. But sometimes ago Kozlek separated own version of FakeSMC and producing new set of plugins while I stay with good working version 3. So..
      1. FakeSMC v3 with Hardware Sensors3  which I still supported.
      2. FakeSMC v6 (rev1800) by Kozlek and supported by Rehabman. AFAIK both are abandoned and the project is not supported. Or may be maintained by coauthors.
      3. New VirtualSMC by vit9696 with own set of sensors kexts. It depends on Lilu.kext. The project is in active development.
      All three project have incompatible interfaces sensors<->SMC so they are incompatible with each other.
       
      There are applications for monitoring hardware parameters and they commonly depends on these projects.
      1. iStat, iStatMenu, iStatPro compatible with real Macs because they use SMC keys just like those presents in real Macs.
      2. HWMonitorSMC by Navi (initial codes from Kozlek)  used in my HWSensors3.
      3. HWMonitor by Kozlek with graphics like in IntelPowerGadget used in his HWSensors version.
      4. HWMonitorSMC2 by Vector_Sigma tends to be universal supporting all project. It also may use sensors information produces by Apple graphics and by IntelPowerGadget.
       
      Let us discuss here differences and common ideas for this projects.
       
    • By Slice
      This thread devoted to share information about different SMC keys found or investigated anywhere.
       
      What are they?
      SMC keys is a somehow language to speak between macOS and hardware microcontroller presented in real Mac and absent in Hackintosh.
      They inform macOS about Hardware ID and current status. Moreover macOS can write something through SMC protocol to control hardware.
      FakeSMC ( ©Netkas) is the driver to emulate this microcontroller on PC having no such device which is necessary to boot macOS here.
      But FakeSMC contain only ~20 keys while real Mac answers ~200 keys.
      Some keys we added by HWSensors project reporting temperatures, FAN speeds, voltages etc.
      Some keys are model dependent was added by Clover to be sure if user changed model in GUI then corresponding keys will be changed automatically.
      Clover sets
      LogDataHub(&gEfiMiscSubClassGuid, L"RPlt", &gSettings.RPlt, 8);
      LogDataHub(&gEfiMiscSubClassGuid, L"RBr", &gSettings.RBr, 8);
      LogDataHub(&gEfiMiscSubClassGuid, L"EPCI", &gSettings.EPCI, 4);
      LogDataHub(&gEfiMiscSubClassGuid, L"REV", &gSettings.REV, 6);
      LogDataHub(&gEfiMiscSubClassGuid, L"BEMB", &gSettings.Mobile, 1);
      BEMB - is a mobility sign. =0 -desktop, =1 - mobile.
      REV - SMC hardware revision, changes sometimes with Apple updates.
      RPlt, RBr and EPCI is hardware capabilities, noticed used in Intel HD drivers.
       
      Structure.
      All SMC keys consists of name 4 ascii chars as 32bit integer, type and value.
      Types:
       "flag", len 1
       "ui8 ", len 1
       "ui16", len 2
       "sp78", len 2
       "ui32", len 4
      "fp2e", len 2
      "fpe2", len 2
      "{rev", and others...
       
      List of known keys
      SMC_list.plist.zip
      More keys will be discussed in the thread
       
       
      Feel free to share you knowledge and ask about noticed keys.
    • By Slice
      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
×