I thought that Samsung has always been bad in terms of unlocking their bootloaders.
In terms of Xiaomi, I don’t think their changes to bootloader unlocking are bad:
You can order your phone unlocked, but you will get no Over-The-Air updates.
You can unlock exactly one Xiaomi device per year per account.
(1) allows businesses to order unlocked devices and install their own OS’s … and (2) pretty much allows someone to change their OS to a Android ROM.
Google makes it easy to unlock your bootloader on the Pixel. The biggest issue with Google is how they are locking down fdroid-like Play Store alternatives.
With the possible exception of Fairphones, I agree that Google Pixels are probably the best option if you want a phone that is usable for as long as possible, since Google provides 7 years of software support, and there is such a large community of users, that Pixels are likely to be supported for a decade by the custom ROMs. See my blog article where I discuss this. However, now that Google has stopped including the device trees for Pixels in AOSP and the AOSP 16 target device is the virtual Cuttlefish rather than Pixels, Google Pixels aren’t better documented or easier to port custom ROMs to than other phones.
However, GrapheneOS is not the best option if you want long-term support, because GrapheneOS drops support the moment Google stops providing security patches for a Pixel model. If your goal is the best security, GrapheneOS is a good option, but if your goal is long-term support, LineageOS (or one of its derivatives such as crDroid, /e/ OS, Evolution X, iodéOS, LineageOS for MicroG, LMODroid or CalyxOS) is a better option. For example, LineageOS still supports the original Pixel from 2016, whereas the oldest phone supported by GrapheneOS is the Pixel 6 from 2021.
Yes, Samsung has long discouraged unlocking the bootloader, but the LineageOS stats show that it is running on 1.2 million Samsung devices, which represent 30% of total LineageOS installs. However, now Samsung has blocked unlocking the bootloader on all its phones worldwide that have its One IU 8 interface or later.
I go through the history in my article:
This difference is partly an effect of Samsung’s changing policies which discourage modding its devices. Samsung started adding e-fuses to its high-end phones in late 2014 and to the rest of its phones in late 2015. Unlocking the bootloader, which is necessary to install a custom ROM, blows Samsung’s e-fuse which stops access to the Knox Workspace container and Secure Folder and fails Google’s SafetyNet security checks, so apps such as Samsung Pay, Google Pay, Netflix and many banking apps will never work on the device, even if the bootloader is relocked. Even worse, Samsung removed the option to unlock the bootloader on its phones and tablets sold in the US and Canada, starting in 2016.
In early 2019, Samsung began including its new One UI interface in mobile devices getting Android 9 Pie. This new UI was designed to make it easier to use large screen smartphones with one hand, but it included Samsung’s proprietary IP Multimedia Subsystem (IMS) implementation rather than using the standard open source implementation from AOSP. What this meant is that VoLTE and VoWiFi no longer worked on Samsung devices using AOSP derivatives like LineageOS. There are ongoing community efforts to implement fixes to this problem, but they are still experimental at this point.
…
As detailed above, Samsung has made it more and more inconvenient to mod its phones over the last decade, but the Korean company has now decided to stop allowing buyers of its phones to install custom ROMs altogether. In July 2025, Samsung released its new One UI 8.0 interface, which removed the option to unlock the bootloader on all its models, not just the North American models which have had this restriction since 2016. Like Asus and Xiaomi, Samsung didn’t give the public any prior warning that this change would be coming, so many people only discovered it after upgrading their phones to the new interface. However, at least people now know to not upgrade their phones if they ever want to install a custom ROM on them.
You have to turn on device tracking so Xiaomi knows exactly where the phone is in order to get the unlock code. You have to give Xiaomi your phone number and verify it with a SMS text message with a code. You must install Xiaomi’s app in a Windows PC, and I never got it to work inside a Windows VM in Linux, because it needs direct access to the USB port. People report the same problem with a Windows VM in MacOS. You have to install a specific USB driver in Windows depending on the Xiaomi phone model, and in my case it didn’t work with the USB 3 ports on my laptop, but did work on a friend’s USB 2 ports on his PC. Xiaomi only grants 2000 unlock codes per day, so you have to apply as fast as possible after 00:00 hours Beijing time.
First you create the Xiaomi account and wait 30 days. Then you apply for the unlock code and it takes 3 to 30 days for Xiaomi to give it to you. Because you can only unlock one device per year, Xiaomi guarantees that you can’t help other people by unlocking their devices for them.