Transcript my_directFBx
Slide 1
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 2
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 3
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 4
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 5
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 6
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 7
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 8
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 9
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 10
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 11
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 12
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 13
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 14
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 15
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 16
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 17
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 18
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 19
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 20
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 21
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 22
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 23
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 24
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 25
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 26
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 27
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 28
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 29
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 2
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 3
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 4
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 5
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 6
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 7
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 8
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 9
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 10
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 11
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 12
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 13
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 14
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 15
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 16
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 17
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 18
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 19
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 20
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 21
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 22
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 23
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 24
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 25
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 26
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 27
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 28
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface
Slide 29
Frame
New embedded graphic
정
의
• Embedded장치의 그래픽을 지원 - 소프트웨
어 라이브러리
• Frame Buffer 장치의 상단에 구현된 그래픽
API
• 그래픽 및 입력 장치 처리, 윈도 시스템을 통
합.
정
의
• 가벼움 : 디스크 공간과 CPU를 사용하는 X
server 의 실행이 필요 없음
• 사용자의 인터페이스가 매우 적어짐
: Desktop처럼 보여질 필요가 없음
정
기존의
x
window
의
DirectFB
비디오 메모리나 FrameBuffer에
다른 채널에 직접 직접렌더링 작업
이 가능
그릴 수 없음
Graphic
operation 1
• Rectangle filling/drawing
• Triangle filling/drawing
• Line drawing
• (Stretched) blitting
• Blending with an alphachannel (a.k.a.
texture alpha)
Graphic
operation 2
• Blending with a constant alpha blend factor
(a.k.a. alpha modulation)
• Nine different blending functions
respectively for source and destination, so
all Porter/Duff rules are supported
• Colorizing (a.k.a. color modulation)
• Source color keying
• Destination color keying
Windowsing
system windows
•translucent
•transparency
Windowsing
system
Resource
•Management
Resource management
for video memory
• Exclusive access
• Abstraction
Graphic Drivers
• Matrox Mystique/Millenium,
G100, G200, G400/G450,
G550
• S3 Savage 3/4 series
• Via CLE266
• NeoMagic
220/2230/2360/2380
• ATI mach64/Rage Pro series • nVidia TNT/GeForce
series
• ATI Rage 128
• ATI Radeon
• SiS 315
• 3dfx Voodoo3/4/5/Banshee
• Intel i810
• igs CyberPro 5xxx
• NSC Geode
Input Drivers
• standard keyboards
• iPAQ touchscreen
• serial and PS/2 mice
• ucb 1x00 touchscreen
• joysticks
• Microtouch
touchscreen
• devices using the linux
• Sony PI Jogdial
input layer
• infrared remote
controls (using lirc)
Image Loading
• JPEG (using libjpeg)
• PNG (using libpng2)
• GIF (integrated, no library
required)
• various other image formats
(using Imlib2)
Video Playback
• video4linux (/dev/video)
• mpeg1/2 (using libmpeg3)
• AVI (using avifile)
• MOV (using OpenQuicktime)
• macromedia flash (using libflash)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
anti aliased text drawing
• DirectFB bitmap font
• TrueType (using
FreeType2)
Font Rendering
DirectFB
Application
DirectFB
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
사용자
DirectFB
공간
Application directFB가
DirectFB 작동하기
Chipset 위
driver
해서 필요
Framebuffer
Driver
Framebu
ffer
Timing & Mode
Registers
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
Framebuffer
비디오 모드공간
Driver
세팅하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
DirectFB
Application
DirectFB
메모리 맵
핑,
Framebuffer
창 변경
Driver
Framebu
ffer
Timing & Mode
Registers
사용자
공간
Chipset
driver
커널
공간
하드웨어
공간
Acceler
ator
DirectFB
Application
DirectFB
사용자
공간
Chipset
driver
커널
가속기를
Framebuffer
공간
Driver 켬 하드웨어
Timing & Mode
공간
Framebu
Acceler
Registers
ffer
ator
Frame
buffer
• 그래픽 가속기 사용 여부에 관계 없이
Frame buffer driver를 사용하는 경
우
- setting the video mode
- changing of the viewport of the
framebuffer
- memory mapping of the cards the
framebuffer
Frame
buffer
• DirectFB가 Card를 지원하고, 리눅스 커
널 내에 chipset에 대한 framebuffer
driver가 있을 때 frmebuffer 장치를 사
용하는 경우
- memory mapping of the cards memory
mapped io ports
- Turning off framebuffer driver’s
internal
acceleration
Important
terms
• Blitting
• Surface
• SubSurface
• Layer
• Window / Windowstack
Layer
window
surfac
e Sub
surface
window3
surfac
e
window2
surfac
e
Laye
r
window1
surfac
e
Layer2
window
surfac
e
Layer1
window
surface
Direct API
• Interface를 사용하는 구조
• C structure :Function
Pointer
• e.g) IDirectFBSurface