-
Notifications
You must be signed in to change notification settings - Fork 471
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Overall Audio State #96
Comments
Hi, thank you for your efforts. I am not quite sure the change of layout-id would cause side effects or not. I knows a little about how @daliansky did on the layout-id 99, but it seems reliable so I may have to consider carefully before change the id. Here is a reference of how daliansky make a compatible AppleALC: https://blog.daliansky.net/Use-AppleALC-sound-card-to-drive-the-correct-posture-of-AppleHDA.html. |
I've read that guide. @daliansky made a proper layout for our laptop. Thanks him for the detailed guide. |
See daliansky/XiaoMi-Pro-Hackintosh#96. Please have a look at my README->Issues->Headphone
@qeeqez Hi, do you have a chance to extract HdaCodec dump from |
@stevezhengshiqi I'll try tomorrow if you are still waiting for it :) |
@qeeqez Don’t worry, feel free to do it.^^ |
@stevezhengshiqi Hi, I tried to extract codec with clover - no mic here, also tried with Linux live usb - no mic too, it even doesn't work at all. Windows is Ok. |
@qeeqez Thank you so much for helping. It's weird that headphone mic is not included in codec dump. I am also trying to extract dump from Windows. |
I extract pinconfig from windows, and it looks the same as codec dump generated by Clover. |
I just reworked the whole thing, and this is the note if anyone is interested. |
Hi, I'm interested in what you changed 4fa8a25 in ALCPlugFix binary because It has improved so much in headphone fix, but still need to replug something after sleep in a rare case. Here's mine after add wake detection, fix on boot and fix every hour.(definitely overkill)
I'm thinking to add As always, thanks for your hard work. |
@Menchen Nice job! Could you send your |
@stevezhengshiqi https://github.com/Menchen/ALCPlugFix use
Quick install
|
@Menchen Great job! Just an ask: Is it possible to move It may be cleaner if files are in this new location, and it seems like macOS Update Assistant would wipe out all the user-defined files in |
So you want to move out from ALCPlugFix binary will find the first |
Currently I moved
Could you explain it more specifically? Sorry that I can't find that PATH in main.m except in L31. |
You can do Update: I have tested moving had-verb to Another solution would be installing LaunchAgent as user Agent as it doesn't need root, so it doesn't mess with the system, but I think all user agent runs after login?.. not sure about that. |
Thanks for your advice! Update: Not sure either. Does the root LaunchAgent with |
@stevezhengshiqi got it working in Update: |
@stevezhengshiqi Fixed! Sorry for the late response and thanks for catching the bug, that happened to me for editing it manually instead of copying my own setup. Also, I tested it with LaunchDaemons and it works better as Daemons can launch before login(No need of GUI). |
@stevezhengshiqi thanks again for pointing the bug, About LaunchDaemons I have tested more than twice with full reboot and more time with warm-reboot. Update: |
@Menchen I am pretty sure I have a clean install, and I will recheck it later. My situation is that when the plist is in When the plist is in |
Replug is working for me,
|
@Menchen Here are two troubleshooting files. For each situation, I frst use internal speaker, then plug headphone, then replug, then sleep and wake, then replug. LaunchDaemon.zip |
ALCPlugFix is running in LaunchDaemon, and both your log and screenshot confirm that, would have a crash message or some segment fault if something is wrong. Interesting that when using LaunchDaemon Audio device change is not watched, thus replug is not working, and yeah you should rest, it's 3 AM in your timezone(LOL). Update: |
@stevezhengshiqi I have fixed that bug about hooking to AudioListener at boot (Maybe daemon run before audio service and initiate?) by adding delay and retry until success. It seems the only benefit using LaunchDaemon is when you left the headphone plugged and don't want to hear noise when you type your password wrong, otherwise, ALCPlugFix won't work until you log in. |
@Menchen It works, thanks a lot for your efforts! The benefits may seem small, but theorticallly |
@Menchen Hi, I got some feedback that ALCPlugFix is not working on Catalina. I guess the issue relates to the
I will ask them to provide the debug log. Just let you know that maybe there's a compatibility issue in 10.15. I can't verify the issue because my device is broken. |
Thanks for the feedback, I’m going to update to Catalina this week. |
@stevezhengshiqi I have updated to Catalina and both ALCPlugFix(system launch daemon) and VMBTFirmUpdater(that use user launch agent) work fine(I have checked from the log file and using Some weir thing I have noticed is that VMBTFirmUpdater asks for InputMonitoring(not a malware, and you can always build from its GitHub)... maybe it's needed for wake detection, but ALCPlugFIx doesn't need any special permission(besides the root for launch daemon, maybe that's why it don't need more permission ). I'm using the following plist if that matter
with permission as following:
Another thing that they should check is in privacy settings to find wheter there's some entry about ALCPlugFix, below one is compiled with Catalina base API, it may help. |
Also check gate master to allow any app may help too |
I found out that you may need to re load again using launchctl, a reinstall would fix it. |
@Menchen Hi, would you mind have a minor fix in https://github.com/Menchen/ALCPlugFix/blob/master/alc_fix/install.sh: change all |
It should be ok now. |
@Menchen Hi, it seems that acidanthera/AppleALC#614 is trying to get rid of CodecCommander. His ALCPlugFix version made few changes like black-dragon74/ALCPlugFix@41cec7f. Mind looking at that? No rush, we are good if keep using CodecCommander. |
@stevezhengshiqi Please wait for some time. I am re-writing the ALCPlugFix to be used with my patch. It'll be up soon. I'll let you know of the status. You are indeed correct in assuming we are trying to get rid of CodecCommander as AppleALC is capable of sending the verbs. My patch enables us to send verbs from the user-space to the kernel. So, you will need one less kext and AppleALC will be the only thing you need. To get rid of compiling the ALCPlugFix binary manually, users will now have an option to provide custom PLIST containing all the hda-verb commands for ALCPlugFix. Regards |
@black-dragon74 Thank you for the explanation. Yeah, I can see you moved hda-verb source files into AppleALC and allow AppleALC to send verb commands. That would be really great to merge legacy CodecCommander into AppleALC and merge Codec commands into the plist for AppleALC. Looking forward to your ALCPlugFix new versions. Also, @Menchen did great jobs on improving the daemon for ALCPlugFix. Maybe his work can help: https://github.com/Menchen/ALCPlugFix. Have a great day |
By just looking the code using my phone it seem just a change of binary path... ALCPlugFix should work same providing the correct path by changing the workspace in launch daemon plist... I will update once the PR is merged.. |
@stevezhengshiqi the project is up at: https://github.com/black-dragon74/ALCPlugFix-Swift. Documentation is still pending (will do tomorrow). No more compiling the source ever again. In order for alc-verb to use you will need a compatible AppleALC kext (changes will be merged to master before next month's release maybe). The config file can be configured to send commands on following events selectively:
Also, it is a very bad idea to send the same command on every event like the modified ALCPlugFix above does. Though it might work, it is not at all recommended. Like in alc_295.plist of ALCPlugFix-Swift, you can see I am sending the verbs exclusively on headset plug in. Regards |
@black-dragon74 Thanks for further explanation. I agree it's a clearer and cleaner way than the old ALCPlugFIx. Sorry for the lack of knowledge on hda commands, I am not sure when should we send In my understanding, for EAPD speakers, I need and I need Please correct me if I am wrong. |
Seems done. Here's the latest compiled version of AppleALC with black-dragon74's PR. |
Also, The latest ALCPlugFix-Swift loses the alc-verb or hda-verb binary dependency. So all it needs to work is latest AppleALC (one attached above). Just download and run install.sh. To get an idea of basic config file for it, take a look at: https://github.com/black-dragon74/ALCPlugFix-Swift/blob/master/ALCPlugFix-Swift/Misc/alc_295.plist |
@black-dragon74 Hi, thank you for the effort. My headphone is working when startup, but not working after a sleep-and-wake cycle. My macOS version is 10.14.6. I can find the logs file in /var/log, but they are empty. Here's my configuration file. |
Hi, I noticed that my headset's microphone doesn't work.
I tested all layout-ids to find something.
UPD: after many reboots and some ALCPlugFix reinstalls, I seem it's working but quieter than layout-id 30 or 29.
Experienced issues with audio on different layout-ids
layout-id
99 - Current
30
29
28
72
11, 13
3, 47, 66
The text was updated successfully, but these errors were encountered: