my_directFBx

Download Report

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