Jump to content
InsanelyMac Forum
  • Announcements

    • Allan

      Solution to create a topic or post.   04/24/2018

      Hello guys. The majority of you are having issues to create a topic or post here. This are a problem with our current theme InsanelyMac.  Now the theme will be the Default IPS. Sorry for any inconvenience.
oldnapalm

Áudio multicanal 5.1/7.1 com VoodooHDA

Recommended Posts

Para ter som multicanal no Mac OS basta entrar em Aplicativos - Utilitários - Configuração Áudio e MIDI e criar um dispositivo agregado com 3 (5.1) ou 4 saídas (7.1)

 

multichannel.png

 

O problema é que com a maioria dos codecs a VoodooHDA ativa apenas uma saída. Isso acontece porque o codec tem vários nodes com mesmo Default Association, variando a Sequence.

 

Para fazer um dump do seu codec use o comando getDump (obtido no tópico oficial da VoodooHDA).

 

Exemplo:

nid 17 0x02214030 as  3 seq  0	Headphones  Jack jack  1 loc  2 color   Green misc 0
nid 18 0x010140[color="#FF0000"]1[/color]0 as  1 seq  0	  [color="#FF0000"]Line-out[/color]  Jack jack  1 loc  1 color   Green misc 0
nid 19 0x511711f0 as 15 seq  0	   Speaker  None jack  7 loc 17 color   Black misc 1
nid 20 0x02a1902e as  2 seq 14	Microphone  Jack jack  1 loc  2 color	Pink misc 0
nid 21 0x01813021 as  2 seq  1	   Line-in  Jack jack  1 loc  1 color	Blue misc 0
nid 22 0x010110[color="#FF0000"]1[/color]2 as  1 seq  2	  [color="#FF0000"]Line-out[/color]  Jack jack  1 loc  1 color   Black misc 0
nid 23 0x01a19020 as  2 seq  0	Microphone  Jack jack  1 loc  1 color	Pink misc 0
nid 24 0x99331122 as  2 seq  2	  CD Fixed       jack  3 loc 25 color   Black misc 1
nid 27 0x0145f1a0 as 10 seq  0	 SPDIF-out  Jack jack  5 loc  1 color   Other misc 1
nid 28 0x41c5f160 as  6 seq  0	  SPDIF-in  None jack  5 loc  1 color   Other misc 1
nid 36 0x010160[color="#FF0000"]1[/color]1 as  1 seq  1	  [color="#FF0000"]Line-out[/color]  Jack jack  1 loc  1 color   Orange misc 0
nid 37 0x010120[color="#FF0000"]1[/color]4 as  1 seq  4	  [color="#FF0000"]Line-out[/color]  Jack jack  1 loc  1 color	Grey misc 0

 

O PinDefault é composto por 8 caracteres hex

0x01011012
 |||||||+- Sequence
 ||||||+-- Default Association
 |||||+--- Misc
 ||||+---- Color
 |||+----- Connection Type
 ||+------ Default Device
 |+------- Location
 +-------- Port Connectivity

 

Mais informações http://olarila.com/forum/viewtopic.php?f=2&t=180

 

A Apple não usa saída analógica multicanal, então precisamos botar um Default Association diferente para cada line-out (coloque o primeiro valor disponível). Sequence fica sempre zero.

 

Para mudar esses valores, incluímos NodesToPatch no arquivo Info.plist da VoodooHDA, por exemplo:

<key>NodesToPatch</key>
<array>
  <dict>
     <key>Codec</key>
     <integer>0</integer> [b]<!-- endereço do codec ("Probing codec #[color="#FF0000"]0[/color]" no getDump) -->[/b]
     <key>Config</key>
     <string>0x010110[b]70[/b]</string> [b]<!-- novo PinDefault -->[/b]
     <key>Node</key>
     <integer>22</integer> [b]<!-- número do node (nid) -->[/b]
  </dict>
</array>

Como editar o Info.plist http://olarila.com/forum/viewtopic.php?f=3&t=69

 

Em alguns casos também é necessário ajustar a Port Connectivity. No caso de jacks os bits 6 e 7 devem ser zero, então qualquer valor maior que 1 no char 7 do PinDefault indica que o node está desativado (você verá "Disabling pin nid X due to None connectivity" no getDump).

 

outputoi.png

 

Isso também vale para entradas, então se você não vê microfones ou line-in nas preferências de som, pode usar o mesmo método para ativar as entradas.

 

inputl.png

 

O único caso em que se usa o mesmo Default Association em dois nodes é quando se deseja detecção automática, por exemplo line-out (green rear) e headphones (green front)

nid 17 0x022140[color="#FF0000"]1f[/color] as  1 seq 15	Headphones  Jack jack  1 loc  2 color   Green misc 0
nid 18 0x010140[color="#FF0000"]10[/color] as  1 seq  0	  Line-out  Jack jack  1 loc  1 color   Green misc 0

 

Se a sua placa tem apenas uma line-out você pode alterar as entradas line-in e mic traseiras para line-out e ter áudio 5.1, para isso basta mudar o byte Default Device desses nodes para zero.

 

Antes

nid 24 0x01[b]a[/b]19830 as  3 seq  0    Microphone  Jack jack  1 loc  1 color    Pink misc 8
nid 26 0x01[b]8[/b]13050 as  5 seq  0       Line-in  Jack jack  1 loc  1 color    Blue misc 0

Depois

nid 24 0x01[b]0[/b]19830 as  3 seq  0      Line-out  Jack jack  1 loc  1 color    Pink misc 8
nid 26 0x01[b]0[/b]13050 as  5 seq  0      Line-out  Jack jack  1 loc  1 color    Blue misc 0

 

Fonte: http://olarila.com/forum/viewtopic.php?f=3&t=509

Share this post


Link to post
Share on other sites
Advertisement

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.



  • Posts

    • Sorry! I forgot, if you use SSDT V3 you have to remove the _DSM method from DSB1
    • Many thanks! Yeah I'll try again! Hopefully you can think of something later  
    • I check when I get home. I can tell you in advance that you have to use the SSDT V3 (with your ACPI path) if you have disconnected the cable, and your devices must be connected and turned on before boot. It's all still a work in progress
    • I expected it to not work, especially after so many attempts at different methods. This one sounded the least likely to work, and as soon as I booted, my Apollo turned on its HOST light and it's been working since!   I added my clover arbitrary device as 32:00.00 (my BR1A) and that's it. I only pulled the cable from the Mobo but not the card... not sure if that matters.
    • As the prices for Radeon cards have been dropping during the last weeks I finally decided to buy a Sapphire Radeon Nitro+ RX570 8GB and received the card this afternoon. With 10.13.4 Apple added a number of new framebuffer personalities to the AMD9500Controller.kext and as the framebuffer personality "Orinoco" matches the connector layout of my card (DP, DP, HDMI, HDMI, DVI) I decided to give it a try and got an instantly working system. No framebuffer patch is needed anymore. See for yourself:     Mieze
×