General Xiaomi 12 / Xiaomi 12 Pro OSS Kernel Sources - Xiaomi 12

After reading about the fast kernel source release for the Xiaomi 12 and Xiaomi 12 Pro one could think that xiaomi did a good job at complying with the GPL v2 license and providing useful sources for developers of custom kernels. But appearances are deceiving: The provided kernel sources are incomplete and partially broken.
The most important issues are that xiaomi pushed incomplete devicetree sources which are neither provided by qualcomm anymore unfortunately and the touchscreen drivers are really out of date which leads to broken double tap to wake and under display fingerprint sensor. Additionally building the kernel isn't as trivial as it sounds anymore since many kernel modules are built outside of the kernel tree now.
During the past days i have spent some time on getting a source built kernel including modules and devicetree running on Xiaomi 12.
I have sucessfully booted the kernel and uploaded this work to github.com/xiaomi-sm8450-kernel.
Using this manifest one is able to compile the OSS kernel for Xiaomi 12 and Xiaomi 12 Pro.
I hope that this can help other developers working on the Xiaomi 12 and Xiaomi 12 Pro!
For instructions to build the kernel and more details about missing sources please refer to the manifest on github.
Note that double tap to wake and fingerprint sensor don't work as is on the stock ROM.
Also note that the OSS display-devictree for Xiaomi 12 Pro is missing the configurations for some referesh rates which were supported on MIUI. This could be dumped and included from the stock dtbo.img with some effort.
If you encounter issues with this OSS kernel feel free to ask me and i will give my best to help.
To finish this thread i want to draw further attention to the fact that this is not a one-time issue with the OSS kernels for Xiaomi devices and the situation seems to get even worse. The newer Redmi K50 gaming got kernel sources which don't include any external respositories, as in no techpack drivers and no devicetree sources at all. The new Xiaomi 12S series still has not seen any open source kernel release.
I hope this project helps to set a better starting point than the xiaomi oss release to other developers for the Xiaomi 12 and Xiaomi 12 Pro.

Thanks for thus clarification Arian. Sad story....To be continued... Quo Vadis Xiaomi?

ti think the xiaomi 12 has suffered a performance squeeze... this is not because of the heat.... i have tried thermal unlocking and overclocking the CPU GPU and updating the driver 617 the result shows the real performance is vastly different many

Can you tell me which version of clang can be used to build the kernel from the sources for lineageos 20? And which commands to use? I would like to build a kernel for Kali Nethunter, but when using any of the defconfig I get compilation errors

Can you explain how to flash built kernel..? I built the kernel and I get the kenrel image but I don't know how to flash it to the device...

Would you know if this is also the case for Mi11 Ultra tree?

The OSS for the 12S and 12S Pro has just been released recently if anyone is interested in looking at it:
GitHub - MiCode/Xiaomi_Kernel_OpenSource at mayfly-s-oss
Xiaomi Mobile Phone Kernel OpenSource. Contribute to MiCode/Xiaomi_Kernel_OpenSource development by creating an account on GitHub.
github.com
I would be interested to hear if the kernel source for the 12S family is also incomplete, like the regular Xiaomi 12 series

pj_ said:
Can you explain how to flash built kernel..? I built the kernel and I get the kenrel image but I don't know how to flash it to the device...
Click to expand...
Click to collapse
You need to pack the boot, vendor_boot, vendor_dlkm and dtbo images, the easiest way is to do that within the LineageOS tree.
KeepingKeyes said:
The OSS for the 12S and 12S Pro has just been released recently if anyone is interested in looking at it:
GitHub - MiCode/Xiaomi_Kernel_OpenSource at mayfly-s-oss
Xiaomi Mobile Phone Kernel OpenSource. Contribute to MiCode/Xiaomi_Kernel_OpenSource development by creating an account on GitHub.
github.com
I would be interested to hear if the kernel source for the 12S family is also incomplete, like the regular Xiaomi 12 series
Click to expand...
Click to collapse
Yes, unfortunately this devices source situation is even worse. On all the recent releases xiaomi did not release the audio, display and camera drivers. The released touchscreen driver does not compile either, though i fixed that by guessing and the driver works now: https://github.com/xiaomi-sm8450-ke...3b9d0f69ecd2ba01674a0dc29cfdc86782bb7c9d6c3da

Related

More kernel sources

So, we already have kernel sources from the Vernee Apollo Lite, and the Vernee Thor Lite.
I've found two more sources that may possibly have a slight chance of being better.
It's worth noting that Meizu have a page about the GPL license (https://translate.google.com.au/tra...el.meizu.com/projects.html&edit-text=&act=url), and they'll probably soon release the kernel for the Pro 6 phone, which actually has a Helio x25 proccesor and simmilar hardware. Keep an eye out for it: https://github.com/meizuosc?tab=repositories
Meizu MX6 (Helio x20) source: https://github.com/meizuosc/m685
A quick google search gave me a github page that looks like it's just the linux kernel, for the Helio x20, with no extra drivers included, so this probably isn't so useful. It is version 4.7 at the time of writing, though.
https://github.com/helio-x20/linux
On a side note, Team Emotroid have made a modified version of MIUI (https://forum.xda-developers.com/redmi-pro/development/xiaomotion-red-mi-pro-rom-control-t3600811). Since they are distributing the binary, they are also obligated to supply kernel source. Has anyone tried contacting them? Here's their github: https://github.com/Emotroid-Team
Kernel source has to be the one for the Redmi Pro and not from a similar phone because there is no phone with exactly the same components as the Redmi Pro. Those phones have the same CPU but not the same components so we will have to wait until Xiaomi releases the sources (if they release them )
Also, it is possible to modify MIUI without the kernel source and that is what they did. There is no need to use kernel sources if the precompiled kernel is already working well in MIUI 8

Kernel source for Xiaomi 5X is avalible now

Xiaomi has just released kernel sources for tiffany(Mi 5x ). the official github page is:
https://github.com/micode/xiaomi_kernel_opensource/tree/tiffany-n-oss
Just as on tissot N, Xiaomi have squashed all their changes and applied over wrong CAF tag.
I took the proper caf base (LA.UM.5.6.r1-06100-89xx.0) and applied Xiaomi changes over it with some cleanups here.
If any devs are interested in it: https://github.com/Flex1911/tiffany
bt4wang said:
Xiaomi has just released kernel sources for tiffany(Mi 5x ). the official github page is:
https://github.com/micode/xiaomi_kernel_opensource/tree/tiffany-n-oss
Click to expand...
Click to collapse
Good news
bt4wang said:
Xiaomi has just released kernel sources for tiffany(Mi 5x ). the official github page is:
https://github.com/micode/xiaomi_kernel_opensource/tree/tiffany-n-oss
Click to expand...
Click to collapse
hope to see LineageOS soon
I got a question
Will unofficial stuff like Lineage os or Twrp Recovery develop into Official builds? I mean Official builds are powered by individual maintainer right?

Lineage OS 17.1 for Mi Note 10

Hi
I was just wondering is there any development of Lineage OS going on ? Or the source code was not released yet ? I was using that system on my another phones,
Here is review for POCO version: https://www.youtube.com/watch?v=rvKmSetMHKQ
There are some efforts for building from source and via GSI and overlay. Sourcebuilds are not booting for now. But me and some others are still on it (while I lack the spare time atm)
For now you can use GSI with some bugs as far as I know.
I had mixed success with sourcebuild - see here https://forum.xda-developers.com/t/building-lineageos-17-1-from-source.4245417/

Need for source code

I have decided to stick with MIUI to source code becomes available to developers.
While I admire custom ROM development so far: there seem to be a lot of bugs an limitations that developers are all saying are the result of not having source code.
Does anyone have a probable date on the release of source code for the Poco X3 an X3 NFC?
Source code may help with GSI an F2FS development for our device for instance?

Vendor Blobs for Xiaomi 9 (Cattail)?

I seem to have stumbled across some vendor blobs for Xiaomi 9 (Cattail). I was wondering if this was usable to compile a workable kernel. if not, could anything be done with the source i am attaching?
GitHub - Vendor-Blobs/android_vendor_tree_xiaomi_cattail: Redmi 9/9 Activ (cattail) - Android 11 - Vendor Tree - V12.5.6.0.RCTINXM
Redmi 9/9 Activ (cattail) - Android 11 - Vendor Tree - V12.5.6.0.RCTINXM - GitHub - Vendor-Blobs/android_vendor_tree_xiaomi_cattail: Redmi 9/9 Activ (cattail) - Android 11 - Vendor Tree - V12.5.6.0...
github.com
Hopefully we could get something out of this
TheDuckWithAMonocle said:
I seem to have stumbled across some vendor blobs for Xiaomi 9 (Cattail). I was wondering if this was usable to compile a workable kernel. if not, could anything be done with the source i am attaching?
GitHub - Vendor-Blobs/android_vendor_tree_xiaomi_cattail: Redmi 9/9 Activ (cattail) - Android 11 - Vendor Tree - V12.5.6.0.RCTINXM
Redmi 9/9 Activ (cattail) - Android 11 - Vendor Tree - V12.5.6.0.RCTINXM - GitHub - Vendor-Blobs/android_vendor_tree_xiaomi_cattail: Redmi 9/9 Activ (cattail) - Android 11 - Vendor Tree - V12.5.6.0...
github.com
Hopefully we could get something out of this
Click to expand...
Click to collapse
Vendor blobs are part of what is needed to build custom ROMs. To build a kernel you need to find the kernel source code for your model number.
Would it be possible to use a similar but more popular device's build which has its source available, and modify it for my device?
I'm planning to do it as a hobby, so no rush
TheDuckWithAMonocle said:
Would it be possible to use a similar but more popular device's build which has its source available, and modify it for my device?
I'm planning to do it as a hobby, so no rush
Click to expand...
Click to collapse
From what i've seen in my research,there are quite a few people who are looking for 64 bit ROM's for cattail,but i suppose that this method might not be the most reliable since i've come across a lot of people reporting bricked devices cuz of it

Categories

Resources