Contribute
Register

macOS Sierra PB: Need testers for new AMD Radeon drivers!

Status
Not open for further replies.
Joined
May 15, 2016
Messages
4,788
Motherboard
GIGABYTE Z170M D3H
CPU
i5-6500
Graphics
RX 480
Mac
iMac
Regarding audio! I have managed to achieve audio through hdmi with a ssdt for the pci detection + audio, but the audio I hear is, besides low quality, slowed down...

Anything I hear is slowed down.. Is so weird.. I don't know if you guys have the same issue or is just terrible quality..
I have the same since 12.4 beta using Toledas hdmi injection method. I'm looking into chameleon bootloader it has an option to select the audio drivers of your choice. Whether they work or not will be determined after configuring a chameleon bootloader.
 
Joined
Jul 10, 2013
Messages
210
Motherboard
ASUS TUF Z390M-Pro Gaming WiFi AC
CPU
i7-9700K
Graphics
UHD 630 - RX 580
Mac
iMac, MacBook Pro, Mac Pro
Classic Mac
eMac, iBook, iMac, PowerBook
Mobile Phone
Android
That is pretty much where we are. There are various ways to get the sound controls to show up in the Sound Preferences pane, but getting the audio correct is like chasing leprechauns riding unicorns.

Various folks have said that the problem is the way Apple has written the AMD 95nn Controller(s) and the 4100 kext. (They) are not properly interlacing the audio signal in with the video signal to send it out to the attached equipment.

You mention the audio you are hearing via your HDMI connection is slowed down. Is your connection to a monitor or to an av receiver? Also, how many devices are connected to your card and turned on at the same time?
I'm connected only to a HDMI monitor.. No other devices connected, also haven't tested how many outputs work at once. The Mork_Vom patch for FB don't work for me either with the RX480
 
Joined
Jul 10, 2013
Messages
210
Motherboard
ASUS TUF Z390M-Pro Gaming WiFi AC
CPU
i7-9700K
Graphics
UHD 630 - RX 580
Mac
iMac, MacBook Pro, Mac Pro
Classic Mac
eMac, iBook, iMac, PowerBook
Mobile Phone
Android
I have the same since 12.4 beta using Toledas hdmi injection method. I'm looking into chameleon bootloader it has an option to select the audio drivers of your choice. Whether they work or not will be determined after configuring a chameleon bootloader.
You reckon the driver could be used under clover if it works somehow??
 
Joined
Oct 5, 2013
Messages
507
Mac
Classic Mac
Mobile Phone
I'm connected only to a HDMI monitor.. No other devices connected, also haven't tested how many outputs work at once. The Mork_Vom patch for FB don't work for me either with the RX480
Which one did you try? Mork has two Berbice patches, one for the RX 460 which is fully developed, and one for the RX 470/480, but that one is only listed with the basic information. It has to be finished by the user before it csn be put into use.
 
Joined
May 15, 2016
Messages
4,788
Motherboard
GIGABYTE Z170M D3H
CPU
i5-6500
Graphics
RX 480
Mac
iMac
You reckon the driver could be used under clover if it works somehow??
I don't know, Chameleon uses a SYMBios.plist, Org.Chameleon.plist and Kernel.plist where clover just uses a config.plist for everything. Some of the boot arguments are the same like dart=0 but others are very different. No idea on compatibility, you could try to use those tools as they also will do clover config.plist. It would be worth a try, there are several audio config to choose from but I'm not sure the clover setup will do it. Let us know if you try it.
 
Joined
Oct 5, 2013
Messages
507
Mac
Classic Mac
Mobile Phone
I have been trying to narrow down the possible place for error(s) in pushing audio out over my RX 460 card. So, of course I wrote another script to allow me to test various options. I am putting this script up here for those that want to try it to see if they have similar results. My conclusion is that for my situation, I do think (as others have reported) the Apple-AMD 9510 controller and 4100 kext are the problem in that "they" are sending a malformed header to the receiving equipment whether that equipment is a tv, monitor or a/v receiver. So here is the script. It plays one song through whatever audio out device you already have [this does not add new devices — if you want to use hdmi / dp audio outputs, you will probably have to use one of the SSDT.aml files available to gain that capability before this script will be able to send audio output to those devices.]

This script uses part of the built in CoreAudio toolbox that Apple includes in macOS. Most scripts however, cannot call those tools directly. So first you will have to install a wrapper library that allows the script to work with the CoreAudio tools.

This is very easy to do. Open the Terminal app (you knew that was coming right :)). Then type in the command:

sudo gem install coreaudio

followed by pressing the return key. You will have to enter your password (also followed by the return key.)

macOS will go download the necessary wrapper library and install it for you. No fuss, no muss. If you are (as very well you might be) curious about the library, the source code is found here:

location of the source code: https://github.com/nagachika/ruby-coreaudio
location of the installer: https://rubygems.org/gems/coreaudio/versions/0.0.12

These type of files get installed in one of three places, in this case, it should be the first location:

location of the installed gem file

/Library/Ruby/Gems/2.0.0/gems
/Users/your_user_name/.gem/ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0/gems

Once the installation is finished, drag the script I included to your desktop and remove the .zip extension. The file is not zipped. In the Terminal window, type the command:

cd ~/Desktop

and press the return key. Then set the execute permissions by typing in the command:

chmod +x OnePlay-V01.rb

and press the return key.

Then open the script in a text editor (Big NOTE: you must have smart quotes etc, turned OFF or else very bad things will happen; the earth will open up and dragons will carry your machine back into the bowels of a volcano or something like that will happen) and enter the full path to some of your songs on your drive. I have not tested this with network attached drives, those might be okay. Use a locally attached drive just to be safe. You can only use wav or m4a audio files at this time. This will not play your flac files :). I listed five song placeholders, uncomment the line with the song you wish to use by removing the # character from the front of the line. Save the file. Then in Terminal type in the command:

ruby OnePlay-V01.rb

and press the return key.

The script will tell you some information about your chosen song, then list the audio output options you have available, letting you choose one and then letting you choose from the available rates to play the song. And then it will play the song. Or, at least that is what is supposed to happen.

I have found that the standard audio out devices play without incident, in that the song will play at the rate you choose. So the CoreAudio stuff is working correctly. Things get strange in choosing the audio output(s) via the RX 4nn card connectors. As you know, the song will not play at the correct speed, but if you choose different playback speeds, your connected equipment will do just as you tell it, by playing the wrong-speed song back at the chosen rate. Try it and you will see what I am referring to. Now, if you try to play back to a a/v receiver via the HDMI connector, you will most likely get an error. The script will tell you the dim of the header does not contain the information about the number of channels. If you use the audio midi setup app, (found in the Applications/Utilities folder) you can set the HDMI output to be two channel type of output which will cause the error to go away, but the audio will still be silent while the song continues to play.

So, the core audio stuff is working properly, but it seems the 9510 controller or the 4100 kext is intercepting the output, and mixing it with the video signal but not giving the proper header to the receiver so it can decode the signal.

errors. errors. errors.
 

Attachments

Joined
Mar 16, 2017
Messages
16
Motherboard
GIGABYTE GA-Z170X-UD3
CPU
Intel Core i7-6700K Skylake Quad-Core 4.0 GHz LGA 1151 91W BX80662I76700K
Graphics
Radeon RX 470 (x2)
Mac
MacBook Air, Mac mini
Classic Mac
iBook, Performa, Plus, SE
Mobile Phone
iOS
Which one did you try? Mork has two Berbice patches, one for the RX 460 which is fully developed, and one for the RX 470/480, but that one is only listed with the basic information. It has to be finished by the user before it csn be put into use.
can you link to the page with the RX 470 patch? i have one that i'm working out the kinks

thanks!
 
Joined
Nov 6, 2016
Messages
16
I have been trying to narrow down the possible place for error(s) in pushing audio out over my RX 460 card. So, of course I wrote another script to allow me to test various options. I am putting this script up here for those that want to try it to see if they have similar results. My conclusion is that for my situation, I do think (as others have reported) the Apple-AMD 9510 controller and 4100 kext are the problem in that "they" are sending a malformed header to the receiving equipment whether that equipment is a tv, monitor or a/v receiver. So here is the script. It plays one song through whatever audio out device you already have [this does not add new devices — if you want to use hdmi / dp audio outputs, you will probably have to use one of the SSDT.aml files available to gain that capability before this script will be able to send audio output to those devices.]

This script uses part of the built in CoreAudio toolbox that Apple includes in macOS. Most scripts however, cannot call those tools directly. So first you will have to install a wrapper library that allows the script to work with the CoreAudio tools.

This is very easy to do. Open the Terminal app (you knew that was coming right :)). Then type in the command:

sudo gem install coreaudio

followed by pressing the return key. You will have to enter your password (also followed by the return key.)

macOS will go download the necessary wrapper library and install it for you. No fuss, no muss. If you are (as very well you might be) curious about the library, the source code is found here:

location of the source code: https://github.com/nagachika/ruby-coreaudio
location of the installer: https://rubygems.org/gems/coreaudio/versions/0.0.12

These type of files get installed in one of three places, in this case, it should be the first location:

location of the installed gem file

/Library/Ruby/Gems/2.0.0/gems
/Users/your_user_name/.gem/ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0/gems

Once the installation is finished, drag the script I included to your desktop and remove the .zip extension. The file is not zipped. In the Terminal window, type the command:

cd ~/Desktop

and press the return key. Then set the execute permissions by typing in the command:

chmod +x OnePlay-V01.rb

and press the return key.

Then open the script in a text editor (Big NOTE: you must have smart quotes etc, turned OFF or else very bad things will happen; the earth will open up and dragons will carry your machine back into the bowels of a volcano or something like that will happen) and enter the full path to some of your songs on your drive. I have not tested this with network attached drives, those might be okay. Use a locally attached drive just to be safe. You can only use wav or m4a audio files at this time. This will not play your flac files :). I listed five song placeholders, uncomment the line with the song you wish to use by removing the # character from the front of the line. Save the file. Then in Terminal type in the command:

ruby OnePlay-V01.rb

and press the return key.

The script will tell you some information about your chosen song, then list the audio output options you have available, letting you choose one and then letting you choose from the available rates to play the song. And then it will play the song. Or, at least that is what is supposed to happen.

I have found that the standard audio out devices play without incident, in that the song will play at the rate you choose. So the CoreAudio stuff is working correctly. Things get strange in choosing the audio output(s) via the RX 4nn card connectors. As you know, the song will not play at the correct speed, but if you choose different playback speeds, your connected equipment will do just as you tell it, by playing the wrong-speed song back at the chosen rate. Try it and you will see what I am referring to. Now, if you try to play back to a a/v receiver via the HDMI connector, you will most likely get an error. The script will tell you the dim of the header does not contain the information about the number of channels. If you use the audio midi setup app, (found in the Applications/Utilities folder) you can set the HDMI output to be two channel type of output which will cause the error to go away, but the audio will still be silent while the song continues to play.

So, the core audio stuff is working properly, but it seems the 9510 controller or the 4100 kext is intercepting the output, and mixing it with the video signal but not giving the proper header to the receiver so it can decode the signal.

errors. errors. errors.
Dumb question, is it worth our time to file a radar (bug) report to Apple regarding this issue?
 
Status
Not open for further replies.
Top