Skip to content

macOS daemon to send HD Audio commands (HDA Verbs) to an IOHDACodecDevice from user-space.

Notifications You must be signed in to change notification settings

black-dragon74/ALCPlugFix-Swift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ALCPlugFix-Swift

(c) 2020 black.dragon74 aka Nick

macOS daemon to send HD Audio commands (HDA Verbs) to an IOHDACodecDevice from user-sapce.

Features

  • Codeless configuration using a custom PLIST file
  • Supports sending verbs on system boot/sleep/wake, headset plug/unplug and audio mute/unmute optionally
  • Doesn't require CodecCommander, hda-verb or alc-verb to function

Note: Requires AppleALC version 1.5.4+ or the patch of commit 61e2bbf applied.

Installing

Download the appropriate version from the Releases and extract the zip file.

Open the extracted folder and you will find a sample.plist file in there for reference. You need to edit it according to your codec. One you are done, copy the file somewhere safe (it should not be deleted as ALCPlugFix-Swift reads the config from it on boot). Also, this is the file you need to drag to the terminal window when install.sh asks you to do the same.

Now open the Terminal.app and follow the instructions.

# CD to the downloded directory
cd your_directory_here

# Run the install.sh
./install.sh

Note: AppleALC version 1.5.5+ require the boot-arg alcverbs=1 or the property alc-verbs to be present on HDEF in order for ALCPlugFix-Swift to work.

Building

From GitHub:

Install Xcode, clone the GitHub repo and enter the top-level directory. Then:

xcodebuild -configuration Release

Credits

  • goodwin for original work on Obj-C based ALCPlugFix
  • zen-zhen for direct kernelspace connection
  • black-dragon74 for writing and maintaing this software

About

macOS daemon to send HD Audio commands (HDA Verbs) to an IOHDACodecDevice from user-space.

Resources

Stars

Watchers

Forks

Packages

No packages published