[t:/]$ 지식_

directFB 질의 응답

2009/01/15

Q:

안녕하세요~ DirectFB 검색하다 보니 이곳에 오게 되었습니다.
제가 DFB를 막 시작 하게 되었는데요 주변에 여쭐분이 없어
생면부지임에도 염치불구하고 질문 드려봅니다.

우선 DirectFB하기전에 리눅스 프레임버퍼 설정, Zlib, Libpng, Libjpeg, Freetype2 그리고 DirectFB를 바른 경로로 설정은 되어 있고요, Directfb.org에서 샘플 소스를 이클립스에서 돌려 보려하는데 쉽게 되지 않습니다. 이클립스에서도 directory, libraries들 설정을 해주었는데도요....

궁극적인 목표는 mipsel 컴파일러를 이용하여 Sigma칩을 사용하는 STB에 올려서 실행해보려고 하는데 컴퓨터에서도 간단한 샘플 소스 초자 안되 답답한 맘에 이렇게 글을 남깁니다.

바쁘시 않으시다면 컴퓨터에서 DFB를 돌려볼 수 있도록 할 수 있는 설정 좀 알려 주신다면 저 같은 초보 프로그래머에게 더 할 나위 없이 큰 도움이 될 것 같습니다.

그럼 언제이고 짧은 고견도 감사히 받겠습니다. 그럼 추운 겨울 감기 조심하시고요. 혹시 몰라 이메일 주소 적어 봅니다. ****@korea.com

A:

간만에 받는 질문이라 기쁩니다. 초절정 무관심 외톨이 블로그 티루트에 오신것을 환영합니다.

기대를 하고 오셨겠지만.. 저도 directFB를 겨우 진행하면서 뜯어보고 있는 중이라 많은 부분을 정확히 답변 드리지 못합니다.

전제사항이 있습니다.

  1. 저는 이클립스를 잘 못 다룹니다.
  2. Makefile로 빌드하고, vim 에 능숙하지 못하여 Ultraedit을 씁니다.
  3. rfs를 nfs로 마운트 시켜놓고 작업합니다.
  4. 폴더 하나를 삼바로 연결해 놓고 윈도우, vnc 병행하여 작업합니다. (x-manager 보다 빠릅니다)
  5. 빈번 작업 파일들은 심볼릭링크를 걸어놓고 씁니다.
  6. 코리눅스, vmware등은 추천하지 않습니다.
  7. 저는 PC에서 directFB 를 시도해 본적이 없습니다. 임베디드 환경에서만 해보았습니다.

이하 존칭 생략합니다. ^^;

  1. framebuffer 동작 확인. cat /dev/fb0 -> 에러가 나면 안 됨.
    cat /proc/fb
  2. crossbuild 제대로 하기
    --prefix를 /dfb 식으로 주고 작업함.
    필요 라이브러리를 모두 prefix /dfb 로 작업해놓음.
    (이유 : 호스트 머신의 /lib 등에 타겟 머신의 바이너리가 덮어써지면 치명상을 입음)
  3. ./configure --help 로 필요 옵션 확인.
  4. --with-tools 옵션 추가하여 인스톨.
  5. /dfb/bin/df_dok -> 퍼포먼스 테스트파일임.
  6. /dfb/lib/libdirect 와 /dfb/lib/libfusion 는 /lib 로 위치이동해야 함.
    • ldconfig 으로 수정필요, 또는 LD .. PATH
  7. 라이브러리가 제대로 로딩되는 지 ldd 로 추적해 봄. (arm11 용 잘 빌드되어 있는 ldd 있음 저도 좀 구해주세요.. 타겟에서 도는 거)
  8. /dfb/lib/directfb-1.3.0 밑에 필요 플러그인(?)등이 있음.
    • 가속 드라이버, 입력 드라이버 등..
  9. 빌드가 잘 안 된다면 pkg-config 의 동작원리를 정확히 알아볼 것.
    • PKG_CONFIG_PATH= ....
  10. 잘 동작하는 예제들은 DirectFB-example-1.2.3 에 있음.

..

일단 라이브러리가 잘 빌드되었나가 중요합니다. 거기까지가 난관이죠. 가장 잘 동작하는 테스트 프로그램은 df_dok 입니다. directfb 소스 밑에 tools 안에 있습니다. config 시에 --with-tests 인가 --with-tools 인가 넣어야 합니다. (기억이 가물가물..)

PC라면 ldd df_dok 해서 라이브러리들이 잘 올라오는지 확인하세요. 제 위치에 제 라이브러리가 없을 가능성이 큽니다.

거기까지 되었다면 콘솔메세지로 directFB 배너와 기타 구구절절 메세지가 나와야 합니다. 그 다음부터는 아무래도 뭔가 추적이 되겠죠.

해보면 아시겠지만 이게 혼자 하기에는 범위가 너무 방대하거든요..저도 혼자 삽질 중..

새로 정보 알게 되는 것 있으면 공유 부탁드리고 리플에 비밀글로 블로그 주소 같은 것이라도 남겨주십시오.









[t:/] is not "technology - root". dawnsea, rss