MacOS – 3rd-party SSDs: enabling TRIM without disabling kext signing

macosSecurityssdtrim

Before reading this long question, please note that it is mostly outdated in light of the more recent developments reflected by the top answer.

Unfortunately Apple has decided to create kext signing in Yosemite that creates issues for SSDs that require Trim support for optimal function and longevity. Whether this is vendor lock in or not, it's made upgrading a headache. If you bought a SSD that needs trim support (at time of writing, all SSDs benefit) such as the Samsung 840 Evo, there are many reported issues when performing PRAM reset and potential future system update conflicts in addition to the current security tradeoffs (see below). Trim Enabler author says using Trim Enabler by turning off kext signing is cracking a walnut with a sledgehammer.

I'm hoping for strategy / options to work with SSDs that recommend or require Trim support. So far, because of this article, I'm considering a SSD with Sandforce or equivalent active garbage collection. I'm also considering turning on Trim Enabler periodically, then off and reenabling kext-signing to avoid issues with until (if) Apple restores TRIM support to hardware and software devs.

Please detail working hardware/software configurations and strategy/schedule as well as outcomes.

tl;dr —

Some background:

3rd party SSDs for the most part don't have trim support in Yosemite without kext signing security tradeoffs. Apple changed kext signing in OS X 10.10 such that kext singing must be disabled to use applications like Trim Enabler for trim support. So choices using Yosemite are, reduced security and potential system update issues; or, a SSD that doesn't require Trim support.

Yosemite kills third-party SSD support. This is not relevant if you're using an Apple installed SSD or SSD that doesn't require 3rd party trim support for optimal function. So, if you're using a DIY SSD, Trim support is tricky in Yosemite because of recent modifications to kext security management that affects Trim support. More about Trim Enabler for Mac:

About Trim in Yosemite In OS X 10.10 (Yosemite),

Apple has introduced a new security requirement called kext signing. (A kext is
a kernel extension, or a driver, in Mac OS X)

Kext signing basically works by checking if all the drivers in the
system are unaltered by a third party, or approved by Apple. If they
have been modified, Yosemite will no longer load the driver. This is a
means of enforcing security, but also a way for Apple to control what
hardware that third party developers can release OS X support for.

Since Trim Enabler works by unlocking the Trim driver for 3rd party
SSD’s, this security setting prevents Trim Enabler to enable Trim on
Yosemite.

To continue to use Trim Enabler and continue to get Trim for your
third party SSD, you first need to disable the kext signing security
setting.

It is important to note that the kext-signing setting is global, if
you disable it you should be careful to only install system drivers
from sources that you trust.

Best Answer

See my answer here:

Since the release of 10.10.4, Apple now provides a new tool called trimforce, allowing users to activate TRIM also on unsupported disks. So now you can do:

sudo trimforce enable