[CUSTOM FIRMWARE] TheXSample-SXELROM v2.0 for JXDS7300B - Miscellaneous Android Development

TheXSample - SXELROM v2.0 for JXD S7300B
​
This is a summary of the original article (in Spanish) is in my blog .
For updates on this article, I suggest visiting one of the links above.
_____________________________________________________________________
UPDATES
04/02/2013: Patch_Xsample_2.1.rar
Mirror Mega
Change log:
Tincore KeyMapper
AutoProfiles. By enabling this option, the KeyMapper automatically load profiles, depending on the application that is running in the foreground.
AXIS Investment Selection
Dialogos selection list of options
Elimination of unnecessary controls
UI Enhancements (simpler interface)
Better integration Holo
Scalable Icons
Component Selection pressing physical controls
Renaming profiles
Exporting profiles *
Importing profiles *
* With these options opens the possibility to share applications among users profiles.
Driver Tincore
Acceleration of the driver
Investment AXES
Accelerometer support *
Fixed some bugs
Support for specific calibration D-PAD **
Added hot-key [VOL-] & [L2] to reset current profile ***
* Now you can assign horizontal or vertical tilt to one of the axes of the sticks. With this option, you can play many N64 or PSX titles (preferably on emulators that support analog), and the inclination to use the console to control the action in games. Example: Mario Kart 64 may play a "Wiimote Style" or Forsaken, can be controlled by tilting the tablet.
The D-PAD ** console, as already explained is analog, but which behaves as digital.
There is a problem with the D-PAD and their center (neutral position) is shifted to the right, so the analog calibration can influence the response of the D-PAD, for example, that in some games and emulators respond correctly to one side, usually to the left.
To avoid this, in games / emulators that specifically use a d-pad instead of analog, recalibrate the driver is suggested to use the D-pad as the main entrance. To do this, simply open the tool and select "Calibrate" in the Stick 0, and use the D-PAD to calibrate the device.
Note: The calibration is stored in the profile of the game, so it will not affect other profiles created with KeyMapper.
*** This combo is useful if you experiment problems or get stucked with your current keymapper layout. You can use in any time to reset profile to <RESET TO DEFAULT> values.
Requirements
Having installed the rom-SXELROM TheXSample v2.0 before installing this patch.
Instructions
Unzip the zip in the root of the microSD
Start the console with [Vol +] and [POWER] and select "Apply upadte from EXT".
Select the patch you want to apply:
- Patch1200
- Patch1320
- Patch1500
App is installed in the data, that is, as user application, and eliminates the above.
_____________________________________________________________________
List of changes
Here is a short list of changes included in this version of firmware.
Later in this article, there is a section with extended information about these changes.
Firmware
New kernel changes allowing more CPU settings and more conservative values ??(donation version includes SetCPU)
This includes new governors set for the console hardware
Minor changes in memory management.
NTFS writing enabled.
Speed ??1.2GHz default rom
All changes to the stock rom v1.7, as the inclusion of the new Full Screen option
Tincore Driver
Support for multi-directional swipes.
All controls can be swipe-type (Support up to 20 swipes configured simultaneously)
Establishment of standard joystick driver for the device. It works and is recognized by the system as analog joystick 4 axes and 16 buttons
Improvements and optimizations in the driver code, to get even less lag.
New algorithm for pointer modes sensitivities
Support for remapping keys
http://www.youtube.com/watch?v=MlJxrGBvews
(Dead Trigger mode driver with Joystick)
http://www.youtube.com/watch?v=xRRowLsgyGw
(Temple Run using the full interface with console controls)
Tincore KeyMapper
Changes and improvements in the user interface of the tool
Improved display rotation tool wing pair.
Self adjusting menus always leave visible objects / widgets on screen
Defining swipes using drag & drop, to start and end points
Simplification in the definition of areas for pointer modes
Highlighting groups of objects / widgets
Calibration Sticks in two modes: Auto and Manual
Basic implementation for remapping controls for mode "Key"
http://www.youtube.com/watch?v=hj-ZNQWQoQw
(Modern Combat 4 Touch mode, with Swipes activated to switch weapons)
http://www.youtube.com/watch?v=uvM8mgOl0aU
(Nova 3 Touch mode, with Swipes activated to switch weapons. You can see that there are no breaks in the 360 ??º turns, and changing weapon swipe too fast)
Download Links
TheXSample - SXELROM v2.0
Rom - Google Docs Mirror (GDrive)
Patch speeds and Swap
Patch - Mega Mirror
Patch - Mediafire Mirror
Thanks
Many people involved directly and indirectly in the development of this Rom: Christian Troy, fun_, Lomax, fuser-invent, Tincore, Namco69, Yoshi41, Skelton, Deen0X and who stay to name.
Special mention of Durruti, inspiration especially for TheXSample and Tincore
I hope this rom will please and utility of those who wish to try.
=============================== Older Versions ===============================
TheXSample - SXELROM v1.0 para JXD S7300B
​
Usage of this article
Usage of this article is alowed by copy or link reference to anyone with the only condition of keeping original author and a reference to the original source of this review. The mentioned reference is the following:
Source and Updates of the info from this article.
Original (in Spanish) is in my blog.
For updates I suggest to visit any of the mentioned links.
About this article
This article is a summarized version and only contains the most relevant features..
To read the full article check the previous link
Features
http://www.youtube.com/watch?v=Zz_YYYRiCz4
(SXELROM beta, showing some features)
Only features present
at the time of the writing of this review are listed.
​
(Separate external and internal mount points)
Based on Skelrom v1.0 for JXDS7300B, private 1.4stock firmware sources and JXD 1.5. Includes all Skelrom and last official firmware fixes.
Clean code. Official sources only. No alien code.
New mount points. Now internal and external mount points are at the same level in the filesystem and not one inside the other. Swap is easier.
Deep sleep improvements. WiFi disable when sleep saves a lot of battery.
New Kernel features by Skelton andTincore (check Kernel chapter)
New specific governors tailored to device hardware. Specially new "ondemand" scores more than 10000 Antutu points with console processor running at 1.3GHz (No cpu stress needed)
New "ondemand" governor allows cooler execution.
50Hz to 60Hz screen fix, The same that we suggested JXD to incorporate in his 1.5 firmware (Check screen refresh note)
New Tincore input kernel driver. It provides lower input lag and lots of extra configuration options to support new sticks and buttons operation modes.
"Tincore Keymapper", UI Mapping tool to configure specific input kernel driver options (check Tincore Keymapper chapter)
About new Kernel
​
This firmware's kernel has been created using JXD 1.4 sources. Those sources, whith some small chanes, have been released as JXD 1.5 firmware.
​
(new governors added)
More important kernel feautres:
Chanes in CPU and voltage to improve temperature and stability.
Support CIFS/NFS for seamless net shares filesystem mount.
I/O schedulers and NAND optimizations. Improve read/write operations and memory access.
Mali driver optimizations to speed up 2D and increase graphical memory cache buffer.
​
(Antutu Benchmark result with new firmware improvements, governor “ondemand” and 1.32GHz. Reaching 10000 points which is a bit better than 1.5GHz with performance governor)
About new input kernel driver: Tincore Driver
Tincore provided a new kernel driver to improve latency and support many missing features in original drivers.
​
(Keymapper, with new features like pointer mode)
Driver improves response times because it is more optimal and faster than the original. This reduces input lag
New driver enables key events for all sticks when mapping tool is disabled, This allows to use right stick as a key pressing digital stick. Because of this it can be used by emulators and games that can be controlled with keyboard.
http://www.youtube.com/watch?v=BPntj4ojtq4
(Showing some of the new features of the Tincore's Driver)
Keymapper tool features
​
(Keymapper using original JXD driver)
The new mapping tool supports both JXD driver and, naturally, the new Tincore driver.
The tool supports multiple stick modes (split/combined/pointer...) and allows to define where is the screen pressed when a button or stick is operated.
The tool supports profile save and restore and portrait mode.
Because of its backwards compatibility the tool by itself is a good replacement for the JXD mapping tool. Ley profile support is already a great addition.
Download links
TheXSample - SXELROM v1.0
Rom - Mirror Mega
Patches
The patch includes a file folder with different kernels at different speeds (1200, 1320 or 1500 MHz) as well as the possibility of exchanging the SWAP and the external memory and return to conventional partition system JXD. Within each folder is how to install and that is what.
Patch - Mirror Mega
For more updates check original article.
How to install:
​
Download the file and extract the contents of "TheXSample-SXelrom v1.0 for JXD s7300B.rar" to your sdcard root
With the deviced tunerd off, insert the microsd with the files, press and keep pressed the button [VOL+] and, without releasing, turn on your device with [POWER] button
Keep [VOL+] pressed until you see an android image with a progress bar. The firmware will be installed automatically and at the end of the process the device will reboot.
Your device is updated!
Thanks to:
This firmware has been possible thanks to the work of several persons. All valuable contributions have been in the form of coding, suggestions, testing...
Thanks go to Tincore, Skelton, Christian Troy, fun_, fuser-invent, LomaX, Namco69, Yoshi41, Deen0X and more.
Also thanks to web shops Willgoo y Zococity that provided testing devices that allowed tetst and feedback for the team.
(Because I have more than one console, I was able to perform a series of tests in parallel to obtain useful information that was used in the development of some of the features of the firmware)
I also want to give special thanks to the couples (wives, etc) several of whom have been working on this project, that it takes patience and an understanding that we do this because we love, and we want to share it with more people.
I hope this project is the starting point for more projects of the same type, which are extremely rich in both technical knowledge in general, but especially on a personal level, because in my case I meet interesting people, who always is rewarding and I hope to keep in touch. ^_^
Zalu2!
Deen0X / TheXSample

Update, check the first post...

Update, check the first post...

Related

[GUIDE]Complete guide for Galaxy 3 I5800/I5801

The Complete Guide For Galaxy 3 i5800/i5801
​
Index:
1) Android Basics
2) Galaxy 3 Features
3) Hardware
4) ROM Basics, Tutorials
5) Kernel Basics
6) Tools/Imp Download Links
7) Complete List of ROMs,Kernels for G3
8) FAQ
9) EPIC Fail Ideas for G3
Android Basics
1) Android Basics​
Introduction:
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Google Inc. purchased the initial developer of the software, Android Inc., in 2005. Android's mobile operating system is based on the Linux kernel. Google and other members of the Open Handset Alliance collaborated on Android's development and release. The Android Open Source Project (AOSP) is tasked with the maintenance and further development of Android. The Android operating system is currently the world's best-selling Smartphone platform.
Android has a large community of developers writing applications ("apps") that extend the functionality of the devices. There are currently over 200,000 apps available for Android. Android Market is the online app store run by Google, though apps can also be downloaded from third-party sites. Developers write primarily in the Java language, controlling the device via Google-developed Java libraries.
The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance, a consortium of 80 hardware, software, and telecom companies devoted to advancing open standards for mobile devices. Google released most of the Android code under the Apache License, a free software and open source license.
The Android open-source software stack consists of Java applications running on a Java-based, object-oriented application framework on top of Java core libraries running on a Dalvik virtual machine featuring JIT compilation. Libraries written in C include the surface manager, OpenCore media framework, SQLite relational database management system, OpenGL ES 2.0 3D graphics API, WebKit layout engine, SGL graphics engine, SSL, and Bionic libc. The Android operating system, including the Linux kernel, consists of roughly 12 million lines of code including 3 million lines of XML, 2.8 million lines of C, 2.1 million lines of Java, and 1.75 million lines of C++.
{
"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"
}
Version history
2.1 Eclair
Changelog:
Sync: Expanded Account sync. Multiple accounts can be added to a device for email and contact synchronization
Email: Exchange support, Combined inbox to browse email from multiple accounts in one page.
Bluetooth: 2.1 support
Contacts: Tap a contact photo and select to call, SMS, or email the person.
Messaging: Search all saved SMS and MMS messages. Auto delete oldest messages in a conversation when a defined limit is reached.
Camera: Flash support, Digital zoom, Scene mode, White balance, Color effect, Macro focus
Virtual keyboard: Improved typing speed, smarter dictionary learns from word usage and includes contact names as suggestions.
Browser: Refreshed UI, Bookmark thumbnails, Double-tap zoom, Support for HTML5
Calendar: Agenda view enhanced, Attending status for each invitee, Invite new guests to events.
System: Optimized hardware speed, Revamped UI
Display: Support for more screen sizes and resolutions, Better contrast ratio
Maps: Improved Google Maps 3.1.2
MotionEvent class enhanced to track multi-touch events
Live Wallpapers: Home screen background images can be animated to show movement
2.2 Froyo
Changelog:
System: Speed, memory, and performance optimizations
Additional application speed improvements courtesy of JIT implementation
Integration of Chrome's V8 JavaScript engine into the Browser application
Improved Microsoft Exchange support (security policies, auto-discovery, GAL look-up, calendar synchronization, remote wipe)
Improved application launcher with shortcuts to Phone and Browser applications
USB tethering and Wi-Fi hotspot functionality
Added an option to disable data access over mobile network
Updated Market application with batch and automatic update features
Quick switching between multiple keyboard languages and their dictionaries
Voice dialing and contact sharing over Bluetooth
Support for numeric and alphanumeric passwords
Support for file upload fields in the Browser application
Support for installing applications to the expandable memory
Adobe Flash support
Support for extra high DPI screens (320 dpi), such as 4" 720p
2.3 Gingerbread
Changelog:
System: Updated user interface design for simplicity and speed
Display: Support for extra-large screen sizes and resolutions (WXGA and higher)
Internet calling: Native support for SIP VoIP telephony
Virtual Keyboard: Faster, more intuitive text input, improved accuracy, better suggested text. Voice input mode
Copy/Paste: Enhanced. Select a word by press-hold, copy, and paste.
Near Field Communication lets the user read an NFC tag embedded in a poster, sticker, or advertisement.
New audio effects such as reverb, equalization, headphone virtualization, and bass boost
System: Improved power management with a more active role in managing apps that are keeping the device awake for too long.
Download Manager gives the user easy access to any file downloaded from the browser, email, or another application.
Camera: Access multiple cameras on the device, including a front-facing camera, if available.
Media: Support for WebM/VP8 video playback, and AAC audio encoding
System: Enhanced support for native code development
Audio, graphical, and input enhancements for game developers
Concurrent garbage collection for increased performance
Native support for more sensors (such as gyroscopes and barometers)
Switched from YAFFS to ext4 on newer devices
Android Architecture
FEATURES OF ANDROID
Handset layouts The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 2.0 specifications, and traditional smartphone layouts.
Storage SQLite, a lightweight relational database, is used for data storage purposes
Connectivity Android supports connectivity technologies including GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi (no connections through Proxy server and no Ad hoc wireless network), LTE, NFC and WiMAX.
Messaging SMS and MMS are available forms of messaging, including threaded text messaging and now Android Cloud To Device Messaging Framework(C2DM) is also a part of Android Push Messaging service.
Multiple Language Support Multiple languages are available on Android. The number of languages more than doubled for the platform 2.3 Gingerbread. Android lacks font rendering of several languages even after official announcements[citation needed] of added support (e.g. Hindi).
Web browser The web browser available in Android is based on the open-source WebKit layout engine, coupled with Chrome's V8 JavaScript engine. The browser scores a 93/100 on the Acid3 Test.
Java support While most Android applications are written in Java, there is no Java Virtual Machine in the platform and Java byte code is not executed. Java classes are compiled into Dalvik executables and run on the Dalvik virtual machine. Dalvik is a specialized virtual machine designed specifically for Android and optimized for battery-powered mobile devices with limited memory and CPU. J2ME support can be provided via third-party applications.
Media support Android supports the following audio/video/still media formats: WebM, H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, FLAC, WAV, JPEG, PNG, GIF (though earlier versions do not support animated GIFs, BMP.
Streaming media support RTP/RTSP streaming (3GPP PSS, ISMA), HTML progressive download (HTML5 <video> tag). Adobe Flash Streaming (RTMP) and HTTP Dynamic Streaming are supported by the Flash plugin. Apple HTTP Live Streaming is supported by RealPlayer for Mobile, and by the operating system in Android 3.0 (Honeycomb). Microsoft Smooth Streaming is planned to be supported through the awaited port of Silverlight plugin to Android.
Additional hardware support Android can use video/still cameras, touchscreens, GPS, accelerometers, gyroscopes, magnetometers, dedicated gaming controls, proximity and pressure sensors, thermometers, accelerated 2D bit blits (with hardware orientation, scaling, pixel format conversion) and accelerated 3D graphics.
Multi-touch Android has native support for multi-touch which was initially made available in handsets such as the HTC Hero. The feature was originally disabled at the kernel level (possibly to avoid infringing Apple's patents on touch-screen technology at the time). Google has since released an update for the Nexus One and the Motorola Droid which enables multi-touch natively.
Bluetooth Supports A2DP, AVRCP, sending files (OPP), accessing the phone book (PBAP), voice dialing and sending contacts between phones. Keyboard, mouse and joystick (HID) support is available through manufacturer customizations and third-party applications. Full HID support is planned for Android 3.0 (Honeycomb).
Video calling Android does not provide native video calling support, but some handsets have a customized version of the operating system that support it, either via the UMTS network (like the Samsung Galaxy S) or over IP. Video calling through Google Talk is available in Android 2.3.4 and later.
Multitasking Multitasking of applications is available.
Voice based features Google search through voice has been available since initial release. Voice actions for calling, texting, navigation, etc. are supported on Android 2.2 onwards.
Tethering Android supports tethering, which allows a phone to be used as a wireless/wired hotspot. Prior to Android 2.2 this was supported by third-party applications or manufacturer customizations.
Screen Capture Android does not currently support screenshot capture. This is supported by manufacturer and third-party customizations.
2) Galaxy 3 Features​
General
2G Network GSM 850 / 900 / 1800 / 1900
3G Network HSDPA 900 / 2100
Announced 2010, June
Status Available. Released 2010, July
SIZE
I5801
Dimensions 113.5 x 55 x 12.6 mm
Weight 113 g
I5800
Dimensions 113.5 x 55 x 12.9 mm
Weight 109 g
DISPLAY
Type TFT capacitive touchscreen, 16M colors
Size 240 x 400 pixels, 3.2 inches
Features - Touch Wiz 3.0
- Accelerometer sensor for UI auto-rotate
- Proximity sensor for auto turn-off
- Multi-touch input method
SOUND
Alert types Vibration; MP3, WAV ringtones
Loudspeaker Yes
3.5mm jack Yes
- DNSe (Digital Natural Sound Engine)
MEMORY
Phonebook Practically unlimited entries and fields, Photocall
Call records Practically unlimited
Internal 512MB ROM, 256MB RAM
Card slot microSD, up to 32GB
DATA
GPRS Class 10 (4+1/3+2 slots), 32 - 48 kbps
EDGE Class 10, 236.8 kbps
3G HSDPA, 3.6 Mbps
WLAN Wi-Fi 802.11 b/g/n, Wi-Fi hotspot (Android 2.2)
Bluetooth Yes, v3.0 with A2DP
Infrared port No
USB Yes, v2.0 microUSB
CAMERA
Primary 3.15 MP, 2048x1536 pixels, autofocus
Features Geo-tagging, face and smile detection
Video Yes, [email protected]
Secondary No
SOFTWARE
OS Android OS, v2.1 (Eclair), upgradable to v2.2
CPU Samsung S5P6442 667 MHz processor
Messaging SMS(threaded view), MMS, Email, Push Mail, IM
Browser HTML
Radio Stereo FM radio with RDS
Games
Colors Black, White
GPS Yes, with A-GPS support
Java Yes, via Java MIDP emulator
- Orange Application Shop
- Orange Maps, Orange TV, Orange Push Email
- Contact Back & Restore, Orange Photo
- Digital compass
- MP4/DivX/XviD/WMV/H.264/H.263 player
- MP3/WAV/eAAC+ player
- Organizer
- Document editor(Word, Excel, PowerPoint, PDF)
- Google Search, Maps, Gmail, YouTube, Calendar, Google Talk integration
- Voice memo
- Predictive text input
BATTERY
Type Standard battery, Li-Ion 1500 mAh
Stand-by Up to 620 h (2G) / Up to 480 h (3G)
Talk time Up to 15 h 30 min (2G) / Up to 7 h 15 min (3G)
3) Hardware​
Processor: Samsung S5P6442 (It is modified version of S5P6440)
General Description
SAMSUNG's S5P6440, AKA "Vega-L", is the first member of the "Vega" Series, which is our newest family of Application Processors. Each Application Processor in the Vega Series will maintain a high level of compatibility with each other in order to allow for PND Makers to design their entire line-up of products on a single SoC platform.
The S5P6440 will be Samsung's first AP designed solely for PND's with a strong emphasis on high performance while maintaining cost competitiveness.
In terms of performance, the S5P6440 is run by a powerful ARM1176 processor running at 533MHz, 667MHz with a 64-bit AXI bus.
Additionally, the S5P6440 features both 2D Graphics HW and OpenVG HW, thus providing exceptional graphics acceleration for mainstream PND products. We have also focused heavily on providing optimum IP's and interfaces in order to reduce the Bill-of-Materials of the system as a whole. As an example, the S5P6440 features upgraded NAND Error Correction HW to be able to support next generation MLC NAND Flash devices. The S5P6440 also supports serial LCD protocols via the MIPI DSI standard, which allows for lower cost, lower EMI and simpler integration.
Block Diagram
Features
ARM1176JZF-S 533MHz, 667MHz, 16KB/16KB L1 Cache with Java acceleration Engine
Memory Subsystem
- NAND Flash Interface with x8 data bus, with 1/4/8/12/16-bit hardware ECC circuit and 4KB page mode
- Mobile DDR Interface with x16 or x32 data bus (up to 333Mbps/pin)
- DDR2 Interface with x16 or x32 data bus (up to 333Mbps/pin)
2D Graphics Accelerator with BitBlit and Rotation
Vector Graphics Accelerator with dedicated Anti-Aliasing HW
1/2/4/8 bpp Palletized or 8/16/24bpp Non-Palletized Color-TFT support up to 800x480
Serial LCD I/F support with MIPI DSI
- Two data lanes and one clock lane
4 channel UART: 1 channel muxed with IrDA SIR/FIR
1 channel I2S
2 channel I2C interface support
3 channel MMC/SDHC/SDIO (or 1 ch HS-MMC & 1 ch SD/MMC/SDIO)
On-chip USB 2.0 OTG controller and PHY transceiver supporting high speed
Real time clock, 3 PLL's, timer with PWM and watch dog timer
8 channel DMA controller
12 channel 12-bit ADC (Touch screen interface)
2 channel SPI: 1ch muxed with TSI (transport stream interface)
Configurable GPIOs
Technical Documents:
The Only Technical Document that we have currently is the User Manual of S3C6410 RISC Processor. It is not exactly same as S5P6442 but can be used as a reference.
Download S3C6410 User Manual
TouchScreen: ATMEL mXT224(AT42QT602240)
General Desciption
A 224-node highly configurable touchscreen controller that is part of the Atmel maXTouch product platform. An optimal and scalable architecture enables smart processing of a capacitive touch image to accurately regenerate and report the user’s interaction with the touchscreen. Multi-touch performance identifies and individually tracks touches and allows a range of built-in gestures to be reported to the host processor. The IC provides position data of 12-bit x 12-bit resolution, as well as information on the size and angle of touch. Position data is reported at >250Hz, providing fast and smooth finger tracking, making it suitable for use with demanding applications such as handwriting recognition. Due to the high signal-to-noise ratio (SNR) of up to 80:1, the device works well with fingertip touch and can also be used with a conductive stylus. It is designed to work in demanding, rapidly changing environments. Only the touchscreen area is touch-sensitive, allowing design freedom to place the chip on the main board or adjacent to the sensor. The device is ideally suited to mobile phone-sized touchscreens and can also be used on screens of up to 7", supporting single-touch or two-touch with a larger finger separation.
Technical Documents
mXT224 Datasheet
TFT LCD PANEL: Samsung S6D04D1
General Description
S6D04D1 is a single-chip display driver IC for a TFT-LCD panel. Integrated on this chip are source drivers with built-in
memory, gate drivers and power sources. S6D04D1 can support a TFT-LCD panel up to a resolution of 240-RGB x 432-
dot graphics with 16M-color. S6D04D1 also supports various types of peripheral interface such as 80-series MCU
interface (8-/9-/16-/18-/24-bits data), 3-wire 9bit / 4-wire 8bit serial interface, and MDDI(Mobile Display Digital Interface)
S6D04D1 supports various types of RGB interface (24-/18-/16-/8-/6-bits data).
The Integrated on-chip functions that are described in this document include:
- Power saving: It reduces the overall power consumed in a TFT-LCD panel module.
- Internal GRAM:
- Internal DC/DC voltage converter
- MIE (Mobile Image Enhancement) functions
S6D04D1 features several power saving functions to reduce the overall power consumed in a TFT-LCD panel module:
S6D04D1 operates at low voltage and has internal GRAMs that can store 240-RGB x 432-dot 16M-color image data. In
addition, it has an internal DC/DC voltage converter that generates various voltages needed for driving the TFT-LCD
panel by using breeder resistors and the voltage followers.
Features
A single-chip TFT-LCD Controller/gate driver/source driver with built-in Graphic RAM
Supported Display panel resolution: 240*R/G/B (H) * 432 (V) , 240*R/G/B (H) * 400 (V) & 240*R/G/B (H) * 320 (V)
Integrated 2,488,320bit of graphic RAM (GRAM)
-GRAM configuration: 240 x 432 x 24-bits = 2,488,320bits
Supported Interfaces
-3-wire 9-bit data, 4-wire 8-bit data serial interface (for RGB parallel Interface)
-8-/9-/16-/18-/24- bit interface with 80-Series MCU (so called 80-Series)
-VSYNC I/F
-MDDI(Mobile Display Digital Interface)
Outputs
-Common electrode output
-Gate outputs
-Source outputs
Color Display mode
-Full color mode (Idle mode off): 16M / 260k / 65k colors
-Reduced color mode (Idle mode on): 8-colors (3-bit binary mode)
Color modes on the display host interface
-16-bits/Pixel: RGB= (565) using the 1,843k bit frame memory
-18-bits/Pixel: RGB= (666) using the 1,843k bit frame memory
-24-bits/Pixel: RGB= (888) using the 1,843k bit frame memory
Display features
-Partial display mode
Driving scheme: line inversion & frame inversion
MIE (Mobile Image Enhancement) functions
-Adaptive luminance/contrast enhancement function.
-Reduce the power consumption of backlight.
SE ( Sharpness Enhancement) functions
On-chip functions
-Voltage Boosters
-Adjustable VCOM voltage source generator
-An oscillator for display clock generation & Timing generation
-Factory default value (Contrast, Module ID, Module version, etc) can be stored inside IC
-MTP (Multi-time Programmable) Memory
-MTP initialization & program voltages are generated automatically from the built-in power circuit.
-Each 8-bits product ID1, ID2, ID3
-6-bits VCM Offset adjustment
-Each 5-bits for VML, GVD Offset adjustment
-1 bit for MTP writing protection
Voltage Supplies
-2.3V – 3.3V for VCI, supply voltage for Analog blocks
-1.65V – 3.3V for VDD3, Supply voltage for I/O
Output voltage levels
-2.5V to 5.0V for GVDD, Source output voltage
-AVDD, Power supply for driver circuit (Note 1)
-Maximum 6.0V for VCOM, Common electrode output voltage
-11.25V to 16.50V for VGH, Positive Gate output voltage (Note 2, Note 3)
--13.75V to - 6.75V for VGL, Negative Gate output voltage (Note 2)
CMOS compatible inputs
COG package
Operating temperature range: -40℃ to +85℃
Technical Documents
S6D04D1 Datasheet
4) ROM Basics, Tutorials​
STOCK ROM
A stock ROM is the version of the phone's operating system that comes with your phone when you buy it.
Samsung letter code
AW-Hungary AZ-France BD-Cyprus, Greece BY-Greece CB-Poland CE-Benelux CP-Denmark, Finland, Norway, Sweden DB-Vietnam DC-Thailand DD-India DT-Australia DX-Indonesia, Malaysia, Philippines, Singapore, Vietnam DZ-Malaysia, Singapore JA-South Africa JC-Algeria, Morocco, Nigeria, South Africa, Tunisia JP-Arabic JR-Arabic JV-Algeria, Egypt, Iran, Iraq, Kuwait, Morocco, Nigeria, Oman, Pakistan, Saudi Arabia,South Africa, Syria, Tunisia, Turkey JW-West Africa JX-Algeria, Egypt, Iran, Iraq, Kuwait, Morocco, Nigeria, Oman, Pakistan, Saudi Arabia,South Africa, Syria, Tunisia, Turkey KA-Turkey ME-France MK-Serbia MS-France, Germany, Italy, Netherlands, Portugal, Spain, Turkey, UK MT-Switserland MY-Italy NH-Latvia PO-France PU-Russia UB-Brazil XA-Austria, France, Germany, Italy, Netherlands, Switzerland, United Kingdom XB-Denmark, Norway, Sweden XC-Portugal, Spain XD-Croatia, Czech, Hungary, Slovakia XE-Bulgaria, Estonia, Kazakhstan, Latvia, Lithuania, Russia, Ukraine XF-Bulgaria, Croatia, Romania XP-UK, France, Italy, Spain, Netherlands, Poland, Portuguese, Turkey XX-Austria, Belgium, France, Germany, Hungary, Italy, Spain, United Kingdom XW-Austria, Belgium, France, Germany, Hungary, Italy, Spain, United Kingdom ZC-China, Hong Kong ZH-Hong Kong ZS-China, Hong Kong ZT-Taiwan
Custom ROM
A custom ROM is a fully standalone version of the OS, including the kernel (which makes everything run), apps, services, etc - everything you need to operate the device, except it's customized by someone in some way.
So what does the "customized" part mean? Since Android is open source, developers are free to take stock ROMs, modify them, strip them of garbage, optimize them, add things, and pretty much do whatever their imagination and skills allow.
Flashing
Flashing Process is basically, installing a new ROM/Kernel, Stock/Custom, via Odin.
Odin is a software used to flash ROM's to the phone in the Download Mode.
Odin used for Galaxy 3 is v4.252.
Steps to follow:
1) Install Samsung Kies
2) Connect phone to PC and let it detect and install drivers automatically.
3) Download Odin with ops file from here.
4) Extract them to some folder.
5) Run Odin as Administrator.
6) Odin will now open.
7) Put phone in download mode. (Vol Down + HOME + POWER)
8) Connect Phone to PC via USB and wait till Odin shows detected.
9) Select One Package.
10) Select .ops file and .tar file for flashing.
11) Press Start button.
12) Wait till the message box on odin shows the following message and phone reboots.
13) You have now successfully flashed new ROM / Kernel.
Rooting
Rooting is a process that allows users of cellphones and other devices running the Android operating system to attain privileged control (known as "root access") within Android's Linux subsystem, similar to jailbreaking on Apple devices running the iOS operating system, overcoming limitations that the carriers and manufacturers put on such phones.
Most retail devices running the Android operating system must be rooted in order to install custom versions of the Android system such as CyanogenMod. This is because in the stock configuration (unrooted), user-installed applications do not have direct access to the flash memory chip on the device and, thus, are not able to replace or modify the operating system itself. Rooting is also necessary for certain applications and widgets that require additional system and hardware rights such as for rebooting the phone, certain backup utilities, and other access to other hardware such as status LEDs. Rooting is also needed to disable or remove manufacturer-installed applications such as City ID. Rooting the phone typically also includes installing an application called Superuser that supervises which applications are granted root rights.
Steps to follow:
1) Download SuperOneClick - Download
2) Run SuperOneClick
3) Press on Root
4) It will show "Waiting for device"
5) Put your phone in USB Debugging Mode.
6) Connect to PC via USB Cable.
7) Press Yes, for the subsequent messages that follow
8) Done
Deodexing
WHAT IS AN ODEX FILE?
In Android file system, applications come in packages with the extension .apk. These application packages, or APKs contain certain .odex files whose supposed function is to save space. These ‘odex’ files are actually collections of parts of an application that are optimized before booting. Doing so speeds up the boot process, as it preloads part of an application. On the other hand, it also makes hacking those applications difficult because a part of the coding has already been extracted to another location before execution.
THEN COMES DEODEX
Deodexing is basically repackaging of these APKs in a certain way, such that they are reassembled into classes.dex files. By doing that, all pieces of an application package are put together back in one place, thus eliminating the worry of a modified APK conflicting with some separate odexed parts.
In summary, Deodexed ROMs (or APKs) have all their application packages put back together in one place, allowing for easy modification such as theming. Since no pieces of code are coming from any external location, custom ROMs or APKs are always deodexed to ensure integrity.
HOW THIS WORKS
For the more geeky amongst us, Android OS uses a Java-based virtual machine for running applications, called the Dalvik Virtual Machine. A deodexed, or .dex file contains the cache used by this virtual machine (referred to as Dalvik-cache) for a program, and it is stored inside the APK. An .odex file, on the other hand, is an optimized version of this same .dex file that is stored next to the APK as opposed to inside it. Android applies this technique by default to all the system applications.
Now, when an Android-based system is booting, the davlik cache for the Davlik VM is built using these .odex files, allowing the OS to learn in advance what applications will be loaded, and thus speeds up the booting process.
By deodexing these APKs, a developer actually puts the .odex files back inside their respective APK packages. Since all code is now contained within the APK itself, it becomes possible to modify any application package without conflicting with the operating system’s execution environment.
ADVANTAGES & DISADVANTAGES
The advantage of deodexing is in modification possibilities. This is most widely used in custom ROMs and themes. A developer building a custom ROM would almost always choose to deodex the ROM package first, since that would not only allow him to modify various APKs, but also leave room for post-install theming.
On the other hand, since the .odex files were supposed to quickly build the dalvik cache, removing them would mean longer initial boot times. However, this is true only for the first ever boot after deodexing, since the cache would still get built over time as applications are used. Longer boot times may only be seen again if the dalvik cache is wiped for some reason.
For a casual user, the main implication is in theming possibilities. Themes for android come in APKs too, and if you want to modify any of those, you should always choose a dedoexed custom ROM.
Steps to follow:
1) Download xUltimate - Download
2) Run Main.exe
3) Press N to continue
4) Press Y to continue
5) You should get a complete menu
6) Connect phone to PC in USB Debugging Mode
7) Run Option 1
8) Run Option 2
9) Run Option 3
10) Run Option 4
11) You Will now have deodexed apps and framework files in done_app and done_frame folders.
12) Copy these folders where you have your adb setup.
13) Run the following Code
Code:
adb -d shell "mount -o remount,rw /dev/block/stl6 /system"
adb -d shell "stop"
adb -d shell "rm /system/app/*.apk"
adb -d shell "rm /system/app/*.odex"
adb -d shell "rm /system/framework/*.jar"
adb -d shell "rm /system/framework/*.odex"
adb -d push done_app /system/app/
adb -d push done_frame /system/framework/
adb reboot
14) Your phone should reboot successfully, and you now have a deodexed ROM.
Clean ROM
The following list of files you can delete to clean ROM
1) BuddiesNow
2) Dlna
3) DualClock
4) FlashSVGPlayer
5) HTMLViewer
6) InfoAlarm
7) InputEventApp
8) Layar-samsung
9) Maps
10) MobileTrackerEngineTwo
11) MobileTrackerUI
12) Protips
13) SamsungApps
14) SamsungWidget_CalendarClock
15) SamsungWidget_FeedAndUpdate
16) SamsungWidget_ProgramMonitor
17) SamsungWidget_StockClock
18) Street
19) UNAService
20) UnifiedInbox
21) VoiceRecorder
22) wipereceiver
23) WriteandGo
5) Kernel Basics​
dhirend_6d said:
What Is a Kernel?​
The UNIX kernel is the software that manages the user program's access to the systems hardware and software resources. These resources range from being granted CPU time, accessing memory, reading and writing to the disk drives, connecting to the network, and interacting with the terminal or GUI interface. The kernel makes this all possible by controlling and providing access to memory, processor, input/output devices, disk files, and special services to user programs.
Kernel Services
The basic UNIX kernel can be broken into four main subsystems:
Process Management
Memory Management
I/O Management
File Management
These subsystems should be viewed as separate entities that work in concert to provide services to a program that enable it to do meaningful work. These management subsystems make it possible for a user to access a database via a Web interface, print a report, or do something as complex as managing a 911 emergency system. At any moment in the system, numerous programs may request services from these subsystems. It is the kernel's responsibility to schedule work and, if the process is authorized, grant access to utilize these subsystems. In short, programs interact with the subsystems via software libraries and the systems call interface. We'll start by looking at how the UNIX kernel comes to life by way of the system initialization process.
System Initialization​
System initialization (booting) is the first step toward bringing your system into an operational state. A number of machine-dependent and machine-independent steps are gone through before your system is ready to begin servicing users. At system startup, there is nothing running on the Central Processing Unit (CPU). The kernel is a complex program that must have its binary image loaded at a specific address from some type of storage device, usually a disk drive. The boot disk maintains a small restricted area called the boot sector that contains a boot program that loads and initializes the kernel. You'll find that this is a vendor specific procedure that reflects the architectural hardware differences between the various UNIX vendor platforms. When this step is completed, the CPU must jump to a specific memory address and start executing the code at that location. Once the kernel is loaded, it goes through its own hardware and software initialization.
Kernel Mode​
The operating system, or kernel, runs in a privileged manner known as kernel mode. This mode of operation allows the kernel to run without being interfered with by other programs currently in the system. The microprocessor enforces this line of demarcation between user and kernel level mode. With the kernel operating in its own protected address space, it is guaranteed to maintain the integrity of its own data structures and that of other processes. (That's not to say that a privileged process could not inadvertently cause corruption within the kernel.) These data structures are used by the kernel to manage and control itself and any other programs that may be running in the system. If any of these data structures were allowed to be accidentally or intentionally altered, the system could quickly crash. Now that we have learned what a UNIX kernel is and how it is loaded into the system, we are ready to take a look at the four UNIX subsystems Process Management, Memory Management, Filesystem Management and I/O Management.
Process Management​
The Process Management subsystem controls the creation, termination, accounting, and scheduling of processes. It also oversees process state transitions and the switching between privileged and nonprivileged modes of execution. The Process Management subsystem also facilitates and manages the complex task of the creation of child processes.
A simple definition of a process is that it is an executing program. It is an entity that requires system resources, and it has a finite lifetime. It has the capability to create other processes via the system call interface. In short, it is an electronic representation of a user's or programmer's desire to accomplish some useful piece of work. A process may appear to the user as if it is the only job running in the machine. This "sleight of hand" is only an illusion. At any one time a processor is only executing a single process.
Process Structure​
A process has a definite structure (see Figure 19.1). The kernel views this string of bits as the process image. This binary image consists of both a user and system address space as well as registers that store the process's data during its execution. The user address space is also known as the user image. This is the code that is written by a programmer and compiled into an ".o " object file. An object file is a file that contains machine language code/data and is in a format that the linker program can use to then create an executable program.
Diagram of process areas.​
The user address space consists of five separate areas: Text, Data, Bss, stack, and user area.
Text Segment The first area of a process is its text segment. This area contains the executable program code for the process. This area is shared by other processes that execute the program. It is therefore fixed and unchangeable and is usually swapped out to disk by the system when memory gets too tight.
Data Area The data area contains both the global and static variables used by the program. For example, a programmer may know in advance that a certain data variable needs to be set to a certain value. In the C programming language, it would look like:
Code:
int x = 15;
If you were to look at the data segment when the program was loaded, you would see that the variable x was an integer type with an initial value of 15.
Bss Area The bss area, like the data area, holds information for the programs variables. The difference is that the bss area maintains variables that will have their data values assigned to them during the programs execution. For example, a programmer may know that she needs variables to hold certain data that will be input by a user during the execution of the program.
Code:
int a,b,c; // a,b and c are variables that hold integer values.
char *ptr; // ptr is an unitialized character pointer.
The program code can also make calls to library routines like malloc to obtain a chunk of memory and assign it to a variable like the one declared above.
Stack Area The stack area maintains the process's local variables, parameters used in functions, and values returned by functions. For example, a program may contain code that calls another block of code (possibly written by someone else). The calling block of code passes data to the receiving block of code by way of the stack. The called block of code then process's the data and returns data back to the calling code. The stack plays an important role in allowing a process to work with temporary data.
User Area The user area maintains data that is used by the kernel while the process is running. The user area contains the real and effective user identifiers, real and effective group identifiers, current directory, and a list of open files. Sizes of the text, data, and stack areas, as well as pointers to process data structures, are maintained. Other areas that can be considered part of the process's address space are the heap, private shared libraries data, shared libraries, and shared memory. During initial startup and execution of the program, the kernel allocates the memory and creates the necessary structures to maintain these areas.
The user area is used by the kernel to manage the process. This area maintains the majority of the accounting information for a process. It is part of the process address space and is only used by the kernel while the process is executing(see Figure 19.2). When the process is not executing, its user area may be swapped out to disk by the Memory Manager. In most versions of UNIX, the user area is mapped to a fixed virtual memory address. Under HP-UX 10.X, this virtual address is 0x7FFE6000. When the kernel performs a context switch (starts executing a different process) to a new process, it will always map the process's physical address to this virtual address. Since the kernel already has a pointer fixed to this location in memory, it is a simple matter of referencing the current u pointer to be able to begin managing the newly switched in process. The file /usr/include/sys/user.h contains the user area's structure definition for your version of UNIX.
Diagram of kernel address space.​
Process Table The process table is another important structure used by the kernel to manage the processes in the system. The process table is an array of process structures that the kernel uses to manage the execution of programs. Each table entry defines a process that the kernel has created. The process table is always resident in the computer's memory. This is because the kernel is repeatedly querying and updating this table as it switches processes in and out of the CPU. For those processes that are not currently executing, their process table structures are being updated by the kernel for scheduling purposes. The process structures for your system are defined in /usr/include/sys/proc.h.
Fork Process The kernel provides each process with the tools to duplicate itself for the purpose of creating a new process. This new entity is termed a child process. The fork() system call is invoked by an existing process (termed the parent process) and creates a replica of the parent process. While a process will have one parent, it can spawn many children. The new child process inherits certain attributes from its parent.
Process Run States​
A process moves between several states during its lifetime, although a process can only be in one state at any one time. Certain events, such as system interrupts, blocking of resources, or software traps will cause a process to change its run state. The kernel maintains queues in memory that it uses to assign a process to based upon that process's state. It keeps track of the process by its user ID.
UNIX version System V Release 4 (SVR4) recognizes the following process run states:
Code:
- SIDLE This is the state right after a process has issued
a fork() system call. A process image has yet to be copied into memory.
- SRUN The process is ready to run and is waiting to be executed by the CPU.
- SONPROC The process is currently being executed by the CPU.
- SSLEEP The process is blocking on an event or resource.
- SZOMB The process has terminated and is waiting on
either its parent or the init process to allow it to completely exit.
- SXBRK The process is has been switched out so that another process can be executed.
- SSTOP The process is stopped.[/COLOR]
When a process first starts, the kernel allocates it a slot in the process table and places the process in the SIDL state. Once the process has the resources it needs to run, the kernel places it onto the run queue. The process is now in the SRUN state awaiting its turn in the CPU. Once its turn comes for the process to be switched into the CPU, the kernel will tag it as being in the SONPROC state. In this state, the process will execute in either user or kernel mode. User mode is where the process is executing nonprivileged code from the user's compiled program. Kernel mode is where kernel code is being executed from the kernel's privileged address space via a system call.
At some point the process is switched out of the CPU because it has either been signaled to do so (for instance, the user issues a stop signal--SSTOP state) or the process has exceeded its quota of allowable CPU time and the kernel needs the CPU to do some work for another process. The act of switching the focus of the CPU from one process to another is called a context switch. When this occurs, the process enters what is known as the SXBRK state. If the process still needs to run and is waiting for another system resource, such as disk services, it will enter the SSLEEP state until the resource is available and the kernel wakes the process up and places it on the SRUN queue. When the process has finally completed its work and is ready to terminate, it enters the SZOMB state. We have seen the fundamentals of what states a process can exist in and how it moves through them. Let's now learn how a kernel schedules a process to run.
Process Scheduler​
Most modern versions of UNIX (for instance, SVR4 and Solaris 2.x) are classified as preemptive operating systems. They are capable of interrupting an executing a process and "freezing" it so that the CPU can service a different process. This obviously has the advantage of fairly allocating the system's resources to all the processes in the system. This is one goal of the many systems architects and programmers who design and write schedulers. The disadvantages are that not all processes are equal and that complex algorithms must be designed and implemented as kernel code in order to maintain the illusion that each user process is running as if it was the only job in the system. The kernel maintains this balance by placing processes in the various priority queues or run queues and apportioning its CPU time-slice based on its priority class (Real-Time versus Timeshare).
Memory Management​
Random access memory (RAM) is a very critical component in any computer system. It's the one component that always seems to be in short supply on most systems. Unfortunately, most organizations' budgets don't allow for the purchase of all the memory that their technical staff feel is necessary to support all their projects. Luckily, UNIX allows us to execute all sorts of programs without, what appears at first glance to be, enough physical memory. This comes in very handy when the system is required to support a user community that needs to execute an organization's custom and commercial software to gain access to its data.
Memory chips are high-speed electronic devices that plug directly into your computer. Main memory is also called core memory by some technicians. Ever heard of a core dump? (Writing out main memory to a storage device for post-dump analysis.) Usually it is caused by a program or system crash or failure. An important aspect of memory chips is that they can store data at specific locations called addresses. This makes it quite convenient for another hardware device called the central processing unit (CPU) to access these locations to run your programs. The kernel uses a paging and segmentation arrangement to organize process memory. This is where the memory management subsystem plays a significant role. Memory management can be defined as the efficient managing and sharing of the system's memory resources by the kernel and user processes.
Memory management follows certain rules that manage both physical and virtual memory. Since we already have an idea of what a physical memory chip or card is, we will provide a definition of virtual memory. Virtual memory is where the addressable memory locations that a process can be mapped into are independent of the physical address space of the CPU. Generally speaking, a process can exceed the physical address space/size of main memory and still load and execute.
The systems administrator should be aware that just because she has a fixed amount of physical memory, she should not expect it all to be available to execute user programs. The kernel is always resident in main memory and depending upon the kernel's configuration (tunable-like kernel tables, daemons, device drivers loaded, and so on), the amount left over can be classified as available memory. It is important for the systems administrator to know how much available memory the system has to work with when supporting his environment. Most systems display memory statistics during boot time. If your kernel is larger than it needs to be to support your environment, consider reconfiguring a smaller kernel to free up resources.
We learned before that a process has a well-defined structure and has certain specific control data structures that the kernel uses to manage the process during its system lifetime. One of the more important data structures that the kernel uses is the virtual address space (vas in HP-UX and as in SVR4. For a more detailed description of the layout of these structures, look at the vas.h or as.h header files under /usr/include on your system.).
A virtual address space exists for each process and is used by the process to keep track of process logical segments or regions that point to specific segments of the process's text (code), data, u_area, user, and kernel stacks; shared memory; shared library; and memory mapped file segments. Per-process regions protect and maintain the number of pages mapped into the segments. Each segment has a virtual address space segment as well. Multiple programs can share the process's text segment. The data segment holds the process's initialized and uninitialized (BSS) data. These areas can change size as the program executes.
The u_area and kernel stack contain information used by the kernel, and are a fixed size. The user stack is contained in the u_area; however, its size will fluctuate during its execution. Memory mapped files allow programmers to bring files into memory and work with them while in memory. Obviously, there is a limit to the size of the file you can load into memory (check your system documentation). Shared memory segments are usually set up and used by a process to share data with other processes. For example, a programmer may want to be able to pass messages to other programs by writing to a shared memory segment and having the receiving programs attach to that specific shared memory segment and read the message. Shared libraries allow programs to link to commonly used code at runtime. Shared libraries reduce the amount of memory needed by executing programs because only one copy of the code is required to be in memory. Each program will access the code at that memory location when necessary.
When a programmer writes and compiles a program, the compiler generates the object file from the source code. The linker program (ld) links the object file with the appropriate libraries and, if necessary, other object files to generate the executable program. The executable program contains virtual addresses that are converted into physical memory addresses when the program is run. This address translation must occur prior to the program being loaded into memory so that the CPU can reference the actual code.
When the program starts to run, the kernel sets up its data structures (proc, virtual address space, per-process region) and begins to execute the process in user mode. Eventually, the process will access a page that's not in main memory (for instance, the pages in its working set are not in main memory). This is called a page fault. When this occurs, the kernel puts the process to sleep, switches from user mode to kernel mode, and attempts to load the page that the process was requesting to be loaded. The kernel searches for the page by locating the per-process region where the virtual address is located. It then goes to the segments (text, data, or other) per-process region to find the actual region that contains the information necessary to read in the page.
The kernel must now find a free page in which to load the process's requested page. If there are no free pages, the kernel must either page or swap out pages to make room for the new page request. Once there is some free space, the kernel pages in a block of pages from disk. This block contains the requested page plus additional pages that may be used by the process. Finally the kernel establishes the permissions and sets the protections for the newly loaded pages. The kernel wakes the process and switches back to user mode so the process can begin executing using the requested page. Pages are not brought into memory until the process requests them for execution. This is why the system is referred to as a demand paging system.
The memory management unit is a hardware component that handles the translation of virtual address spaces to physical memory addresses. The memory management unit also prevents a process from accessing another process's address space unless it is permitted to do so (protection fault). Memory is thus protected at the page level. The Translation Lookaside Buffer (TLB) is a hardware cache that maintains the most recently used virtual address space to physical address translations. It is controlled by the memory management unit to reduce the number of address translations that occur on the system.
Input and Output Management​​
The simplest definition of input/output is the control of data between hardware devices and software. A systems administrator is concerned with I/O at two separate levels. The first level is concerned with I/O between user address space and kernel address space; the second level is concerned with I/O between kernel address space and physical hardware devices. When data is written to disk, the first level of the I/O subsystem copies the data from user space to kernel space. Data is then passed from the kernel address space to the second level of the I/O subsystem. This is when the physical hardware device activates its own I/O subsystems, which determine the best location for the data on the available disks.
The OEM (Original Equipment Manufacture) UNIX configuration is satisfactory for many work environments, but does not take into consideration the network traffic or the behavior of specific applications on your system. Systems administrators find that they need to reconfigure the systems I/O to meet the expectations of the users and the demands of their applications. You should use the default configuration as a starting point and, as experience is gained with the demands on the system resources, tune the system to achieve peak I/O performance.
UNIX comes with a wide variety of tools that monitor system performance. Learning to use these tools will help you determine whether a performance problem is hardware or software related. Using these tools will help you determine whether a problem is poor user training, application tuning, system maintenance, or system configuration. sar, iostat, and monitor are some of your best basic I/O performance monitoring tools.
1) sar The sar command writes to standard output the contents of selected cumulative activity counters in the operating system. The following list is a breakdown of those activity counters that sar accumulates.
* File access
* Buffer usage
* system call activity
* Disk and tape input/output activity
* Free memory and swap space
* Kernel Memory Allocation (KMA)
* Interprocess communication
* Paging
* Queue Activity
* Central Processing Unit (CPU)
* Kernel tables
* Switching
* Terminal device activity
2) iostat Reports CPU statistics and input/output statistics for TTY devices, disks, and CD-ROMs.
3) monitor Like the sar command, but with a visual representation of the computer state.
RAM I/O​
The memory subsystem comes into effect when the programs start requesting access to more physical RAM memory than is installed on your system. Once this point is reached, UNIX will start I/O processes called paging and swapping. This is when kernel procedures start moving pages of stored memory out to the paging or swap areas defined on your hard drives. (This procedure reflects how swap files work in Windows by Microsoft for a PC.) All UNIX systems use these procedures to free physical memory for reuse by other programs. The drawback to this is that once paging and swapping have started, system performance decreases rapidly. The system will continue using these techniques until demands for physical RAM drop to the amount that is installed on your system. There are only two physical states for memory performance on your system: Either you have enough RAM or you don't, and performance drops through the floor.
Memory performance problems are simple to diagnose; either you have enough memory or your system is thrashing. Computer systems start thrashing when more resources are dedicated to moving memory (paging and swapping) from RAM to the hard drives. Performance decreases as the CPUs and all subsystems become dedicated to trying to free physical RAM for themselves and other processes.
This summary doesn't do justice, however, to the complexity of memory management nor does it help you to deal with problems as they arise. To provide the background to understand these problems, we need to discuss virtual memory activity in more detail.
We have been discussing two memory processes: paging and swapping. These two processes help UNIX fulfill memory requirements for all processes. UNIX systems employ both paging and swapping to reduce I/O traffic and execute better control over the system's total aggregate memory. Keep in mind that paging and swapping are temporary measures; they cannot fix the underlying problem of low physical RAM memory.
Swapping moves entire idle processes to disk for reclamation of memory, and is a normal procedure for the UNIX operating system. When the idle process is called by the system again, it will copy the memory image from the disk swap area back into RAM.
On systems performing paging and swapping, swapping occurs in two separate situations. Swapping is often a part of normal housekeeping. Jobs that sleep for more that 20 seconds are considered idle and may be swapped out at any time. Swapping is also an emergency technique used to combat extreme memory shortages. Remember our definition of thrashing; this is when a system is in trouble. Some system administrators sum this up very well by calling it "desperation swapping."
Paging, on the other hand, moves individual pages (or pieces) of processes to disk and reclaims the freed memory, with most of the process remaining loaded in memory. Paging employs an algorithm to monitor usage of the pages, to leave recently accessed pages in physical memory, and to move idle pages into disk storage. This allows for optimum performance of I/O and reduces the amount of I/O traffic that swapping would normally require.
NOTE: Monitoring what the system is doing is easy with the ps command. ps is a "process status" command on all UNIX systems and typically shows many idle and swapped-out jobs. This command has a rich amount of options to show you what the computer is doing.
I/O performance management, like all administrative tasks, is a continual process. Generating performance statistics on a routine basis will assist in identifying and correcting potential problems before they have an impact on your system or, worst case, your users. UNIX offers basic system usage statistics packages that will assist you in automatically collecting and examining usage statistics.
You will find the load on the system will increase rapidly as new jobs are submitted and resources are not freed quickly enough. Performance drops as the disks become I/O bound trying to satisfy paging and swapping calls. Memory overload quickly forces a system to become I/O and CPU bound.
Filesystem Concept​
Filesystem is the collection place on disk device(s) for files. Visualize the filesystem as consisting of a single node at the highest level (ROOT) and all other nodes descending from the root node in a tree-like fashion (see Figure 19.5) . The second meaning will be used for this discussion, and Hewlett Packard's High-performance Filesystem will be used for technical reference purposes.
Diagram of a Android' s hierarchical filesystem.​
The superblock is the key to maintaining the filesystem. It's an 8 KB block of disk space that maintains the current status of the filesystem. Because of its importance, a copy is maintained in memory and at each cylinder group within the filesystem. The copy in main memory is updated as events transpire. The update daemon is the actual process that calls on the kernel to flush the cached superblocks, modified inodes, and cached data blocks to disk. The superblock maintains the following static and dynamic information about the
Click to expand...
Click to collapse
6) Tools/Imp Download Links​
rickslick said:
Samsung USB drivers(no more kies) for 32bit and 64bit windows: Driver
Adb with ncessary dll : Click here
Flashing tools(odin+ops):click here
Click to expand...
Click to collapse
7) Complete List of ROMs,Kernels for G3​
dhirend_6d said:
GINGERBREAD BASED ROMS : -
CYANOGENMOD 7 AND GINGERBREAD AOSP by Marcellusbe.
AOSP FROYO BASED ROMS : -
CYANOGENMOD 6.2 by Marcellusbe.
SAMSUNG FROYO BASED ROMS : -
1) G3MOD ROM by DharamG3 and G3Mod team.
2) KYRILLOS' ROM by Kyrillos13.
3) INDROID by Rudolf895, Arunmcops, Neeljinwala, Akash, Chirayu.
4) DUTCHMODS by Werker123.
5) DESTINY by Hodostamas.
6) KYORAROM by Hillbeast.
7) STYLOO' S AOSP STYLE ROM by Styloo.
8) LESTATIOUS ROM by The Dark Lestat.
9) GRIGORA ROM by RafayelG.
10) SUMEE ROM by Ash!sh.
11) STOCK DEODEXED ROOTED ROMS by DharamG3.
12) DHARAM' S ROM COLLECTION by DharamG3.
13) SAMSUNG STOCK FIRMWARES (WITHOUT BOOTLOADERS) by Kyrillos13.
14) IBREAD.NITESH by Niteshtak.
15) GREENMODS POX by Jazux, Akash, Pauri, s3th.g3ck0.
16) ATROM by Dpthakar.
17) SPEEDMOD ROM by Styloo and DharamG3.
18) RAFO' S ROM by RafayelG.
19) REAPER REVIVAL ROM by Jihaa.
20) APOCALYPSE by ARMVKDevs.
21) BURAK' S ROM by Burak721.
22) CYANOBROZZU MOD ROM by Superfancy97.
23) OUM ROM by Revant.
24) THE PEOPLE' S ROM by Shekhargreen.
25) GALACTIC BLUE ROM by Cdesai, Shubhamchamaria, Aarun.
26) PSYCHOTIK ROM by TotorLeTaureau
27) [KERNEL+ROM] APOLLO by Apollo5801
28) THE BLUE by Abhi0n0nakul.
KERNELS : -
KERNELS BY DHARAM AND TEAM G3MOD : -
1) G3Mod Kernels for Froyo.
2) G3Mod Kernels for CM 6.2.
All the kernels of G3Mod along with changelog and features can be found here.
KERNELS BY MARCELLUSBE : -
1) FuguMod 2.4 Beta 3 (JFS/REISERFS Supported), 800 Mhz Edition.
2) FuguMod 2.4 Beta 3 (JFS/REISERFS Supported), Standard Edition.
3) FuguMod 2.4 Beta 3, 800 MHz Edition.
4) FuguMod 2.4 Beta 3, Standard Edition.
5) FuguMod 2.2 Bleeding Edge Edition.
6) FuguMod 2.2 Standard Edition.
Link to all the above kernels here.
For features and changelog see here.
7) FuguMod Ultra.
KERNELS BY APOLLO5801 : -
Dual Boot kernel.
KERNELS BY GSAM101 : -
SAM' S KERNEL V0.1.
Click to expand...
Click to collapse
8) FAQ For G3​
9) EPIC Fail Ideas for G3​
hillbeast said:
Seeing nobody has posted any real epic fail ideas, I will post one: I saw a guy wanting to post iOS to our phone. Now I can understand an iOS skin, but why would we want an OS that can't even handle multitasking properly and replace the glory of Android with Steve Jobs' locked down nutjob OS?
Click to expand...
Click to collapse
Credits​
1) Android Basics
http://www.wikipedia.org/
http://developer.android.com/index.html
2) Galaxy 3 Features
www.gsmarena.com
3) Hardware
http://www.samsung.com/
http://www.atmel.com
4) ROM Basics/Tutorails
Flashing - BraveBuddy
dharamg3 said:
Credits​
rudolf895, jazux and sekhargreen for their tutorials and how-to's....
loads more too come...i will add as i add the context...
but thanks to all the developers doing the wonderful work for Galaxy 3
Click to expand...
Click to collapse
Damn this is going to be a long one because you reserved 10 posts good luck
jazux said:
Damn this is going to be a long one because you reserved 10 posts good luck
Click to expand...
Click to collapse
just wait and see..hoping to cover everything
dharamg3 said:
Credits​
rudolf895, jazux and sekhargreen for their tutorials and how-to's....
loads more too come...i will add as i add the context...
but thanks to all the developers doing the wonderful work for Galaxy 3
Click to expand...
Click to collapse
Hi,
It is good to get all the stuff at one place.
Let me know if any help needed.
sekhargreen said:
Hi,
It is good to get all the stuff at one place.
Let me know if any help needed.
Click to expand...
Click to collapse
sure, you can give me links here on what all can be added...
you can call the topic: "the ultimate guide for the galaxy 3"
vonuzu said:
you can call the topic: "the ultimate guide for the galaxy 3"
Click to expand...
Click to collapse
let me start off...it will take time to make it the ultimate
Android Basics Added to start off...Much More To Come
NICE WORK! Im definetly going to mail the xda newswriter about this
done in week you are going to be in news, for sure
This subject topic will be the most significant added value to this forum:
For the new members (sometime old once) that are joining the G3 revolution (and this is happing here), there is a need to provide them the basics before they can dive into elements such as: Custom ROM's, Kernel's...etc.
Myself as a junior user and others will greatly appreciate this new introduced topic.

[GAME][2.3.3+] Connect Four with assisted mode

What is this
A very simple implementation of the connect four game, probably far from optimal, using a minimax with alpha-beta-cutoff.
Devices/Systems tested
- HTC sensation (pyramid) with stock GB, ICS and several custom JB ROMs
- Xiaomi Mi3 (pisces) with MIUI5 JB 4.2
APK
https://github.com/Zirias/android_game_aconn4/raw/master/apk/aconn4.apk
Source
https://github.com/Zirias/android_game_aconn4
needs https://github.com/Zirias/java_game_p4j in the same eclipse workspace to compile
Why
Why yet another boring connect four game? Well, a friend of mine had a very challenging assignment at university (for she is not studying computer sciences but something else): implement connect four including an AI on matlab. She asked me for help. So in order to get a grip on the subject, I first wrote it down in plain Java. This helped a lot for explaining her later what she had to do in matlab. Having a java version of this game lying around, nicely separated in gamelogic and gui package, I thought why not create an alternative android gui ... and here it is.
What's special
Assisted mode -- as this was originally meant for learning, I included a mode where the AI also runs for the human player and visualizes the scores. So you can always have the answer to "what would the computer do now, and why?". I found this actually helps understanding the game a little better and discovering threatening constellations on the board -- you can use it to train your connect-four skills
Changes
v1.1
- Moved project to github
- Make it build with newest Android SDK Tools (22.3)
- Added Icon
- Lost keystore (*#!%!) so doesn't update from v1.0
v1.0
- Initial version
Plain Java version
Here: http://home.palmen-it.de/~felix/stuff/p4j.jar
Assisted mode explained
(See attached screenshot)
The buttons marked with an "O" are the suggested moves. If there is more than one button marked, it means they have the exact same score (the AI player would choose one randomly in that case).
The color of the buttons indicates the score, on a continuous color scale reaching from:
Plain green -- a very clever or winning move
over
Yellow -- a neutral move
to
Red -- a very bad, directly losing or impossible move
Did a maintenance release, just ensuring it builds with recent tools -- and finally added an icon

[CUSTOM FIRMWARE] TheXSample-SXELROM v3.5 for JXD S7300B [Update 18/05/2013]

TheXSample-SXELROM v3.5 for JXD S7300B (Firmware & Tincore Driver Update 18/05/2013)
​
Use of this article
It allows you to use this review, either by copying or referenciándola link to anyone who wants it, with the only condition that remains the author and a link to the original source of this review, which is cited in the following section .
Source and update the information in this article
The original article (in Spanish) is in my blog .
For updates on this article, I suggest visiting one of the links above.
_____________________________________________________________________
UPDATES
18/05/2013: THEXSAMPLE-SXELROM_3.5PATCH.rar
Mirror Mega
Change log
Firmware
- Kernel compiled from sources 3.0.50
- Improvements on system stability (must improve some hangs/freeze of devices)
- New frequency added. There is no need of SetCPU profile. Is recommended to clear application data and start again SetCPU, and choice "Autodetect frequencies"
- Governors smartass2, intelldemand, lagfree and lionheart was deleted, and replaced by the new ondemand, interactive and interactive2, that works better on the device.
- Potential Fix for Wakeup bug. Emulators now must run fine without issues about the screen rate, after wake up.
- Little improvements on 3D performance
- Added new option for reboot, from the power menu.
- JXD Mapping tool deleted. now will not appear in any way the mapping tool interface (Shift key will not open it)
Tincore Driver Update
- Fixed Sticks Dead Zones
- Sticks are Joystick by default from now (you must set manually if you need right stick as IJKL keys)
- Fixed initialization routine.
Installation:
- Extract the rar file. There are 3 files.
- Put on your miroSD card
- Boot the device in recovery menu
- Select "install zip from EXT"
- Browse and select the file you want to flash (each file flash different kernel speed. select the speed you want to use. (Recommended: 1200MHz)
- Reboot the system
_____________________________________________________________________
About this overview
This article is a summary, and contains only the most relevant features.
To read the full article, look at the link above.
Features
Here is a short list of changes included in this version of firmware.
Later in this article, there is a section with extended information about these changes.
Firmware
​
Include support for USB Bluetooth dongles
This includes new governors set for the console hardware
Tincore Driver
Calibration ajusatada for DPAD
Improvements and optimizations in the driver code, to get even less lag.
Tincore KeyMapper
Support for languages.
Minor improvements in UI tool
DEBUG Option
Creating online guide tool
Note on Bluetooth Support
Not all Bluetooth USB dongles behave the same way, and the clasificaré in 3 groups:
[*] Only some have 100% support, and able to connect, disconnect and work seamlessly with the device.
[*] Others may only work if you are connected to the console from the start of it, and if disconnected, they will not start until you restart the console.
[*] And others, very few, may not be able to work with the console.
That said, emphasizing that most dongles that we used in the tests correspond to Group 2 of the above list, and only one has been in group 1, but still the connectivity and operation we tested is suitable and practical, if we have the console plugged into a TV.
What's more, the videos I uploaded to show this feature, corresponding to a dongle in group 2, and as you can see works seamlessly with multiple devices.
http://www.youtube.com/watch?v=3CW4sjLxcjY
The video above shows the work in progress of this feature.
On connectivity Sixaxis
http://www.youtube.com/watch?v=uPhBS4FqUH4
(Using a SIXAXIS with the console)
Overall, there have been problems with device connectivity, but if identified and strange behavior is that when connecting Sixaxis controls, after a few seconds in some cases these are switched off (or when you connect a second controller is off the first), but not always the case and simply reconnect the tool again.
According to the evidence, it may be because, for some reason, the program does not work well when the controls are low on battery (below 50%).
http://www.youtube.com/watch?v=Men4LPPYFOE
(Console working with 2 sixaxis connected simultaneously)
Version Recustom
​
It has generated a TheXSample-SXELROM v3.0 release Recustom with the same characteristics as the original rom, plus some extra programs related withthe bluetooth.
Download Links
TheXSample - SXELROM v1.0
TheXSample-SXELROM Firmware v3.0 [Mega Mirror ]
For more links, see the original article of this release.
Credits:
As in previous updates, here is the work of many people, although it seems small upgrade, I can say it's quite achieving the advancement of Bluetooth and achievers who deserve all the thanks, and among which I will highlight a Skelton (great manager of the idea), Christian Troy, Lomax, Tincore (which never tires of implementing improvements) and myself, that force me to go out in the credits XD, plus I can leave out now .
We also wanted to give a thank you to the store Willgoo, that has been very helpful to give us the necessary support to add the option of accelerometer in the mapping tool (released in a previous patch), and now we have the "Wiimote style "to play some retro-gaming (it's great to play Mario Kart 64, tilting the console like a Wii steering wheel): D
The special thanks of this firmware is for the groups "The Mox", "Les Miserables", "Marilyn Manson" and Daft Punk (among others) for that because we had a lot of energy injected encouragement and strength to the long nights of testing that has taken this firmware.
Zalu2!
Deen0X
Thanks so much for your work on this! Super smooth and everything just works.
Also, thank you for posting this on XDA. Haven't seen too many S7300B posts here, so this is great.
jm77 said:
Thanks so much for your work on this! Super smooth and everything just works.
Also, thank you for posting this on XDA. Haven't seen too many S7300B posts here, so this is great.
Click to expand...
Click to collapse
nice to see people interested on this device here in XDA.
first post updated!
Deen0X said:
first post updated!
Click to expand...
Click to collapse
Thanks for posting this on XDA!
Looking forward to reporting back. Thanks for your hard work.

[REVIEW] Phablet/Console Much i5 (5" Quad-Core)

[REVIEW] Phablet/Console Much i5 (5" Quad-Core)
​
Note
Due to the limitations of this forum, i cannot put the full version of the review. THIS IS NOT THE FULL REVIEW ARTICLE
For the complete version of this review visit my blog .
Package contents(Unboxing y full description of the package contents)
​
When the package is opened, we found the following elements that, i understand, are part of any standard shipment for this product.
Much i5 Device
Quick guide
Guarantee sheet
MicroUSB cable
USB Wall charger
3550 mAh Battery
Serial number sticker
About first impression
My first impression of the device was so good. I really feel that the device materials and quality is distinct that other devices i tested.
There is lots of details that make a difference, from the device design, or the software included, or the customization made on the system, etc.
The first time you boot the device, you get a screen to register an iMuch account. This is not required really, but you can do these steps to gain access for Much services (note: most in chinese). In my tests, i remove my Much account, and i can use the device without problems.
​
(First boot)
There is a icon called Much Helper, that really is a quick guide to use the device, that is so interesting and helpful (this come in english), and show you in short steps the main features of the device and how to use.
​
Is really nice get a device like this that manufacturer take care about heir users, and provide ways to get familiar and comfortable with the device like this (and in english, a common language).
Another thing that i get may attention is that this device come with no much bloatware, and the games listed are to download from the google playstore (instead of a separated store with software from a non clear origin)
​
Most of this games are free, or demo versions.(and i thanks for it, because the system come with no unecessary software pre-installed)
Product information
​
According with the manufacturer, or searching info on web pages, we can found many sources of information about the device and sometimes these information may be not consistent (may be different from one web page to other), and this may cause some confusion for anybody that wants to get info about this product.
On this section i will post the info i get from the manufacturer (or is not possible, the web page that i consider more reliable), listing only the relevant points for a tech analysis of the product, and omit these points that don´t get any relevant info about the device (as many time we found on many pages, things such video capabilities, mail capabilities, etc, that really are software based features that we can install on the device, and not a real feature of the device itself)
CPU(RAM): MTK6589 quad-core 1.2GHz Cortex A7
GPU: PowerVR Series 544
RAM: 1G RAM LPDDR2
Internal: 4GB ROM
Screen size: 5"
Screen resolution: 1280x720
Screen Type: IPS Panel, Multitouch 5 points
Operating System: Android4.2 (Much Launcher)
Storage: MicroSD(TF) support 64GB storage expand maximum
Sensor: Nine-axis sensing (gyroscope, electronic compass, and gravity sensing), and light-sensitive sensing, close up sensing
Camera: Main camera of 8 MPx, digital zoom, auto focus, microspur support, Flash LED. Front camera of 0.3 MPx;
Network Function: support WCDMA 850M/2100M GSM 850/900/1800/1900MHZ, HSUPA(high speed uplink):up to 11.5 Mbps,HSDPA+( high speed downlink):up to 42.2 Mbps
Wifi: 802.11b/g/n
bluetooth: V4.0LE +EDR
GPS: with AGPS support
Buttons: 4 action buttons, 2 Shoulder buttons, 2 special buttons (configurable), DPAD and 2 analog sticks.
Video Play: Hardware decoding, maximum resolution up to 1280x720P, H.264, MPEG4, MPEG2, VC-1, H.263
Audio System: D-class amplifier , AAC speaker (2x0.5w)
Power Supply: 3550mAh Lithium battery
Charge: dual interface charge, (Bottom) Micro USB charge interface 1A charge, (Top) Micro USB charge interface 500mA charge maximum.
TV-Out: Mini HDMI interface (support 1080P)
USB: MicroUSB OTG 2.0
Dual standard SIM card(WCDMA/GSM) + MicroSD(TF) card
size: 184.0x88.0x14.7mm
Antutu X Benchmark
​
Summary:
RAM Operation: 1089
RAM Speed: 502
CPU integer: 1819
CPU float-point: 1242
2D graphics: [720x1280] 646
3D graphics: [720x1280] 3294
Storage I/O: 832
Database I/O: 515
CPU frequency: 1209 MHz (x4)
Multitask: 2661
Dalvik: 780
Total: 13380
ClockWorkMod Recovery (Custom Recovery)
​
Android have a special mode called Recovery, that is used many times to recover the device if this have problems to run properly, but there exist an alternative Custom Recovery that add a lot of new functionality and tools, and one of the most popular is one called ClockWorkMod Recovery.
There is a full functional version of this recovery that run on this device.
One of the most important features of this custom recovery, is the NANDROID generation, a way to generate a full backup of the nand (where the operating system resides) to a directory, and can be used as a recovery point for the device in case of semi-brick, or simply if you want to get a clean firmware on it.
Take note that this backup (nandroid) is a image of the NAND, this means, there will be stored all your configs, users, passwords, accounts, etc. Is a good idea to get a clean firmware insatlled on the device, and install and configure all your base programs (file admins, cloud services, google account, etc) and then get a nandroid for your personal use. When you get back to this image/backup, you will get a clean and configured system, saving lot of time on basic configurations and installing basic software.
The installation of CWM on this device is easy. For this, i follow the next thread on XDA forum:
How to install CWM on most rooted mtk devices
This method is based on Rua1 tool (a russian guy that develop a specific MTK took), and i will try to explay step by step.
First, you need the drivers ADB installed on the system. If you don´t get yet, then download and install PDANet (for windows, there is the 4.12 installer).
Then install PDANet, and when the program ask for connecting the device (USB), connect your Much.
Program will install drivers (if ask to you, select "other manufacturer" for generic drivers)
When you get installed this program, then go and download "MTK Droid Root & Tools | MediaTek Android Smartphone" ver 2.4.8 (from this thread on XDA)
Run the program. If the antivirus or firewall warning about a unknown thread, ignore it.
The program will run adb and connect with your device. No matter if you set root for ADB and Apps in System Settings, the program will inform that the device is not fully rooted. (there is a yellow rectangle)
Press ROOT button.
When finished, the rectangle will be green
​
(I will do a copy paste from XDA thread, because is well explained what you must to do)
Click on the tab 'root,backup,recovery' and select 'to use boot from phone' then click on 'recovery and boot' and shortly after a dialogue box will appear asking if you want to 'make cwm recovery automatically' click yes
​
System start to generate the CWM version.
​
Is possible that the tool show a dialog with a warning "ATENTION! There is a probability to damage the boot block!". Select "Yes"
Android Games
​
Asphalt 8: Airborne
​
(Using Tincore to control the game)
Jet Set Radio
​
Bard´s Tale
​
Dead Trigger
​
N.o.v.a. 3
Using HDMI TV Out, External controller (PXN8633 Wireless controller with USB receiver) and Tincore to map the controller to screen.
​
Modern Combat 4: Zero Hour
Using HDMI TV Out, External controller (PXN8633), and Tincore for mapping.
​
Ravensword
​
Grand Theft Auto Vice CityUsing External Controller and Tincore for mapping.
​
DraStic (Nintendo DS)
​
Zelda Phantom Hourglass
​
PPSSPP (Playstation Portable PSP)
​
Lego Indiana Jones 2
​
Mame4Droid Reloaded (Arcades)
​
Garou: Mark of Wolves
​
Marvel vs Capcom
​
Retroarch
​
Arcade (MAME) - Ultimate Mortal Kombat 3
​
PSX - Tekken 3
​
N64Oid (Nintendo 64)
​
Bad Fur Day
​
(Gameplay)
About Battery
Some words i must to say about this point. This device is the first handheld gaming console that i forgive to take care constantly about battery level. In fact, using as a normal smartphone and as a gaming console, is a heavy use for me, more than my normal smartphone (i like to use a Motorola Razr), and my phone, only as phone, battery is not longer than Much device.
I don´t know how many hours it can be working, but i´m sure is enough for most of users that want a good duration.
Check the following screenshots:
​
These 3 screenshots was taken when i get in home, in night (well, really when i remember to take these screenshots)
The most important of these screenshots, are that the device was working as normal usage, with WIFI enabled, one SIM card enabled, and most time (when i´m in train or bus) with Bluetooth enabled (for bluetooth audio), with all normal options for a smartphone standard enabled (GPS, Vibration, etc), and most important, playing normally, and the battery, well, you can see the images. For this reason i can mention that i forgot to check constantly the battery level, to calculating how many time i can play, or anything.
And of course, the battery is replaceable, then if you really need more battery duration, simply buy another battery pack, and carry with you to replace when you go out of power.
Final words
​
Apologize for the mistakes i did writing in english. As many of you know, this is not my natural language, but i did my best to try to bring to you a readable and understandable article that, sincerely, i hope is useful.
And remember this is not a full article review. It is only a Summary.
Zalu2!
Deen0X
re-install MUCH I5
Hello,
I have one Much I5. This device was bricked somehow and I need to re-install it. I made all the instruction on your blog but after pressing Vol- android screen suddenly disappear and I can only see ireadygo screen and I could not do anything else. Could you help me to re-install this device may be from pc ?
Thank you & best regards,

[Kernel][03.07.2022][Android 12] Kirisakura 2.0.0_S for Asus Rog Phone 3 aka OBIWAN

Kirisakura-Kernel for the Rog Phone 3
Hello everyone,
To keep it short: Here is Kirisakura - Kernel for the Rog Phone 3 aka OBIWAN.
I would appreciate if everybody that flashes the kernel, reads at least once through this opening post and the following ones.
Kirisakura - Kernel is designed to bring a handful of beneficial features to the device, while ensuring excellent performance and smoothness to get you safely through the day!
This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.
Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features. In fact this, alongside Kirisakura-Kernel for the OnePlus 8 Pro, may be (and probably is) the first 4.19 msm kernel with a fully working Kernel-CFI implementation and CFI-Violations fixed on a smartphone.
The only kernels made by OEMs offering this security feature are the ones for the Pixel 3 and Pixel 4 devices.
The recently released Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.
Another security feature is Shadow Call Stack (SCS). Similar to CFI, only the Pixle 3 and 4 Kernel use this security feature.
SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
If you´re interested here are a few good links:
Google Security Blog explaining SCS.
LLVM doc about SCS
Android DOCs documenting SCS
If reading about upstream in the paragraph above got you curious,have a read about Linux-Stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.
Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 865/+ that´s built into the different SKUs of the Rog Phone 3.
The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. OEMs usually stop updating the initial base after the phone is released.
This kernel focuses amongst the other features to provide the latest CAF-Updates merged in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.
The kernel includes a lot of improvements and contributions from other developers as well. Without this kernel would not exist.
I´d like to mention @tbalden ´s excellent CleanSlate features at this place. They improve usability by a big margin for me personally. The highly customizable sweep to sleep implementation (adjustable to different navigation settings), long tap to bring down status bar (very useful on a big device), backlight dimmer and notification reminder are very useful features that I use personally every day.
Another big part of improvements originate from @arter97´s, @kdrag0n´s and @Sultanxda´s work. Many others contributed in some way or another to this kernel.
A big thanks to all of them at this place!
Now lets continue with a list of features in the next paragraph!
Main Features:
- Based on latest kernel sources from Asus for Android 12 and intended for use on the latest Asus Stock-Firmware
- compiled with Clang 13.0.1 and built with -O3 speed optimizations
- Linux-Stable-Upstream included to 4.19.240
- CAF base for the Snapdragon 865/+ (SD865/+) updated to upstream CAF
- Kernel Control-Flow-Integration (CFI) andLink-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
- Shadow Call Stack (SCS) Security-Feature
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Preview Kernel instead of full LTO for full program visibility (needed by CFI)
- fix CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- Link the kernel with LLD and use RELR-Relocation
- include important fixes/improvements from kernel/common
- Flashing the kernel will keep root!
- Cleanslate Features included! See @tbaldens´s CleanSlate Thread for more information
- Flashable via EXKM, FKM or TWRP on a rooted system!
- Anykernel zip is based on the Anykernel3 release from @osm0sis
- disable various debugging configs, that are not needed in a perf build kernel according to google.
- disable selinux auditing (we don´t have to adress selinux denials running a stock rom)
- display tweaks to reduce power consumption on statically rendered images
- tweak display to allow better visibility of black levels/colours on low brightness ( example pictures )
- allow experimental 165hz refresh rate for the panel. (use with caution)
EAS related features:
- EAS implementation patched up to latest CAF state
- disable autogroups and use cgroups for more efficient task placement!
- updates from kernel/common
- scheduler updates from Googles Pixel kernel
CPU related features:
- Change various drivers (WLAN, MM, audio, charger, power, thermal, glink etc) to user power efficient workingqueues. This compliments EAS
- include cpuidle patches from CAF
- improvements to cpufreq/times/stats
- improve memory allocations in binder driver
- use s2idle for deepsleep, as pixel 4/5
- vdso32 patches as found on Google Pixel devices (brief documentation here)
- enable lse atomics
- arm64: lse: Prefetch operands to speed up atomic operations, thanks @kdrag0n
- implement fast refcount checking
GPU related features:
- GPU driver updated to latest CAF-State
- remove POPP functionality from GPU driver to avoid constant fight about downscaling with msm-adreno-tz
- don´t wake the gpu on touch input, instead wake when receiving an ioctl
- don´t copy fence names by default to save a bit of cpu-time (explanation)
- msm: kgsl: Stop slab shrinker when no more pages can be reclaimed
- gpu/kgsl improvements from pixel 4/pixel 5 kernel
File System related features:
- improve memory allocations in sdcardfs
- improve eventpoll logging to stop indicting timerfd (improves kernel wakelock readability)
- improve memory allocations in kernfs
- writeback: hardcode dirty_expire_centisecs=3000 based on this commit
- f2fs-stable upstream, that includes ATGC
- ufs improvements from pixel 4/ pixel 5 kernel
UI/UX/Usability related features from CleanSlate:
- CleanSlate features made by @tbalden
- Disclaimer: All CleanSlate features can be controlled via the free companion and config app found on CleanSlate thread here on the ROG 3 Forums on XDA. Please consider buying the premium versions if you enjoy using the CleanSlate features, to give a little something back to @tbalden.
- Flashlight Notification/Call blinking
- Vibrating Notification Reminder
- Sweep to Sleep touchscreen gesture - highly customizable
- DoubleTap on Sweep2Sleep's area gestures - new way to pull down android Notification Area
- Face down screen off - new gesture
- Backlight Dimmer - possibility to use lower panel brightness
- Force FPS Level on Low Brightness
- Squeeze Control
- advanced notification LED control, chromatic charge LED, pulsating LED, LED dimming
Network related features:
- Wireguard Support (Details)
- advanced TCP algorithms enabled
- includes new bbr and bbr2
- fix CVE-2020-14386
Memory related features:
- Speculative Page Faults left enabled (1. 2) (CAF default)
- various fixes for PSI-Monitor, which is used by the userspace lowmemorykiller-daemon
- Fix various memory leaks in different subsystems
- improved mm with patches from mainline
- various other changes from mainline
- included zstd as an option for ZRAM-algorithm (lz4 is probably the best all around, so only change it if you know why and what you are doing)
- improve memory allocations in various subsystems
- ported per process reclaim from Pixel 5 kernel, instead of using outdated CAF implemenation
Security related features:
- Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO
- Shadow Call Stack (SCS) Security-Feature
- fix various CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- enable init_on_alloc for even more security, more information can be found in the commit message
- Backport mainline Selinux commits, thanks @arter97 (you must be on magisk 21.0, otherwise the kernel won´t boot)
Misc Features:
TCP Congestion Algorithms:
- advanced algorithms enabled, enable them with your favorite kernel manager
- includes new bbr2
Wakelock Blocker:
- advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info
- blocking a kernel wakelock should only be done in case of firmware incompatabilities (WiFi network at work (can´t be changed) causes deep sleep to not work on the phone.) That´s the only use case I see for this feature. The kernel does not features this to improve battery life!
Other features:
- disable logging and debugging to make the kernel more lightweight in various places (includes binder, mm, vma, gpu, ipa etc)
- fix several coding issues detected by newer Clang-Toolchains
- add support for steam controller
- add support for nintendo switch controller
- ufs improvements from pixel 4/ pixel 5 kernel
- gpu/kgsl improvements from pixel 4/pixel 5 kernel
- display tweaks to reduce power consumption on statically rendered images
Feature section for the "non visible" but perceptible improvements:
- updated binder section (responsible for interprocess communication)
- updated sdcardfs ; have a read about it here:
Flashing Guide, Download and Changelog
A description how to flash the kernel, links for download and a changelog can be found in the second post!
Contributors
Freak07
Source Code: https://github.com/freak07/Kirisakura_OBIWAN
Version Information
Status: Stable
Requirements
- unlocked Bootloader
- USB-Debugging in developer options enabled
- latest adb and fastboot binaries
- working adb and fastboot environment
- latest magisk stable root environment
- a backup of boot.img and dtbo.img to be able to restore to stock.
How to flash the Kernel:
1. Download the latest kernel.zip and make sure you have properly updated to the latest matching Asus Stock-Firmware. When the Rog 3 receives an update it takes Asus a while to release the source code for the new OS and me a while to build a new kernel. If you don´t want to face any issues, wait until I either release an updated kernel or give green light because there were no kernel changes.
Always make sure to run the firmware the kernel is built for!
1a. Optional: While it may not be necessary all times, you may want to restore stock boot.img as well as dtbo.img, re-root with magisk and optionally install twrp.zip if coming from another kernel. Before reporting issues make sure you do that! Thank you!
2. Make sure to meet all the requirements listed above.
3. Flash the kernel.zip via latest EXKM or FKM app, or TWRP and do a full reboot.
4. Reboot and profit. Set CleanSlate features as you desire by installing both apps and choose according to your liking.
DOWNLOAD:
Download is located always in this folder:
https://www.androidfilehost.com/?w=files&flid=316676
Important: Read after Download
Please take a look at the second post after flashing the kernel!
Changelog:
Android 10
1.0.0 Initial Release
1.0.1 https://forum.xda-developers.com/showpost.php?p=83393257&postcount=12
1.0.2 https://forum.xda-developers.com/showpost.php?p=83409591&postcount=28
1.1.7 https://forum.xda-developers.com/showpost.php?p=83518681&postcount=32
1.2.2 https://forum.xda-developers.com/showpost.php?p=83539471&postcount=33
1.2.3 https://forum.xda-developers.com/showpost.php?p=83552967&postcount=38
1.5.0 https://forum.xda-developers.com/showpost.php?p=83815367&postcount=74
1.8.2 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84199477
1.9.4 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84404331
2.1.0 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84693785
2.1.1 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84717725
2.2.0 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84752157
2.2.2 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84762283
2.2.4 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-85029489
2.2.5 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-85119205
Android 11
1.0.0_R https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-85434269
1.0.1_R https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-85437987
1.0.5_R https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-85540573
1.0.7_R https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-85797081
1.0.9_R https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-86238185
1.1.0_R https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-86428163
1.1.1_R https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-86444523
Android 12
2.0.0_S https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-87102871
Donations:
Donations are not mandatory but very welcome if you want to support development or just buy me a coffee/tea
If you like my work: http://paypal.me/freak07
Credits:
Asus for the development device, giving me the opportunity to create this project!
@osm0sis for all his work, including the ak3 installer!
@tbalden for being the best HTC, Pixel, OnePlus and now Asus wingman!
@LeeDroid and @mwilky for their awesome roms and work I used on multiple devices!
@Captain_Throwback for all the mentoring and guidance!
@Eliminater74 for bringing me into the game and the Inspiration
@nathanchance for his upstream guidance and assistance
@RenderBroken for helping me out
@flar2 for all his work
@joshuous for all the help he provided to me in the past!
@arter97 for giving me advice
@kdrag0n for his help and advices!
@topjohnwu for magisk!
FAQ
F.A.Q:
Question: Why does the kernel version show as "unavailable" in settings after flashing it.
Answer: Asus does not allow for custom kernel names in their settings. If the kernel string doesn´t fit their regex, it will display as unavailable there. Nothing can be done about it. Use a kernel manager to check the kernel version.
Question: Is root preserved when flashing this kernel?
Answer: Yes, the AnyKernel.zip will detect root and keep it.
Question: How do I return back to stock or another kernel.
Answer: Extract boot.img as well as dtbo.img from matching firmware you are on and flash the extracted boot.img and dtbo.img via fastboot. If you want to keep root flash back the magisk_patched_boot.img. Or dirty flash your rom.
Question: Why is having Magisk installed mandatory for this kernel?
Answer: Android 10s changes to partitions, doesn´t allow files in system/ and vendor/ to be replaced. This kernel is very far from the stock kernel. To account for this I can´t force load the stock kernel-modules for certain drivers as it happens on kernels that are closer to stock.
Instead we use Magisks function to overlay certain files during boot. Without a working Magisk environment the kernel cannot function.
Question: I have a phone that is converted from CN to WW and now there´s a warning from hardwarestub. Can I hide it?
Answer: Yes, I created a Magisk Module for those that want to hide the notification, so nobody needs to rely on paid apps.
The Magisk module can be found attached to this post.
Please note that refresh rate can´t be changed when the module is flashed. To able to change refresh rate or to remove the module, simple remove it in Magisk Manager and do a full reboot. I´ll attach it to the third post on this thread. There will be no support for this module from my side and no other support for converted devices.
Question: How to report bugs properly?
Answer: Have a look at post #3 in the linked thread. The linked guide is a pretty good starting point.
Before reporting any bug make sure you´re running on a stock configuration. That´s means you´re not using any mods, tweaks in kernel managers or other root tweaks , magisk modules, scripts or other modifications that alter various functions like sound mods, data traffic, sleeping behaviour, scheduler, magical battery tweaks etc.
Try to describe the issue as detailed as possible! Give your exact setup, like rom, magisk version, kernel version.
Is the issue reproducible? Does it happen frequently?
Provide logs, otherwise debugging is a lot harder. If you can already reproduce the issue and provide logs it greatly limits the amount of time I have to spent until I figure out how to reproduce it.
If the device force reboots/randomly reboots (that means you see the bootloader unlocked screen!) provide a .zip with the contents of sys/fs/pstore.
If the issue happens while the device is running provide a dmesg plus a logcat that you take while/shortly after the issue happens. This will log what´s running in the current session. Try to be as detailed as possible what´s happening when the issue appears. It will also help me in reading the log!
CleanSlate Features and how to use them
CleanSlate Features and how to use them
This kernels offers its users the possibility to use CleanSlate features. CleanSlate-Kernel is developed by @tbalden.
CleanSlate kernel follows a different approach than Kirisakura-Kernel.
We know each other well over the years now and often have worked together.
For more information about CleanSlate visit @tbaldens CleanSlate thread on the Rog 3 Forums linked here.
The CleanSlate features add a lot of flexibility to a device. That´s why I like to include the features in my kernel.
Notifications Reminder, Flashlight Notifications, Turn Phone to sleep and a very advanced sweep to sleep interface that works well with Android 10 Gestures.
We decided to transform Brightness Dimmer and FPS-Override into CleanSlate accessible features as well.
That allows users to easily control these features with the CleanSlate apps.
CleanSlate features are easily accessible via the CleanSlate Configuration app. The Cleanslate Companion app provides a userspace backend for the kernel and is required for some features.
Make sure to install both of these apps, when flashing my kernel and you want to utilize these features.
The apps ask for some permissions. Enable them and do a full reboot to make sure everything is playing nicely
that´s how the companion app will look after enabling it.
https://photos.app.goo.gl/x6sFJc5cUFT9Q7U47
It´s needed for userspace related features, like double tap swipe area for notification pull down.
Every section of the Configuration App has different settings. Basic, Advanced and Preset. You can click on these buttons to change between them.
Advanced will offer you more customization if available.
See the screenshots here:
https://photos.app.goo.gl/avPsiHHrzPwpMqMC8
To change settings, change them according to your liking and hit the "Save" Button. It is the second from the bottom right and will be greyed out if your settings are currently applied.
As you can see in the following screenshot:
https://photos.app.goo.gl/qaFKfLbfwUuyHW717
Brightness Dimmer is enabled, FPS override is set to 144FPS on low brightness. Power button is blocked in pocket and screen gets disabled when putting the phone face down on a desk.
You should be able to find both apps for free on the CleanSlate thread. However if you benefit from the features, think about getting the premium apps on the playstore to give a little bit back to @tbalden.
I hope this post might help some
Excellent! Keep it up
tbalden said:
Excellent! Keep it up
Click to expand...
Click to collapse
U aswell... Both of you keep up the great job
This is amazing, can't wait for the others to try and read their reviews..
just a small heads up before anybody complains.
We, @tbalden and me, just noticed a bug went unnoticed during our previous testing.
If you flashed this kernel or CleanSlate-Kernel, have the CleanSlate config app installed and Backlight dimmer enabled in the CleanSlate Config app. Make sure to keep the screen on for 3-4 minutes after rebooting your phone and the boot process finished.
Otherwise your screen will stay black. Display-Panel driver doesn´t seem to like our mod at the moment.
After keeping the screen on for 3-4 minutes the bug will not be triggered and you can use the phone as you wish.
Sorry for the inconvenience
The issue will soon be resolved in a new update
Freak07 said:
just a small heads up before anybody complains.
We, @tbalden and me, just noticed a bug went unnoticed during our previous testing.
If you flashed this kernel or CleanSlate-Kernel, have the CleanSlate config app installed and Backlight dimmer enabled in the CleanSlate Config app. Make sure to keep the screen on for 3-4 minutes after rebooting your phone and the boot process finished.
Otherwise your screen will stay black. Display-Panel driver doesn´t seem to like our mod at the moment.
After keeping the screen on for 3-4 minutes the bug will not be triggered and you can use the phone as you wish.
Sorry for the inconvenience
The issue will soon be resolved in a new update
Click to expand...
Click to collapse
Also just start the app manually on reboot, as a workaround.
Coming here from your OG Pixel kernel. Is this kernel for 2007.47 or 2007.32?
MrxSiN said:
Coming here from your OG Pixel kernel. Is this kernel for 2007.47 or 2007.32?
Click to expand...
Click to collapse
Nice to see you made the jump! Must be a hell of an upgrade on your side!
the .47 sources are merged. I´m using it on .47 at the moment.
I guess you can just give it a try and check if it boots/works on .32. If you decide to do so, it would be nice if you could report back here. It might help others
Make sure to have a PC with working fastboot environment nearby and a boot.img handy.
In case it doesn´t work, just force the phone to power down by holding power button plus volume down, once it powers off, keep holding power and volume up to boot to bootloader.
Connect to side port and flash your backup boot.img via fastboot. Always make sure to flash the matching boot.img for your firmware.
Hey guys and girls,
Here´s the fix that solves the black screen issue, that occurred when the screen was off while Brightness Dimmer got activated via CleanSlate Config App on boot.
It wasn´t detected immediately, because usually the screen of my device is on when I boot the phone as to check the logs and ensure everything is working
Now everything is working, so just flash the kernel and enjoy I´ll do a post soon, explaining the features a bit more for people unfamiliar with how the CleanSlate features work.
I´d advise everybody to read the instructions in the OP and follow them. They are written for a reason, because they ensure everything will be working as expected.
Kernel is made for the latest stock rom from Asus, you must update your phone to the most recent Asus update, before flashing the kernel.
Enjoy!
Changelog:
- Fix Screen not being able to wake up on a certain condition.
I wish you all a nice day/evening!
Download is below
Download:
Disclaimer/Important:
Kernel: https://www.androidfilehost.com/?fid=8889791610682925903
Instructions how to flash the kernel can be found in the OP!
But look at this post too
To make use of the CleanSlate features, like force FPS on Low Brightness or Brightness Dimmer you need to download both CleanSlate Apps:
Please take a look at the CleanSlate thread for CleanSlate features. I will provide the link to the free to download apps here.
If you use the CleanSlate features and benefit over time, maybe think about giving something back to @tbalden and purchase them from PlayStore.
CleanSlate Configuration App (to control the features):
https://www.androidfilehost.com/?fid=8889791610682925529
CleanSlate Companion App (provides additional information from userspace for CleanSlate Kernel features to work correctly)
https://www.androidfilehost.com/?fid=8889791610682925528
Have fun, enjoy the kernel and your phone.
If you like my work please consider a donation.
Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
I'm using Tencent Version, but already fully converted to Global ROM. Updated from 32 to 47. Already flash your kernel. It's works.
MrxSiN said:
I'm using Tencent Version, but already fully converted to Global ROM. Updated from 32 to 47. Already flash your kernel. It's works.
Click to expand...
Click to collapse
So what's the difference after?
AldRezaine said:
So what's the difference after?
Click to expand...
Click to collapse
If you mean CN to Global ROM, Global has no China bloatware. If you mean 32 to 47, here the changelog from Asus website.
1.Added “Quick launch camera” option in System Settings->Advanced
2.Added “Navigation blocking” feature for Game Genie which disables system gesture operations to avoid accidental touches in games.
3.Improved multi-touch when three or more fingers simultaneously touch the screen in games.
4.Fixed a problem with insensitive multi-finger touch response when playing PUBG
AldRezaine said:
This is amazing, can't wait for the others to try and read their reviews..
Click to expand...
Click to collapse
AldRezaine said:
So what's the difference after?
Click to expand...
Click to collapse
Just to steer this a bit in the right direction. This isn´t directed towards anybody in particular it´s just a general reminder what this thread is about.
There is no need to review the kernel. The kernel offers exactly what is described in the first post of this thread.
My advice is to read the description in the OP. All changes are explained in great detail there. Look around XDA, most OPs are kept way shorter with less explanations.
If you´re not into technical details, use google when descriptions or terms are unclear to you.
This is primarily a development focused thread. That´s why it is in the development section.
If there are issues when using the kernel or its features, provide logs and I will be glad to help you. If there are questions or things unclear, ask and I will try to answer. But I expect people to put in a bit of effort.
If you expect a review like, flashing this kernel causes my phone to use more or less battery as the stock kernel, you may want to re-read the OP on what to expect. I generally don´t like to see this in my threads.
Just to give an example that a "review" will never be applicable to each user:
Everybody uses their phone different. So certain changes to the scheduler may benefit user A, while they don´t benefit user B.
There is no need for a review. Just flash the kernel and try for yourself.
It´s very easy and straightforward to flash the kernel. And it´s also easy to return back to the stock kernel. If you don´t like it describe your problem as detailed as possible, as pictured in the FAQ and I will take a look at it or consider it.
Usually post like: "this kernel reduces my battery life by xyz" will just be ignored
It´s covered in the FAQ how to do all of this.
This is also a general reminder to everyone Let´s keep this thread development related and I hope this will turn out to be a good project!
I´m really looking forward to it. This phone is an absolute beast and so far I really enjoy using it.
For people a bit unfamiliar how everything works I plan to soon post a little guide on how to use the CleanSlate features.
Have a nice day everybody.
Here´s a small tutorial for CleanSlate features:
https://forum.xda-developers.com/showpost.php?p=83387681&postcount=3
Hopefully it will help some, that are not yet familiar with these.
I wish everybody a nice weekend.
Amazing work. Low battery temp while fast charging. Now I can just leave my phone with 30w charger without worry.
Do you have Telegram Channel?
I thought its not working after i flash but suddenly all the features is needed an app CleanState Config/Companion i downloaded it and it works the 144hz in 0 brightness nice2. i will use this kernel as my daily bases.
I turn on the facedown to table to turnoff the screen or vibrate but its not working for me.
Edit: Its working btw there is a 1 sec delay after facedown so far so good.

Categories

Resources