It's necessary if it's GPLv3. The anti-Tivolization clause means that the manufacturer needs to provide the ability for the user to sign their code.
From a support point of view, I cannot see any reason why any hardware manufacturer would go along with GPLv3 software. It adds a level of complexity that just doesn't make much sense to deal with, because it's not the manufacturer's best interest to support ANY code, just the code that they have put on the device.
The GPLv3 doesn't require you to support custom builds. It just requires you to let people use them. The code doesn't have to be signed at the hardware level. Heck, all you have to do is replace the splash screen on bootup with a "warning unsigned code detected, this device may have been compromised."
And as far as supporting any code, most manufacturers of processors do in fact support running any code you like on them. Especially the dominant Intel-compatible personal computer, where Apple themselves support running any operating system you like.
From a support point of view, I cannot see any reason why any hardware manufacturer would go along with GPLv3 software. It adds a level of complexity that just doesn't make much sense to deal with, because it's not the manufacturer's best interest to support ANY code, just the code that they have put on the device.