이 글은 kernel 소스의 Documentation/fb/framebuffer.txt 파일의 내용을 번역 입니다. ( 오역이 있을 수 있습니다. )


원문은 http://lxr.linux.no/linux+v3.6.6/Documentation/fb/framebuffer.txt 을 참고 하시기 바랍니다.



Maintained by Geert Uytterhoeven <geert@linux-m68k.org> Last revised: May 10, 2001


0. 소개


프레임 버퍼 장치는 그래픽 하드웨어에 대한 추상화를 제공합니다.


그것은 일부 비디오 하드웨어의 프레임 버퍼를 나타 냅니다. 그리고, 응용 프로그램 소프트웨어는 잘 정의 된 인터페이스를 통하여, 그래픽 하드웨어를 액세스 할 수 있으므로 소프트웨어는 저-수준 (하드웨어 레지스터)에 대해 아무것도 알 필요가 없습니다.


디바이스는 특별한 디바이스 노드를 통하여 접근 합니다. 일반적으로 /dev 디렉토리에 위치 합니다. 예를 들어 /dev/fb* 파일을 통합니다.


1. 사용자 관점에서의 /dev/fb*


사용자가 보는 관점에서, 프레임 버퍼 장치는 /dev에 있는 어떤 다른 장치와 같게 보입니다. 이것은 메이저번호 29번을 사용하는 문자 장치 이며, 마이너 번호는 프레임버퍼수에 지정됩니다.


By convention, the following device nodes are used (numbers indicate the device minor numbers): 컨벤션함으로써, 다음과 같은 장치 노드 (장치의 마이너 번호에 지정된 숫자)가 사용 됩니다.


       0 = / dev/fb0 첫 번째 프레임 버퍼

       1 = / dev/fb1 두 번째 프레임 버퍼

           ...

      31 = / dev/fb31 32번째 프레임 버퍼

이전 버전과의 호환성을 위해, 당신은 다음과 같이 심볼릭 링크를 만들 수 있습니다.


      /dev/fb0current -> fb0

      /dev/fb1current -> fb1

      등등 ...


프레임 버퍼 장치는 '정상' 메모리 장치 이며, 이것은 컨텐츠를 읽고 쓸 수 있다는 의미 입니다. 예를 들어, 다음의 명령을 수행 하여 화면의 스냅 샷을 만들 수 있습니다


cp /dev/fb0 myfile

만약 내장된 하드웨어와 추가한 그래픽 카드를 가지고 있다면 당신은 하나 이상의 프레임 버퍼를 가지고 있을 수 있습니다. 해당 프레임 버퍼 장치는 ( /dev/fb0 및 /dev/fb1 ) 독립적으로 작동합니다.


프레임 버퍼 장치를 사용하는 응용 프로그램 소프트웨어 (예를 들면 X 서버)는 기본적으로 /dev/fb0를 사용 합니다. (이전 소프트웨어는 /dev/fb0current 사용) 프레임 버퍼 장치의 경로명으로 환경 변수 $FRAMEBUFFER를 설정하여 다른 프레임 버퍼 장치를 지정할 수 있습니다.


sh 혹은 bash 사용자는 

      export FRAMEBUFFER=/dev/fb1

  

또는 csh 사용자는 

      setenv FRAMEBUFFER /dev/fb1


위와 같이 설정되면 X 서버는 두번째 프레임 버퍼를 사용 하게 될 것입니다.