What's that?
I'm quite sure that EFI Emulation (PC EFI) has changed the whole OSx86 scene. It took the whole scene into a whole new level, now, we can have a PC running Mac OS X with stock kernel and kexts. And yet, the diverse combinations of components and configurations that happen to be the case in the PC world has lead to the creation of numerous fixes and howtos for graphics, audio, usb, ethernet, and many others.
How do these fixes work?
Almost all of them are kernel extensions (.kext) that are put in /System/Library/Extensions/.
Mac OS is using something called "Device Tree". This is a map used to guide the kernel load the right driver for each device. These kexts "plug" necessary data into the Device Tree during boot.
NVinject, Titan, and Nitat merely detect your graphics card model and plugs the right data into that map.
ALCinject does the same thing for audio.
This class of kexts are commonly called injectors.
PS: Injectors merely add "guiding data" into the device tree; Mac OS still has to have the appropriate kernel extensions (drivers) for every device. That means for any device X, even with the right data in the device tree, if no drivers are present, the device won't work.
PC EFI "Pluggable Strings"
Currently, PC EFI v8.0 supports what is called "pluggable strings". This can be used to add or plug data (properties) into the device tree during boot using an arbitrary "string" provided by the user.
The "string" is a very long number inserted into the file
"/Library/Preferences/SystemConfiguration/com.apple.Boot.plist"
But why use "pluggable strings" anyway? (more critique needed)
Current graphics injectors don't support all cards. For instance, nVidia's 8'th generation cards aren't supported by all injectors. This is so because initially, mac os didn't have drivers for these cards. But now, the 10.5.2 update has the drivers for these cards. Still, not all injectors support them.
Now, there are two options:
1- Wait for new versions of these injectors (bad idea).
2- Do what these injectors do ourselves using "pluggable strings"
The second approach has some advantages:
1- No need to wait.
2- Get rid of additional 3rd part kexts.
3- Get a more real-mac-like PC!
Ok, graphics done, what about audio?
As i said, ALCinject is used to modify the device tree for supporting ALCxxx audio cards (AZALIA). Using the same concept as above, we simply get rid of that kext and add the appropriate data to the device tree ourselves.
As posted
here [How To: EFI GFX+Audio Introduction & Tutorial]