Jump to content

WhatEverGreen Support Topic


MattsCreative
1,501 posts in this topic

Recommended Posts

This Post is for helping users with issue that come with Whatevergreen

Feel free to join in and help users if you know your stuff
also get the dev's of whatever green to join as well


Whatevergreen has a few issues

Multi-monitor Support is lacking as 2 monitors seems to be the limit for some even if the devs say it's not users say it's true

Some Id's are wrong or missing (hence the nano and 390X not working)

some GPU names are wrong ( which has been reported many times)

FOR RYZEN OWNERS with Polaris :

Modified kext:/S/L/E/AMD9510Controller.kext//Contents/Info.plistfrom:<key>IOPCIMatch</key><string>0x67EF1002</string>to:<key>IOPCIMatch</key><string>0x67FF1002</string> Updating clover to Clover_v2.4k_r4152 and using the config.plist here https://pastebin.com/TYiTEVcMwithbusratio=36 and npci=0x3000 

ALSO THIS THREAD IS NOT FOR WHINING in anyway please do not post off topic if you don't like given support in this forum that's all you but majority of use need it.

 

Source code: repository.
FAQ and documentation: link.

 

a real SSDT example https://www.dropbox.com/sh/el66izg1lmk1jiu/AADCZUEjyQyiWWELlmzW2ix-a?dl=0 Credits to Pavo for the hard work of decoding the mess

Boot argumentsAdd -raddbg to enable debug printing (available in DEBUG binaries).Add -radvesa to disable ATI/AMD video acceleration completely.Add -radoff to disable WhateverGreen.Add -radbeta to enable WhateverGreen on unsupported os versions (10.13 and below are enabled by default).Add -rad24 to enforce 24-bit display mode.Add -radlogo to patch boot logo distortion.Add -raddvi to enable DVI transmitter correction (required for 290X, 370, etc.)Add radpg=15 to disable several power-gating modes (see FAQ, required for 7xxx GPUs).

If you Don't Want To use WEG or LILU clover 4297 has a new patch that fixes the same issues without kexts 

You have to set in config.plist <key>Graphics</key> <dict> <key>RadeonDeInit</key> <true/>
  • Like 10
Link to comment
Share on other sites

1. Multi-monitor Support is lacking and some what buggy

 

2. Some Id's are wrong or missing

 

3. some Gpu names are wrong 

 

4. and some gpu's like the nano or 390x does not work when they should.

 

1. Everything works like it should. How to avoid problems with R9 290X described in FAQ. Try "connectors", "connector-count" and "connector-priority"

  • When and how should I use custom connectors?

    In general automatic controller detection written in Apple kexts creates perfect connectors from your VBIOS. The logic of that can be found in reference.cpp. However, some GPU makers physically create different connectors but leave the VBIOS unchanged. This results in invalid connectors that are incompatible with your GPU. The proper way to fix the issues is to correct the data in VBIOS, however, just providing custom connectors can be easier.

    For some GPUs (e.g. 290, 290X and probably some others) WhateverGreen incorporates automatic connector correction that can be enabled via -raddvi boot argument. For other GPUs you may specify them as a GPU device property called connects, for example, via SSDT. You could pass your connectors in either 24-byte or 16-byte format, they will be automatically adapted to the running system. If you need to provide more or less connectors than it is detected automatically, you are to specify connector-count property as well. Please note that automatically detected connectors appear in the debug log to give you a good start.

  • How can I change display priority?

    With 7xxx GPUs or newer you could simply add connector-priority GPU controller property with sense ids (could be seen in debug log) in the order of their importance. This property may help with black screen issues especially with the multi-monitor configurations.

    Without this property specified all the connectors will stay with 0 priority. If there are unspecified connectors they will be ordered by type: LVDS, DVI, HDMI, DP, VGA. Read SSDT sample for more details.

2. What ID's are wrong or missing? WhateverGreen doesn't have fake-id option! So if device-id of your card is missing in vanilla AMD kexts you have to inject fake id with SSDT or Arbitrary array in config.plist

 

3. Once again read the FAQ. 

All the questions about automatic GPU model detection correctness should be addressed to The PCI ID Repository. In special cases you may submit a patch for kern_model.cpp. GPU model name is absolutely unimportant for GPU functioning.

 

4. Read the first paragraph

Link to comment
Share on other sites

1. Everything works like it should. How to avoid problems with R9 290X described in FAQ. Try "connectors", "connector-count" and "connector-priority"

 

saying it without having a example doesnt help your faq page doesnt help it can't it lacks so much info im sorry best to make it more full of information instead of try this and that without showing how and if you can't give support for your plugin why bother making it at all ? you don't just post a plugin and a useless faq pages and hope for the best

  • Like 2
Link to comment
Share on other sites

saying it without having a example doesnt help your faq page doesnt help it can't it lacks so much info im sorry best to make it more full of information instead of try this and that without showing how and if you can't give support for your plugin why bother making it at all ? you don't just post a plugin and a useless faq pages and hope for the best

 

How?

Open SSDT sample and read notes... 

  • Like 1
Link to comment
Share on other sites

How?

Open SSDT sample and read notes... 

it's messy and not going to help a new user not eveyone is a magic SSDt patcher most on this forum can't do it even hack pro's you need to find a better way of showing how things work and what to try to fix any issue less messy way a good way

  • Like 1
Link to comment
Share on other sites

How?

Open SSDT sample and read notes...

 

This is a great advancement for AMD cards, it works great on my Intel i3 7350k, i5 6500, and pentium G3258 Haswel with RX 460 and RX 480.

 

It even works on my Ryzen 7 1700 with RX 480 but only in Sierra 12.5. In Sierra 12.5 I edit the info.plist of 9510 and 4100 kexts. I am able to boot with only RX 480 and no helper card.

 

In Sierra 12.6 there is no need to edit the kexts but it boots to black screen. The card accelerates at boot and I know it's booted but only black screen ( like days of old). With a Nvidia GT210 as a helper card it boots and shows the AMD Radeon Pro 480/575 so I know WhateverGreen is working.

 

Any ideas on why it won't work for Ryzen in Sierra 12.6?

  • Like 1
Link to comment
Share on other sites

Is it possible to get the correct Frambuffer when using atribute "connectors" ?

right now it will allways be RadeonFramebuffer, but under old conditions we where able to choose different Frambuffers.

This weekend i tried the attribute "Connectors" by supplying it through my SSDT as in the sample SSDT it was adviced.

But it still shows AMD,RadeonFramebuffer as chosen framebuffer instead of "Orinoco", which i prefere to use.

 

Never the less: the kext is working great and as expected. No iGPU in BIOS activated and i have full 8-channel sound via HDMI of my Sapphire RX480 Nitro.

My question ist only a "cosmetic" question. I will explain in more details when i am back home and able to provide my SSDT with this post.

  • Like 3
Link to comment
Share on other sites

This is a great advancement for AMD cards, it works great on my Intel i3 7350k, i5 6500, and pentium G3258 Haswel with RX 460 and RX 480.

 

It even works on my Ryzen 7 1700 with RX 480 but only in Sierra 12.5. In Sierra 12.5 I edit the info.plist of 9510 and 4100 kexts. I am able to boot with only RX 480 and no helper card.

 

In Sierra 12.6 there is no need to edit the kexts but it boots to black screen. The card accelerates at boot and I know it's booted but only black screen ( like days of old). With a Nvidia GT210 as a helper card it boots and shows the AMD Radeon Pro 480/575 so I know WhateverGreen is working.

 

Any ideas on why it won't work for Ryzen in Sierra 12.6?

 

Well interresting :

 

I have a simmilary build with Haswell Celeron and rx 460 :

 

I have spend lot of time this week end and unable to boot with PEG in bios.

 

Please may you upload your config.plist it will perhaps  helpfull for me.

Link to comment
Share on other sites

Is it possible to get the correct Frambuffer when using atribute "connectors" ?

right now it will allways be RadeonFramebuffer, but under old conditions we where able to choose different Frambuffers.

This weekend i tried the attribute "Connectors" by supplying it through my SSDT as in the sample SSDT it was adviced.

But it still shows AMD,RadeonFramebuffer as chosen framebuffer instead of "Orinoco", which i prefere to use.

 

Never the less: the kext is working great and as expected. No iGPU in BIOS activated and i have full 8-channel sound via HDMI of my Sapphire RX480 Nitro.

My question ist only a "cosmetic" question. I will explain in more details when i am back home and able to provide my SSDT with this post.

 

See the FAQ about named framebuffer. Custom connectors for Polaris are useless. Autodetect works fine with this cards.

  • When should I use a named framebuffer?

    Named framebuffers (Baladi, Futomaki, Lotus, etc.), enabled by "Clover GPU injection" or any other methods should never ever be used. This way of GPU injection is a common mistake, preventing automatic configuration of various important GPU parameters. This will inavoidably lead to borked GPU functioning in quite a number of cases.

It even works on my Ryzen 7 1700 with RX 480 but only in Sierra 12.5. In Sierra 12.5 I edit the info.plist of 9510 and 4100 kexts. I am able to boot with only RX 480 and no helper card.

 

In Sierra 12.6 there is no need to edit the kexts but it boots to black screen. The card accelerates at boot and I know it's booted but only black screen ( like days of old). With a Nvidia GT210 as a helper card it boots and shows the AMD Radeon Pro 480/575 so I know WhateverGreen is working.

 

Any ideas on why it won't work for Ryzen in Sierra 12.6?

 

I think it it is Ryzen kernel issue. 

Link to comment
Share on other sites

How?

Open SSDT sample and read notes... 

 

Referring to people to FAQ's all the time is not always helpful.

Not all people have the same level of expertise as Devs.

 

@vit9696 and others have a done a fantastic job in finding the solution of getting AMD cards to work but since it's closed-source solution, Devs should be more open to helping people solve their specific problems. Saying everything works does not help the person who is having problems.

 

If people say, "it does not work" then Devs should say "...ok, please post you debug, config.plist, or whatever I need to help you solve your problem" instead of saying "see the FAQ".

Yes it may be a "user problem" but if the user is not as an expert as the Dev, then don't assume that they can read the FAQ and solve the problem on their own.

E.g. the FAQ mentions Connectors and in the SSDT example, there's a Connectors section that is just a bunch of numbers...:

"connectors",
                        Buffer ()
                        {
                            0x00, 0x04, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x12, 0x04, 0x04, 0x01, 
                            0x00, 0x08, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x22, 0x05, 0x01, 0x03, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x10, 0x00, 0x05, 0x06, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x11, 0x02, 0x06, 0x05
                        },

...and there's no help in that example as to what these numbers are and how to change them.

By the way, that SSDT example is very well documented compared to many others I've seen in 8 years of hacking (but clearly it's not enough).

 

People are not asking for "free fish" but "teach me how to fish, so that I can feed my self".

 

Keep up the good work.

  • Like 6
Link to comment
Share on other sites

Referring to people to FAQ's all the time is not always helpful.

Not all people have the same level of expertise as Devs.

 

@vit9696 and others have a done a fantastic job in finding the solution of getting AMD cards to work but since it's closed-source solution, Devs should be more open to helping people solve their specific problems. Saying everything works does not help the person who is having problems.

 

If people say, "it does not work" then Devs should say "...ok, please post you debug, config.plist, or whatever I need to help you solve your problem" instead of saying "see the FAQ".

Yes it may be a "user problem" but if the user is not as an expert as the Dev, then don't assume that they can read the FAQ and solve the problem on their own.

E.g. the FAQ mentions Connectors and in the SSDT example, there's a Connectors section that is just a bunch of numbers...:

"connectors",
                        Buffer ()
                        {
                            0x00, 0x04, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x12, 0x04, 0x04, 0x01, 
                            0x00, 0x08, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x22, 0x05, 0x01, 0x03, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x10, 0x00, 0x05, 0x06, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x11, 0x02, 0x06, 0x05
                        },

...and there's no help in that example as to what these numbers are and how to change them.

By the way, that SSDT example is very well documented compared to many others I've seen in 8 years of hacking (but clearly it's not enough).

 

People are not asking for "free fish" but "teach me how to fish, so that I can feed my self".

 

Keep up the good work.

it's like talking to a brick wall when you tell him that 

  • Like 1
Link to comment
Share on other sites

This is exactly like the normal connector patching done previously, just in a SSDT format. 

"connectors",
                        Buffer ()
                        {
                            0x00, 0x04, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x12, 0x04, 0x04, 0x01, 
                            0x00, 0x08, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x22, 0x05, 0x01, 0x03, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x10, 0x00, 0x05, 0x06, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x11, 0x02, 0x06, 0x05
                        },
  • Like 2
Link to comment
Share on other sites

 

This is exactly like the normal connector patching done previously, just in a SSDT format.

"connectors",
                        Buffer ()
                        {
                            0x00, 0x04, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x12, 0x04, 0x04, 0x01, 
                            0x00, 0x08, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x22, 0x05, 0x01, 0x03, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x10, 0x00, 0x05, 0x06, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x11, 0x02, 0x06, 0x05
                        },
how is your progress so far ?
Link to comment
Share on other sites

 

This is exactly like the normal connector patching done previously, just in a SSDT format. 

"connectors",
                        Buffer ()
                        {
                            0x00, 0x04, 0x00, 0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x12, 0x04, 0x04, 0x01, 
                            0x00, 0x08, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x22, 0x05, 0x01, 0x03, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00, 0x10, 0x00, 0x05, 0x06, 
                            0x04, 0x00, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x00, 0x01, 0x04, 0x00, 0x11, 0x02, 0x06, 0x05
                        },

 

Yes it may be but if people have never had to deal with connector patching before (e.g. they are moving from nVidia to AMD) then it's of no help.

They will need to go off somewhere else google AMD connector patching and hope they figure out the old-way with SSDT-way.

If it was documented within the FAQ (or better within the SSDT), then all info is in one place.

Link to comment
Share on other sites

Just noticed they got the port count wrong on the 290x since the dp port counts as 3 and dvi dvi and HDMI count as another 3 wth they doing to get 4 ? Gimping 2 other ports would cause issues

Link to comment
Share on other sites

Has anyone gotten the gigabyte radeon rx 560 to work with a ryzen build? I am booting 12.5 and having no such luck getting acceleration. I am willing to do hex edits or whatever is needed but as of now I am just running in circles!

In your config.plist

System Parameters -> Inject Kexts -> Yes

Rt Variables -> CsrActiveConfig -> 0x67

Make sure your not injecting anything since the RX560 seems to use the same ID as the RX460.

Please also make sure your using the latest version of Clover since last night I spent like 7 hours helping a friend but then at the end noticed... he was using a outdated version of Clover after updating it started working.

Link to comment
Share on other sites

In your config.plist

System Parameters -> Inject Kexts -> Yes

Rt Variables -> CsrActiveConfig -> 0x67

Make sure your not injecting anything since the RX560 seems to use the same ID as the RX460.

Please also make sure your using the latest version of Clover since last night I spent like 7 hours helping a friend but then at the end noticed... he was using a outdated version of Clover after updating it started working.

I am going to use the latest version of Clover_v2.4k_r4128

I have the 0x67 command issued.

 

I am using a ryzen cpu with 10.12.6

 

If I cannot get the RX 560 to work on the Ryzen I will try it on the Z77

 

UPDATE! I GOT THIS RX 560 to WORK in my Z77X setup running 10.12.6! All I did was set inject kexts to yes, Rt variables to 0x67, and place the Kexts in the EFI kext folder! Wa-la! atleast she is not a paper weight. I will now try to do an install on the AMD.

Link to comment
Share on other sites

Well interresting :

 

I have a simmilary build with Haswell Celeron and rx 460 :

 

I have spend lot of time this week end and unable to boot with PEG in bios.

 

Please may you upload your config.plist it will perhaps  helpfull for me.

 

Heres my EFI folder.   You will need to add serial number, UUID, and MLB, and I removed the Themes folder.   I also added the lilugreen kexts to System/Library/Extensions folder.

 

EFI.zip

  • Like 1
Link to comment
Share on other sites

Heres my EFI folder.   You will need to add serial number, UUID, and MLB, and I removed the Themes folder.   I also added the lilugreen kexts to System/Library/Extensions folder.

 

attachicon.gifEFI.zip

 

Thanks :)

Link to comment
Share on other sites

×
×
  • Create New...