Penguins Prosper with E-Paper Jaya Kumar, Aug 2009 Quick Disclaimer - - PowerPoint PPT Presentation

penguins prosper with e paper
SMART_READER_LITE
LIVE PREVIEW

Penguins Prosper with E-Paper Jaya Kumar, Aug 2009 Quick Disclaimer - - PowerPoint PPT Presentation

Penguins Prosper with E-Paper Jaya Kumar, Aug 2009 Quick Disclaimer Not promoting any specific E-paper product or technology, although I will use some corporate pictures because sometimes they're cool. Just an excited embedded Linux


slide-1
SLIDE 1

Penguins Prosper with E-Paper

Jaya Kumar, Aug 2009

slide-2
SLIDE 2

Quick Disclaimer

  • Not promoting any specific E-paper

product or technology, although I will use some corporate pictures because sometimes they're cool.

  • Just an excited embedded Linux hacker

sharing the fun.

slide-3
SLIDE 3

In 2005, e-paper technology was only in labs. In 2009, Oprah is using e-paper and Linux.

slide-4
SLIDE 4

Excited about e-paper and Linux?

slide-5
SLIDE 5

Quick Demo of Linux & E-Ink : General Stuff

slide-6
SLIDE 6

Quick Demo of Linux & E-Ink : Fennec, Mozilla, GTK, X11

slide-7
SLIDE 7

Quick Demo of “Linux”-Android & E-Ink

slide-8
SLIDE 8

Many E-Paper Core Technologies.

  • Electrophoretic (E-Ink, Sipix, Bridgestone)
  • Interferometric (Qualcomm)
  • Cholesteric (Fujitsu, Hitachi, Kent)
  • Bistable LC (Nemoptic, ZBD)
  • Electrowetting, electrofluidic, strained

photonic, etc...

slide-9
SLIDE 9

Quick Overview Electronic Paper

slide-10
SLIDE 10

Backplanes, Frontplanes, and Trains

slide-11
SLIDE 11

Quick Overview

slide-12
SLIDE 12

E-paper's Challenges to Linux

  • Display latency. (Viscosity, Velocity, Phase)
  • Unusual display controllers. Not PCI, AGP,

PCI-E. Not memory mappable.

  • GPIO, AMLCD.
  • Need specialized waveforms to drive the

material.

  • Need memory to store the waveforms.
  • Temperature sensitive waveforms.
slide-13
SLIDE 13

Example: E-Ink Apollo (Hecuba) and Epson/E-Ink Broadsheet EPD Controller

slide-14
SLIDE 14

Linux Meets The Challenge

slide-15
SLIDE 15

How Linux Handles The Challenge? How do we memory map a "non memory mappable" IO interface like GPIO? How do we mitigate the latency associated with display updates? How do we make sure no changes needed to userspace APIs like X11, GTK, Qt, etc?

slide-16
SLIDE 16

Deferred IO

Framebuffer pages in host memory Page entries read-only App writes to anywhere, say a particular page Use page fault to start delayed workqueue Leave page as writable. Add page to pagelist. App keeps writing to page. Free of charge. Workqueue kicks off. Perform IO to display Mark page as read-only Lather, Rinse and Repeat

slide-17
SLIDE 17

What is nice about all this?

  • Solves latency
  • App is unimpeded by display latency.

–Solves IO interface

  • Use any IO you want. AMLCD. USB. GPIO. Works

with mmap. –Solves userspace write detection. No polling. No timers. –You know exactly which pages have been written to.

slide-18
SLIDE 18

What is really nice about all this?

  • No userspace changes needed*.
slide-19
SLIDE 19

What is really nice about all this?

  • No userspace changes needed.

– As long as userspace isn't doing negative things like redrawing the display needlessly. – Some well known apps, unfortunately, are doing this. – Fennec has been fixed. – Not so for some proprietary apps. :-(

slide-20
SLIDE 20

Future Work

  • Still a lot to do
  • Lots of optimizations to be made
  • Partial Update & Coalescing
  • Sub-page detection
  • Buffering
  • Cleaning up update sequences
  • Userspace Waveform Selection
slide-21
SLIDE 21

Thanks!

  • Thanks to you for coming.
  • Thanks to fbdev, mm, arm people: Tony, Geert, Kryzstof,

Eric, Russell, James, akpm, peterz for help, etc.

  • Thanks to all code reviewers, maintainers.
  • Special thanks to Linux Foundation and LinuxCon
  • rganizers!
slide-22
SLIDE 22

Questions/Answers

  • r

Additional Slides if we have time.

I welcome your feedback jayakumar.lkml@gmail.com

slide-23
SLIDE 23

E-Ink Metronome EPD Controller

slide-24
SLIDE 24

Metronome Issues Opcode and waveform in fb mem Passing LCDC (host) framebuffer to Metronome driver (allocation and notification) Dynamically disable LCDC DMA Pulling temperature updates

slide-25
SLIDE 25

Metronome Benefits No big eddy buffers No extra sdram or flash

slide-26
SLIDE 26

Future Work

Controller supports input display mode (ie: very fast update enabling drawing and text entry+display).

  • Constraints. Must switch the display into a different mode.

Special considerations. Can only switch updated pixels from original state to a fixed common new state or set of states. So display driver needs to be told when it is being used for input?

slide-27
SLIDE 27

Problem 3: Unforseen Application issues

fennec/mobile/chrome/content/deckbrowser.xml this._updateTimeout = setTimeout(function () { if (!self.dragData.dragging) self._browserToCanvas(); }, 100); Bug 450930 - Only redraw when necessary https://bugzilla.mozilla.org/show_bug.cgi?id=450930

slide-28
SLIDE 28

Details

  • suspending fluid, polymeric shell
  • differentiated electrophoretic mobility
  • homoaggregation > heteroaggregation
  • polymer dispersed (ep fluid droplets in continuous

polymer)

  • extrusion coating, curtain coating, roll coating
  • use of wax as dispersant (reduce density, increase

charge uniformity)

slide-29
SLIDE 29

IMOD Details

slide-30
SLIDE 30

Quick Overview

slide-31
SLIDE 31

Quick Overview

slide-32
SLIDE 32

Sources & References:

Figures:

E-Ink Kent Displays Qualcomm Bridgestone Plastic Logic Polymer Vision Liquavista PVI Sipix Sony Amazon Epson Nemoptic

Data:

EE Times