installer path fix#4
Conversation
Updated installation paths to /usr/local/bin and added info messages.
This README provides details about the ALCPlugFix fork, including the problem it addresses, the tested environment, installation instructions, and credits.
There was a problem hiding this comment.
Pull request overview
This PR updates the macOS installer to avoid writing into /usr/bin (read-only on newer macOS with SSV) by migrating installation to /usr/local/bin, and aligns the LaunchAgent plist accordingly. It also adds a new README describing the fork’s purpose and installation steps.
Changes:
- Move installed binaries from
/usr/binto/usr/local/bininalc_fix/install.sh. - Update
good.win.ALCPlugFix.plistto execute/usr/local/bin/ALCPlugFix. - Add a repository
README.mddocumenting the problem, environment, and install instructions.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 9 comments.
| File | Description |
|---|---|
| alc_fix/install.sh | Installs binaries into /usr/local/bin and adds basic install logging/root check. |
| alc_fix/good.win.ALCPlugFix.plist | Updates LaunchAgent ProgramArguments path to match new install location. |
| README.md | Adds documentation for the fork, environment, and installation flow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| echo "[INFO] Installing..." | ||
| sudo cp ALCPlugFix /usr/local/bin/ | ||
| sudo chmod 755 /usr/local/bin/ALCPlugFix | ||
| sudo chown root:wheel /usr/local/bin/ALCPlugFix | ||
| sudo cp hda-verb /usr/local/bin |
There was a problem hiding this comment.
/usr/local/bin may not exist on a clean macOS install (it’s commonly created by Homebrew). If it’s missing, the cp lines will fail and the script will still continue. Create the directory (e.g., mkdir -p /usr/local/bin) and fail fast if that step can’t be completed.
| - Previously, the only temporary fixes were manually switching microphone inputs to "reset" the codec, or restarting the entier device. | ||
|
|
||
| Change in this Fork | ||
| Moden MacOS versions implement Signed System Volume (SSV), making the /usr/bin directory `read-only`. This fork updates the installation process to comply wit these security measures: |
There was a problem hiding this comment.
Typo: "Moden" should be "Modern".
| Moden MacOS versions implement Signed System Volume (SSV), making the /usr/bin directory `read-only`. This fork updates the installation process to comply wit these security measures: | |
| Modern MacOS versions implement Signed System Volume (SSV), making the /usr/bin directory `read-only`. This fork updates the installation process to comply wit these security measures: |
| - Previously, the only temporary fixes were manually switching microphone inputs to "reset" the codec, or restarting the entier device. | ||
|
|
||
| Change in this Fork | ||
| Moden MacOS versions implement Signed System Volume (SSV), making the /usr/bin directory `read-only`. This fork updates the installation process to comply wit these security measures: |
There was a problem hiding this comment.
Typo: "wit" should be "with".
| Moden MacOS versions implement Signed System Volume (SSV), making the /usr/bin directory `read-only`. This fork updates the installation process to comply wit these security measures: | |
| Moden MacOS versions implement Signed System Volume (SSV), making the /usr/bin directory `read-only`. This fork updates the installation process to comply with these security measures: |
| - Distorted or "crackling" audio quality. | ||
| - Previously, the only temporary fixes were manually switching microphone inputs to "reset" the codec, or restarting the entier device. | ||
|
|
||
| Change in this Fork |
There was a problem hiding this comment.
The section title "Change in this Fork" is missing a markdown heading marker (e.g., ##), which makes the README structure inconsistent with the surrounding sections.
| Change in this Fork | |
| ## Change in this Fork |
| - MacOS Tahoe 26 | ||
| - Audio Codec: ALC257 (using alcid=11) |
There was a problem hiding this comment.
Spelling/style: Apple’s branding is "macOS" (lowercase m). Consider changing "MacOS" to "macOS" for consistency with the rest of the README.
| sudo cp ALCPlugFix /usr/local/bin/ | ||
| sudo chmod 755 /usr/local/bin/ALCPlugFix | ||
| sudo chown root:wheel /usr/local/bin/ALCPlugFix | ||
| sudo cp hda-verb /usr/local/bin | ||
| sudo chmod 755 /usr/local/bin/hda-verb | ||
| sudo chown root:wheel /usr/local/bin/hda-verb | ||
| sudo cp good.win.ALCPlugFix.plist /Library/LaunchAgents/ | ||
| sudo chmod 644 /Library/LaunchAgents/good.win.ALCPlugFix.plist | ||
| sudo chown root:wheel /Library/LaunchAgents/good.win.ALCPlugFix.plist | ||
| sudo launchctl load /Library/LaunchAgents/good.win.ALCPlugFix.plist |
There was a problem hiding this comment.
The script enforces running as root (EUID==0), but the subsequent install commands still use sudo. This is redundant and can fail in non-interactive setups where sudo requires a TTY/config. Prefer either: keep the root check and remove sudo from the commands, or drop the root check and rely on sudo per command.
| sudo cp ALCPlugFix /usr/local/bin/ | |
| sudo chmod 755 /usr/local/bin/ALCPlugFix | |
| sudo chown root:wheel /usr/local/bin/ALCPlugFix | |
| sudo cp hda-verb /usr/local/bin | |
| sudo chmod 755 /usr/local/bin/hda-verb | |
| sudo chown root:wheel /usr/local/bin/hda-verb | |
| sudo cp good.win.ALCPlugFix.plist /Library/LaunchAgents/ | |
| sudo chmod 644 /Library/LaunchAgents/good.win.ALCPlugFix.plist | |
| sudo chown root:wheel /Library/LaunchAgents/good.win.ALCPlugFix.plist | |
| sudo launchctl load /Library/LaunchAgents/good.win.ALCPlugFix.plist | |
| cp ALCPlugFix /usr/local/bin/ | |
| chmod 755 /usr/local/bin/ALCPlugFix | |
| chown root:wheel /usr/local/bin/ALCPlugFix | |
| cp hda-verb /usr/local/bin | |
| chmod 755 /usr/local/bin/hda-verb | |
| chown root:wheel /usr/local/bin/hda-verb | |
| cp good.win.ALCPlugFix.plist /Library/LaunchAgents/ | |
| chmod 644 /Library/LaunchAgents/good.win.ALCPlugFix.plist | |
| chown root:wheel /Library/LaunchAgents/good.win.ALCPlugFix.plist | |
| launchctl load /Library/LaunchAgents/good.win.ALCPlugFix.plist |
| After waking from sleep, the external audio jack (headphones / speakers) often experiences the following symptoms: | ||
| - Extremely low volume or no sound at all. | ||
| - Distorted or "crackling" audio quality. | ||
| - Previously, the only temporary fixes were manually switching microphone inputs to "reset" the codec, or restarting the entier device. |
There was a problem hiding this comment.
Typo: "entier" should be "entire".
| - Previously, the only temporary fixes were manually switching microphone inputs to "reset" the codec, or restarting the entier device. | |
| - Previously, the only temporary fixes were manually switching microphone inputs to "reset" the codec, or restarting the entire device. |
| Moden MacOS versions implement Signed System Volume (SSV), making the /usr/bin directory `read-only`. This fork updates the installation process to comply wit these security measures: | ||
| - **Path Migration**: Moved the executable binary from `/usr/bin` to `/usr/local/bin`. | ||
| - **Config Update**: Updated the `LaunchAgents` (`.plist` file) binary path to point to `/usr/local/bin`. | ||
| - **Script Fix**: Patched install.sh to ensure successful deploymen on modern macOS file structures. |
There was a problem hiding this comment.
Typo: "deploymen" should be "deployment".
| - **Script Fix**: Patched install.sh to ensure successful deploymen on modern macOS file structures. | |
| - **Script Fix**: Patched install.sh to ensure successful deployment on modern macOS file structures. |
| 3. Navigate to the fix folder: | ||
| ``` | ||
| cd ALCPlugFix/alc_fix | ||
| ``` | ||
| 5. Run the installation script with `sudo`: |
There was a problem hiding this comment.
The ordered list under "How To Use" skips from 1. to 3.. Some Markdown renderers preserve the written numbers, which can look broken—use consecutive numbering (or all 1.) for clarity.
| 3. Navigate to the fix folder: | |
| ``` | |
| cd ALCPlugFix/alc_fix | |
| ``` | |
| 5. Run the installation script with `sudo`: | |
| 2. Navigate to the fix folder: |
cd ALCPlugFix/alc_fix
3. Run the installation script with `sudo`:
on macOS Tahoe, when copying to
/usr/bin, there's errorread-onlyfile system, so i change the path to/usr/local/binoninstall.shandgood.win.ALCPlugFix.plist