Here are some useful links and notes on how to setup Lineage OS for your F(x)tec Pro¹ device.
Actually most of the information you need can be find on Lineage OS F(x)tec Pro¹ page.
From there you will learn how to install and build Lineage OS on your device.
Some of the tips below will be specific to Windows 10 as this is the environment I was using.
Installation
Since I had Android Studio installed already I did not need to downloadfastboot
and adb
. I just used the binaries provided with Android Studio. On my machine I could find those binaries in the following folder:C:\Users\micro\AppData\Local\Android\sdk\platform-tools
You can find that path in Android Studio from File > Project Structure… > SDK Location.
Just add that path to your PATH environment variable to make it easier to invoke those commands from any location.
Google USB driver for fastboot
One issue I had was thatfastboot
could not find my device. Here is a link to F(x)tec forum explaining how to fix it.You first need to download and install Google's USB driver. Before installation I actually needed to modify the driver INF file adding the following lines to the
[Google.NTamd64]
section:
android_winusb.inf:
;F(x)tec Pro1
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_D00D
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_D00D
Sideload
Past the initial Lineage recovery mode setup you will likely us and reuse the so called sideload. Sideload basically installs extra software or updates an existing package.
How to sideload a package:
adb reboot sideload
adb sideload <path-to-sideload>.zip
Boot loop
If after sideloading a new ROM image you device is stuck on the animated Lineage OS logo try sideloading Gapps or possibly Magisk anew see if that help before doing a factory reset.Google Apps
Lineage OS does not come with pre-installed Google Apps. You will need to download and sideload a Google Apps distribution of your choosing. I used MindTheGapps. That will give you access to the Google Play Store and from there you should be able to install most every app you want.Magisk
Magisk is famously available on GitHub and lets you get root access to your device. It is mentioned here cause we will use some Magisk's extension namely MagiskHide Props Config to be able to pass SafetyNet and thus allowing us to install security conscious applications on your Lineage OS device that Google Play would otherwise not let you install.You can sideload Magisk v23.0 by renaming the downloaded APK file with a ZIP extension. After reboot click the icon labelled Magisk in your launcher and it will prompt you to install the app that goes with it. Once the app is installed tap the puzzle piece icon to browse a list of available extensions and install MagiskHide Props Config. Go back to Magisk home screen to access the settings and enable MagiskHide.
From your PC you'll need to use that newly installed extension to setup your device identity spoof.
Run the following commands:
adb shell
su
Magisk will prompt you on your device to get give adb root access, make sure you satisfy that request.
props
Select
Edit device fingerprint
Select
Pick a certified fingerprint
Select
Samsung
Select
Samsung Galaxy S21 SM-G991B
You could try spoofing another device but for me using the F(x)tec Pro¹ identity would pass SafetyNet as reported by Magisk but some apps would still not be available in the app store.
After reboot go offline by turning on airplane mode.
Go to your device application settings and clear storage for Google Play Service and Google Play Store.
After reboot turn off airplane mode and you should have access to the full Google Play Store catalogue.
Issues
Once Lineage OS is up and running you will rapidly notice the following issues, depending of your setup and use cases of course.Task switcher
Task switcher with keyboard open is broken unless you enable Allow Home screen rotation in Trebuchet Home application.Gesture navigation
When using gesture navigation with the keyboard open you will get that empty bar at the bottom of your screen. It can be worked around using Fullscreen/Immersive Gestures (Q-S) Magisk extension as explained here and there. This solution has also the advantage of hiding the hide keyboard tool bar as already possible on Samsung and OnePlus devices.Apps
Some apps will need extra step to work on your device.Sky Go

SkyGo app detected root!
Hi everyone i have a problema using SkyGo app on my device because It detects the root. I renamed magisk , used magisk Hide , tried magiskhide props config , tried to delete cache and re-install SkyGo app but nothing worked...any solution...

Smart case
You want Lineage OS to lock your screen when closing your case? We have you covered with Fx Service.Build
As mentioned above already, build instructions for Lineage OS on Pro¹ are already available. Here I'll discuss some hurdle I had to overcome to get this done on PC. I actually tried two different Linux environment to build Lineage OS on Windows. First WSL then VirtualBox running Ubuntu. I won't go into the setup of either solution there are plenty of only guides. WSL was easier to setup it seems and integrates better with Windows out-of-the-box as you Windows drives are already mounted and accessible from the Windows console. However Ubuntu on VirtualBox does have a UI compared to WSL command line only solution, that makes it easier to develop and modify source code for instance.RAM
On WSL RAM was not an issue since I was building on a machine with 32GB. However my VirtualBox was initially setup with 8GB and that's simply not enough. Your build will fail saying you need at least 16GB. I could do a build with 18GB of RAM.Disk space
You will need at least 300GB of disk space. Probably wise to set your upper limit to at least 400GB. Make it dynamically allocable so that you don't waste space from your host storage. Here an article on how to change maximum storage space on WSL.Extract proprietary blob
Extraction of proprietary blob from both VirtualBox and WSL will require some extra adb setup for it to work over WiFi.Sideload ROM
To sideload your ROM you will need to copy it from your Linux file system to your Windows file system as sideloading needs an USB adb connection. As mentioned earlier this is easily done on WSL however setting up a share with VirtualBox needs the following steps.VirtualBox share
In your VM settings, do something like that:Then in Ubuntu you will need to install the VirtualBox guest package and reboot it:
sudo apt-get install virtualbox-guest-x11
Finally run
sudo adduser $USER vboxsf
to be able to access that Windows folder from you mount point.Development
To my knowledge, Lineage OS is using two code repositories specific to F(x)tec Pro¹, here are their GitHub mirrors and Gerrit review links:You can easily inspect code changes on GitHub while the Gerrit reviews can give you more of an insight into what was going on through developer comments. You can also get involved with the review process.
Issue tracker
You can track current issues on GitLab.Contribute code
Here is how to contribute code to Lineage OS.Also if you have made local changes and pushed them to Gerrit you may want to switch back to the main branch and update your repositories, just run:
Code:
repo sync -d
ROM update
So you built a new ROM and want to update it, here is how it goes:- Sideload ROM
- Reboot to recovery from Advanced menu to swap slots
- Sideload GApps - only if you used it
- Sideload Magisk - only if you used it
- Reboot
You can fix this by sideloading GApps however some of your GApps may fails to start and will need to be reset, GMail notably.
Therefore, make sure you reboot to recovery from the advanced menu to sideload GApps on top of your new ROM.
Reboot loop
If like me you get stuck on the Lineage logo animation after updating your ROM and no amount of GApps sideload can fix it there is still hope. The logs during the reboot loop were mentioning: "Signature|privileged permissions not in privapp-permissions whitelist:". Doing some online search yield the following results from android.com and aicp-rom.com.
Basically I just added the following lines to my device.mk and that fixed it, with the obvious adverse effect that this security feature is now effectively disabled:
device.mk:
# Bypass privapp-permissions whitelist
PRODUCT_PROPERTY_OVERRIDES += \
ro.control_privapp_permissions=log
Update Kernel only
Not tested:
Build and update kernel only:
# cd to the root of the LineageOS source tree
source build/envsetup.sh
repopick 315342
breakfast pro1
make bootimage
adb reboot bootloader
fastboot getvar current-slot
# Replace 'X' with the value of current-slot
fastboot flash boot_X out/target/product/pro1/boot.img
# Choose 'START' from the fastboot menu on the Pro1
Track down regressions
List all changes between specified dates:
repo forall -c 'git log --since "AUG 25 2021" --until "AUG 30 2021" --pretty=format:"===============================%n%Cred$(git config --get remote.github.projectname)%n%Creset%H%n%an%n%ad%n%B%n"'
Last edited: