[Galaxy S III Original Android Development] netarchy:
FAQ:

Q: Is the kernel compatible with AOSP/CM9?

A: A test build has now been published which is intended to be fully compatible with AOSP. So far, it has only been tested using the CM9 ROM.

Q: My camera preview is all messed up!

A: If you're using LFB based ROM or newer, you need version 1.2.x of the kernel.

Q: OMG I'm not stable when I overclock to X

A: Your phone likely cannot handle the overclock. Get over it, and use a lower clock speed.

Q: How to I adjust the voltages for the cpu?

A: You can either use SetCPU's voltage interface, or you can do it manually through the UV_mV_table interface (if you don't understand how to manually adjust the table, just use SetCPU).

Q: What are the voltage limits?

A: The ceiling is 1500mV, the floor is 600mV.

Q: How do I overclock the cpu?

A: Use a tool such as SetCPU to handle clock adjustments.

Q: Why is Deadline the only available I/O scheduler?

A: After extensive testing, we've come to the conclusion that Deadline represents the best balance between performance and overall user experience. If you think otherwise you are officially incorrect until we determine otherwise, and shall be subjected to regular beatings by our army of rabid naked bunnies... and/or a place in "Post 5."

Q: Do the exfat modules get loaded?

A: Yes.

Q: How do I use the init.d script support?

A: Busybox needs to be installed into /system/xbin and your scripts go into /system/etc/init.d/

Q: Help, SetCPU wants to set my voltage to over 9000!

A: SetCPU has millivolts hard coded as a unit of measurement. The numbers reported are actually in nanovolts. Use usual millivolt settings (900 for 900mV, 1200 for 1200mV etc) and the clock interface will automatically convert.

Q: How do I use the GPU control interface?

A: Currently you change the values by echoing new values into a specific device file. If you echo 6 values, this will modify the clock up/down thresholds, if you echo 4 values, this will change the GPU speed at each step. For example:

echo "160 266 350 440" > /sys/class/misc/gpu_clock_control/gpu_control

will restore default clocks.

cat /sys/class/misc/gpu_clock_control/gpu_control
cat /sys/class/misc/gpu_voltage_control/gpu_control

To see the current values for each setting.

Changelog

Revision 1.2.2:
- Updated to Samsung Update 4
- Freezes and Wifi dropout issues should be resolved on LG8 roms

Revision 1.2.1:
- Camera fix for LFB Roms

Revision 1.2.0:
- Updated to Samsung Update3 (LFB sources)
- Version bump to reflect base update
- Camera fix declared stable

Revision 1.1.1-AOSP:
-Implemented support for AOSP using commits from the CyanogenMod I9300 kernel.

Revision 1.1.0:
- A configuration option that was designed to keep more memory free
resulted in a huge degradation in performance over time. It has
reverted, and the minion responsible now resides at the bottom
of Crystal Lake.
- GPU Voltage and clock control added.
- The CPU should no longer lock at 1200mhz during GPU load
- No bunnies were harmed during the making of this build.

Revision 1.0.2:
- exfat modules not only load, but actually work!
(The culprit responsible has been reduced to a pile of ash)
- Undervolting floor lowered from 850mV to 600mV
- run-parts support added to init.rc for ROMs that allow use of /system/etc/init.d

Revision 1.0.1:
- The beast responsible for exfat modules not loading has been beaten
senseless with assorted blunt objects.

Revision 1.0.0:
- Initial release
- Overclocking to 1800mhz is possible, while possibly not stable on all phones.
Overclock at your own risk.
- Deadline tweaked and set as default I/O scheduler.
- Module exception to allow loading exfat modules
- SHA1 algorithm improvements
- CRC32 algorithm improvements
- CPU Voltage control interface implemented
- Debug overhead removed from config and assorted places in source code