Post Reply

[KERNEL][GPL] oppo Kernel - Experimental

OP paperWastage

16th March 2013, 11:42 PM   |  #1  
OP Senior Member
Flag NJ
Thanks Meter: 420
 
883 posts
Join Date:Joined: Mar 2009
More
I got lazy to work on this...

Faux is porting his kernel changes for this device. Go follow him instead

http://forum.xda-developers.com/show....php?t=2310374
http://www.oppoforums.com/threads/ke...4-may-31.2743/





Guide to building kernel from source

WARNING: Flash new kernels at your own risk
I am not responsible for any bricked devices

My Github branch experimental

I am porting over changes that faux123 made to his nexus 4 kernel : https://github.com/faux123/mako/tree/jb_mr1.1_exp

You'll need to use fastboot to flash kernels. I need to sudo as root for fastboot to work properly

Code:
adb reboot bootloader
sudo -s
fastboot devices
fastboot flash boot bootimage.img
fastboot reboot

To reset to original kernel (if something goes wrong and your device doesn't boot)
Code:
Charge your phone to at least 50%
Download original kernel (download original firmware, extract the boot.img file)
Hard power-off phone (hold power button for >15s)
Boot into bootloader (hold power + up key)
On computer - fastboot flash boot boot.img
Releases:
Last edited by paperWastage; 6th June 2013 at 03:27 AM.
The Following 8 Users Say Thank You to paperWastage For This Useful Post: [ View ]
16th March 2013, 11:43 PM   |  #2  
OP Senior Member
Flag NJ
Thanks Meter: 420
 
883 posts
Join Date:Joined: Mar 2009
More
Changelog


  • v0.0.2-experimental-cm-10.1 - 2013-6-1
    Code:
    Changelog:
    Basically, this contains all the changes made, merged into the CM10.1 kernel source (commit c02191a5db58bd9f69d2f5d3e239ea9ea64b7345 on May 1)
    
    Compatibility: should work with any CM-10.1-based ROM (eg PAC, PA...)
    
    Download  | Mirror
  • v0.0.3-experimental - 2013-4-8
    Code:
    Changelog:
    - Merged 2 commits from Qualcomm to fix msm_hsic_host wakelocks issue
    - https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git;a=commit;h=41d004c4eaa5565cb8d9113862c3cef1e51be648
    - https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git;a=commit;h=6f199aa800253a69e5679d1057823039f1bd65c9
    DO NOT USE v0.0.3 - Read This ... if you still really really really want those changes, linky
  • v0.0.2-experimental - 2013-3-17
    Code:
    Changelog:
    - Merged voltage control from "faux123":https://github.com/faux123/mako/tree/jb_mr1.1_exp
    --- min 800000 mV, max 1350000 mV
    (use any CPU undervolting app to undervolt)
    
    Compatibility: should work with any stock Oppo rom
    
    Download | Mirror
    Version String: Linux version 3.4.0-perf-g94395fc (tte@tte) Github tag v0.0.2
  • v0.0.1-experimental - 2013-3-16
    Code:
    Changelog:
    - Merged Intellidemand governor from "faux123":https://github.com/faux123/mako/tree/jb_mr1.1_exp
    (use any CPU controller app to change your governor)
    
    Compatibility: should work with any stock Oppo rom
    
    Download | Mirror
    Version String: Linux version 3.4.0-perf-g7850320 (tte@tte) Github tag v0.0.1
Last edited by paperWastage; 1st June 2013 at 09:59 PM.
The Following 4 Users Say Thank You to paperWastage For This Useful Post: [ View ]
16th March 2013, 11:44 PM   |  #3  
OP Senior Member
Flag NJ
Thanks Meter: 420
 
883 posts
Join Date:Joined: Mar 2009
More
List of bugs/new features requested

Tracker

Want to build the kernel from scratch?

http://forum.xda-developers.com/show....php?t=2192805
Last edited by paperWastage; 13th April 2013 at 12:46 AM.
The Following 3 Users Say Thank You to paperWastage For This Useful Post: [ View ]
17th March 2013, 05:01 AM   |  #4  
Senior Member
Flag Ohio
Thanks Meter: 75
 
278 posts
Join Date:Joined: Jan 2012
I posted this in you other thread I think I should erase and keep it here, I don't know if this will help you out at all but it looks like some good information to have.

Nice it looks like development is off to a great start! I also have the Droid DNA which is the same S4Pro CPU/GPU, the kernel I'm running on the DNA has the following options. The lowest setting for underclocking is down to 192MHz and has enabled overclock at 1.9GHz. Force GPU render for 3d @ 500mhz / 450mhz and 2d @ 300mhz. I have been using this kernel on my Droid Dna and it runs really fast and battery last all day.

Here is a link to some information that might be useful to you as I don't understand all of it myself http://forum.xda-developers.com/show....php?t=2021714

Quote:

What is msm_mpdecision?

100% kernel based multi core decision! (should cpu1 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_backup.

Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
Quote:
startdelay = time until mpdecision starts doing it's magic (70000)
delay = time between checks (500)
pause = if something else plugs in the cpu, fall asleep for 10000
scroff_single_core = if the screen is off, don't plug in cpu1 (1)
nwns_threshold_up = runqueue threshold, if this is reached cpu1 will be hotplugged (35)
nwns_threshold_down = runqueue threshold, if this is reached cpu1 will be unplugged (5)
twts_threshold_up = time threshold, this amount of time must have passed (250)
twts_threshold_down = same as above (250)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of cpu1 is requested, nothing will happen.
If cpu1 is above that value and a core down of cpu1 is requested, nothing will happen. (otherwise it would now put down cpu1 even though it is still working)

Quote:

What is msm_thermal?
Quote:
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_backup.

Check /sys/kernel/msm_thermal/conf/ for the thermal configuration

allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)

[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)

check_interval_ms = how often shall we check? (sampling rate)
Default: 1000ms (=1sec)

Quote:

What is ARM Topology:
Quote:
ARM Topology allows individual queue'ing of tasks to cores by the scheduler, For intelligent load balancing and more data crunching power. This has come from the Linaro Team you can view the most recent patch at from http://patches.linaro.org/9894/ all patches at http://patches.linaro.org/project/linux-arm-kernel/

The Following 4 Users Say Thank You to drvsbsm For This Useful Post: [ View ]
17th March 2013, 11:49 AM   |  #5  
CoopZor's Avatar
Senior Member
Flag Bilzen
Thanks Meter: 45
 
792 posts
Join Date:Joined: Aug 2009
Re: [KERNEL][GPL] oppo Kernel - Experimental
Anyone who tried this new kernel?
I'm hoping to have my oppo next week.

Where are the Rom`s ? It's so quiet here@xda

Verstuurd van mijn GT-N7000 met Tapatalk
17th March 2013, 09:44 PM   |  #6  
OP Senior Member
Flag NJ
Thanks Meter: 420
 
883 posts
Join Date:Joined: Mar 2009
More
Now - Voltage Control...

Next step - Gamma Control

Last edited by paperWastage; 17th March 2013 at 09:49 PM.
The Following 2 Users Say Thank You to paperWastage For This Useful Post: [ View ]
17th March 2013, 10:58 PM   |  #7  
Senior Recognized Developer
Flag Owego, NY
Thanks Meter: 24,466
 
13,347 posts
Join Date:Joined: Aug 2007
Donate to Me
More
Quote:
Originally Posted by drvsbsm

I posted this in you other thread I think I should erase and keep it here, I don't know if this will help you out at all but it looks like some good information to have.

Nice it looks like development is off to a great start! I also have the Droid DNA which is the same S4Pro CPU/GPU, the kernel I'm running on the DNA has the following options. The lowest setting for underclocking is down to 192MHz and has enabled overclock at 1.9GHz. Force GPU render for 3d @ 500mhz / 450mhz and 2d @ 300mhz. I have been using this kernel on my Droid Dna and it runs really fast and battery last all day.

Here is a link to some information that might be useful to you as I don't understand all of it myself http://forum.xda-developers.com/show....php?t=2021714

Underclocking to 192 MHz is pointless on a device with properly working cpuidle unless you can reduce voltage significantly compared to 384.

In fact due to the nature of how cpuidle works, 192 can actually consume more power, because it's better to have the CPU in a deeper idle state.

There's an old but still relevant and good paper on it from IBM... Look through Ezekeel's posts back around late 2011 and you'll probably find the link.

Slight possibility that I might get a Find5 to do a CM bringup, but highly unlikely at this point. I'm not a big fan of GPL noncompliance. (The fact that it took over a month to release is a bad sign. The fact that it required work to get it to even compile is a worse sign - who knows where else the source does not match the released binaries???)
The Following 2 Users Say Thank You to Entropy512 For This Useful Post: [ View ]
17th March 2013, 11:14 PM   |  #8  
OP Senior Member
Flag NJ
Thanks Meter: 420
 
883 posts
Join Date:Joined: Mar 2009
More
Quote:
Originally Posted by Entropy512

Slight possibility that I might get a Find5 to do a CM bringup, but highly unlikely at this point. I'm not a big fan of GPL noncompliance. (The fact that it took over a month to release is a bad sign. The fact that it required work to get it to even compile is a worse sign - who knows where else the source does not match the released binaries???)

well, they had 2 configs: 12025_debug_defconfig and 12025_release_defconfig

debug version compiled fine, release version didn't compile properly

from the logs and the flags, it looks like the device is running the debug version (debug version has the CONFIG_OPPO_DEBUG_ASSERT=y, and those debug statements show in the kernel logs)

that saying, I didn't like their 1 month wait either


EDIT: able to expose gamma to sysfs interface. However, I have disabled modifying the value for now (Nexus 4 uses a checksum to ensure the values don't exceed a certain range. I don't know the range for our devices yet)

I have emailed faux123 to update his FauxClock app to support our gamma function calls at /sys/devices/platform/mipi_orise.2049

https://github.com/ngvincent/android...8fd743e3acc18f
Last edited by paperWastage; 18th March 2013 at 12:48 AM.
The Following User Says Thank You to paperWastage For This Useful Post: [ View ]
18th March 2013, 03:39 AM   |  #9  
Senior Recognized Developer
Flag Owego, NY
Thanks Meter: 24,466
 
13,347 posts
Join Date:Joined: Aug 2007
Donate to Me
More
Quote:
Originally Posted by paperWastage

well, they had 2 configs: 12025_debug_defconfig and 12025_release_defconfig

debug version compiled fine, release version didn't compile properly

from the logs and the flags, it looks like the device is running the debug version (debug version has the CONFIG_OPPO_DEBUG_ASSERT=y, and those debug statements show in the kernel logs)

that saying, I didn't like their 1 month wait either


EDIT: able to expose gamma to sysfs interface. However, I have disabled modifying the value for now (Nexus 4 uses a checksum to ensure the values don't exceed a certain range. I don't know the range for our devices yet)

I have emailed faux123 to update his FauxClock app to support our gamma function calls at /sys/devices/platform/mipi_orise.2049

https://github.com/ngvincent/android...8fd743e3acc18f

Are you sure those are even gamma values you're tweaking? I don't think those commands are particularly standardized... (e.g. they're display-specific)
18th March 2013, 03:42 AM   |  #10  
OP Senior Member
Flag NJ
Thanks Meter: 420
 
883 posts
Join Date:Joined: Mar 2009
More
Quote:
Originally Posted by Entropy512

Are you sure those are even gamma values you're tweaking? I don't think those commands are particularly standardized... (e.g. they're display-specific)

https://github.com/ngvincent/android..._orise_1080p.c

#lines 155 onwards

they look like gamma values for r,g,b (could be gamma + something else)... nexus 4 has 10 values in array, oppo has 25 in array

probably should contact oppo / the LCD manufacture and get the specs on these... for the Nexus 4, faux123 added a checksum calculation to ensure it doesn't go too far and destroy the display itself

list of hardware that I'm still updating Device Hardware Documentation


EDIT: both the Xperia Z and Nexus 4 have two sets of 15-digit numbers for r,g,b - one is for positive, one is for negative
For oppo, I assume the sole set of 25-digit numbers for r,g,b contains both positive and negative

Xperia has 4 different display panels. don't know what oppo has... of course, oppo has the Orise 1080p panel driver, but the panel itself?

Code:
Xperia Z:
mipi_dsi_panel_r63306_tmd_mdw30.o
mipi_dsi_panel_r63306_sharp_ls043k3sx04.o
mipi_dsi_panel_r63311_sharp_ls050t3sx01.o
mipi_dsi_panel_r63311_jdc_mdy70.o

EDIT2: most likely a toshia WUXGA or CHIMEI_WUXGA display... only ones that are 1080p
Code:
       select FB_MSM_MIPI_TOSHIBA_VIDEO_WVGA_PT
        select FB_MSM_MIPI_TOSHIBA_VIDEO_WSVGA_PT
        select FB_MSM_MIPI_TOSHIBA_VIDEO_WUXGA
        select FB_MSM_MIPI_RENESAS_VIDEO_FWVGA_PT
        select FB_MSM_MIPI_RENESAS_CMD_FWVGA_PT
        select FB_MSM_MIPI_TRULY_VIDEO_WVGA_PT
        select FB_MSM_MIPI_NOVATEK_VIDEO_QHD_PT
        select FB_MSM_MIPI_NOVATEK_CMD_QHD_PT
        select FB_MSM_MIPI_NT35510_VIDEO_WVGA_PT
        select FB_MSM_MIPI_NT35510_CMD_WVGA_PT
        select FB_MSM_MIPI_ORISE_VIDEO_720P_PT
        select FB_MSM_MIPI_ORISE_CMD_720P_PT
        select FB_MSM_MIPI_NT35516_VIDEO_QHD_PT
        select FB_MSM_MIPI_NT35516_CMD_QHD_PT
        select FB_MSM_MIPI_SIMULATOR_VIDEO
        select FB_MSM_MIPI_CHIMEI_WXGA
        select FB_MSM_MIPI_CHIMEI_WUXGA
and one of these orise drivers

Code:
OTC3202A	3.3V	90	LVDSX2	RSDS	WUXGA	-	-	V	16.7M	-	TQFP64
OTC3203A	2.3V ~ 3.6V	90	LVDSX2	RSDS	WUXGA	-	-	V	16.7M	-	TQFP100
need to do some debugging tomorrow
Last edited by paperWastage; 18th March 2013 at 04:06 AM.

The Following 2 Users Say Thank You to paperWastage For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in Find 5 Original Android Development by ThreadRank