'옵티머스Q'에 해당되는 글 4건
- 2011.02.25 :: 스마트폰에서의 일반인이 느끼는 터치감도에 관여하는 factor들... 2
- 2010.12.01 :: 옵티머스Q 터치를 좀더 좋게 하기위한 고민.... 2
- 2010.12.01 :: 옵티머스Q 커널 교체방법
- 2010.12.01 :: 옵티머스Q 커널 & 안드로이드 빌드방법
1. 디스플레이 갱신율
- 일반적으로 출시되었던 이클레어 기반의 스맛폰들은 초당 30fps로 갱신한다.
- vsync의 작동으로 인해 화면정보를 갱신하는 타이밍은 정해져있고, 이로인해 터치시 실제 데이터는 밀어넣으나 가져가지 않음으로써 딜레이가 생겨 버벅거리는것으로 느껴진다.
- 이는 vsync를 꺼서 최대한 빨리 갱신하게 하고, 안정적으로 60fps이상 초당 갱신하게 하면 체감상 확연이 다르다고 느낀다.
- 개인적으로는 70fps이상은 초당 출력해주어야 매우 부드럽다고 느끼지 않을까 하고 생각한다.
2. 터치패널의 반응속도
drivers/input/touchscreen 의 synaptics_i2c_rmi.c 파일을 열어보았다....(이부분이 직접적 드라이버인 모양이다.)
우선 크게 눈에 보이는건 NUM_FINGER 2, FINGER_NUMBER 2 이 값이 눈에 띈다.....무언가 영향은 있어보인다
여튼 이부분은 멀티터치와 연관된부분이므로 잠시 패스....
좀더 코드를 보다보니 지터링 하는부분이 보인다.
간단히 코드를 읽어보니 터치좌표정보를 정의된 개수만큼 읽어와서 평균값을 이용해서 잡아주는듯하다.
현재 샘플링하는 개수는 5개이다. 5개의 정보를 이용한 평균값이라면은 개수를 좀더 높이면 정확도는 높아질거란
생각이 문득 든다.....
BUT.........샘플링 타이밍이 느리다면 더 이상 올라간다면은 반응속도가 매우 느려질것이다.....이를 어떡해야할지를 고민
해봐야하는데.............반응속도와 정확성의 관계에 대해서 조금 알아봐야겠다........
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images#Unpacking.2C_Editing.2C_and_Re-Packing_the_images
위의 사이트를 참고하면되고
베이스 어드레스는 --base 0x20000000로 주면된다고 한다.
mkbootimg --base 0x20000000 옵션으로 이미지를 합치면된다는군.
라이팅은 flash_image라고 하면 적용이 된다고 합니다!!
빌드해서 한번 올려보고
그다음엔.......터치 값 보정부분 수정해보고, 터치인식개수 늘려보고........도전.......고고싱~~!
1. 우분투 9.10 설치
2. update manager에서 업데이트 및 패키지 추가(옵션)
sudo apt-get install vim
3. ssh 설정
(http://blog.naver.com/hypermin?Redirect=Log&logNo=70024658595)
sudo apt-get install ssh
vi /etc/ssh/sshd_config 에서 포트 확인
sudo /etc/init.d/ssh restart
4. LU2300 Opensource 다운로드
http://opensource.lge.com
~/LU2300 디렉토리에 둔다.
5. 압축해제
unzip LU2300_Android_Eclair_OpenSource.zip
커널소스, 안드로이드소스, README.txt 파일이 풀림
6. 안드로이드 소스 다운로드 (http://source.android.com/source/download.html 참조)
6.1 패키지 설치 (http://banalove.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C%EB%A5%BC-%EC%9C%84%ED%95%9C-%EC%9A%B0%EB%B6%84%ED%88%AC-%ED%99%98%EA%B2%BD-%EC%84%A4%EC%A0%95%ED%91%B8%EC%9A%B0%EB%8B%98%EC%9D%98-%EA%B8%80)
sudo apt-get install git-core gnupg
sudo apt-get sun-java5-jdk
그런데 java5 설치시 에러가 남. 다음과 같이 하여야 함.
System > Administration > Software Sources
Other Software 탭에서 Add를 선택
deb http://kr.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://kr.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
Add Source 후, Reload
sudo apt-get install sun-java5-jdk
.bashrc에 추가
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.19
export ANDROID_JAVA_HOME=$JAVA_HOME
나머지 설치
sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
sudo apt-get install valgrind
6.2 repo 설치
cd ~
mkdir bin
echo $PATH
curl http://android.git.kernel.org/repo >~/bin/repo
chmod a+x ~/bin/repo
vi .bashrc
export set PATH=$PATH:$HOME/bin
6.3 repo 이용하여 소스 파일 받기
mkdir mylu2300
cd mylu2300
repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair
repo sync
언어설정
export LANG=c_C
7. LU2300 안드로이드 빌드 (README.txt 참조)
LG-LU2300_Eclair_OpenSource.tar.gz 압축을 해제
cd ~/LU2300
tar zxvf LG-LU2300_Eclair_OpenSource.tar.gz
opensource 디렉토리가 만들어 진다. eclair 소스로 복사하여 덮어씌운다.
cp -rf opensource/* ~/mylu2300/
cd ~/mylu2300
. ./build/envsetup.sh
choosecombo 1 1 generic 3
make -j4
out/target/product/generic 에 결과물 만들어짐.
(혹 에러가 나는 경우 make 로 해보고, 다음 에러가 나는 것은 메모리가 부족하기 때문
make: *** [out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.dex] Killed
따라서, 스왑을 늘린다.방법은 검색... 그런후 다시 make -j 4)
(make -j4로 하다 에러가 나서 make -j2로 해보기도 함. 그냥 make만하면 too many open files에러가 남)
빌드 끝에 다음과 같이 나와야 성공.
Install system fs image: out/target/product/generic/system.img
8. 커널 빌드
안드로이드의 툴체인을 이용한다. (여기서는 4.4.0을 이용했는데, 원래는 아마 구버젼을 썼던것 같음. 암튼 아래 설명처럼 Makefile을 손보면 4.4.0으로 빌드 가능)
.bashrc에 PATH를 추가
export PATH=$PATH:$HOME/mylu2300/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin
LU2300커널 압축해제
cd LU2300
tar zxvf LG-LU2300_Eclair_kernel.tar.gz
cd kernel
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
make qsd8650_LGE_LU2300_defconfig
vi Makefile 해서 351라인의 -Werror \ 줄을 삭제.
vi drivers/net/wireless/bcm4325/Makefile 의 맨 아래줄에 EXTRA_CFLAGS += -Wno-error 추가.
make
출처 : http://cafe.naver.com/androiders.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=532649