Question How To Get started with Custom Rom Development/Contribution as a Junior Java/Kotlin developer? - Xiaomi Poco F3 / Xiaomi Mi 11X / Redmi K40

As the thread question states I am a junior Java/Kotlin developer and would like to contribute to custom rom projects.
I have been mainly using Lineage OS on my old devices for a past few years and I am genuinely thankful for this community and would like to give back.
I have no idea where to get started and the only threads I found were really old from 2013 and hence I am posting it here. I have only gone as far as compiling AOSP from source and managing to flash it to my device. ( Any guidance is welcome ).
I have 2 additional queries :-
1) Why most custom rom releases are based on AOSP or Lineage as source rather than working backwards from the manufacture's provided rom? In that way the device can retain most of this functionality.
2) I have observed QUALCOMM powered devices are much more appreciated in this community compared to MediaTek, Why is that so? Recent MediaTek Chips have been quite powerful yet support from the community isn't there yet ..... what are MediaTek chipsets lacking ?

Mediatek doesn't release their source code so it's very difficult to develop custom ROMs.
Correct me if I'm wrong

How does your self-built AOSP perform? Everything working correctly?
I think the first question is, because the manufacturer's ROMs are proprietary and closed source, so it's not impossible, but difficult I think. Dunno how Xiaomi.eu does it.
Second question is, because Qualcomm releases source code to CAF - Code Aurora Forum. Custom ROM/Kernel Makers pull a few bits & pieces from CAF into their AOSP ROM, for that added spice.
I think MediaTek does too, but only for few devices?

Related

For when a Replicant ROM for this mobile phone?

Hi.
Like me, people that own this mobile phone need to wait for huge efforts from people like Arco to develop a ROM with the last android version and the whole bug fixes and improvements of the OS.
After all that, we need to trust what developers could have done inside that same ROM, the same we get in this 'black market' and pray they didn't do any kind of malicious developments, this, if the source code/blobs didn't come with them already. Forgetting about the security side, if we look at the new features and upgrades of the same OS, again, we will need to wait for people like Arco to get time to develop all we want. So, my question is:
What need to be done for people that use this mobile phone to have the Replicant Android version?
Web references:
- replicant.us
- fsf.org/blogs/community/donate-to-replicant-and-support-free-software-on-mobile-devices
- linux.com/news/embedded-mobile/mobile-linux/759834-fully-free-android-rom-advances-to-jelly-bean/?&co=f000000013912s-1248979074
- wired.com/wiredenterprise/2013/10/replicant/
:good:
vcatpt said:
Hi.
After all that, we need to trust what developers could have done inside that same ROM, the same we get in this 'black market' and pray they didn't do any kind of malicious developments, this, if the source code/blobs didn't come with them already. Forgetting about the security side....
Click to expand...
Click to collapse
Seriously, do you expect this to be different with a Repilcant ROM?
There will be still a Dev behind this who will compile the ROM, add bugfixes and so on.
So if you are afraid of malware being added by a Dev, you can simply download the sources and compile your own ROM. No matter this is CM or Repilcant.
CM is open source and you can watch the entire code to what a Dev has done to it. There is no conspirancy and there is no need to become paranoic.
Therefore I do not see a single reason why a Replicant ROM should be better compared to Arcos CM releases.
I can't explain me better than the references I post in the first post. But for sure, if every project follow the philosophy that Replicant uses, development could improve so much about the SECURITY and so much about the TIME for the news features/improvements, is ridiculous what people need to wait to get an upgraded software (no question about any developer here ofc). And I know life is not perfect, but at some point things need to be done in a credible and systematic way, and this android variant with the name Replicant seems fine to me.
honeyx said:
Seriously, do you expect this to be different with a Repilcant ROM?
There will be still a Dev behind this who will compile the ROM, add bugfixes and so on.
So if you are afraid of malware being added by a Dev, you can simply download the sources and compile your own ROM. No matter this is CM or Repilcant.
CM is open source and you can watch the entire code to what a Dev has done to it. There is no conspirancy and there is no need to become paranoic.
Therefore I do not see a single reason why a Replicant ROM should be better compared to Arcos CM releases.
Click to expand...
Click to collapse
hum..
http://redmine.replicant.us/projects/replicant/wiki/SamsungGalaxyBackdoor
https://www.fsf.org/blogs/community/replicant-developers-find-and-close-samsung-galaxy-backdoor

How to build AOSP from Google for the OnePlus 3/3T?

I'm trying to build Stock AOSP (Not LineageOS) straight from Google for the OnePlus 3/3T?
I searched for a guide, but haven't found one.
Thanks in advance!
You can't
AOSP source is available for Pixel and Nexus devices
But you can build CAF for OnePlus 3, is clean and close to AOSP
Sent from my ONEPLUS A3003 using Tapatalk
Since you're doing it on your own I suggest using a rom here as a base GZR recently posted GZOSP a Oreo base for Developers to use as a base for their roms you should check it out it's a great start if you're new to development
liam_davenport said:
Since you're doing it on your own I suggest using a rom here as a base GZR recently posted GZOSP a Oreo base for Developers to use as a base for their roms you should check it out it's a great start if you're new to development
Click to expand...
Click to collapse
That would be doing him a great dis-service. Buy using anothers base you dont learn everything you need and rely on others code way too much. Not to mention if a cm/los issue happens (underlying bug in their base code so you are waiting for them to fix it) This is the reason that whole project will not work.
Starting from scratch is a great start and a place everyone should start
... If he's never built a rom before then starting from scratch is most definitely *not* the place to start. GZOSP would likely be the best place to start as at least you can sync all and it actually builds. Would learn a ton just by figuring out how to remove all the GroundZero naming to make it your "own" rom.
There aren't any default AOSP device tree's available for OP3(you'd *have* to use someone else's code and it would likely require manually fixing it to build) so can't start there really, and good luck trying to find which branch(s) of caf and which repo's you need to build.. Writing device trees from scratch by yourself for aosp is drunkeness unless you've done it before and *know* what you're doing.
--
TLDR: There's no guide because it's not a thing currently. Would start with GZOSP if I were you.
HolyAngel said:
... If he's never built a rom before then starting from scratch is most definitely *not* the place to start. GZOSP would likely be the best place to start as at least you can sync all and it actually builds. Would learn a ton just by figuring out how to remove all the GroundZero naming to make it your "own" rom.
There aren't any default AOSP device tree's available for OP3(you'd *have* to use someone else's code and it would likely require manually fixing it to build) so can't start there really, and good luck trying to find which branch(s) of caf and which repo's you need to build.. Writing device trees from scratch by yourself for aosp is drunkeness unless you've done it before and *know* what you're doing.
--
TLDR: There's no guide because it's not a thing currently. Would start with GZOSP if I were you.
Click to expand...
Click to collapse
I mean in Biology, you don't start at the organism, you start at the atom. You start at the base and build from there.

Resurrection Remix and Oreo

Ive been enjoying Resurrection Remix [Unofficial] rom and was wondering if they or any other rom for the Xperia Z5 P will support Oreo?
There is no kernel so unfortunately no
tset351 said:
There is no kernel so unfortunately no
Click to expand...
Click to collapse
???
zacharias.maladroit said:
???
Click to expand...
Click to collapse
Well there are no kernel sources nor binaries, blobs etc. so I guess there will no custom rom be available anytime soon but please correct me if I'm wrong. I would be glad to have Oreo on my Z5P.
tset351 said:
Well there are no kernel sources nor binaries, blobs etc. so I guess there will no custom rom be available anytime soon but please correct me if I'm wrong. I would be glad to have Oreo on my Z5P.
Click to expand...
Click to collapse
The developer seems to be busy so allow me to answer (though I'm not that experienced). I'm pretty sure that Sony always releases it's phone's kernel sources. Phone hardware doesn't change from an update so when the sources are released they can be used to create a kernel for any android version (basically developers need access to unique hardware). Blobs are like closed-source kernel modules. They're provided with the kernel source but the manufacturer doesn't want them to be copyrighted or tampered with. So I'm sure that Oreo will be available on your device, just give the developers some time. And please don't answer questions if you don't know what you're talking about (at least write that you're inexperienced).
Nik0laTesla said:
The developer seems to be busy so allow me to answer (though I'm not that experienced). I'm pretty sure that Sony always releases it's phone's kernel sources. Phone hardware doesn't change from an update so when the sources are released they can be used to create a kernel for any android version (basically developers need access to unique hardware). Blobs are like closed-source kernel modules. They're provided with the kernel source but the manufacturer doesn't want them to be copyrighted or tampered with. So I'm sure that Oreo will be available on your device, just give the developers some time. And please don't answer questions if you don't know what you're talking about (at least write that you're inexperienced).
Click to expand...
Click to collapse
I am a very inexperienced person.
For MSM8994 platform there is only 3.10 kernel sources available, at least on sony's developer page. On open devices resource list, there are binaries for Z5 premium for 5.1, 6.0, 6.0.1, 7.0 and 7.1 but unfortunately no 8.0 or 8.1. And well, developers can take their time - as long as they want because I don't use that cell phone anymore and I won't expect any custom Rom changes anytime soon especially for a 2015 Device which had very less development going on since its launch.
But once again, I am very inexperienced.
Nik0laTesla said:
The developer seems to be busy so allow me to answer (though I'm not that experienced). I'm pretty sure that Sony always releases it's phone's kernel sources. Phone hardware doesn't change from an update so when the sources are released they can be used to create a kernel for any android version (basically developers need access to unique hardware). Blobs are like closed-source kernel modules. They're provided with the kernel source but the manufacturer doesn't want them to be copyrighted or tampered with. So I'm sure that Oreo will be available on your device, just give the developers some time.
Click to expand...
Click to collapse
Ok, sorry I got a bit mixed up in the devices :laugh:. Either way Snapdragon provides up to date documentation on their SOC's (which is the most important hardware component on the device) so developers should still be able to provide Oreo. And you are right the Z5 premium is an old device and support usually drops as soon as the developer gets rid of that device. But it's weird how much attention different devices get. For example I have a Oneplus X (SD801, I know it's ancient) (didn't even get Nougat) and there are multiple Oreo 8.1 ROMs available.

Is it possible to make a Touchwiz GSI rom?

Hi, i'm asking to devs if it's possible to port say Galaxy S9's rom to Treble enabled devices or even other manufacterer roms such as LG's or HTC? I thought S9 was released with Oreo, therefore it should have Treble support and could its stock rom can be used a GSI rom or am i wrong? Thanks in advance.
+1. Want to see Samsung Experience on my device too
I Wont Samsung Experience on my Device Too :crying:
Most capable man atm
@fxsheep
Jamie_oppo said:
Most capable man atm
@fxsheep
Click to expand...
Click to collapse
Wait for SE 10.0 Android P,
I can be possible. Yes!
But there are many Knox dependecies on TW kernel. Even if you did, stuff like storage wont work at all.
I'm doing a lot of research about GSIs and Project Treble recently; and that was the FIRST thing that came in my mind.
"What if my Xiaomi could run Samsung Experience?"
I absolutely love Stock Android; and Android Pie looks pretty close to Samsung Experience 9.0 based on Oreo.
But still; it'd be nice to have Galaxy Note's exclusive features on a bloody Xiaomi!
I think its going to be a headache for developers; but a bug-free, smooth running Samsung Experience GSI would be a bombshell for sure!
HighonBolo said:
Hi, i'm asking to devs if it's possible to port say Galaxy S9's rom to Treble enabled devices or even other manufacterer roms such as LG's or HTC? I thought S9 was released with Oreo, therefore it should have Treble support and could its stock rom can be used a GSI rom or am i wrong? Thanks in advance.
Click to expand...
Click to collapse
I'm not a Dev but I can tell you, No it'll never happen!
Here's some reasons why....
Project treble is just a way to separate proprietory vendor files and driver's from the base of ROM and giving them a standard to interface with new roms. It means the device is compliant with treble roms, not that their stock ROM is.
Treble roms are built from source code and that code is written to allow 1 GSI to be installed on multiple devices and work their hardware. Samsung has no source code for their roms.
Allot of Samsung's features are all tied in with their framework and also hardware dependent.
So the only way to remotely get a manufacturer ROM on another device is by porting. Which is a difficult process.
aaron74 said:
I'm not a Dev but I can tell you, No it'll never happen!
Here's some reasons why....
Project treble is just a way to separate proprietory vendor files and driver's from the base of ROM and giving them a standard to interface with new roms. It means the device is compliant with treble roms, not that their stock ROM is.
Treble roms are built from source code and that code is written to allow 1 GSI to be installed on multiple devices and work their hardware. Samsung has no source code for their roms.
Allot of Samsung's features are all tied in with their framework and also hardware dependent.
So the only way to remotely get a manufacturer ROM on another device is by porting. Which is a difficult process.
Click to expand...
Click to collapse
Thanks, but I wanna ask what will happen if I done these:
1. ADB pull everything from /system on a rooted Samsung phone
2. Repack it into system.img
3. Use erfangsi tool to convert it into a GSI
Not challenging you, just completely out of my curiosity.

Kernel development

Is there anything that would be interested in a custom kernel or maybe custom roms for this device? I can pick one up pretty cheap on eBay, just wondering what the landscape if the community is here.
From what I could see on GitHub, some developers tried to use the kernel sources, but it seems that OnePlus forgot to release some parts of it. So for now no one has created any roms or kernels, there is just an unofficial TWRP.
I'm quite good with recreating the kernel sources, I have done so for the N10, N200 5G, and a few other devices. See here. The missing parts are mostly Qualcomm specific code they keep in CAF repositories. Until my device touches down in my mailbox I'll need some testers. I'll have the kernel source completed well before then.
Sorry but personally I don't think I can help testing, since it's my main device I'd rather avoid having to erase my data every time.
That's understandable. You wouldn't happen to have a boot.img I can start with? The stock firmware doesn't have the files broken up individually.
If anyone wants to follow development:
OnePlus Nord N100 Community
You can view and join @OPn100 right away.
t.me
I have this one from the latest update (EU variant, I don't know if it changes anything):

Categories

Resources