[DISCONTINUED][CWM][AOSP] PureGingerbread gpc_hd2_gingerbread_v1.7[Kernel:gpc#226] - HD2 Android NAND Development

About this ROM
The ROM is almost pure gingerbread build from Google official git, this ROM is not the combination of others device gingerbread. It is true gingerbread compile by myself with full source code. With the latest google application, Superuser, and nexus s living wallpaper
About License
You can re-make or edit my ROM, just credit to me in your release.
FAQ and Known issue (MUST READ FIRST)
1.Wifi Tethering, using the http://code.google.com/p/android-wifi-tether/
2.You have to upgrade the MAGLDR to 1.13 in your HD2
3.If you have problems on SD Card , you can try to use SD Formatter 3.0 to format your SD Card.
About Kernel
100% based on evo kerenl from http://gitorious.org/linux-on-wince-htc/linux_on_wince_htc/
recompile on my PC and add the OC code table in arch/arm/mach-msm/acpuclock-scorpion.c , please referrer to following
Code:
{ 19200, CCTL(CLK_TCXO, 1), SRC_RAW, 0, 0, 1050, 14000 },
{ 128000, CCTL(CLK_TCXO, 1), SRC_AXI, 0, 0, 1050, 14000 },
{ 245000, CCTL(CLK_MODEM_PLL, 1), SRC_RAW, 0, 0, 1050, 29000 },
{ 384000, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x0A, 0, 1050, 58000 },
{ 422400, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x0B, 0, 1050, 117000 },
{ 499200, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x0C, 0, 1075, 117000 },
{ 576000, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x0D, 0, 1100, 117000 },
{ 614400, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x0E, 0, 1125, 117000 },
{ 691200, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x0F, 0, 1175, 117000 },
{ 768000, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x10, 0, 1200, 128000 },
{ 806400, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x11, 0, 1225, 128000 },
{ 883200, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x12, 0, 1275, 128000 },
{ 960000, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x13, 0, 1300, 128000 },
{ 998400, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x14, 0, 1300, 128000 },
{ 1113600, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x15, 0, 1325, 128000 },
{ 1190400, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x16, 0, 1325, 128000 },
{ 1228800, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x17, 0, 1350, 128000 },
{ 1267200, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x18, 0, 1350, 128000 },
{ 1305600, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x19, 0, 1350, 128000 },
{ 1344000, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x1A, 0, 1350, 128000 },
{ 1382400, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x1B, 0, 1350, 128000 },
{ 1420800, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x1C, 0, 1350, 128000 },
{ 1459200, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x1D, 0, 1350, 128000 },
{ 1497600, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x1E, 0, 1350, 128000 },
{ 1536000, CCTL(CLK_TCXO, 1), SRC_SCPLL, 0x1F, 0, 1350, 128000 },
About System:
100% based from Android Open Source Project (AOSP), compile by me and with my customize fix for HD2, you can find the source code at http://android.git.kernel.org/.
About Library:
libhtc_ril_wrapper, Using HD2 Lib, you can find the source code from http://gitorious.org/htc-hd2-android-libraries/libhtc_ril_wrapper
libgps, Using the Diem's binrary (where is the source code)
liblights,libsensors, based on AOSP, fix for HD2 by me
Camera Library, from HTC Desire
Customize Feature:
Vibrate after call accept with Settings option (Settings -> Sound)
Camcoder shutter sound (Settings -> Sound)
Change the dial icon at Launcher into DIAL intent for wide support
Working:
APP2SD+
Phone
3G
FM (Credit to https://www.github.com/CyanogenMod)
WIFI
BT (It still have 60mA issue when the device standby )
Good Working Notification LED Light (Based on AOSP Passion light lib not HTC-HD2 Library. It is Apache 2.0, NOT GPL license)
USB Tethering
USB Mount
Camrecord (480p no LAG with hardware encode)
Video Playback (h264 up to 720p with hardware decode)
GPS (Thanks and Credit to gauner1986 and Diem )
Camera (5MP)
Available internal storage: 230MB
Installation:
1.DFT Method (no more provide this version)
Download the DFT version and unpack it, enter the "USB Flasher" mode in MAGLDR1.13. Running the exe file on your PC. Flash it
2.CWM Method
You can use your own CWM(The system partition is must bigger than 125MB) or flash my suggestion version (download at bellow link).
About the usage and installation of CWM, please search the forum by yourself.
If you are lazy to search and survey it, you have to follow my step.
(a) upgrade your MAGLDR to 1.13
(b) download my "2011/02/08 Recovery CWM for gpc_hd2_gingerbread" to your PC
(c) Extract it on your PC, flash it as DFT method
(d) After you flash it completely, download my CWM rom (it is a zip file, don't try to extract it, just keep it as a ZIP file)
(e) Put the ZIP file into your memory card, you can use the Card Reader to put it in.
(f) Insert the SDCard into your device and boot, Long press the RED(Power) key until you see the MAGLDR menu, using the side Volume key to move the cursor down to "AD Recovery", press the GREEN(Call) key to enter
(g) Waiting the recovery mode booting....
(h) Using the side Volume key to move the cursor , press the GREEN(Call) key to enter
(i) install zip from sdcard -> choose zip from sdcard -> Select the ZIP file you put it into the sdcard, waiting the procedure completely
Download:
2011/02/08 Recovery CWM for gpc_hd2_gingerbread
Click here to download
2011/02/12 gpc_hd2_gingerbread_v1.7(CWM)
http://www.multiupload.com/Y68LATJIT1
Thanks to Cotulla and anyone works for HD2 NAND ROM
If you like this build, you can donate to Cotulla or mehttps://www.paypal.com/cgi-bin/webs...em_name=Donation+XDA+Forums+HD2&no_shipping=1

Tnx
Sent from my Nexus One using XDA App

Hmmm.. smells.. nice...
Will try.. hope gps works in navigation on this... Thanks!!

great.. will try this now..
can you make a bug list?

fantastic this is what i am looking for, a very clean stock gingerbred ROM for my HTC HD2, many many thx

Password?
The zip file required a password to open-

Thanks,
I will try this..

dawg said:
The zip file required a password to open-
Click to expand...
Click to collapse
sorry for that, forget to remove password
UnRar password : [email protected]

What's the difference compared to this stock Gingerbread(by tytung)?

Can someone tell me if GPS is working 100% in this ROM, even with other GPS programs?

Thank you for the ROM. Downloading !!!

Qwenjis said:
What's the difference compared to this stock Gingerbread(by tytung)?
Click to expand...
Click to collapse
720p playback and no lag on 480p camcoder
pure source code build, no redundant files
vibrate after call accept add by myself
squashfs(compress file system) for more available ROM space

iamgpc said:
720p playback and no lag on 480p camcoder
pure source code build, no redundant files
vibrate after call accept add by myself
squashfs(compress file system) for more available ROM space
Click to expand...
Click to collapse
I will wait for the answer about GPS now)

iamgpc said:
Hi all, this is my first release on XDA.
The ROM is almost pure gingerbread build from Google official git.
100% pure gingerbread android with the latest google application, Superuser, and nexus s living wallpaper, Support DATA2SD and APP2SD+
Working:
Vibrate after call accept (add by myself)
Phone (Disable the Audible touch tones in Settings -> Sound )
3G (RMNET)
WIFI,BT
Video Playback (h264 up to 720p with hardware decode)
GPS (thanks to gauner1986's lib)
Camera (5MP)
Camrecord (480p no LAG with hardware encode, it still has some bugs)
Available internal storage: 281 MB
Known issue:
USB Tethering - http://code.google.com/p/android-wired-tether/
Wifi Tethering - http://code.google.com/p/android-wifi-tether/ (you should turn on the wifi tethering in settings first, just ignore the error message)
USB Mount - only the first boot can click into the interface, you can use third party mount software (like Super Manager Professional) at the next time
Download:
2011/01/12 gpc_hd2_gingerbread_v2_xda
http://www.multiupload.com/TL1QYPYTZC
UnRar password : [email protected]
How to use APP2SD+ ?
1.Create an EXT2 partition in your memory card
2.Move your application back to internal storage
3.Insert and reboot
4.Never remove the memory card and mount as a card reader when running Android
How to use DATA2SD ?
1.Copy the folder called "data2sd" in your memory card
2.Unzip the data1G.rar or data2G.rar in this package, you will get a file called "data.img", put it into "data2sd"
3.Insert and reboot
4.Never remove the memory card and mount as a card reader when running Android
Chnagelog:
2011/01/12 gpc_hd2_gingerbread_v2_xda
Kernel: [email protected]#195
Software: add function "vibrate after accept call", update "barcode scanner"
2011/01/11 gpc_hd2_gingerbread_v1
Kernel: [email protected]#183 (up to 1.5GHz, modify by SetCPU,the latest kernel from http://gitorious.org/linux-on-wince-htc/linux_on_wince_htc/)
Compile and port all from officail source code, based on official gingerbread git (eng.gpc.20110110.022623)
Pure 100 % google official android 2.3.1 with the latest google application, Superuser, and nexus s living wallpaper
Support DATA2SD and APP2SD+
Thanks to Cotulla and anyone works for HD2 NAND ROM
If you like this build, you can donate to Cotulla or mehttps://www.paypal.com/cgi-bin/webs...em_name=Donation+XDA+Forums+HD2&no_shipping=1
Click to expand...
Click to collapse
Is ambient light sensor working??
Thx for the build and GO!! Taiwanese!!!

iamgpc said:
720p playback and no lag on 480p camcoder
pure source code build, no redundant files
vibrate after call accept add by myself
squashfs(compress file system) for more available ROM space
Click to expand...
Click to collapse
wow great news about camera and free space.
can you tell us if gps is working well on this rom (gps test specially)?
thanks
Sent from my HTC HD2 using XDA App

great to see more releases! Is there a (working) STK (Sim Toolkit) included in the build?

warrio said:
wow great news about camera and free space.
can you tell us if gps is working well on this rom (gps test specially)?
thanks
Sent from my HTC HD2 using XDA App
Click to expand...
Click to collapse
i have test GPS, it is working on Google map and Papago.
It is just for me, i am not sure if it works for anyone.

iamgpc said:
GPS (thanks to gauner1986's lib)
Click to expand...
Click to collapse
Are you folks blind, stupid or just lazy to read 10 lines of text!?
Congratulations iamgpc for the concept! Great idea having 3 conceps o memory data! Stock rom is allways the hardest to do well too. If this is you first rom you have lot of talents for rom cooking and lot of guts. Keep it up, I'm downloading to try and will report later.

Great, I'm really happy with Tytung GB v2.0, but I'm gonna try yours too.
Can you give us some information about Root?
Is it working fine or do you have any kind of problem?
Greetings Santroph!

iamgpc said:
i have test GPS, it is working on Google map and Papago.
It is just for me, i am not sure if it works for anyone.
Click to expand...
Click to collapse
the problem of gps in other gingerbread rom is that gps seems working but only with google maps and the signal drops often..
Sent from my HTC HD2 using XDA App

Related

Sick dev req : AllDevMgr vs NLED Api

Hey guys,
I'm currently using the code below to manage LEDs on the TyTN. We can't manage the LEDs with the NLED api so we need to use the AllLedMgr driver instead by writing the IOCTL 0x80020008. Unfortunately, as soon as I successfully set a LED, the normal LED behavior is lost (e.g. amber no longer lights up while charging). So it seems like the AllLedMgr interferes with the nled api. Suggestions are welcome !
Code:
typedef enum tLEDS{LED_RED, LED_GREEN, LED_BLUE, LED_L_GREEN, LED_AMBER}eLED;
unsigned long out[32] = {0};
unsigned long read = 0;
unsigned long inBuffer[5] = {0, 0, LED_RED, 1, 0};
HANDLE hLED = CreateFile(L"LED1:", GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
DeviceIoControl(hLED, 0x80020008, inBuffer, 0x14, out, sizeof(out), &read, NULL);
CloseHandle(hLED);
skaber said:
Hey guys,
I'm currently using the code below to manage LEDs on the TyTN. We can't manage the LEDs with the NLED api so we need to use the AllLedMgr driver instead by writing the IOCTL 0x80020008. Unfortunately, as soon as I successfully set a LED, the normal LED behavior is lost (e.g. amber no longer lights up while charging). So it seems like the AllLedMgr interferes with the nled api. Suggestions are welcome !
Code:
typedef enum tLEDS{LED_RED, LED_GREEN, LED_BLUE, LED_L_GREEN, LED_AMBER}eLED;
unsigned long out[32] = {0};
unsigned long read = 0;
unsigned long inBuffer[5] = {0, 0, LED_RED, 1, 0};
HANDLE hLED = CreateFile(L"LED1:", GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
DeviceIoControl(hLED, 0x80020008, inBuffer, 0x14, out, sizeof(out), &read, NULL);
CloseHandle(hLED);
Click to expand...
Click to collapse
uhhh yea.. . . .you should post this in dev and hacking

[Q] Switch on the flash light (code snippet required)

Here is a code to switch on the flash light, but it dowa not work on my S200. I want to fix it. Which message have I send to the cam 1 to switch on/off the flash light on?
How could I define that offset?
Code:
void main(){
DWORD retVal=0;
BYTE inBuf[1]={0};
BYTE outBuf[1]={0};
HANDLE hCam = CreateFile ( L"CAM1:", GENERIC_READ,
0,
NULL,
OPEN_EXISTING,//CREATE_ALWAYS,
0,//FILE_ATTRIBUTE_NORMAL,
NULL);
if(hCam!=INVALID_HANDLE_VALUE)
{
if(DeviceIoControl( hCam, 0x2222336F, inBuf, 1, outBuf, 1, &retVal, NULL))
{
inBuf[0] = (outBuf[0])?0:1;
DeviceIoControl( hCam, 0x2222336E, inBuf, 1, outBuf, 1, &retVal, NULL);
}
CloseHandle(hCam);
}
return 0;
}

Bake GNU/Linux into Android [Work-In-Progress]

How to add glibc stack to Android, bringing out the Penguin within.​
Important note:
I am still working out the kinks, learning, etc. This is not ment to be a daily use rom, esspecially what I put up for downloading and testing. Consider them teasers to get you to build your own.
Downloads:
This is the base/root directory of my shared google drive.
This is the 1st build that postgres worked -Note that bluetooth did not work, thats all I noticed though. Also, the scripts have not been debugged that are in this zip, replace them with the ones attached to this post, they are the result of debugging this zip.
This is the Kali rootfs using Debian repo to fix some missing packages. You can either use this root-fs, make your own, or download one, I added a link to a debian-wheezy fs below in the Notes.
EDIT: Is working now, remember to replace the scripts with the debuged ones or edit them to suit your prefrences.
Blank compressed .img file, gunzip it. -Note: It is a 4 gig img file.
And a special I am sorry for anyone who downloaded anything in the last hour or so. -E.C. 1.11.14
This is what is looks like when you get it set-up correctly, if you encounter errors, please forgive me.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
If at the first time, it seems to not have worked, wait another minute. Depending on how big your root-fs is it will take some time.
If you replaced the scripts and placed everything in the correct dirs, write a reply to let me know.
Use "getprop persist.cadkl.cfboot" to check the process of the first boot. If it is one then either it is in the process of running the firstboot.sh script or it failed before finishing that script, if it is at 2 , then it passed that and went to submount.sh, just be patient the first time around. I recently thought it wasn't working and started messing around only to find shortly later that things were being mounted as I was deleting them. I need to work out a better mechanism, perhaps one with a process bar and an error log.
In order to use this ROM you must have a directory on your sdcard called "cadkl", this is "/storage/emulated/legacy/cadkl" or "/sdcard/cadkl" or "/storage/sdcard0/cadkl" and within cadkl dir must be "cadkl-fs.tar.gz" and an image called "cadkl.img". It can be blank at first or full of junk, what is on the image will get erased the first time you "setprop persist.cadkl.autofs 1" from the command-line. That setprop command will set everything up for you. If it doesn't, let me know. In the future I'll mess with Androids settings menu to put this all in a gui for just one button set-up like allowing adb-debugging. I do suggest you atleast read some of the notes below, even if you don't want to buid your own version.
Notes:​
-Added tarball with Android.mk and cadkl-autofs to make things simple, just extract and put it in your source tree.
-Note that you still need to modify the filesystem as described below to tell Android about all the new branches and some important leaves.
-mount scripts at bottom with init.cadkl.rc
-init.cadkl.rc goes in / - You can make an Android.mk file to put it there or by unpacking initramfs.cpio.gz and editing there, dont forget to import -from init.rc, I do it right after cyanogenmod does, find it in ${a_src_rt}/system/core/rootdir/init.rc
-I put cadklinitfs.sh in /system/xbin/
-I put firstboot.sh and submount.sh in /system/etc/cadkl/lib/
-The mounting either requires the image file to be /sdcard/cadkl/cadkl.img or to edit the scripts
-The mounting either requires a /sdcard/cadkl/cadkl-fs.tar.gz lcontaining the glibc stack or to edit the scripts
-To start the just "setprop persist.cadkl.autofs 1" or what ever name you choose to change it to. Anything but 1 should stop it from mounting at boot.
-It takes a minute the first time to untar the archive and rsync everything into place.
-You may want to look into how this script treats /etc
- I use this Debian root-fs, either edit the scripts or unxz and re-gzip it and rename it to cadkl-fs.tar.gz
http://s3.armhf.com/debian/wheezy/debian-wheezy-7.2-armhf.com-20131129.tar.xz
- Or, I made a custom one as per the Kali docs . Hint: If a package fails to be located, I have luck using a debian repo with the kali repo, in fact thats how the name CyAnDeKaLi came about, CyanogenMod, Android, Debian, Kali, and Linux. A beefy chemistry to say the least.
- You'll also need at least a 2 gigabyte image file, it will get erased at first boot and replaced with the contents of the archive, be aware, you could start with a fresh one or an old one.
feel free to change and do what you like to whatever, if its called public domain then thats what it is, basically I don't give a ***** what you do. Also, I am not responible for what you do.
Build your own:​
Blue = is to do / our additions
Green = stays the same / was already present
Red = is to remove / comment out
Orange = experimenting
Added these to
${a_src_rt}/build/core/legacy_prebuilts.mk
Code:
....
....
[COLOR="Blue"] bin \
home \
lib \
media \
opt \
root \
run \
srv \
tmp \
usr \
var \[/COLOR]
add these to ${a_src_rt}/system/core/rootdir/Android.mk
Under this part:
Code:
...
...
[COLOR="SeaGreen"]DIRS := $(addprefix $(TARGET_ROOT_OUT)/, \
sbin \
dev \
proc \
sys \
system \
data \[/COLOR]
[COLOR="Blue"] bin \
home \
lib \
media \
opt \
root \
run \
srv \
tmp \
usr \
var \[/COLOR][COLOR="DarkGreen"]
) \
$(TARGET_OUT_DATA)[/COLOR]
I add the the directories to
"${a_src_rt}/system/core/include/private/android_filesystem_config.h"
under and between the following...:
Code:
[COLOR="SeaGreen"]...
...
/* Rules for directories.
** These rules are applied based on "first match", so they
** should start with the most specific path and work their
** way up to the root.
*/
[/COLOR]
[COLOR="SeaGreen"]##static struct fs_path_config android_dirs[] = {
{ 00770, AID_SYSTEM, AID_CACHE, "cache" },
.....
.....[/COLOR]
[COLOR="Blue"] { 00755, AID_ROOT, AID_ROOT, "bin" },
{ 00755, AID_ROOT, AID_ROOT, "home" },
{ 00755, AID_ROOT, AID_ROOT, "lib" },
{ 00755, AID_ROOT, AID_ROOT, "media" },
{ 00755, AID_ROOT, AID_ROOT, "opt" },
{ 00750, AID_ROOT, AID_ROOT, "root" },
{ 00755, AID_ROOT, AID_ROOT, "run" },
{ 00755, AID_ROOT, AID_ROOT, "srv" },
{ 00755, AID_ROOT, AID_ROOT, "tmp" },
{ 00755, AID_ROOT, AID_ROOT, "usr" },
{ 00755, AID_ROOT, AID_ROOT, "var" },[/COLOR][COLOR="DarkOrange"]
{ 00755, LID_LIST, LID_LIST, "var/list" },// I wonder if sticky bits should be set on these dirs?
{ 00755, AID_ROOT, LID_MAIL, "var/mail" },// I am testing 01770, AID_ROOT, LID_$USER setttings so that only root n user can access
{ 00755, LID_MAN, AID_ROOT, "var/cache/man" },
{ 00755, LID_LP, LID_LP, "var/spool/lpd" },
{ 00755, LID_NEWS, LID_NEWS, "var/spool/news" },
{ 00755, LID_UUCP, LID_UUCP, "var/spool/uucp" },
{ 00755, LID_WWW_DATA, LID_WWW_DATA, "/var/www" },
{ 00755, LID_BACKUP, LID_BACKUP, "var/backups" },
{ 00755, LID_IRC, LID_IRC, "var/run/ircd" },
{ 00755, LID_GNATS, LID_GNATS, "var/lib/gnats" },
{ 00755, LID_LIBUUID, LID_LIBUUID, "var/lib/libuuid" },
{ 00755, LID_MESSAGEBUS, LID_MESSAGEBUS, "var/run/dbus" },
{ 00755, LID_COLORD, LID_COLORD, "var/lib/colord" },
{ 00755, LID_SSHD, LID_SSHD, "var/run/sshd" },
{ 00755, LID_STATD, LID_STATD, "var/lib/nfs" },
{ 00755, LID_POSTGRES, LID_POSTGRES, "var/lib/postgresql" },
{ 00755, LID_MIREDO, LID_MIREDO, "var/run/miredo" },
{ 00755, LID_STUNNEL4, LID_STUNNEL4, "var/run/stunnel4" },
{ 00755, LID_IODINE, LID_IODINE, "var/run/iodine" },//end of sticky bit question?[/COLOR][COLOR="SeaGreen"]
{ 00644, AID_ROOT, AID_ROOT, 0 },
};[/COLOR]
Feel free to modify the permissions as you see fit, I am no professional. I was trying to be permissive at first and then tight up after things started working.
Next is also in ${a_src_rt}/system/core/incude/private/android_filesystem_config.h
Code:
[COLOR="SeaGreen"]/* Rules for files.
** These rules are applied based on "first match", so they
** should start with the most specific path and work their
** way up to the root. Prefixes ending in * denotes wildcard
** and will allow partial matches.
*/
static struct fs_path_config android_files[] = {
{ 00440, AID_ROOT, AID_SHELL, "system/etc/init.goldfish.rc" },
{ 00550, AID_ROOT, AID_SHELL, "system/etc/init.goldfish.sh" },
{ 00440, AID_ROOT, AID_SHELL, "system/etc/init.trout.rc" },
{ 00550, AID_ROOT, AID_SHELL, "system/etc/init.ril" },[/COLOR]
.....
.....
.....
[COLOR="Blue"] { 00755, AID_ROOT, AID_ROOT, "lib/*" },
{ 00755, AID_ROOT, AID_ROOT, "usr/bin/*" },
{ 00755, AID_ROOT, AID_ROOT, "usr/local/bin/*" },
{ 00750, AID_ROOT, AID_ROOT, "usr/local/sbin/*" },
{ 00750, AID_ROOT, AID_ROOT, "usr/sbin/*" },[/COLOR][COLOR="DarkOrange"]
{ 00664, LID_LIST, LID_LIST, "var/list/*" },
{ 00664, AID_ROOT, LID_MAIL, "var/mail/*" },
{ 00664, LID_MAN, AID_ROOT, "var/cache/man/*" },
{ 00664, LID_LP, LID_LP, "var/spool/lpd/*" },
{ 00664, LID_NEWS, LID_NEWS, "var/spool/news/*" },
{ 00664, LID_UUCP, LID_UUCP, "var/spool/uucp/*" },
{ 00664, LID_WWW_DATA, LID_WWW_DATA, "/var/www/*" },
{ 00664, LID_BACKUP, LID_BACKUP, "var/backups/*" },
{ 00664, LID_IRC, LID_IRC, "var/run/ircd/*" },
{ 00664, LID_GNATS, LID_GNATS, "var/lib/gnats/*" },
{ 00664, LID_LIBUUID, LID_LIBUUID, "var/lib/libuuid/*" },
{ 00664, LID_MESSAGEBUS, LID_MESSAGEBUS, "var/run/dbus/*" },
{ 00664, LID_COLORD, LID_COLORD, "var/lib/colord/*" },
{ 00664, LID_SSHD, LID_SSHD, "var/run/sshd/*" },
{ 00664, LID_STATD, LID_STATD, "var/lib/nfs/*" },
{ 00664, LID_POSTGRES, LID_POSTGRES, "var/lib/postgresql/*" },
{ 00664, LID_MIREDO, LID_MIREDO, "var/run/miredo/*" },
{ 00664, LID_STUNNEL4, LID_STUNNEL4, "var/run/stunnel4/*" },
{ 00664, LID_IODINE, LID_IODINE, "var/run/iodine/*" },
{ 00664, AID_ROOT, AID_ROOT, "var/*" },[/COLOR]
[COLOR="SeaGreen"] { 00644, AID_ROOT, AID_ROOT, 0 },
};[/COLOR]
Make sure to define them and add them to the array! The new users and daemons that is...
Code:
[COLOR="SeaGreen"]/* This is the master Users and Groups config for the platform.
** DO NOT EVER RENUMBER.
*/
#define AID_ROOT 0 /* traditional unix root user */[/COLOR]
[COLOR="DarkOrange"]#define LID_DAEMON 1 /* Linux Damemon user */
#define LID_BIN 2 /* Linux bin user */
#define LID_SYS 3 /* Linux sys user */
#define LID_SYNC 4 /* Linux sync user */
#define LID_GAMES 5 /* Linux games user */
#define LID_MAN 6 /* Linux man user */
#define LID_LP 7 /* Linux mail user */
#define LID_MAIL 8 /* Linux mail user */
#define LID_NEWS 9 /* Linux News user */
#define LID_UUCP 10 /* Linux uucp user */
#define LID_PROXY 13 /* Linux proxy user */
#define LID_WWW_DATA 33 /* Linux www-data user */
#define LID_BACKUP 34 /* Linux backup user */
#define LID_LIST 38 /* Linux Mailing List Manager */
#define LID_IRC 39 /* Linux irc user */
#define LID_GNATS 41 /* Linux Gnats Bug-Reporting System (admin) user */
#define LID_LIBUUID 100 /* */
#define LID_MESSAGEBUS 101 /* */
#define LID_COLORD 102 /* colord management daemon */
#define LID_SANED 103 /* */
#define LID_SSHD 104 /* sshd daemon */
#define LID_STATD 105 /* */
#define LID_POSTGRES 106 /* PostgreSQL administrator */
#define LID_MIREDO 107 /* */
#define LID_STUNNEL4 108 /* */
#define LID_IODINE 109 /* */
#define LID_SSLH 110 /* */[/COLOR]
[COLOR="Green"]#define AID_SYSTEM 1000 /* system server */
#define AID_RADIO 1001 /* telephony subsystem, RIL */
#define AID_BLUETOOTH 1002 /* bluetooth subsystem */[/COLOR]
....
....
....
[COLOR="Green"]
static const struct android_id_info android_ids[] = {
{ "root", AID_ROOT, },
{ "system", AID_SYSTEM, },
{ "radio", AID_RADIO, },[/COLOR]
....
....
[COLOR="DarkOrange"] { "daemon", LID_DAEMON, },
{ "bin", LID_BIN, },
{ "sys", LID_SYS, },
{ "sync", LID_SYNC, },
{ "games", LID_GAMES, },
{ "man", LID_MAN, },
{ "lp", LID_LP, },
{ "mail", LID_MAIL, },
{ "news", LID_NEWS, },
{ "uucp", LID_UUCP, },
{ "proxy", LID_PROXY, },
{ "www-data", LID_WWW_DATA, },
{ "backup", LID_BACKUP, },
{ "list", LID_LIST, },
{ "irc", LID_IRC, },
{ "gnats", LID_GNATS, },
{ "libuuid", LID_LIBUUID, },
{ "messagebus", LID_MESSAGEBUS, },
{ "colord", LID_COLORD, },
{ "saned", LID_SANED, },
{ "sshd", LID_SSHD, },
{ "statd", LID_STATD, },
{ "postgres", LID_POSTGRES, },
{ "miredo", LID_MIREDO, },
{ "stunnel4", LID_STUNNEL4, },
{ "iodine", LID_IODINE, },
{ "sslh", LID_SSLH, },[/COLOR]
[COLOR="Green"]};[/COLOR]
*This is what uid's my /etc/passwd had, some distro's may be different then others, when in doubt check your /etc/passwd . If I understand the source in this android_filesystem_config.h file, the uid's and gid's are the same, so one might need to script usermod to update the /etc/passwd file that the linux programs parse to determine uid and gid values to reflect what gets hardcoded into the Android filesystem during a builid, for an Admin turning your phone into a server of some sorts, it will require much of the configuration pre-build for the Android side of things as things stand now, this is the reason for the changes we are making here, "hard-coded pre-configuration". Ideally /etc/passwd /etc/groups and other relevant files will mirror each other, not in syntax, but the values should be the same. This is until a mechanism to update the filesystem's uid/gid database with GNU's/Linux's new users as they get added. Also, on the GNU/Linux side, user addition must be modified to follow the offset specified by Android because the droid uses 1000's range for system users, and I think thats what range is used for new "users" in GNU/Linux. Once all these things are figured out it should be more friendly to power users and perhaps even servers. I am not sure about the whole "sandbox" scenario, it seems to go against what Unix was after, small modular programs that can work together to serve a larger function. Android, on the other hand, seems to isolate programs from each other like a prison. So perhaps a balance can be found, or we can unlock the doors but not tell the inmates.
And add some properties to test for first boot so you can have an init service (call a shell script from init) mount the files inplace but make sure to wait for /dev/loop0 and a few other things.
I'll dig through the source again and find my changes to the kernel and some other things, all I did to the kernel was comment out the parts that happen if ANDROID_PARANOID_NETWORK is defined, since I seem to break my builds when I configure the kernel I just did it by hand so to speak. Just cgrep the from the kernel source tree for ANDROID_PARANOID_NETWORK. (-Fri Jan 10, 3:40pm : I just noticed my bluetooth isn't working, wifi is, cellular network shows bars but I haven't had service in months so I am not sure if that is actually working. When I attempt to turn on my buetooth, it turns off right away, I am not sure if I caused this or if it was an existing bug, either way its an issue, may be permission related...)
This is where I leave off for tonight : Thu Jan 9, 11:18 PM
Things to fix:​-User mechanisms need to work together or become one.
-Some environmet settings seem to affect which "side" works right. Sometimes nano needs config on gnu side, sometimes depending on which PATH dirs are searched first some programs break. Basically some of Android's programs expect output from other programs to be parsed a certain way, this can be fixed.
-Log-in's! I would like to eventually get rid of Android's su infavor of GNU's su which requires password authentication.
-I would like the user's Log-in password work to unlock the gui like gnome. But maybe a soft lock and hard lock, where a soft lock only requires a swipe to unlock the gui and one could hard-lock it by swiping to an option on the soft-lock screen, we should all know what screen I am refering to, we don't use the shell that much.
-Perhaps Su can be unlocked and a password set from a settings menu, similar to the developers options on CM.
-I would like to see multi-user support similar to the GNU/Linux set-up but like KDE, root should never log-in to the gui or launcher (Tebuche ?), but only be accessed via the shell.
Any suggestions or improvements are very welcome.
--------------original post---------------​I am having a bit of a hard time configuring the kernel the "Android Way" with menus or defconfigs so I just greped through the source and changed what I needed to there, messy, but hey, it worked.
Basically, for now I am comfortable with it but I will need to find a "better way".
I got postgresql working! YAY!!!!:laugh:
It all started when I noticed that the metasploit console worked in Android's root when /lib and everything else is in place. The only problem was that I couldn't get a socket to open for the life of me. I disabled Paranoid Networking in the source. I hope to re-enable it once I get it working with Linux's groups and programs that need sockets, but that will take awhile.
So now that postgresql can open a socket and bind to a port and all that, msfconsole will be able to connect to a database!!!! WHOOHOOO:angel:
This will eventually turn into a how-to build a rom with a glibc stack. My ultimate goal is to get bionic compatible with glibc and to include c++ exception handleing thus eleminating the need to have two libs, or I can make glibc compatible with bionic, thats in the air.
Time, to do some field testing, if anybody wants the rom I just made let me know, it also requires a tar.gz file containing the gnu/linux fs. The tar.gz gets unzipped into a cleaned .img file via an init service that calls a script, so its all configurable by root. It won't mount the first boot, it gives you a chance to push and pull things around, then just "setprop persist.cadkl.autofs 1" and wait some seconds, after about 20-30 second /bin, /usr/ etc etc become populated and that will happen automagically during boot after the first if the prop is set to 1.
Let me know,
Peace out,
Edge-Case
Update: Jan 9 12:40
I built ruby and metaslpoit last night ( compiled on my phone )
Here is a pic of me finally connecting to the database on my phone! http://forum.xda-developers.com/attachment.php?attachmentid=2504878&stc=1&d=1389292952
Sounds interesting. Count me in for testing. :thumbup:
If I had a dollar for every time I said that, I'd be making money in a very weird way.
bump
1BadWolf said:
Sounds interesting. Count me in for testing. :thumbup:
If I had a dollar for every time I said that, I'd be making money in a very weird way.
Click to expand...
Click to collapse
Where can I upload some files to for free?
Apperently my root-fs's and zips are too big...
Edge-Case said:
Where can I upload some files to for free?
Apperently my root-fs's and zips are too big...
Click to expand...
Click to collapse
Google drive

[Q] Overclocking?

Can someone throw some light on overclocking.
my friend told me that a CPU frequency can not be changed bcos u have to actually change the no. of oscillations per cycle.. which is not possible by coding.. so i have a question that all these overclocking are done on what basis?
Code:
static struct clkctl_acpu_speed acpu_freq_tbl_oc[] = {
{ {1, 1}, 192000, ACPU_PLL_8, 3, 1, 0, 0, L2(1), 800000, 0x03006000},
/* MAX_AXI row is used to source CPU cores and L2 from the AFAB clock. */
{ {0, 0}, MAX_AXI, ACPU_AFAB, 1, 0, 0, 0, L2(0), 825000, 0x03006000},
{ {1, 1}, 384000, ACPU_PLL_8, 3, 0, 0, 0, L2(1), 825000, 0x03006000},
{ {1, 1}, 432000, ACPU_SCPLL, 0, 0, 1, 0x08, L2(1), 850000, 0x03006000},
{ {1, 1}, 486000, ACPU_SCPLL, 0, 0, 1, 0x09, L2(2), 850000, 0x03006000},
{ {1, 1}, 540000, ACPU_SCPLL, 0, 0, 1, 0x0A, L2(3), 875000, 0x03006000},
{ {1, 1}, 594000, ACPU_SCPLL, 0, 0, 1, 0x0B, L2(4), 875000, 0x03006000},
{ {1, 1}, 648000, ACPU_SCPLL, 0, 0, 1, 0x0C, L2(5), 900000, 0x03006000},
{ {1, 1}, 702000, ACPU_SCPLL, 0, 0, 1, 0x0D, L2(6), 900000, 0x03006000},
{ {1, 1}, 756000, ACPU_SCPLL, 0, 0, 1, 0x0E, L2(7), 925000, 0x03006000},
{ {1, 1}, 810000, ACPU_SCPLL, 0, 0, 1, 0x0F, L2(8), 975000, 0x03006000},
{ {1, 1}, 864000, ACPU_SCPLL, 0, 0, 1, 0x10, L2(9), 975000, 0x03006000},
{ {1, 1}, 918000, ACPU_SCPLL, 0, 0, 1, 0x11, L2(10), 1000000, 0x03006000},
{ {1, 1}, 972000, ACPU_SCPLL, 0, 0, 1, 0x12, L2(11), 1025000, 0x03006000},
{ {1, 1}, 1026000, ACPU_SCPLL, 0, 0, 1, 0x13, L2(12), 1025000, 0x03006000},
{ {1, 1}, 1080000, ACPU_SCPLL, 0, 0, 1, 0x14, L2(13), 1050000, 0x03006000},
{ {1, 1}, 1134000, ACPU_SCPLL, 0, 0, 1, 0x15, L2(14), 1075000, 0x03006000},
{ {1, 1}, 1188000, ACPU_SCPLL, 0, 0, 1, 0x16, L2(15), 1100000, 0x03006000},
{ {1, 1}, 1242000, ACPU_SCPLL, 0, 0, 1, 0x17, L2(16), 1125000, 0x03006000},
{ {1, 1}, 1296000, ACPU_SCPLL, 0, 0, 1, 0x18, L2(17), 1150000, 0x03006000},
{ {1, 1}, 1350000, ACPU_SCPLL, 0, 0, 1, 0x19, L2(18), 1150000, 0x03006000},
{ {1, 1}, 1404000, ACPU_SCPLL, 0, 0, 1, 0x1A, L2(19), 1175000, 0x03006000},
{ {1, 1}, 1458000, ACPU_SCPLL, 0, 0, 1, 0x1B, L2(20), 1200000, 0x03006000},
{ {1, 1}, 1512000, ACPU_SCPLL, 0, 0, 1, 0x1C, L2(21), 1225000, 0x03006000},
{ {1, 1}, 1566000, ACPU_SCPLL, 0, 0, 1, 0x1D, L2(22), 1225000, 0x03006000},
{ {1, 1}, 1620000, ACPU_SCPLL, 0, 0, 1, 0x1E, L2(22), 1250000, 0x03006000},
{ {1, 1}, 1674000, ACPU_SCPLL, 0, 0, 1, 0x1F, L2(22), 1275000, 0x03006000},
{ {1, 1}, 1728000, ACPU_SCPLL, 0, 0, 1, 0x20, L2(22), 1300000, 0x03006000},
#ifdef CONFIG_OC_ULTIMATE
{ {1, 1}, 1782000, ACPU_SCPLL, 0, 0, 1, 0x21, L2(22), 1325000, 0x03006000},
{ {1, 1}, 1836000, ACPU_SCPLL, 0, 0, 1, 0x22, L2(22), 1337500, 0x03006000},
{ {1, 1}, 1890000, ACPU_SCPLL, 0, 0, 1, 0x23, L2(22), 1350000, 0x03006000},
{ {1, 1}, 1944000, ACPU_SCPLL, 0, 0, 1, 0x24, L2(22), 1362500, 0x03006000},
{ {1, 1}, 1998000, ACPU_SCPLL, 0, 0, 1, 0x25, L2(22), 1375000, 0x03006000},
{ {1, 1}, 2052000, ACPU_SCPLL, 0, 0, 1, 0x26, L2(22), 1400000, 0x03006000},
for eg. what are these numbers (384000) on the left side of the table? are these frequencies or what?
And pls can someone explain how actually overclocking is done?
@abcdjdj maybe you know something?
anikesh102 said:
Can someone throw some light on overclocking.
my friend told me that a CPU frequency can not be changed bcos u have to actually change the no. of oscillations per cycle.. which is not possible by coding.. so i have a question that all these overclocking are done on what basis?
Code:
static struct clkctl_acpu_speed acpu_freq_tbl_oc[] = {
{ {1, 1}, 192000, ACPU_PLL_8, 3, 1, 0, 0, L2(1), 800000, 0x03006000},
/* MAX_AXI row is used to source CPU cores and L2 from the AFAB clock. */
{ {0, 0}, MAX_AXI, ACPU_AFAB, 1, 0, 0, 0, L2(0), 825000, 0x03006000},
{ {1, 1}, 384000, ACPU_PLL_8, 3, 0, 0, 0, L2(1), 825000, 0x03006000},
{ {1, 1}, 432000, ACPU_SCPLL, 0, 0, 1, 0x08, L2(1), 850000, 0x03006000},
{ {1, 1}, 486000, ACPU_SCPLL, 0, 0, 1, 0x09, L2(2), 850000, 0x03006000},
{ {1, 1}, 540000, ACPU_SCPLL, 0, 0, 1, 0x0A, L2(3), 875000, 0x03006000},
{ {1, 1}, 594000, ACPU_SCPLL, 0, 0, 1, 0x0B, L2(4), 875000, 0x03006000},
{ {1, 1}, 648000, ACPU_SCPLL, 0, 0, 1, 0x0C, L2(5), 900000, 0x03006000},
{ {1, 1}, 702000, ACPU_SCPLL, 0, 0, 1, 0x0D, L2(6), 900000, 0x03006000},
{ {1, 1}, 756000, ACPU_SCPLL, 0, 0, 1, 0x0E, L2(7), 925000, 0x03006000},
{ {1, 1}, 810000, ACPU_SCPLL, 0, 0, 1, 0x0F, L2(8), 975000, 0x03006000},
{ {1, 1}, 864000, ACPU_SCPLL, 0, 0, 1, 0x10, L2(9), 975000, 0x03006000},
{ {1, 1}, 918000, ACPU_SCPLL, 0, 0, 1, 0x11, L2(10), 1000000, 0x03006000},
{ {1, 1}, 972000, ACPU_SCPLL, 0, 0, 1, 0x12, L2(11), 1025000, 0x03006000},
{ {1, 1}, 1026000, ACPU_SCPLL, 0, 0, 1, 0x13, L2(12), 1025000, 0x03006000},
{ {1, 1}, 1080000, ACPU_SCPLL, 0, 0, 1, 0x14, L2(13), 1050000, 0x03006000},
{ {1, 1}, 1134000, ACPU_SCPLL, 0, 0, 1, 0x15, L2(14), 1075000, 0x03006000},
{ {1, 1}, 1188000, ACPU_SCPLL, 0, 0, 1, 0x16, L2(15), 1100000, 0x03006000},
{ {1, 1}, 1242000, ACPU_SCPLL, 0, 0, 1, 0x17, L2(16), 1125000, 0x03006000},
{ {1, 1}, 1296000, ACPU_SCPLL, 0, 0, 1, 0x18, L2(17), 1150000, 0x03006000},
{ {1, 1}, 1350000, ACPU_SCPLL, 0, 0, 1, 0x19, L2(18), 1150000, 0x03006000},
{ {1, 1}, 1404000, ACPU_SCPLL, 0, 0, 1, 0x1A, L2(19), 1175000, 0x03006000},
{ {1, 1}, 1458000, ACPU_SCPLL, 0, 0, 1, 0x1B, L2(20), 1200000, 0x03006000},
{ {1, 1}, 1512000, ACPU_SCPLL, 0, 0, 1, 0x1C, L2(21), 1225000, 0x03006000},
{ {1, 1}, 1566000, ACPU_SCPLL, 0, 0, 1, 0x1D, L2(22), 1225000, 0x03006000},
{ {1, 1}, 1620000, ACPU_SCPLL, 0, 0, 1, 0x1E, L2(22), 1250000, 0x03006000},
{ {1, 1}, 1674000, ACPU_SCPLL, 0, 0, 1, 0x1F, L2(22), 1275000, 0x03006000},
{ {1, 1}, 1728000, ACPU_SCPLL, 0, 0, 1, 0x20, L2(22), 1300000, 0x03006000},
#ifdef CONFIG_OC_ULTIMATE
{ {1, 1}, 1782000, ACPU_SCPLL, 0, 0, 1, 0x21, L2(22), 1325000, 0x03006000},
{ {1, 1}, 1836000, ACPU_SCPLL, 0, 0, 1, 0x22, L2(22), 1337500, 0x03006000},
{ {1, 1}, 1890000, ACPU_SCPLL, 0, 0, 1, 0x23, L2(22), 1350000, 0x03006000},
{ {1, 1}, 1944000, ACPU_SCPLL, 0, 0, 1, 0x24, L2(22), 1362500, 0x03006000},
{ {1, 1}, 1998000, ACPU_SCPLL, 0, 0, 1, 0x25, L2(22), 1375000, 0x03006000},
{ {1, 1}, 2052000, ACPU_SCPLL, 0, 0, 1, 0x26, L2(22), 1400000, 0x03006000},
for eg. what are these numbers (384000) on the left side of the table? are these frequencies or what?
And pls can someone explain how actually overclocking is done?
@abcdjdj maybe you know something?
Click to expand...
Click to collapse
I don't know much about kernel programming but, yes those are the frequencies on the left side of the table. They are measured in kHz (kilo hertz). You must divide the number by 1000 to get the frequency in mHz and divide by 10^6 to get it in GHz. Usually overclocking means extending the array of structures along with the corresponding voltage values. But in our acpuclock-8x60.c file, there are multiple structures which have the frequency table and there is a function called :-
Code:
static __init struct clkctl_acpu_speed *select_freq_plan(void)
which decides which frequency table to chose. So basically there is a switch case block in that function which looks like this -
Code:
switch (pvs) {
case 0x0:
case 0x7:
acpu_freq_tbl =acpu_freq_tbl_1512mhz_slow;
pr_info("ACPU PVS: Slow\n");
break;
case 0x1:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_nom;
pr_info("ACPU PVS: Nominal\n");
break;
case 0x3:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_fast;
pr_info("ACPU PVS: Fast\n");
break;
default:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_slow;
pr_warn("ACPU PVS: Unknown. Defaulting to slow.\n");
break;
}
Here depending on the variable pvs (unfortunately can't figure out what pvs is ), the frequency table is chosen. So we need to assign acpu_freq_table, the new overclocking structure which is acpu_freq_tbl_oc. Please do check out this commit too - https://github.com/deedwar/android_...mmit/d5520b9701591ecec2a3d4e43435bb7980cfea80
abcdjdj said:
I don't know much about kernel programming but, yes those are the frequencies on the left side of the table. They are measured in kHz (kilo hertz). You must divide the number by 1000 to get the frequency in mHz and divide by 10^6 to get it in GHz. Usually overclocking means extending the array of structures along with the corresponding voltage values. But in our acpuclock-8x60.c file, there are multiple structures which have the frequency table and there is a function called :-
Code:
static __init struct clkctl_acpu_speed *select_freq_plan(void)
which decides which frequency table to chose. So basically there is a switch case block in that function which looks like this -
Code:
switch (pvs) {
case 0x0:
case 0x7:
acpu_freq_tbl =acpu_freq_tbl_1512mhz_slow;
pr_info("ACPU PVS: Slow\n");
break;
case 0x1:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_nom;
pr_info("ACPU PVS: Nominal\n");
break;
case 0x3:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_fast;
pr_info("ACPU PVS: Fast\n");
break;
default:
acpu_freq_tbl = acpu_freq_tbl_1512mhz_slow;
pr_warn("ACPU PVS: Unknown. Defaulting to slow.\n");
break;
}
Here depending on the variable pvs (unfortunately can't figure out what pvs is ), the frequency table is chosen. So we need to assign acpu_freq_table, the new overclocking structure which is acpu_freq_tbl_oc. Please do check out this commit too - https://github.com/deedwar/android_...mmit/d5520b9701591ecec2a3d4e43435bb7980cfea80
Click to expand...
Click to collapse
Don't go into coding much... just tell me that the frequency of any CPU is fixed or not?
How does the frequency and oscillations work as the CPU load is increased?
anikesh102 said:
Don't go into coding much... just tell me that the frequency of any CPU is fixed or not?
How does the frequency and oscillations work as the CPU load is increased?
Click to expand...
Click to collapse
Very sorry to tell you but dude, without learning programming not much can be done. Anyway, kindly give me link to the sources which you are using. I need to check some files in the sources. The github link will do.
abcdjdj said:
Very sorry to tell you but dude, without learning programming not much can be done. Anyway, kindly give me link to the sources which you are using. I need to check some files in the sources. The github link will do.
Click to expand...
Click to collapse
https://github.com/DooMLoRD/android_kernel_sony_msm8660
It's DoomLord's github i m studying it for now.
anikesh102 said:
https://github.com/DooMLoRD/android_kernel_sony_msm8660
It's DoomLord's github i m studying it for now.
Click to expand...
Click to collapse
Well the overclocking commit was authored 9 months ago by Doom so the kernel has overclocking support. The CPU frequency scaling depends on the governor which you use. That's all I know about the cpu frequency scaling. You can check this guide for more info on the different governors - http://forum.xda-developers.com/showthread.php?t=1856256

[Need] New watchface from Galaxy watch 3

Hey everyone !
The new Galaxy watch 3 has just been announced and it get some georgous watchface.
I would like to know if someone now how to get this one ?
Thank you all !
I believe that's the Classic Adventurer.
I dont know about this but maybe IA20 & IA21 by Ionisedatom would suit you. @ionisedatom on instagram
caravana said:
Someone with the Galaxy Watch 3 could connect the watch using the Device Manager, and using the right panel, navigate to the folder /home/owner/app_rw/ and pull the entire folder using this tool. This folder contains all the apps unpacked with the manifests and signatures. Maybe we can repack them and install in other devices.
I tried to extract the files from the firmware but they are not organized in a way that is easy to repack into tpks.
---------- Post added at 05:40 PM ---------- Previous post was at 04:43 PM ----------
S. spend many time and Energy to "protect" there internal WF...
It is not single TPK or WGT...
Files are "spread over whole Firmware"...
You can not easy pick up and install...
GW3 Firmware is somewehre in BP ECG Thread... you can extract with 7Zip all files...
Look for folder:
I looked into the firmware and they are grouped in one folder with a json describing all watchfaces (watchlist.json).
{ "watchlist":[ { "pkgid":"com.samsung.watchface-noblesse-a1", "watchname":"WDS_CLOCK_OPT_CLASSIC_ADVENTURER_ABB", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a1/com.samsung.watchface-noblesse-a1.png", "watchviewtype":"analog", "description": "", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-a2", "watchname":"WDS_CLOCK_OPT_CASUAL_MINIMALIST_ABB", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a2/com.samsung.watchface-noblesse-a2.png", "watchviewtype":"analog", "description": "", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-a3", "watchname":"WDS_CLOCK_OPT_QUAD_HIVE_ABB", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a3/com.samsung.watchface-noblesse-a3.png", "watchviewtype":"analog", "description": "", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-a4", "watchname":"WDS_CLOCK_OPT_DIGITAL_DASHBOARD_ABB", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a4/com.samsung.watchface-noblesse-a4.png", "watchviewtype":"digital", "description": "", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-a5", "watchname":"WDS_CLOCK_OPT_ANALOG_DASHBOARD_ABB", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a5/com.samsung.watchface-noblesse-a5.png", "watchviewtype":"analog", "description": "", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-a6", "watchname":"WDS_CLOCK_OPT_WEATHER_CENTER_ABB", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a6/com.samsung.watchface-noblesse-a6.png", "watchviewtype":"analog", "description": "", "editable":false }, { "pkgid":"com.samsung.watchface-noblesse-a7", "watchname":"WDS_CLOCK_OPT_MODERN_MINIMALIST_ABB", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a7/com.samsung.watchface-noblesse-a7.png", "watchviewtype":"analog", "description": "", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-a8", "watchname":"WDS_CLOCK_OPT_ACENTRIC_ABB", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a8/com.samsung.watchface-noblesse-a8.png", "watchviewtype":"analog", "description": "", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-t5", "watchname":"WDS_CLOCK_HEADER_MY_STYLE", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-t5/com.samsung.watchface-noblesse-t5.png", "watchviewtype":"analog_digital", "description": "WDS_CLOCK_BODY_AN_ABSTRACT_WATCH_FACE_MADE_FROM_THE_COLORS_IN_A_PHOTO_TAKE_A_PICTURE_OF_YOUR_CLOTHES_TO_MAKE_YOUR_WATCH_INSTANTLY_MATCH_YOUR_OUTFIT", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-t4", "watchname":"WDS_CLOCK_HEADER_LIVE_WALLPAPER", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-t4/com.samsung.watchface-noblesse-t4.png", "watchviewtype":"analog_digital", "description": "WDS_CLOCK_BODY_A_WATCH_FACE_WITH_A_VIVID_BACKGROUND_TO_LIVEN_UP_YOUR_WATCH", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-p7", "watchname":"WDS_HEALTH_BODY_BREATHE", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-p7/com.samsung.watchface-noblesse-p7.png", "watchviewtype":"analog", "description": "WDS_HEALTH_BODY_KEEP_CALM_AND_BREATHE_ON_E_YOU_CAN_START_A_BREATHING_EXERCISE_ANY_TIME_WITH_JUST_A_SINGLE_TAP", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-u3", "watchname":"WDS_CLOCK_OPT_BASIC_DASHBOARD_ABB", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-u3/com.samsung.watchface-noblesse-u3.png", "watchviewtype":"digital", "description": "WDS_WMGR_BODY_THIS_WATCH_FACE_IS_PACKED_WITH_INFORMATION_DESIGNED_WITH_A_WIDE_RANGE_OF_COMPLICATIONS_AND_OPTIONS_SO_YOU_CAN_SEE_EXACTLY_THE_INFO_YOU_NEED", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-p6", "watchname":"WDS_CLOCK_HEADER_ACTIVITY_SPARKLES", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-p6/com.samsung.watchface-noblesse-p6.png", "watchviewtype":"digital", "description": "WDS_WMGR_BODY_THE_MORE_YOU_MOVE_THE_MORE_GREEN_SPARKLES_YOU_GET_WHEN_YOURE_NOT_MOVING_YOULL_GET_YELLOW_SPARKLES_INSTEAD", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-n1", "watchname":"WDS_CLOCK_HEADER_ANALOG_UTILITY", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-n1/com.samsung.watchface-noblesse-n1.png", "watchviewtype":"analog", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-ontime", "watchname":"WDS_CLOCK_BODY_MY_DAY_M_WATCH_FACE", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-ontime/com.samsung.watchface-noblesse-ontime.png", "watchviewtype":"analog", "description": "WDS_CLOCK_BODY_SEE_YOUR_UPCOMING_REMINDERS_EVENTS_AND_ALARMS_AT_A_GLANCE_MSG", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-u1", "watchname":"WDS_CLOCK_MBODY_MY_PHOTOPLUS_M_WATCH_FACE", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-u1/com.samsung.watchface-noblesse-u1.png", "watchviewtype":"digital", "description": "WDS_WMGR_BODY_MAKE_YOUR_WATCH_YOUR_OWN_WITH_UP_TO_20_OF_YOUR_OWN_IMAGES_OR_GIFS_TAP_TO_ROTATE_IMAGES", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-u6", "watchname":"WDS_CLOCK_MBODY_LARGE", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-u6/com.samsung.watchface-noblesse-u6.png", "watchviewtype":"digital", "description":"WDS_WMGR_BODY_BIG_CLEAR_TEXT_THATS_EASY_TO_SEE_AT_A_GLANCE_YOU_CAN_CHANGE_THE_COLOR_AND_COMPLICATIONS_TO_SUIT_YOUR_NEEDS", "editable":true }, { "pkgid":"com.samsung.watchface-noblesse-dualclock", "watchname":"WDS_CLOCK_HEADER_ROAMING_CLOCK", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-dualclock/com.samsung.watchface-noblesse-dualclock.png", "watchviewtype":"digital", "description": "WDS_WMGR_BODY_WHEN_YOU_TRAVEL_TO_A_DIFFERENT_TIME_ZONE_THIS_WATCH_WILL_BE_RECOMMENDED_AUTOMATICALLY_SO_YOU_CAN_KEEP_TRACK_OF_BOTH_THE_LOCAL_TIME_AND_THE_TIME_BACK_HOME", "editable":true }, { "pkgid":"com.samsung.watchface-common-shuffle", "watchname":"WDS_CLOCK_BODY_SHUFFLE", "iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-common-shuffle/com.samsung.watchface-common-shuffle.png", "watchviewtype":"digital", "description":"", "editable":true } ]}
There is some kind of convertion/installation process that create one separate package for each watchface.
I just don't know how to convert them into multiple tpks, one for each watchface. If someone could extract them already installed, we can just repack them into tpks and install in other devices.
if someone want to look these files: https://drive.google.com/file/d/1Io5yp13ZF1R6XAyzFg80ek2A2vNgffAa/view?usp=sharing
Click to expand...
Click to collapse
Well this is not the ideal answer but I was able to make the Classic Adventurer watch face using the image files from the zip you provided with Watchmaker. If you have watchmaker here is a link to download the watchface.
Download link
https://drive.google.com/file/d/1udDMfb7ES5tLT7b6EiyU3tEFQLfzUM-s/view?usp=sharing
Edit
Fixed link and hid quote
Steve One said:
I would like this one.
Click to expand...
Click to collapse
E.Cadro said:
Well this is not the ideal answer but I was able to make the Classic Adventurer watch face using the image files from the zip you provided with Watchmaker. If you have watchmaker here is a link to download the watchface.
Download link
https://drive.google.com/file/d/1udDMfb7ES5tLT7b6EiyU3tEFQLfzUM-s/view?usp=sharing
Edit
Fixed link and hid quote
Click to expand...
Click to collapse
Do you have a version of this for GalaxyWatchDesigner please?
27 said:
Do you have a version of this for GalaxyWatchDesigner please?
Click to expand...
Click to collapse
Sorry I don't know how to make watchfaces with Galaxy Watch Designer.
I would like this one.
Steve One said:
I would like this one.
Click to expand...
Click to collapse
Yeah this one too ofc
maybe somebody will try to extract them from the firmware (IDK if it's possible or not).
BTW, maybe Samsung will release them on the Galaxy Store in the coming weeks.
S. spend many time and Energy to "protect" there internal WF...
It is not single TPK or WGT...
Files are "spread over whole Firmware"...
You can not easy pick up and install...
GW3 Firmware is somewehre in BP ECG Thread... you can extract with 7Zip all files...
Look for folder:
Code:
com.samsung.watchface
Best Regards
adfree said:
S. spend many time and Energy to "protect" there internal WF...
It is not single TPK or WGT...
Files are "spread over whole Firmware"...
You can not easy pick up and install...
GW3 Firmware is somewehre in BP ECG Thread... you can extract with 7Zip all files...
Look for folder:
Code:
com.samsung.watchface
Best Regards
Click to expand...
Click to collapse
Hey !
Thank for your time but i didn't find the Watch 3 firmware.
https://forum.xda-developers.com/smartwatch/galaxy-watch/galaxy-watch-3-firmware-t4136409
Maybe now closer...
Best Regards
adfree said:
https://forum.xda-developers.com/smartwatch/galaxy-watch/galaxy-watch-3-firmware-t4136409
Maybe now closer...
Best Regards
Click to expand...
Click to collapse
Thank you for the link.
It's look like it is a bit hard to get these watchface by this way... I'll wait until samsung put in on the Galaxy store...
Really?
thibaly said:
Hey everyone !
The new Galaxy watch 3 has just been announced and it get some georgous watchface.
I would like to know if someone now how to get this one ?
Thank you all !
Click to expand...
Click to collapse
Lol...
It is free and comes with the watch. Check in the watch faces on the watch and you will find it.
They are sweet and available on the watch...
Someone with the Galaxy Watch 3 could connect the watch using the Device Manager, and using the right panel, navigate to the folder /home/owner/app_rw/ and pull the entire folder using this tool. This folder contains all the apps unpacked with the manifests and signatures. Maybe we can repack them and install in other devices.
I tried to extract the files from the firmware but they are not organized in a way that is easy to repack into tpks.
---------- Post added at 05:40 PM ---------- Previous post was at 04:43 PM ----------
adfree said:
S. spend many time and Energy to "protect" there internal WF...
It is not single TPK or WGT...
Files are "spread over whole Firmware"...
You can not easy pick up and install...
GW3 Firmware is somewehre in BP ECG Thread... you can extract with 7Zip all files...
Look for folder:
Code:
com.samsung.watchface
Best Regards
Click to expand...
Click to collapse
I looked into the firmware and they are grouped in one folder with a json describing all watchfaces (watchlist.json).
HTML:
{
"watchlist":[
{
"pkgid":"com.samsung.watchface-noblesse-a1",
"watchname":"WDS_CLOCK_OPT_CLASSIC_ADVENTURER_ABB",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a1/com.samsung.watchface-noblesse-a1.png",
"watchviewtype":"analog",
"description": "",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-a2",
"watchname":"WDS_CLOCK_OPT_CASUAL_MINIMALIST_ABB",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a2/com.samsung.watchface-noblesse-a2.png",
"watchviewtype":"analog",
"description": "",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-a3",
"watchname":"WDS_CLOCK_OPT_QUAD_HIVE_ABB",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a3/com.samsung.watchface-noblesse-a3.png",
"watchviewtype":"analog",
"description": "",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-a4",
"watchname":"WDS_CLOCK_OPT_DIGITAL_DASHBOARD_ABB",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a4/com.samsung.watchface-noblesse-a4.png",
"watchviewtype":"digital",
"description": "",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-a5",
"watchname":"WDS_CLOCK_OPT_ANALOG_DASHBOARD_ABB",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a5/com.samsung.watchface-noblesse-a5.png",
"watchviewtype":"analog",
"description": "",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-a6",
"watchname":"WDS_CLOCK_OPT_WEATHER_CENTER_ABB",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a6/com.samsung.watchface-noblesse-a6.png",
"watchviewtype":"analog",
"description": "",
"editable":false
},
{
"pkgid":"com.samsung.watchface-noblesse-a7",
"watchname":"WDS_CLOCK_OPT_MODERN_MINIMALIST_ABB",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a7/com.samsung.watchface-noblesse-a7.png",
"watchviewtype":"analog",
"description": "",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-a8",
"watchname":"WDS_CLOCK_OPT_ACENTRIC_ABB",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-a8/com.samsung.watchface-noblesse-a8.png",
"watchviewtype":"analog",
"description": "",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-t5",
"watchname":"WDS_CLOCK_HEADER_MY_STYLE",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-t5/com.samsung.watchface-noblesse-t5.png",
"watchviewtype":"analog_digital",
"description": "WDS_CLOCK_BODY_AN_ABSTRACT_WATCH_FACE_MADE_FROM_THE_COLORS_IN_A_PHOTO_TAKE_A_PICTURE_OF_YOUR_CLOTHES_TO_MAKE_YOUR_WATCH_INSTANTLY_MATCH_YOUR_OUTFIT",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-t4",
"watchname":"WDS_CLOCK_HEADER_LIVE_WALLPAPER",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-t4/com.samsung.watchface-noblesse-t4.png",
"watchviewtype":"analog_digital",
"description": "WDS_CLOCK_BODY_A_WATCH_FACE_WITH_A_VIVID_BACKGROUND_TO_LIVEN_UP_YOUR_WATCH",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-p7",
"watchname":"WDS_HEALTH_BODY_BREATHE",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-p7/com.samsung.watchface-noblesse-p7.png",
"watchviewtype":"analog",
"description": "WDS_HEALTH_BODY_KEEP_CALM_AND_BREATHE_ON_E_YOU_CAN_START_A_BREATHING_EXERCISE_ANY_TIME_WITH_JUST_A_SINGLE_TAP",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-u3",
"watchname":"WDS_CLOCK_OPT_BASIC_DASHBOARD_ABB",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-u3/com.samsung.watchface-noblesse-u3.png",
"watchviewtype":"digital",
"description": "WDS_WMGR_BODY_THIS_WATCH_FACE_IS_PACKED_WITH_INFORMATION_DESIGNED_WITH_A_WIDE_RANGE_OF_COMPLICATIONS_AND_OPTIONS_SO_YOU_CAN_SEE_EXACTLY_THE_INFO_YOU_NEED",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-p6",
"watchname":"WDS_CLOCK_HEADER_ACTIVITY_SPARKLES",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-p6/com.samsung.watchface-noblesse-p6.png",
"watchviewtype":"digital",
"description": "WDS_WMGR_BODY_THE_MORE_YOU_MOVE_THE_MORE_GREEN_SPARKLES_YOU_GET_WHEN_YOURE_NOT_MOVING_YOULL_GET_YELLOW_SPARKLES_INSTEAD",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-n1",
"watchname":"WDS_CLOCK_HEADER_ANALOG_UTILITY",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-n1/com.samsung.watchface-noblesse-n1.png",
"watchviewtype":"analog",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-ontime",
"watchname":"WDS_CLOCK_BODY_MY_DAY_M_WATCH_FACE",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-ontime/com.samsung.watchface-noblesse-ontime.png",
"watchviewtype":"analog",
"description": "WDS_CLOCK_BODY_SEE_YOUR_UPCOMING_REMINDERS_EVENTS_AND_ALARMS_AT_A_GLANCE_MSG",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-u1",
"watchname":"WDS_CLOCK_MBODY_MY_PHOTOPLUS_M_WATCH_FACE",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-u1/com.samsung.watchface-noblesse-u1.png",
"watchviewtype":"digital",
"description": "WDS_WMGR_BODY_MAKE_YOUR_WATCH_YOUR_OWN_WITH_UP_TO_20_OF_YOUR_OWN_IMAGES_OR_GIFS_TAP_TO_ROTATE_IMAGES",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-u6",
"watchname":"WDS_CLOCK_MBODY_LARGE",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-u6/com.samsung.watchface-noblesse-u6.png",
"watchviewtype":"digital",
"description":"WDS_WMGR_BODY_BIG_CLEAR_TEXT_THATS_EASY_TO_SEE_AT_A_GLANCE_YOU_CAN_CHANGE_THE_COLOR_AND_COMPLICATIONS_TO_SUIT_YOUR_NEEDS",
"editable":true
},
{
"pkgid":"com.samsung.watchface-noblesse-dualclock",
"watchname":"WDS_CLOCK_HEADER_ROAMING_CLOCK",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-noblesse-dualclock/com.samsung.watchface-noblesse-dualclock.png",
"watchviewtype":"digital",
"description": "WDS_WMGR_BODY_WHEN_YOU_TRAVEL_TO_A_DIFFERENT_TIME_ZONE_THIS_WATCH_WILL_BE_RECOMMENDED_AUTOMATICALLY_SO_YOU_CAN_KEEP_TRACK_OF_BOTH_THE_LOCAL_TIME_AND_THE_TIME_BACK_HOME",
"editable":true
},
{
"pkgid":"com.samsung.watchface-common-shuffle",
"watchname":"WDS_CLOCK_BODY_SHUFFLE",
"iconpath":"/usr/apps/com.samsung.watchface/shared/res/watchlist/com.samsung.watchface-common-shuffle/com.samsung.watchface-common-shuffle.png",
"watchviewtype":"digital",
"description":"",
"editable":true
}
]
}
There is some kind of convertion/installation process that create one separate package for each watchface.
I just don't know how to convert them into multiple tpks, one for each watchface. If someone could extract them already installed, we can just repack them into tpks and install in other devices.
if someone want to look these files: https://drive.google.com/file/d/1Io5yp13ZF1R6XAyzFg80ek2A2vNgffAa/view?usp=sharing

Categories

Resources