간만에 갤럭시 넥서스를 잡아서 4.4.2(CM11)를 깔삼하게 올려줬습니다. 그리고 내장된 동영상을 돌려봤는데 10fps 수준으로 끊기는 겁니다.

분명히 제 기억으로는 1080p 영상까지 x264 코덱에 대해서는 갤투와 동일한 재생능력을 보였는데 돌아가던 동영상이 안 돌아가는 건 이해할 수 없었습니다. 설상가상 특정 720p에서까지 버벅이더군요ㄷㄷㄷ 이 정도면 버그 수준입니다.




며칠 동안 xda를 열심히 뒤졌고 열심히 테스트해보았습니다. 간단히 결론만 정리만 하겠습니다.


1. 안드로이드 4.3 젤리빈 이후 버전은 메모리에 조작이 가해져 전과 같은 HW 디코딩이 불가능하다.

2. 안드로이드 4.2.2 이전 롬&커널 에서는 정상적인 동영상 재생이 가능하다.

3. 4.3 이후의 버전은 아래 패치 파일로 해결이 가능하다.




관련 문제에 대해 검색해보면 Mpokang 커널이 상위에 링크되는 경우가 많은데 파일이 삭제되어 있습니다. 구글링하면 커널 파일을 구할 수 있지만 사용은 추천드리지 않습니다.


그래서 아래의 링크를 참조하시는 게 가장 편하고 간단한 해결방법일 것입니다.


http://forum.xda-developers.com/showthread.php?t=2559138


이 분의 무한한 노력으로 /system/vendor/firmware/ducati-m3.bin 파일이 교체되면서 하드웨어 디코딩이 정상적으로 이루어지지 않았고, 이걸 예전 버전으로 돌리면 정상적으로 동영상을 재생할 수 있게 됩니다.




하지만 여기에는 결정적인 문제가 있습니다.


RAM을 건드리는 커널은 적용하면 안 됩니다. 동작하지 않습니다.


Galaxy Nexus Index Thread[링크]에 나오는 대부분의 커널은 모두 RAM 파티션에 대해서 조작이 가해진 상태입니다. BigMEM이라던지 ASRAM이라던지 'RAM'이나 'MEM' 문구가 붙어있는 커널에 적용하면 정상적인 재생은 커녕 HW 디코딩 자체가 불가능해질 수 있습니다. franco 커널 역시 자체적인 RAM 트윅을 수행하기 때문에 적용이 불가능합니다.


제가 테스트해본 건 CM11 나이틀리 빌드 내장커널, Tinykernel no ASRAM 버전이 적용가능했습니다. 예전 4.2.2 롬과 동등한 재생능력을 확인했습니다.


RAM을 tweak하지 않는다는 말은 결국 가용램이 부족해진다는 말이며, 퍼포먼스에 어느 정도 영향을 끼칩니다. 램부족으로 커스텀 커널을 쓰시는 유저분들이라면 이건 상당히 치명적인 문제점입니다. 이 경우 4.2.2로 내려가는 수밖에 없습니다.


또 문제는 화면의 보라돌이 현상(purple tint)를 해결한 커널 중에서 franco 커널이 가장 완벽하게 화면을 tweak[각주:1] 두었는데 거기에 이 파일이 적용되지 않는 게 가장 슬픕니다. 결국 화면 캘리브레이션, 동영상 재생 중 하나는 포기해야 할 것 같습니다.




  1. (삼성의 일반적인 AMOLED 튜닝과 상당히 유사해서 전혀 위화감이 없습니다. 보라돌이 현상을 거의 제거했더군요) [본문으로]