1P painfully slow in VMware Fusion
I've been running 1P inside of a MacOS guest VM with VMware Fusion for a while now. 1P is painfully slow to open if 1P is locked. This seems to be because 1P is trying to query for TouchID support, which doesn't exist, so it just sits and grinds away waiting for whatever TouchID API call was made to timeout. The thing that's frustrating is I don't understand why VMware exposes TouchID hardware support to the VM when it doesn't work. This causes all kinds of slowness elsewhere in guest VM but there doesn't appear to be an option to stop VMware from giving MacOS the impression that TouchID hardware is present when it's not.
So, this isn't a 1P specific problem, but I would absolutely love if there was a 1P toggle, or hidden option, a plist setting, something, that would stop 1P from trying to check if TouchID is configured and/or supported.
I'm running a 2017 15'' MacBook Pro, TouchBar, Fusion 11.0.1, MacOS Mojave 10.14.1 VM. 1P is running 7.2.2.
Help?
1Password Version: Not Provided
Extension Version: Not Provided
OS Version: Not Provided
Sync Type: Not Provided
Comments
-
@adam2104 - that definitely sounds annoying. I've got Parallels, and it seems not to have that problem. Might be a solution for you, albeit a not-cheap one. Other than that, there IS a switch to turn off Touch ID in Preferences > Security, but as I don't use Fusion, I couldn't say whether that would prevent it from TRYING/checking? Worth a shot, though. Let us know how you get on.
0 -
Hi Lars,
The problem is, 1P's preferences takes easily upwards of a minute to open on this VM. TouchID isn't setup, so when it finally does open, all I get is a "Set up TouchID" button in Preferences --> Security. Of course, I can't actually set it up because this a virtual machine. So, 1P seems to be checking for TouchID capability in general, even if it isn't turned on, which makes 1P very slow to open/use. Is there anything else I can try?
Thanks!
0 -
@adam2104 - ever find a solution to this? I know it's been a while, having the same issue myself
1Password Version: 1Password 7, Version 7.4.1 (70401001), Mac App Store
Extension Version: N/A
OS Version: macOS Mojave 10.14.6 (18G2022) in VMware Fusion Professional Version 11.5.0
Sync Type: N/AI might have to switch to Parallels
0 -
@ericpardee Nope, I didn't. It has to do with 1password checking for TouchID, which the Mac VM thinks it has, but doesn't. So, presumably, the system calls that 1P is making to check for TouchID are eventually timing out. It'd be nice if 1P added a toggle that said "Don't look for TouchID" which would likely speed this up, but it seems that isn't in the cards.
0 -
If our system calls to check for Touch ID are getting incorrect results back from the operating system I would argue that is more of a VMWare issue. Have you tried other software that has Touch ID capabilities to see if similar issues exist? I'd loop back on this:
The thing that's frustrating is I don't understand why VMware exposes TouchID hardware support to the VM when it doesn't work. This causes all kinds of slowness elsewhere in guest VM but there doesn't appear to be an option to stop VMware from giving MacOS the impression that TouchID hardware is present when it's not.
And see if there is a way to file a bug report with VMware on that point.
Ben
0 -
For what it's worth, can confirm that this issue has never happened to me as a (frequent) Parallels user. I'm not nearly as familiar with VMWare's Fusion offering, but I'd suggest either looking at perhaps a setting you may have overlooked, or -- as Ben suggested -- getting in touch with the VMWare folks.
0 -
This has plagued me in VMware Fusion and now that I switched to Parallels, Parallels also.
The solution is a tad involved but stay with me.
Reboot the VM into Recovery Mode
Parallels: https://kb.parallels.com/cn/116526
Fusion: https://babodee.wordpress.com/2018/10/10/booting-into-macos-recovery-in-vmware-fusion-10/Once into Recovery Mode
Disable SIP( ;) ) : https://www.macworld.co.uk/how-to/mac/how-turn-off-mac-os-x-system-integrity-protection-rootless-3638975/Now in your macOS VM
Open Terminal
# Remove the biometric kit daemons
sudo launchctl remove -w /System/Library/LaunchDaemons/com.apple.biometrickitd.plist
sudo launchctl remove -w /System/Library/LaunchDaemons/com.apple.biokitaggdd.plist
# Move daemons out of LaunchDaemons to your Documents folder (or change mv to rm to remove them permanently)
sudo mv /System/Library/LaunchDaemons/com.apple.biometrickitd.plist ~/Documents/
sudo mv /System/Library/LaunchDaemons/com.apple.biokitaggdd.plist ~/Documents/Enjoy 1Password again without waiting for biometric kit daemon to timeout!
Disclaimer
Disabling SIP is not recommended by Apple. You may chose to re-enable it after your remove the Biometric daemon (thing that makes Touch ID work).0 -
We would echo Apple's concern about disabling SIP. Additionally, this could cause unforeseen problems, such as issues with OS upgrades. Caveat emptor. That said, I'm glad to hear you found a solution that is working for you. An alternative for someone who doesn't want to disable these protections might be to use 1Password X inside the virtual machine, instead of 1Password for Mac.
Ben
0 -
Something to be aware of - you do not need to disable SIP, you can move the plists in recovery mode (which you have to boot to in order to disable SIP anyway...)
In recovery mode, after ensuring the HD is mounted:
$ cd /Volumes/Macintosh\ HD/System/Library/LaunchDaemons
$ mv com.apple.biometrickitd.plist com.apple.biometrickitd.bak
$ mv com.apple.biokitaggdd.plist com.apple.biokitaggdd.bak
$ rebootI updated a VM from 10.14.5 to 10.14.6 after doing this with no issues, and the daemons remained disabled.
YMMV of course, as different updates might change different daemons, or not; but the update should just put a known good copy of the plist in place if it needs to be updated, so the worst that happens is that you need to re-do these steps after an update.
Thanks @ericpardee for the tip; my authentication steps in System Preferences are much much faster now!
0