• XDA Forums have been migrated to XenForo. We are aware of several issues including missing threads, logins not working, and more. To discuss, use this thread.
  • If you are experiencing issues logging in, we moved to a new and more secure software and older account passwords were not able to be migrated. We recommend trying to reset your password, then contacting us if there are issues.

[ROM][Development] Started work on G530W CM 12.1 Custom ROM

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
EDIT: Please direct any development questions, queries, etc. to the new thread in the Development Forum, concerning all development-y things.

http://forum.xda-developers.com/grand-prime/development/unofficial-cyanogenmod-12-1-g530w-t3424761

============================================================

I've recently started working on a custom ROM for the Samsung Grand Prime G530W [gprimeltevl/gprimeltecan], and so far I have built a somewhat working ROM (without any radio/wireless capability or audio for now).

If there is interest in this project (which I think there is; the lack of any kind of love shown for the G530W is annoying), I'll continue hacking away at it until I (hopefully) have a working ROM.

I'm new to Android ROM building in general, and there have been several bumps along the way, so any help would be appreciated.

Thanks.
 
Last edited:
  • Like
Reactions: Zeptolabe

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
I will be uploading images daily to my Drive storage, in folders named by date (if the date today is not there, then the image had not been built or uploaded yet), and will be compressing the system.tar images with either gzip or xz to reduce the image size.

I will also be updating this area with issues and fixes as necessary.

What I have managed to get working so far (23/07/2016)

  • Limited mobile connectivity [ sending/receiving texts ].
    - Calls can be received or made but there is no audio (speaker or microphone).
    - Mobile data is not working.
    - Currently the system does not show the mobile connection as active, but texts can still be sent and received.
  • Bluetooth is working
  • Audio is working (microphone, speaker)
  • Multimedia playback working
  • GPS is working
  • Wifi is working
  • Screen brightness controls working
  • Sensors are working (magnetic, rotation/gyro,proximity)
  • App installation is now working
  • Camera is kinda working - only back camera works, and the image is distorted.

Issues

  • Radio [ modem ] is not working properly
  • NFC is not working
  • MTP is not working
  • Cameras are not working

Here is a link to the system.tar, boot.tar and recovery.tar flashable by ODIN or fastboot (when unpacked).

https://drive.google.com/open?id=0B-bYwctD_MoDaWJGcUQ4eWtzRTQ

Project GitHub Repositories:

https://github.com/vince2678/android_device_samsung_gprimeltecan

https://github.com/vince2678/android_vendor_samsung_gprimeltecan

If there are any other issues I missed, let me know.
 
Last edited:

Zippy Dufus

Senior Member
Feb 12, 2011
470
176
43
Great effort

I managed to compile and get an image working for the G530W.

What I have managed to get working so far

  • Bluetooth is working
  • Audio is working (microphone, speaker)
  • Multimedia playback working
  • GPS is working
  • Sensors are working (magnetic, rotation/gyro,proximity)
Issues

  • Device fails to unlock and heats up [only once, so far]
  • Wifi is not working
  • Radio [ modem ] is not working
  • User interface crashes periodically
  • Screen brightness controls not working
  • MTP is not working
  • Cameras are not working

Here is a link to the system.tar, boot.tar and recovery.tar flashable by ODIN or fastboot (when unpacked).

https://drive.google.com/folderview?id=0B-bYwctD_MoDVzd0eS1aaDV6RW8&usp=sharing

I'll be working at it to get at least the Wifi working, if there are any other issues I missed, let me know.
Good work so far!

I recently purchased a g530w and I would love to boot the stock ROM.

However, I am still busy researching and reading up on this device before I attempt to flash anything. Actually, I did create an update zip file to remove Skype and tried applying it while not rooted but it failed because it was not properly signed.

Anyway, I will watch your progress with keen interest!
 

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
Good work so far!

I recently purchased a g530w and I would love to boot the stock ROM.

However, I am still busy researching and reading up on this device before I attempt to flash anything. Actually, I did create an update zip file to remove Skype and tried applying it while not rooted but it failed because it was not properly signed.

Anyway, I will watch your progress with keen interest!
Sounds interesting. Did you try rooting your phone and using Link2SSD to remove the app(s)? It works pretty well, and you don't have to go through the whole effort of packing and unpacking the ROM.
 
  • Like
Reactions: Zippy Dufus

Zippy Dufus

Senior Member
Feb 12, 2011
470
176
43
Sounds interesting. Did you try rooting your phone and using Link2SSD to remove the app(s)? It works pretty well, and you don't have to go through the whole effort of packing and unpacking the ROM.
Here's my plan for my new phone:
  1. Reading and research (in progress)
  2. Setting up Odin on a virtual machine (I am a Linux user) and testing a restore of the stock ROM. Do you have a good link to such a ROM? I briefly looked at http://www.sammobile.com/firmwares/ and this site looks a little sketchy to me.
  3. Root the device. I believe the method described in this G530T thread has worked for our G530W.
  4. Debloat the crapware. Surprisingly, there is not all that much on the device - mostly some Micro$oft crap, Skype, and an old, old version of Chrome which I cannot uninstall. As root, I'll just go in and delete the unwanted stuff from /system/app using a terminal emulator.
  5. Once it get this far, I can probably live with stock Lollipop. Question, if you are learning how to port a ROM, have you considered starting with Marshmallow? I'm keen to move up.
  6. Build the ROM myself and then attempt to build it with my Linaro toolchain which I built from scratch myself.
Questions, with what you know so far, will the G530H ROM in this thread work on our phone? Is this what you started from? What differences between the 2 devices what preclude it from working on ours - different hardware? software - i.e. different bootloader?, etc?
 

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
Here's my plan for my new phone:
  1. Reading and research (in progress)
  2. Setting up Odin on a virtual machine (I am a Linux user) and testing a restore of the stock ROM. Do you have a good link to such a ROM? I briefly looked at http://www.sammobile.com/firmwares/ and this site looks a little sketchy to me.
  3. Root the device. I believe the method described in this G530T thread has worked for our G530W.
  4. Debloat the crapware. Surprisingly, there is not all that much on the device - mostly some Micro$oft crap, Skype, and an old, old version of Chrome which I cannot uninstall. As root, I'll just go in and delete the unwanted stuff from /system/app using a terminal emulator.
  5. Once it get this far, I can probably live with stock Lollipop. Question, if you are learning how to port a ROM, have you considered starting with Marshmallow? I'm keen to move up.
  6. Build the ROM myself and then attempt to build it with my Linaro toolchain which I built from scratch myself.
Questions, with what you know so far, will the G530H ROM in this thread work on our phone? Is this what you started from? What differences between the 2 devices what preclude it from working on ours - different hardware? software - i.e. different bootloader?, etc?
Hey Zippy,

  1. That sounds like a good idea.
  2. That website does seem kinda sketchy, and their downloads take millenia, but it's the only option available and their images actually work (just make sure to get the correct one).
    Setting up a virtual machine is a good idea, because heimdall doesn't work with this device and I'm not keen on bricking my device trying to force it.
    Rebooting between builds to test firmwares because of a lack of a good recovery was becoming a pain. (CyanogenMod Recovery is still missing critical features but it's better than stock).
  3. You can use CF-Auto-Root to root the device (so simple) at:
    https://download.chainfire.eu/774/C...uto-Root-gprimeltecan-gprimeltevl-smg530w.zip
  4. Yup, debloating is good, i wanted to do so at first but I wanted to be done away with KNOX and have an su binary which worked flawlessly for good so I decided to start from scratch.
  5. I've considered starting from M, but that will be a task for later. It is troublesome to start from a fimware above what your device is at when you're porting, because the vendor libraries and binaries you copy might not work in the newer version of Android because of linking errors.
    You can copy the binaries fine but obscure errors due to missing references will pop up in the logs which will stop the modules from loading or binaries from running.
    I'm having these issues with a build ID that is just a few apart from the one used on the stock ROM - LMY49J on the cm build versus LMY47X on the stock).
  6. My Git repos are above - you can get yourself a cm12.1 source tree, pull my device_ and vendor_ trees, pull proprietary files using the scripts in the vendor tree, build from source and then flash the resultant images to your device.

The G530H ROM might, in theory flash without issue and actually boot, but whether it will be usable is another thing.

The thing that differs between the devices, as far as I'm aware, is mostly the baseband, some other device hardware (e.g the G530W has 1.5GB RAM instead of 1GB as most G530 devices), and the device bootloader. As such, the kernels and modules used might differ slightly in terms of modules compiled in, even though they're built from the same kernel source.

And yes, indeed, I started from a G530 device and vendor tree, though whether it was that one, or perhaps one for the G530FZ, I don't remember (though I think it's the G530FZ, it's the device closest to the G530W).
 
Last edited:

Pbotelho

New member
Mar 4, 2016
41
85
0
Finally something for this variant, I've been waiting for ages. Huge thumbs up dude, from a thankful Canadian. I don't use this phone as my daily driver so I'll be flashing this without delay. Mind if I trouble you for the order of operations? I've never used Odin to flash a custom ROM before.
 

Zippy Dufus

Senior Member
Feb 12, 2011
470
176
43
Some more questions ...

Hi again @vince2678, I have more questions:
  1. Do you have a local_manifest.xml that drives your build? ... I have a single-purpose Fedora24 virtual machine which I use to build android ROMs.
  2. Does your build actually produce a CM12.1 zip installation package? ... And do you simply harvest the system.img, etc afterwards to put into a flashable this tar file?
  3. What is the command line that do you use to create the flashable tar files? ... I'm just curious.
  4. What version of the firmware does your device have? ... Mine has G530WVLU1AOFB. Apparently, this is the Tanzanian version! WTF? I purchased my phone from a Costco in Oakville, Ontario, Canada. It was purported to be unlocked for all Canadian carriers. My carrier is Virgin Mobile (owned by Bell) and it works fine. But, my understanding is that device actually locks to your SIM card upon first use so you can't use it for other SIM cards, but I haven't proven this yet. BTW, I got over half of the stock ROM DL'ed from SamMobile before it stopped due to a "network error". Yeah right! I'll try again later.
  5. Have you (or are you) cherry-picking patches from the G530H CM12.1 ROM? ... android_device_samsung_fortuna3g I suggest DL'ing their key files and comparing them to yours. They appear to be in the final exhilarating phase of perfecting their ROM.
  6. So you have totally removed the KNOX software without in deleterious consequences? ... I thought that I read in an XDA thread where somebody did this and then had issues such as connecting to WIFI, etc. It appeared that there may be a dependency in the BIOS.
  7. Did you trip the KNOX e-fuse hence void the warranty? ... Not that I care about the warranty, I only worry about bricking the device.
Unlike @Pbotelho, this is my daily driver so I will be proceeding slowly and cautiously and look forward to his experience flashing it.
 

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
Finally something for this variant, I've been waiting for ages. Huge thumbs up dude, from a thankful Canadian. I don't use this phone as my daily driver so I'll be flashing this without delay. Mind if I trouble you for the order of operations? I've never used Odin to flash a custom ROM before.
Hi Pbotelho, thanks man. You will have to enable Developer Mode on your phone and unlock the bootloader from the settings. I don't remember what exactly in the settings that option is, but it should be in the Debugging area for sure.

Once done, reboot into Download Mode [Press Power+Volume Down+Home].

Once you've done that, grab the boot.tar, system.tar.xz and recovery.tar from the links above. Extract the system.tar.xz with 7zip or `xz -d system.tar.xz` if under Linux to get a system.tar file, and flash the recovery, boot, and system, one after the other, in whatever order, by booting into download mode as soon as it is done flashing a file.

You will need to wipe your cache and data partitions, which can be done by rebooting into recovery [Power+Volume Up+Home].

The button options are built into the hardware so they can be used at any point after the phone is on.

When all that is done, you can report any problems here [or on the github page] and post logcats and I'll look at them if there's any issue I've missed.
 
  • Like
Reactions: Zippy Dufus

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
Hi again @vince2678, I have more questions:
  1. Do you have a local_manifest.xml that drives your build? ... I have a single-purpose Fedora24 virtual machine which I use to build android ROMs.
  2. Does your build actually produce a CM12.1 zip installation package? ... And do you simply harvest the system.img, etc afterwards to put into a flashable this tar file?
  3. What is the command line that do you use to create the flashable tar files? ... I'm just curious.
  4. What version of the firmware does your device have? ... Mine has G530WVLU1AOFB. Apparently, this is the Tanzanian version! WTF? I purchased my phone from a Costco in Oakville, Ontario, Canada. It was purported to be unlocked for all Canadian carriers. My carrier is Virgin Mobile (owned by Bell) and it works fine. But, my understanding is that device actually locks to your SIM card upon first use so you can't use it for other SIM cards, but I haven't proven this yet. BTW, I got over half of the stock ROM DL'ed from SamMobile before it stopped due to a "network error". Yeah right! I'll try again later.
  5. Have you (or are you) cherry-picking patches from the G530H CM12.1 ROM? ... android_device_samsung_fortuna3g I suggest DL'ing their key files and comparing them to yours. They appear to be in the final exhilarating phase of perfecting their ROM.
  6. So you have totally removed the KNOX software without in deleterious consequences? ... I thought that I read in an XDA thread where somebody did this and then had issues such as connecting to WIFI, etc. It appeared that there may be a dependency in the BIOS.
  7. Did you trip the KNOX e-fuse hence void the warranty? ... Not that I care about the warranty, I only worry about bricking the device.
Unlike @Pbotelho, this is my daily driver so I will be proceeding slowly and cautiously and look forward to his experience flashing it.
Hi Zippy,

  1. I do not have a local_manifest, if you want you can just manually pull the device and vendor trees into your build area, or you can make one yourself if you wish.
    I will probably make one though, because the build has dependencies on some qcom sources.
  2. I just use 'make -j8' to build everything, though you can use 'make otapackage' to build a flashable zip [You'll need the CMR recovery from here though, the images can't be flashed by stock recovery]
  3. For creating flashable tar files, you can just use `tar`. You don't need to make .md5 verifiable archives, those are just to ensure a download wasn't corrupted [I provide md5sums for checking].
    The system.img in the output directory will have to be renamed to 'system.img.ext4' and then archived, as so:

    Code:
    cd out/target/product/gprimeltecan
    ln system.img system.img.ext4
    tar cf system.tar system.img.ext4
    tar cf boot.tar boot.img
    tar cf recovery.tar recovery.img
    Then you can move the files wherever and flash them with Odin.
  4. Yes the gprimeltevl/gprimeltecan baseband is indeed G530WVLU1AOFB, though this should work with all G530WXXXXXXXs (not sure how many different ones are out there].
    I'm not sure about the SIM locking thing, I cannot confirm this, someone might have to try to check.
  5. I did consider sourcing from that repository, though ultimately i ended up using another one [I don't remember the name]. I might take a look at their source to see what I can do about mine though.
  6. I did trip KNOX, though that was back when I was still trying to root my phone with CF-Root, so I'm not sure if flashing this will trip KNOX. And yes, KNOX is completely gone from this device, with no problems from the phone.
 
Last edited:
  • Like
Reactions: Zippy Dufus

Pbotelho

New member
Mar 4, 2016
41
85
0
Hi Pbotelho, thanks man. You will have to enable Developer Mode on your phone and unlock the bootloader from the settings. I don't remember what exactly in the settings that option is, but it should be in the Debugging area for sure.

Once done, reboot into Download Mode [Press Power+Volume Down+Home].

Once you've done that, grab the boot.tar, system.tar.xz and recovery.tar from the links above. Extract the system.tar.xz with 7zip or `xz -d system.tar.xz` if under Linux to get a system.tar file, and flash the recovery, boot, and system, one after the other, in whatever order, by booting into download mode as soon as it is done flashing a file.

You will need to wipe your cache and data partitions, which can be done by rebooting into recovery [Power+Volume Up+Home].

The button options are built into the hardware so they can be used at any point after the phone is on.

When all that is done, you can report any problems here [or on the github page] and post logcats and I'll look at them if there's any issue I've missed.
I got impatient with it so I took a gamble and inferred with some background knowledge. Got it up and running several hours ago. Performance wise, it seems dead on perfect. There's no lag, no force closing of apps. Everything runs as snappy as it should. Its fast as f***. Now I even installed xposed framework and added in a few modules, one of those being the Android N-ify project, and it works really well with it, so kudos on this area. I'll be sure to uninstall xposed when it comes to error reporting and logcats.

The only issues I'm seeing besides the ones you've already outlined are graphical in nature. I'm not home at the moment but I'll upload some logcats when I get the chance.

1) What I'm seeing is a blackout out lock screen. I have a theme installed and used it to apply a custom lock wallpaper to test this out. The wallpaper only shows once you've accessed the Pattern input by swiping up. Haven't tried it with a pin. If you're only using swipe, it'll stay black until unlocked.

2) When unlocked and swiping down to access the notifications panel and quick settings, the same blackout effect is present. This is present only while you're looking at your notifications or tiles, and returns to normal when swiped back up.

3) The first half of this part is only noticed when using the material glass theme. When swiping down to access the notification panel without notifications, the "no notifications" text will be present as it should be, however, when swiped down again to access the quicksettings tiles, the "no notifications" text isn't cleared away. It sits behind the brightness slider. This isn't noticeable on the stock theme because its opaque, while material glass features transparency as their main selling card. If using the battery saver, the text from this persistent notification will appear instead.

Edit: Upon further analysis, it seems that the notification content is linked to the bottom of the header instead of the bottom of the quicksettings tiles, and that's why it works this way. When expanding or shrinking the header, the notification also moves directly with it.

Second half: whether on the stock theme or not, the "no notifications" text will continue to stick and be viewable on the lockscreen, retaining its position that is viewed in the notification panel. It sits directly above the clock. The persistent battery saver notification works the same way. I'm no expert, but I believe that since the notification panel and lockscreen both go to black, that this might be linked in some way.

4) Sometimes when using the stock theme and toggling options in the quick settings tiles, it'll glitch out and turn into what I can only describe as a zombie menu. The pixels of the status bar are replaced by that proportionate area of the quick settings menu, and when swiping down to use the menu, access is disabled (it can't be touched) and it closes itself when attempted. Only way I've been able to fix it was to toggle the theme to material glass and all was restored, still subject to the above three points.

Edit: 5) when using kernel adiutor to try to adjust the CPU frequencies, the only option that comes up for both minimum and maximum is 0MHz. The button seems to work as well, bringing the clock max speed down to 0 for a split second before it reverts to a a maximum of 200MHz. Adjusting the governor after the fact won't restore the maximum, seems only a reboot will get it done. I'm slightly amazed to be honest as before on Touchwiz, it was impossible to get it to hold onto a lower maximum. It would jump all over the place as it pleased.

Edit: 6) The recents hardware button is disabled. Touching it, holding it, nor double tapping brings up a function. It also isn't present in settings when trying to map the button functions. Its the only one that's missing. Power, home, back, and volume are all there.

That's all I got for the moment, I tried to be as descriptive as possible as I won't be able to get the logcats up for awhile. Let me know if you have any questions about what I've said here.

And also, are you taking feature requests?
 
Last edited:

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
I got impatient with it so I took a gamble and inferred with some background knowledge. Got it up and running several hours ago. Performance wise, it seems dead on perfect. There's no lag, no force closing of apps. Everything runs as snappy as it should. Its fast as f***. Now I even installed xposed framework and added in a few modules, one of those being the Android N-ify project, and it works really well with it, so kudos on this area. I'll be sure to uninstall xposed when it comes to error reporting and logcats.

The only issues I'm seeing besides the ones you've already outlined are graphical in nature. I'm not home at the moment but I'll upload some logcats when I get the chance.


1) What I'm seeing is a blackout out lock screen. I have a theme installed and used it to apply a custom lock wallpaper to test this out. The wallpaper only shows once you've accessed the Pattern input by swiping up. Haven't tried it with a pin. If you're only using swipe, it'll stay black until unlocked.

2) When unlocked and swiping down to access the notifications panel and quick settings, the same blackout effect is present. This is present only while you're looking at your notifications or tiles, and returns to normal when swiped back up.

3) The first half of this part is only noticed when using the material glass theme. When swiping down to access the notification panel without notifications, the "no notifications" text will be present as it should be, however, when swiped down again to access the quicksettings tiles, the "no notifications" text isn't cleared away. It sits behind the brightness slider. This isn't noticeable on the stock theme because its opaque, while material glass features transparency as their main selling card. If using the battery saver, the text from this persistent notification will appear instead.
Hi Pbotelho,

I'll try to answer everything as completely as I can.

  1. The blackout lock screen thing seems to be an issue with Trebuchet. I found that using a different lock screen app solves this issue.
  2. As for the blackout on the notification area, I'm not sure what exactly is causing this, though I think this may be a problem with the cm-12.1 source and not necessarily the device port itself.

  3. Second half: whether on the stock theme or not, the "no notifications" text will continue to stick and be viewable on the lockscreen, retaining its position that is viewed in the notification panel. It sits directly above the clock. The persistent battery saver notification works the same way. I'm no expert, but I believe that since the notification panel and lockscreen both go to black, that this might be linked in some way.
    This seems to be an issue with Trebuchet again, and using a different lock application fixes this.

  4. Sometimes when using the stock theme and toggling options in the quick settings tiles, it'll glitch out and turn into what I can only describe as a zombie menu. The pixels of the status bar are replaced by that proportionate area of the quick settings menu, and when swiping down to use the menu, access is disabled (it can't be touched) and it closes itself when attempted. Only way I've been able to fix it was to toggle the theme to material glass and all was restored, still subject to the above three points.
    I'm aware of this one, for now you can fix this by disabling Brightness Control in the settings ( Settings->Status Bar->Brightness Control).
    This again might be an issue with the cm-12.1 source, though it'll need some checking to confirm.

  5. Edit: when using kernel adiutor to try to adjust the CPU frequencies, the only option that comes up for both minimum and maximum is 0MHz. The button seems to work as well, bringing the clock max speed down to 0 for a split second before it reverts to a a maximum of 200MHz. Adjusting the governor after the fact won't restore the maximum, seems only a reboot will get it done. I'm slightly amazed to be honest as before on Touchwiz, it was impossible to get it to hold onto a lower maximum. It would jump all over the place as it pleased.
    I'm using Kernel Adiutor and frequency setting is fine. Did you try using a tunable governor like interactive? That may be the issue.

  6. Edit: 6) The recents hardware button is disabled. Touching it, holding it, nor double tapping brings up a function. It also isn't present in settings when trying to map the button functions. Its the only one that's missing. Power, home, back, and volume are all there.
    I'm aware of this, you can blame this on my bad arithmetic skills :p . I had set the wrong bit field mask for the button settings in the device frameworks.
    I'll be pushing a fix addressing this shortly.

  7. And also, are you taking feature requests?
    That depends on what the features are, if they're reasonable and within my capabilities, then yeah :D.

PS: I would appreciate any help I can get, and if you have any coding skills and time to compile builds, you can help me polish up the device port.

Thanks!
 
Last edited:
  • Like
Reactions: Zippy Dufus

Pbotelho

New member
Mar 4, 2016
41
85
0
Hi Pbotelho,

I'll try to answer everything as completely as I can.

  1. The blackout lock screen thing seems to be an issue with Trebuchet. I found that using a different lock screen app solves this issue.
  2. As for the blackout on the notification area, I'm not sure what exactly is causing this, though I think this may be a problem with the cm-12.1 source and not necessarily the device port itself.


  3. This seems to be an issue with Trebuchet again, and using a different lock application fixes this.



  4. I'm aware of this one, for now you can fix this by disabling Brightness Control in the settings ( Settings->Status Bar->Brightness Control).
    This again might be an issue with the cm-12.1 source, though it'll need some checking to confirm.


  5. I'm using Kernel Adiutor and frequency setting is fine. Did you try using a tunable governor like interactive? That may be the issue.



  6. I'm aware of this, you can blame this on my bad arithmetic skills :p . I had set the wrong bit field mask for the button settings in the device frameworks.
    I'll be pushing a fix addressing this shortly.


  7. That depends on what the features are, if they're reasonable and within my capabilities, then yeah :D.

PS: I would appreciate any help I can get, and if you have any coding skills and time to compile builds, you can help me polish up the device port.

Thanks!
1) Aww man I love using Trebuchet, I like to keep my install as small as possible so I'm not one for installing additional apps. I'm a resource junkie though, so its just a matter of personal preference.

2) Again, I'm not an expert, but I suspect it might be the device port. Previously, I've had an unofficial version of CM12.1 installed on a Galaxy Tab 3 as well as a CM12.1 based Pac-rom installed on a Galaxy S4. I'm not sure if this is something those developers corrected on their own or not when building their ROMs, so it could be the source. That's the best of my knowledge on the topic.

3) Will do for the brightness slider, but again, it isn't something I experienced on the other devices with CM12.1 and the sister project.

4) Yeah I played around with the governors and tried all of them. They all list 0MHz as the only option. Maybe its a CPU hotplug issue? I didn't try playing around with those so I'll have to get back to you on that one.

5) Look forward to the update :) I have a question regarding it though. I'm really familiar with updating custom ROMs through recovery using the zip file format, but this is the first time I'm using Odin to do the job. Will flashing an update with Odin this way cause a factory reset? Or will it update as expected?

6) A couple more graphical hiccups I remembered. The blackout also happens when going to About Phone>Status. In About Phone, the device field says unknown (doesn't bother me, I just don't know if its significant or not), the illumination for the hardware buttons isn't working (I usually keep them off to save battery anyways, but someone out there probably uses it). And finally, when switching recents by holding the home button, only the title bars of the individual apps are viewable. The content of the windows themselves is completely transparent so it looks like a series of floating title bars.

(Apologies if some of these features are already included, I didn't get the opportunity to check, I just think they're awesome)

Feature requests:

1) When phone is off and charging, percentage is displayed inside battery symbol.

2) CPU and GPU undervolting built into the kernel. These custom ROMs are much better than the stock ROM in terms of functionality, but the battery life on the stock Samsung experience is no joke.

3) If possible, more steps for CPU frequency adjustments, every 100MHz or so. I remember the stock ROM had limited options. My S4 is the example I'm going to use here, it has a step for every 108MHz.

4) USB fast charging, aka setting USB to "charge only".

5) Wakelock Blocker. Its built into the latest Resurrection Remix for the S4, not sure if that could be of viable use to you. It'll certainly help out with battery improvements.

6) Boot Manager. Decide which apps get to start at boot. Its built into Marshmallow and an xposed module also exists for this purpose, so really low priority on this one, for me at least.

7) This one is a doozy. Absolutely the one I care most about, but most likely asking for too much. USB tethering. Already exists, I know, but not the way I hope it to. I have an old WRT54G router with DD-WRT installed. My goal is basically this: Phone's network connection>USB Tether>Micro-USB-LAN adapter>WAN port of router. In this sense, the phone would be acting as the modem in a regular home network. I know its possible to do this if the router has a USB port, but mine doesn't, and I also know its possible if you have an intermediate device that bridges the connections for you. Like a laptop, PC, or raspberry pi. Cost efficiency as a student is what I'm working towards though, so this one is a wishlist request.

Ps. The only coding skills I have are from high school's Visual Basic and HTML, truly beginner stuff, and that was about 10 years ago. I'm running Ubuntu on a core i5-2500k with 16GB of RAM and about a terabyte of space though, so compiling is definitely a possibility with some instructions.
 
  • Like
Reactions: Zippy Dufus

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
5) Look forward to the update :) I have a question regarding it though. I'm really familiar with updating custom ROMs through recovery using the zip file format, but this is the first time I'm using Odin to do the job. Will flashing an update with Odin this way cause a factory reset? Or will it update as expected?
Nope, this should be pretty much the same as flashing a zip from recovery. If you modified the system partition though (like by flashing GApps for example) your changes will be lost.

6) A couple more graphical hiccups I remembered. The blackout also happens when going to About Phone>Status. In About Phone, the device field says unknown (doesn't bother me, I just don't know if its significant or not), the illumination for the hardware buttons isn't working (I usually keep them off to save battery anyways, but someone out there probably uses it). And finally, when switching recents by holding the home button, only the title bars of the individual apps are viewable. The content of the windows themselves is completely transparent so it looks like a series of floating title bars.
I fixed this in the device tree, once I've built a new image this should be corrected.

(Apologies if some of these features are already included, I didn't get the opportunity to check, I just think they're awesome)

Feature requests:

1) When phone is off and charging, percentage is displayed inside battery symbol.
I'll be looking into this one.

2) CPU and GPU undervolting built into the kernel. These custom ROMs are much better than the stock ROM in terms of functionality, but the battery life on the stock Samsung experience is no joke.
I'm still using the stock kernel in my builds, once the builds are stable I'll start compiling the kernel from source and I'll see if I can do something about this.


3) If possible, more steps for CPU frequency adjustments, every 100MHz or so. I remember the stock ROM had limited options. My S4 is the example I'm going to use here, it has a step for every 108MHz.
According to the configurations, this is already how it is.

PS: I changed the governor under Kernel Adiutor to performance from interactive and switched back, and became unable to change the frequencies (like you were experiencing). I'll need to play around more with this to see why.

4) USB fast charging, aka setting USB to "charge only".
This is already available under the Settings->Storage->USB Computer Connection menu
5) Wakelock Blocker. Its built into the latest Resurrection Remix for the S4, not sure if that could be of viable use to you. It'll certainly help out with battery improvements.

6) Boot Manager. Decide which apps get to start at boot. Its built into Marshmallow and an xposed module also exists for this purpose, so really low priority on this one, for me at least.
Not sure I could do this, I'll check.

7) This one is a doozy. Absolutely the one I care most about, but most likely asking for too much. USB tethering. Already exists, I know, but not the way I hope it to. I have an old WRT54G router with DD-WRT installed. My goal is basically this: Phone's network connection>USB Tether>Micro-USB-LAN adapter>WAN port of router. In this sense, the phone would be acting as the modem in a regular home network. I know its possible to do this if the router has a USB port, but mine doesn't, and I also know its possible if you have an intermediate device that bridges the connections for you. Like a laptop, PC, or raspberry pi. Cost efficiency as a student is what I'm working towards though, so this one is a wishlist request.
I don't quite understand what you mean by this, how does it differ from the normal USB tethering?

Ps. The only coding skills I have are from high school's Visual Basic and HTML, truly beginner stuff, and that was about 10 years ago. I'm running Ubuntu on a core i5-2500k with 16GB of RAM and about a terabyte of space though, so compiling is definitely a possibility with some instructions.
If you can't code, that's fine, you could set up a build environment on your computer for creating images from the source.
 
  • Like
Reactions: Zippy Dufus

Pbotelho

New member
Mar 4, 2016
41
85
0
Nope, this should be pretty much the same as flashing a zip from recovery. If you modified the system partition though (like by flashing GApps for example) your changes will be lost.



I fixed this in the device tree, once I've built a new image this should be corrected.



I'll be looking into this one.


I'm still using the stock kernel in my builds, once the builds are stable I'll start compiling the kernel from source and I'll see if I can do something about this.




According to the configurations, this is already how it is.

PS: I changed the governor under Kernel Adiutor to performance from interactive and switched back, and became unable to change the frequencies (like you were experiencing). I'll need to play around more with this to see why.



This is already available under the Settings->Storage->USB Computer Connection menu


Not sure I could do this, I'll check.



I don't quite understand what you mean by this, how does it differ from the normal USB tethering?



If you can't code, that's fine, you could set up a build environment on your computer for creating images from the source.
Sounds awesome, I'll flash it as soon as possible and continue testing it for you.

I uploaded a logcat to the other thread in development. The performance governor is set up as the default for me so I'm set up with that situation from the get go.

It technically isn't different from regular USB tethering, but it seems that no one has done it successfully before. There are adapters that you can use to provide a wired Ethernet connection to an android device over micro USB, but no one has been able to do it the other way around. Google results don't turn up any answers.

And I'm willing to learn how to code, but I fear that I may slow you down with this project as I get past the learning curve. That being said, I can definitely set up a build environment and compile it from source for you. That'll be a learning experience on its own. Just point me towards a noob guide and I'll get it done.
 

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
Sounds awesome, I'll flash it as soon as possible and continue testing it for you.

I uploaded a logcat to the other thread in development. The performance governor is set up as the default for me so I'm set up with that situation from the get go.

It technically isn't different from regular USB tethering, but it seems that no one has done it successfully before. There are adapters that you can use to provide a wired Ethernet connection to an android device over micro USB, but no one has been able to do it the other way around. Google results don't turn up any answers.

And I'm willing to learn how to code, but I fear that I may slow you down with this project as I get past the learning curve. That being said, I can definitely set up a build environment and compile it from source for you. That'll be a learning experience on its own. Just point me towards a noob guide and I'll get it done.
The USB tethering thing sounds interesting, though I would need to have one of the adapters to test that, and time at hand as well.

As for the build environment, the best source of information is the CM wiki. You can look at these links below on how to get started:


The guides above are just outlines to detail the general build process - you will need to do things slightly differently from the steps above to get the proper source and device trees.

The attached local_manifest can be used with repo when obtaining the cm-12.1 source.
Remember you'll be getting the cm-12.1 source - not anything else.
 

Attachments

Last edited:

Zippy Dufus

Senior Member
Feb 12, 2011
470
176
43
The attached local_manifest can be used with repo when obtaining the cm-12.1 source.
Remember you'll be getting the cm-12.1 source - not anything else.
So if I add in your device tree and provide a toolchain, I should be good to go? (I think so.) :cowboy:

Thanks!!

EDIT: Not so fast! I'll have to find a kernel as well.
 
Last edited:
S

Sammichoux

Guest
Edit: 5) when using kernel adiutor to try to adjust the CPU frequencies, the only option that comes up for both minimum and maximum is 0MHz. The button seems to work as well, bringing the clock max speed down to 0 for a split second before it reverts to a a maximum of 200MHz. Adjusting the governor after the fact won't restore the maximum, seems only a reboot will get it done. I'm slightly amazed to be honest as before on Touchwiz, it was impossible to get it to hold onto a lower maximum. It would jump all over the place as it pleased.
I've test Kernel Adiutor and I too got the O MHz only window for both as the only option. Though Now I wonder if it is because I used the latest beta Kernel Adiutor, I'll further check with the normal stable version. Pretty sure it'll fix it if it worked normally for Vinc. --- Update; As strange as it might look while re opening kernel adi to take a screenshot, the list of normal MHz values is there and working properly.. Strange.. Magic? Huh technology, you're so unpredictable.
 
Last edited:

vince2678

Recognized Developer
Jul 5, 2016
1,071
1,900
0
So if I add in your device tree and provide a toolchain, I should be good to go? (I think so.) :cowboy:

Thanks!!

EDIT: Not so fast! I'll have to find a kernel as well.
Hi Zippy,

The kernel source was included there as well (it's just a dummy source so that the build can get the necessary source files for libraries which need them). The build still uses the default prebuilt kernel though.
 

Zippy Dufus

Senior Member
Feb 12, 2011
470
176
43
Hi Zippy,

The kernel source was included there as well (it's just a dummy source so that the build can get the necessary source files for libraries which need them). The build still uses the default prebuilt kernel though.
As an experiment, why don't you try downloading the G530H ROM, unzip, take the boot.img, and flash it over top of your stock kernel? See if it boots and how it performs.

Meanwhile, I plan to hack at putting together complete manifest, possibly with the G530H kernel and my Linaro 4.9 toolchain and see if I can build a complete ROM.

Have you extracted the firmware?

However, I don't want to flash anything until I see your ROM's modem working because it is my daily driver. But I'm keen though!!

I've managed to download the stock ROM from SamMobile but I'm now thinking of going straight to your ROM once it is a bit more complete and stable.