오늘은 Str@wBerry(이하 딸기)님의 WIDzard Kernel(이하 위자드 커널) 2.0 버전이 나온 뜻깊은 날입니다. 무작정 커널개발에 뛰어드시고 커널에 대한 열정 하나로 밤낮없이 개발에 몰두하신 딸기님의 노고에 다시한번 박수를 보내며 이 글을 시작합니다.
2014년 중반, 타기종과는 다르게 갤럭시노트2는 커널이 많지 않았고, 커널이 있어도 해외 커널이라 별도의 패치를 하지 않으면 사용하지 못하는 경우가 다반사였습니다. 애초에 국내용으로 만들어진것이 아니였기 때문에 여러가지 오류를 뿜어내거나 실사용에 지장을 주는 배터리 실사용 시간을 기점으로 하여 딸기님은 위자드 커널 개발을 시작하셨습니다.
v1.0 이전에는 항상 불안정하고 커널중에서도 많이 알려지지 않은 커널이였는데, 언제부턴가 갤럭시노트2 유저들에게 입소문을 타기 시작했고, 해외에서 요청 이메일이 오는 커널이 되기까지 딸기님의 열정과 노력과 고뇌의 시간이 엄청나셨습니다. v0.1부터 v2.0까지 체인지로그만해도 벌써 엄청나게 길어졌다는 것에서 그 열정이 보입니다.
2014년 하반기로 접어드는 시점인 지금 딸기님의 위자드커널은 더욱더 성장하여 개인 홈페이지(http://widzard.zyns.com/)를 운영하게 될만큼 위자드 커널의 수요가 증가했고, 딸기님은 피드백을 받으시며 밤낮없이 커널개발에 몰두하십니다.
아무것도 모르고 시작한지 반년이 지난 지금, 아무리 오랜시간 걸려서 활성화하고 추가한 기능이여도 실사용에 지장을 줄만큼 오류를 뿜는 기능이면 과감하게 빼버릴정도로 부드러움과 최적화에 중점을 두고 개발하셨습니다. 아직 무한한 성장의 가능성이 있는 커널이지만 지금까지의 커널도 충분히 유저들을 만족시켰고, 빠른 피드백 수용과 업데이트는 갤럭시노트2의 생명줄이라고 봐도 무방할 정도입니다.
2.0 버전까지 달려오면서 뿌듯할때보다는 힘들고 지쳐서 그만두고 싶을때가 더 많으셨겠지만, 앞으로도 힘내셔서 질좋은 커널개발에 힘써주시기 바랍니다.
WIDzard Kernel Change Log
beta v0.1
CPU Governor(zzmoove, lulzactiveq, adaptive, interactive, conservative,
ondemand, userspace, powersave, peagsusq, performance) 추가
I/O Scheduler (noop, deadline, row, cfq, sio, zen) 추가
CPU OC 200Mhz ~ 1920Mhz
SELinux Disabled
beta v0.2
3.0.33 -> 3.0.101 Upstream
SELinux Enforcing
beta v0.3
CPU Voltage, Clock Control
mDNIe (색온도조절) 추가
Triangle away Support
beta v0.4
LED Control
exFAT v1.2.5 업데이트
beta v0.5
GPU Voltage, Clock Control
LED Control
init.d 추가
beta v0.6
Governor : smartassV2, hotplug 추가
Scheduler : vr, fifo 추가
zRam, Dynamic FSync 추가
beta v0.7
BATTERY Charge Voltage Control
Some error FIX
beta v0.8
zImage 플래싱 형식에서 Boot.img 플래싱 형식으로 변경
SELinux Permissive 모드 변경
Triangle Away 초기화 안되는 문제 해결
LulzactiveQ 가버너 트윅
AIO Support
beta v0.9
CPU OC 2.0GHz Support
Ramdisk Fix
sTweaks Support (모든 기능이 작동하지 않습니다. 몇몇 기능만 작동, 추후 지원 예정)
Devil Kernel Manager Support
Governor : YankasusQ 추가 (PegasusQ 기반)
CPU 전압설정 범위 재지정 ( 600 ~ 1600 )
CPU 전압테이블 Fix
v1.0
Dynamic FSync 제거
Core BUG FIX (@Thx, arter97)
Stable Code
v1.2
3.0.31 - KitKat Kernel
SELinux Enforcing -> Permissive
LZ4 Compress/Decompress
Linaro Toolchain 4.7.4
-O3 Optimize Toolchain Option
Triangle Away Support
STweaks Support
frandom Add
Adaptive Body Bias Control (ABB Control)
CPU Governors
zzmoove
lulzactiveq
yankasusq
hotplug
adaptive
interactive
conservative
ondemand
userspace
powersave
pegasusq
performance
I/O Schedulers
noop
deadline
row
cfq
sio
vr
zen
fifo
Dynamic Fsync Enable
TCP Congestion Control
cubic
bic
reno
westwood
highspeed
hybla
CPU Voltage Contorl
Battery Charge Voltage Control
GPU Voltage Control
CPU Overclock 2.0GHz
GPU Overclock
AES and SHA1 routines Optimize
v1.3
Add
Governor : Intelliactive (Linux Kernel 3.1 Backport)
I/O Scheduler : BFQ (Version Update : V7R2)
LED Fading (AOSP처럼 부드럽게 반짝입니다.)
GPU Simple Algoritm
Update
LowMemoryKiller
Dynamic FSync
ZRAM
ZCACHE
LZO
SNAPPY
LZ4
ZZMOOVE Profile
GPU R3P2 Rel3 -> Rel4
etc.
DVFS(스로틀링 해제) : 게임 실행 시 클럭 다운되는 현상 해결
Touch Wake Disabled : 통화시 화면이 켜지는 현상 해결
PegasusQ 수정 : Core가 2개만 활성화되는 현상 해결
이번 버전부터는 STweaks를 지원하지 않습니다.
입증되지 않은 프로필값들로 인한 성능 저하 우려
모든 기능이 지원되지 않았던 점
v1.4
Add
SLQB memory Allocator (Thx@Nick Piggin)
R/W Semaphore implement : XCHGADD_ALGORITHM
ARM CPU Topology
Update
Memory Some Tweaks
etc.
게임시 발생되던 잔렉들 완벽히 제거
v1.5
Add
Governor : Wheatley (3.4 Kernel Port)
GPU Simple Algorithm
Update
USB 충전 안되는것 수정
etc.
Aroma Installer 형식으로 리커버리 설치형식 변경
v1.6
Add
TouchWake/Slide2Wake/KnockOn(Thx@arter97)
mDNie Hijack 기본 적용 (해제 및 조절 가능합니다.)
Wolfson/Boeffla Sound Engine(V1.6.6)
AIO (Backport Kernel 3.6.x)
init.d Support withe Some Tweaks
Synapse Optimized for WIDzard Kernel
Update
3.0.31 -> 3.0.101로 Upstream
SELinux Permissive (Kernel이 순정커널인지 체크하는 문제 해결)
게임 실행 시 프리징 현상 발생 문제 해결
화면 끄고 음악들을때 끊기는 문제 해결
불필요한 Log 발생 제거
etc.
Aroma Installer : Knox 제거하는 단계 추가
Synapse가 자동으로 설치됩니다. Kernel Control 가능합니다.
v1.7
Add
f2fs Support
Update
TouchWake / Slide2Wake / KnockOn 정상 구동
Boeffla / Wolfson Engine : 스피커 값 고정 이슈 해결
Toolchain Change : Linaro 4.9.1
게임 프리징 문제 해결 ( 1시간 테스트 결과 정상 )
etc.
설치시 제공되던 Synapse 앱 제거, 마켓에서 다운로드 후 사용
v1.8
Add
Implemented intelli_plug
TouchWIZ/AOSP Based ROM Vibrator_Control (진동세기 조절)
Add Governor : badass, asswax, dancedance, smartassH3,
nightmare, abyssplug, darkness, LionHeart
빌드만 되게 넣었습니다. 기능이 100% 구현되지 않습니다. (테스트 용)
Add Governor : intelliactive (정상 작동)
Update
Scheduler : zzmoove 0.9 beta3
Some Tweaks.. (성능 향상)
etc.
최초 설치시 Synapse 앱 다시 제공 (안드로에드 업그레이드중.. 문제 해결)
Synapse 앱 한글화 번역 ( 완벽한 번역은 아닙니다)
번역 : Kaldaris ( @WIDzard Team )
v1.9
Add
Nothing
Update
Thread 처리 관련 트윅
etc.
KT, SKT : WiFi 비밀번호 저장 관련 이슈 해결
LG U+ : 같이 배포되던 RIL 패치 파일 제거
v1.9.5
0. Battery drain fix
CPU idle시 처리 방법 init.d 스크립트 수정으로 Fix하였습니다.
(V1.9 AOSP버전에서 생겼던 배터리 드레인 입니다.)
1. CPU Governor fix
1) Conservative
마이크로 아이들시에 가버너를 이용할 수 있게 하였습니다.
2)zzmoove
0.9 Beta 3 버전에서 0.9 Beta 4 버전으로 버전업 하였습니다.
2. Network lost Packet tweaks
중간에 패킷이 손실되는것을 막기 위해 보완했습니다.
3. Memory management tweaks
스크린 온/오프 시에 메모리 관리율을 조절하여 퍼포먼스를 내기 위해 트윅하였습니다.
SELinux 관련 메모리 누수 방지
4. Snapshot I/O tweaks
Snapshot I/O 관련 트윅으로 29MB/s -> 40MB/s 정도로 퍼포먼스가 향상 되었습니다.
5. Overflow & Deadlock tweaks
오버플로우가 발생되는 경우를 미리 체크하여 오류를 최소화 합니다.
NULL포인터 역참조 방지 및 데드락 최소화 작업을 진행하였습니다.
6. Workqueue tweaks
workqueue 관련해 최적화 하였습니다.
v2.0
0. All : Repair Sound Engine
울프슨 사운드 엔진 버전도 배포합니다.
1. All : Synapse English/Korean Version
영어버전과 한국어버전을 포함하였습니다.
2. All : Battery Tweaks [Tested]
화면꺼짐 시의 배터리가 거의 달지 않습니다.
3. AOSP : GPU Stock Driver
Touchwiz에서 사용하는 드라이버를 AOSP에 넣어 퍼포먼스를 높혔습니다.
4. AOSP : APN Update
AOSP에서 APN가 등록되어 있지 않아 LTE가 잡히지 않는 문제를 해결했습니다.