FORUMS

Analysis & Opinion

Top Forum Discussions

[KERNEL][GPL] oppo Kernel - Experimental

941 posts
Thanks Meter: 465
 
By paperWastage, Senior Member on 16th March 2013, 11:42 PM
Post Reply Subscribe to Thread Email Thread
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: 465
 
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: 465
 
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
 
More
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: 47
 
More
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: 465
 
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: 25,358
 
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: 465
 
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: 25,358
 
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: 465
 
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 ]
19th March 2013, 12:54 AM |#11  
Senior Member
Flag Ohio
Thanks Meter: 75
 
More
paperWastage
I really cant thank you enough for all the hard work you are putting in on the Find 5, you are just starting to crack some amazing things. I see some good work from you already. Maybe we can get Faux123 or some others to hep you out building a steady kernel that can be built upon. that would be a good thing to start out. I know Fuax and Show-P will help you if they have the time, they have helped a lot of people out in the community. I wish I were as good as you with development. There are some great Devs around here like you mentioned Faux is one of the best, I have used his kernel on my One X International my Nexus 4 and Nexus 7. I have also used Show-P work too and many others that are around here. I just hope that everyone can come together and create a solid kernel for the Find 5, and it looks like you have taken the lead, and you are off to a great start. I'm sure with all the great devs around here we will have a selection of kernels before long. All of your work is appreciated and I'm sure our Find 5 will be an amazing device once more people get their hands on the device. It is selling like crazy now, we just got to wait until it ships to everyone and be patient.

CoopZor
Quote:

Where are all the roms at

Don't worry they will come in time, the Find 5 is just now getting delivered to people. When more people get their hands on the phone. I know of at least 3 people who are working on Roms right now and that is considering, that the device has only been sold for two weeks and most people don't even have it in their possession as of yet. The device went on sale in the US 2 weeks ago in limited supply, and it was the first batch of devices they had in stock, it sold out in minutes and actually crashed Oppo's server because all the traffic from people trying to but it at once. Now it is back on the order list and it seems like they have fixed their stock issue, it seems that they have a lot more in stock at least they have not run out yet and its been almost a week, shipping will take 1-2 weeks to get it though. The device is selling really well in China, The last phone they developed (The Oppo Finder) was the slimmest android phone ever made at 6.6mm thick and it sold over 10 million units, This is the first time they have sold in the worldwide market selling devices straight from the manufacturer itself.

Entropy512
Quote:

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

I guess you learn something new everyday I wont be underclocking my DNA at 192 anymore, I just don't understand why it is the kernel? I appreciate the tip, lowest setting for me is 384 now.
Quote:

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???)

I think you would be happy with the Find 5, and I believe if their are any issues with the source code everything will be sorted out. Oppo is very friendly to the community after a visit to their forums you will figure that out they want to get into the US market and they know what we want , True Android - Open Source. if anything the stock Rom would be a different experience for you, I like it and will give it a go for a couple days anyways. Their are roms being worked on and ported as we speak, I'm pretty sure CM is being worked on by KaMma, and I know Flyme is being worked on because the developer told me, also the MIUI Team said this is the device that they want to develop their newer MIUI Roms on.

Yeah it did take over a month to get the source code but we got it, and I think they will do better in the future. They are new to the game this is their first World Wide Phone, they usually just sell in China and we know how that is. So they are doing the right thing, even if it is a little bit late one moth isn't that long really. Compare one month to some of the other major manufactures, and one month is pretty damn good. Most of the big name manufactures take longer than a month to release their kernel source code, I know HTC wait 90 days, at least they did with my One X International Version, and Motorola, LG, are not that great either to be honest. Samsung is getting better and Sony has JUST NOW, come around with its latest device, you know how they were before the Z!

Anyways you should get the Find 5,your development skills would be awesome on this device, I cant wait until everyone starts getting theirs and starts more developing. I think this phone is going to be great for development, and by the way, it looks so damn sexy too.
Last edited by drvsbsm; 19th March 2013 at 01:04 AM.

Read More
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes