자양
11.02.16
조회 수 9568
추천 수 37
댓글 41
이때까지 개발하면서 느낀점이나 내부 기능의 정리 및 회고입니다.
출처)
http://blog.naver.com/dowkim10/120124163384
----------------------------------------------

한달 반 동안 갤럭시 튜너를 개발하면서 상당히 즐거운 시간을 보냈다.
초반에는 자바나 안드로이드 프로그래밍을 몰라서 이 부분에 대해 시간투자가 많았지만, 후반부에는 익숙해져서 인지 편하게 작업한 것 같다.

사실 기능적으로 복잡하고, 일반 어플에서 보지 못하는 특수한 기능들이 많아서 신기하게 생각하실 분들도 많을 것으로 생각된다.
하지만, 내용적으로는 사실 간단한 내용이고 시간을 많이 투자 한것도 아니다. (평균 하루에 2-3시간)

각 커뮤니티에서 댓글들을 보면, 아직 이 어플에 대한 이해와 사용법및 오해의 요소들이 많은것 같다.
제일 눈의 띄는것은 사람들이 루팅과 패치에 대해 구분하지 못한다는 것이다.
갤럭시 튜너는 루팅된 폰에서 동작하는 것이지 특정 환경을 요구하는 것이 아니다.
예를 들면 테그라크등을 설치해야 한다는등, 부두를 설치해야 한다는등의 얘기는 자주 볼 수 있었다.
사실, 갤럭시 튜너는 루팅 어플(루트 익스플로어, 테마 스토어등)중의 한가지 일 뿐이다.

갤럭시 튜너의 모든 메뉴에서 나오는 값들은 현재 시스템의 값을 보여주는 것이지 권장값이나 변경된 값을 보여주는 것이 아니다.
그리고, Apply를 누르지 않는 이상 어떠한 값도 바꾸지 않는다. 즉, 아무런 작업도 하지 않는다.

그리고, 특정 기능을 사용한다고 해서 CPU 로드나 배터리 사용이 증가 하는것도 없다. 이는, 모든 설정들을 한번의 변경으로 이루어지고, 백그라운드에서 계속 수행하는 구조가 아니기 때문이다.
일례로 특정 기능을 적용하고, 어플 자체를 Kill하고 심지어 갤럭시 튜너를 지워도 그 기능은 유지되어 있기 때문이다.
(약간의 예외사항으로는 touch gesture는 터치 Up,Down에 대해 해석하는 루틴이 추가 되긴 했지만, 배터리 사용증가는 거의 없다고 봐도 된다.)

갤럭시 튜너의 다음 항목들은 커널 모듈로 만들어져 있다.
(LCD color, Sound, Over clock, Key map, Touch gesture)
아직 본인도 루팅어플중에 모듈을 사용하는 것은 보지 못한것 같다.
커널 모듈은 실행중에 커널에 삽입이 되어 커널의 모든 기능을 변경할 수 있는 막강한 방법이다.
즉, 모든 디바이스를 제어하고 설정을 변경하고 커널의 핵심 기능까지 변경이 가능하다.
단지, 기능이 막강한 대신 커널 코드에 대한 이해가 필요하고 세심한 주의가 요구된다.
(커널 모듈은 휘발성이라서 런타임에 동적으로 커널에 삽입되거나 제거될수 있다. 하지만 껏다 키면 모듈기능은 다 날라간다)

기술적 내용은 아래 사이트에서 있으나 한동안 업데이트 하지 않았다. 기회가 되면 내용을 보충할듯
http://blog.naver.com/dowkim10/120121423774

세부적 내용 1 (커널 모듈사용)
1. LCD color
이 부분은 좀 아쉬움이 많이 남는다. RGB 레벨이나 채도등도 변경해 보고 싶지만 문서가 없는것이 아쉽다.
기본적으로 커널코드의 내용으로는 원하는 기능을 구현할수 없었다.
framebuffer쪽에서 color나 Hue값이 지원되지 않았고, mdnie나 tl2796쪽에서 변경해야 하는데 양쪽다 문서가 없다.
삼성 모바일에 아는 사람도 없고, 그쪽하고는 관련이 없어서 이 부분은 그냥 이대로 둬야 할듯.
(본인은 직업적으로 안드로이드를 하지는 않고 취미로만 한다.)

2. Sound
사람들이 제일 많이 애용하는것 같다. 이 부분도 문서는 없지만, 커널 코드에 대체적으로 유추할 수 있는 부분이 많아서 간단한 것만 구현하였다.
현재도 추가할 수 있는 내용은 많은데, 추가하면 부두쪽과 충돌이 있어서 부두나 갤럭시 튜너 둘중 하나를 유저가 선택해야 한다.
아무래도, 부두쪽에서 EQ, 3D쪽 추가하면 그때나 기능추가를 좀 더 해야겠다.

3. Over clock
제일 논란이 많은 기능이다. 첨부터 지금까지 제한(5분, 5회사용)을 풀어 달라고 요구를 끊임없이 한다.
그냥 아예 오버클럭 기능자체를 빼 버릴까 고민을 한번씩 한다. (사실 몇시간 만에 만든거라 미련도 없다.)
이 부분에 대한 제한을 풀 가능성은 거의 없다고 봐야 한다. 차라리 기능 자체를 빼버리는쪽을 선택할 듯

4. Key map 및 touch gesture
이 부분은 리눅스 커널의 input layer 및 갤럭시의 keypad 드라이버, touch 드라이버, jack 드라이버등을 참조했다.
커널 레벨에서 다룬것이라서 안드로이드 프레임워크에서는 변경된 사항에 대해서 모른다.
즉, 아주 저수준에서 key input을 발생시킨 것이다.
touch gesture는 만들면서도 좀 재미가 있었는데, 원래의 touch 드라이버에다 input handle과 input handler를 달아서 좌표를 훅킹한 방법을 사용했다.
여기서 넘어온 좌표를 해석하여 touch gesture를 만든 것이다.
이러한 방법은 user 레벨에서 다루는 것에 비해서 오버헤드가 아주 작아서, cpu 로드를 거의 차지하지 않고 강력한 방법이다.
단지, 커널 코드를 모르면 구현하기는 좀 힘들듯.

세부적 내용 2 (기타)
1. IO 스케쥴러
사실 이 부분은 이전에 있던 단일 프로그램을 갤럭시 튜너에 포함시킨 내용이다.
효과로 보면, 개인적인 생각으로 크지 않다고 본다.
즉, deadline이나 CFQ 어떤쪽을 선택해도 크게 나쁘거나 좋아지는것은 아닌것으로 보인다.

2. Memory Manager
먼저 vm쪽은 /proc/sys/vm 디렉토리에 있는 몇몇 파일들의 값을 보여주거나 바꿀수 있는 인터페이스를 제공했다.
여기서 제공하는 6개도 그중 일부이다.
이 부분은 사실 리눅스 커뮤니티 사이에서도 논란이 많은 부분이고 시스템별 최적의 값을 찾는것도 어렵다.
(사실 본인도 어떤 내용인지는 알지만 아직 어느값이 내 폰에 맞을지 모른다.)
minfree(어플리 케이션 캐시, oom_kill)쪽도 삼성에서 제공하는 값 자체가 어찌보면 최적일듯 하다.
사실 메모리 메니저 부분도 내용을 알고 적절한 선택을 해주면 좀 더 나은 환경을 제공해 줄 수 있다.
하지만, 내용도 모르고 임의의 값을 설정하는것은 더 않좋다.

3. Orientation Fix
간단한 원리로 구현된 것이다. Orientation Fix를 클릭하면 그냥 가속도 센서를 disable시킨다.
restore를 클릭하면 센서를 enable 시킨다.
커널 코드를 보니 센서에 대해서 IOCTL을 허용하게 해 놓아서, 쉽게 구현한듯.

4. Firmware(kernel writing)
커널을 odin없이 폰에서 직접 변경할 수 있어서 편리해 하는것 같다.
세부적인 기술적 내용은 아래에서
http://blog.naver.com/dowkim10/120121116733

5. Using with Unrooted (루팅없이 사용하기)
이 부분에 대한 오해가 좀 있는 것 같다.
갤럭시 튜너는 루트 권한에서만 동작한다. 따라서 루팅이 반드시 필요하다.
루팅 권한을 주는 것은 루팅했을때 설치된 "su"에 의해서 가능한 것이다.
하지만 루팅을 하게되면 금융권 어플을 사용하지 못하는 단점이 있다.
편의를 위해서 루팅을 해제해도 갤럭시 튜너를 동작시킬시 있도록 su를 대체하는 다른 파일을 설치하고, 따른 형태로 루트권한을 얻게 하도록 한것이다.
따라서, 처음 사용시에는 여전히 루팅이 되어 있어야 한다.

댓글 41
  • ?
    감사합니다.^^;덕분에 잘 이해가 되었습니다.
  • ?
    투덜이
    11.02.16
    감사합니다!!
  • ?
    감사합니다 ^^
    자양이네에 방문하도 좀더 자세히 읽어보고 익히도록 하겠습니다 ^^

    좋은 어플을 만들어 주신점
    그리고 이렇게 사용하는 유저들을 위하여 설명을 해주신점 너무 감사합니다 ^^
  • ?
    Darkness
    11.02.16
    첨에 스케쥴러 때문에 썼다가 현재는 사운드 때문에 쓰고 있습니다.
    (물론 그 밖에 기능도 쓰지만요~^^;;)

    아무튼 좋은 어플 만들어 주셔서 참 감사하네요~
    갠적으로 EQ는 특히나 잘 쓰고 있고, 쓸때마다 감사한 생각이 드네요~^^
  • ?
    인절미
    11.02.16
    잘 읽었습니다 ^^
    좋은 어풀 만들어 주셔서 감사합니다~
  • ?
    suckman1
    11.02.16
    항상 감사하고 있습니다. ^)^

    스마트폰은 이제 저에게 mp3대용품입니다.
  • profile
    덕분에 행복합니다. 고맙습니다.
  • ?
    사운드 기능때문에 귀가 너무 즐겁습니다!
    항상 감사한 마음으로 잘 사용하고 있습니다. ^_^
  • ?
    진정한 회고네요..
    링크자료는 한번 봐야겠네요..
    감사합니다...
    한동안 차를 놓고 다녔을땐..
    갤럭시 튜너땜에 전철에서 즐거웠더랬죠..
    그리고 오버클럭은 정말 빼지는 않았음 합니다..
    딱 지금이 좋아요.. ㅋㅋ
    필요할때만 빠릿빠릿하게 쓸때.. ^^
  • ?
    자양
    11.02.16
    웬지 이제는 갤럭시 튜너를 떠나 보내는 느낌이네요. ^^

    이제 새로운것을 또 찾아봐야 지요..
    개인적으로는 테마 공부를 해보고 싶은데, 그래픽쪽은 문외한이라 굉장히 더딜 것으로 생각되네요..
    근데 재미는 있어 보여요.
  • ?
    항상 감사히 잘쓰고있습니다^^
  • ?
    잘 봤습니다 덕분에 갤스 쓰는게 더 즐거워진거 같아요 고맙습니다
  • ?
    Facebook
    11.02.16
    진정한 오픈소스.. T_T

    추천 추천 추천!! 100개 달려봅시다 ㅋㅋ
  • ?
    박혜용
    11.02.16
    자양님 너무 징그러워요... 이런거 어떻게 만드시는거예요 ㅠㅠㅠ 너무 멋져요 ㅠㅠㅠ 제스쳐 기능지금 적용했는데 너무 신기해서 토나올꺼같아여!!감사합니다^^
  • ?
    언제나 감사하고 최고 추천 날려봅니다.~~~
  • ?
    창아
    11.02.16
    언제나 감사 감사 할 뿐입니다....^^ 추천 100개 달려 봅시다....^^
  • ?
    RR™
    11.02.16
    수고하셨습니다..
    갤럭시 튜너가 갤스 애용하는 이유 중 하나이지요..
    추천은 기본!
  • ?
    자양님, 정말 최고십니다!!
    그냥 글만 읽기에도 벅찬 이런 내용들을 가지고 다른 많은 분들께 행복을 주셨다는 사실이 더욱더 대단하게 느껴지는군요. 그간 갤럭시 튜너로 인하여 장시간 수고 많으셨습니다!! 제가 드릴 수 있는 것은 추천 뿐이라는 것이 정말 마음 아프네요ㅠ 진실로 고맙습니다. 앞으로도 멋진 모습으로 뵐 수 있기를 바랍니다. 오늘 하루 유쾌하고 즐겁게 잘 마무리하시고 편안한 저녁 시간 보내시길 바랍니다. 느을~행복하세요*^^*~!!
  • ?
    Facebook
    11.02.16
    아.. 그리고 마켓에 후원버전이 있습니다..
    여건 되시는 분들은 $1 짜리나 $2 중에 하나 구입하시는 것도 좋을 것 같습니다.
  • ?
    young
    11.02.16
    감사합니다
  • ?
    헤즐
    11.02.16
    정말 감사합니다..^^
  • ?
    자양님! 언제나 조용하게 저희에게 크나큰 선물만 주시곤 했습니다.
    저희가 드릴 수 있는건 이 댓글과 추천밖에는 없는것이 안타까울정도입니다.
    그동안 정말 수고 많으셨고, 질문에 시달리셨던 가슴을 잠시 잠깐이라도 내려 놓으시고
    보다 더 여유로운 생활을 하셨으면 합니다.

    갤럭시튜너를 떠나보내는 것이 왠지 자양님을 떠나보는것 같아 조금 쨘해지기도 합니다.^^
    그동안 표현 못했던 인사말 남깁니다.
    감사합니다.^^
  • ?
    자양
    11.02.16
    사실 특별히 어려운거나 스트레스를 받고 한것도 아니고, 개인적으로 참 즐거운 시간들이었습니다.

    개인적으로는 안드로이드 보다는 meego나 ubuntu tablet등에 더 관심이 많아요. ^^
    앞으로 당분간 끊엇던 겜을 할지, 다른쪽 리눅스를 해볼지는 모르겠지만, 여전히 맛클과 안드로이드의 끈은 놓지 않을듯 하네요.
  • ?
    io스케줄러는 자양님이 처음 소개하셨을 때의 말씀처럼 양쪽 간에 각각 장단점이 있는 터라 결국 어느 순간인가부터는 적용하지 않게 되더군요.

    대신에 메모리 관리 쪽은 처음 얼마간 이것저것 해보다 그냥 기본값으로 썼었는데, 최근에 와서 다시 앱 캐쉬 쪽 값들은 좀 적용해보고 있습니다. 이건 개인적으로는 나름 효과를 좀 보고 있는 듯합니다.

    VM 캐쉬 쪽은 모르기도 하거니와 짧은 생각으로도 이번 TA28 버전의 설정값이 최적화는 아니더라도 무난하지 않겠는가 하는 생각에 펌업 전이지만 이미 TA28의 기본값으로 조절해서 쓰는 중이구요.

    사운드 쪽은 처음부터 줄기차게 써오고 있었고, 앞으로도 줄기차게 쓰게 될 듯합니다^^

    제스처 기능은 이제 막 업데이트하고 리붓 중이라 아직 확인을 못하고 있습니다만, adw 홈어플이 제공하는 제스처 기능들을 이미 좀 쓰고 있는 관계로 따로 추가해 쓰지는 않을 지도 모르겠네요. 물론 상황을 봐서 튜너가 제스처 기능 밀어내고 대신하게 될 수도 있겠구요.

    지금 보니 바탕화면 제스처 기능은 투 핑거 형태로 되어 있네요. 이거라면 어쩌면 추가로 한둘 정도의 기능은 넣어 쓸 것 같기도 합니다.

    오버 클럭과 LCD 컬러와 회전고정과 언룻 기능은 개인적인 호오와 휴대폰 사용환경 탓으로 앞으로도 계속 구경만 하고 말지 싶습니만, 키 리맵핑 기능과 커널 쓰기 기능은 노래 들을 때마다, 커널 밀어넣을 일 있을 때마다 한 번씩 너무나도 유용하게 쓰고 있습니다.

    결론은, 갤럭시 튜너 덕분에 휴대폰을 얼마나 편하고 유용하게 쓰는지 모릅니다 ^^

    늘 너무 감사합니다, 자양님^^

    그리고 테마에 관심 가지게 되시거든 기술적인 측면에서 접근하게 되시지 않을까 조심스럽게 추측해봅니다^^ 요것도 고칠 수 있다, 요것도 변형이 가능하다, 이렇게... 떡님이 좀 그러시거든요^^
  • ?
    키쿠치
    11.02.16
    각 기능들이 따로 따로 어플로 나왔어도 모두 대박이었을겁니다.
    갤럭시튜너 하나로 갤럭시 사용이 편리해지고 음감시에는 매우큰 만족감을 주었습니다.
    그 어떤 어플보다 업데이트에 대한 기대가 컸던 갤럭시튜너 정말 완소네요.
    애 많이 쓰셨습니다. 정말 고맙습니다.
  • ?
    갤럭시튜너는 정말 신세경 입니다 ^^ 항상 감사드립니다 ~
  • ?
    Mraz
    11.02.16
    왠지 서운하네요...힝.....ㅠ
    그래두 자양님덕분에 제귀는호강하고있지요 ^^;;
    여태껏 고생하셨어요 ^^
  • ?
    자양님 테마쪽은 포기하세요. ㅎㅎ. 흰머리 나실겁니다.
    좋은 자료들 감사합니다.
  • ?
    lkelej
    11.02.16
    항상 감사하면서 쓰고 있습니다^^
  • ?
    자양님의 수고로 많은분들이 신세경에 빠져살고 있습니다
    감사드립니다~ (_ _)
  • ?
    좋은 자료 감사한 마음으로 잘 쓰고 있습니다^^
  • ?
    꽁알이
    11.02.16
    감사합니다.. 잘 쓰고 있습니다..모든기능들이 진짜로 맘에 듭니다...감사합니다..
  • ?
    좋은자료 정말 감사합니다.
    그동안 수고하셨습니다. 튜너 정말로 좋아요..
  • ?
    Tavris
    11.02.17
    갤럭시튜너 항상 너무 감사한마음으로 사용하고있습니다..자양님 감사합니다.
  • ?
    최고의 어플 항상 감사히 사용하고있습니다 파워키매핑이 요즘 무지편하네요
    훅기능이 이어폰을 끼웠을때만 사용되어진다면 더좋을것같다는 의견 살짝쿵드립니다^^
    으으 튜너없이는 폰을못쓰겠어요ㅜㅜ
  • ?
    그동안 수고 하셨습니다.. 감사히 잘듣고 있습니다.. 즐거운 주말되시길 바랍니다..
  • ?
    대단하세요 정말 수고하셧습니다.
  • ?
    쥬랑
    11.02.21
    너무 감사합니다~!!
  • ?
    Gz
    11.03.02
    겔스 유저라면 버릴수 없는 것중하나죠

    명품 감사합니다
  • ?
    모르는것 많이 알게되는 글입니다... !!
  • ?
    감사합니다. 튜너는 정말 물건입니다^^
댓글 쓰기 권한이 없습니다.
분류 정렬 목록 검색 쓰기
List of Articles
제목 글쓴이 추천 조회 날짜
apk manager, apk tool을 대신할 프로그램 4 file snjxa 2 3190 2011.02.23
갤럭시S 순정 뮤직위젯 팁!!! 4 file 뽀오 4462 2011.02.22
갤럭시 s 투폰 펌웨어(ext3)의 소개 36 자양 23 8362 2011.02.22
터치부스터의 기능 설명 5 손익끄 3 5014 2011.02.21
리커버리(recovery) 모드에서 루트권한(su) 사용하기 21 자양 21 7341 2011.02.21
메뉴를 5*4 로 만들어 보기 8 file darkamd 3 2634 2011.02.21
문자 입력 속도 올리기!! 12 로건 2 3099 2011.02.21
TA28 전화번호부 이용 Tip 10 정연 2495 2011.02.21
build.prop파일 수정을 이용한 해상도 변경 방법 공유 5 file 훈사마 2 6270 2011.02.21
밧데리에 관해서... 4 백호에욥 2817 2011.02.21
원랜드와오버팁 2 장지동꼬 1740 2011.02.21
skt vip등급이신분? 7 우쭈쭈쭈 2537 2011.02.21
갤스 터치감도 조절 어플!!!!!!! 16 snjxa 5 6023 2011.02.20
트위터에 대해.. 번외편 5 Facebook 1 1610 2011.02.18
트위터에 대해.. 4편 5 Facebook 3 1651 2011.02.18
트위터에 대해.. 3편 8 Facebook 1861 2011.02.18
트위터에 대해.. 2편 7 Facebook 2 2049 2011.02.18
트위터에 대해.. 1편 7 Facebook 5 2278 2011.02.18
갤럭시s로 웹페이지에서 파일 다운로드 받기.! 14 file Dizzy 6 4221 2011.02.17
adb shell엔터시 device not found 에러문제 4 mecatro 2 6545 2011.02.17
구글 크롬으로 접속하면 2 무위 1939 2011.02.17
갤럭시 튜너(galaxy tuner) 정리 및 회고 41 자양 37 9568 2011.02.16
갤럭시S TA28 테그라크빌드16 + 원낸드모드 패치 + 루팅까지! 한방에! 12 file 초콜렛왕 13 13534 2011.02.16
TA28최신펌 루팅과펌업을 한방에 1 jjongjjong 2780 2011.02.15
갤럭시s 리부팅 하는법 16 백합만발 2 3672 2011.02.15
상태바에 라인제거 하기 8 file 불멸[갤K] 7 2872 2011.02.15
[갤럭시K] 외장 패치 (/data/app 바인드) 8 file NEO™ 2 5598 2011.02.15
알집 최신버전 쓰지 마세요 4 츈츈 1 2371 2011.02.15
리액션 상단바 시계색상 변경하기 3 깜자인생 2 4499 2011.02.13
메인메뉴 바탕 투명으로 만들기 22 해모수 14 4860 2011.02.13
1 - 119 - 135