Group: Hardware/Computers/e-readers
(move e-ink display information in hardware components) |
(→e-ink displays) |
||
Line 1,347: | Line 1,347: | ||
==== I.MX6 e-ink display controller ==== | ==== I.MX6 e-ink display controller ==== | ||
In the imx_3.9.11_1.0.0_ga branch in [http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/ the linux-imx], in [http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/tree/drivers/video/fbdev/mxc?h=imx_4.9.11_1.0.0_ga video/fbdev/mxc], both mxc_epdc_fb.c and mxc_epdc_v2_fb.c uses request_firmware functions, but they seem to be used to load some wavform (data to drive the display) into the display or display controller. | In the imx_3.9.11_1.0.0_ga branch in [http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/ the linux-imx], in [http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/tree/drivers/video/fbdev/mxc?h=imx_4.9.11_1.0.0_ga video/fbdev/mxc], both mxc_epdc_fb.c and mxc_epdc_v2_fb.c uses request_firmware functions, but they seem to be used to load some wavform (data to drive the display) into the display or display controller. | ||
+ | |||
+ | ==== Presentations ==== | ||
+ | * https://elinux.org/images/2/25/E_paper_Displays.pdf | ||
=== System on a chip and associated companion chips === | === System on a chip and associated companion chips === |
Revision as of 05:40, 13 April 2018
Contents
Rationale
This page aims to document which existing ebook readers could become RYF certified without too much work. This is to see what the pros and the cons of liberating an existing e-reader versus making one.
RYF interpretation and resulting hardware choices
- Some e-readers contains hardware components that doesn't work with free software (like WiFi chips requiring a nonfree firmware). To prevent such components from getting into the way of the RYF compliance, such components can be disabled in hardware.
- If a hardware block is present but typically not used (for instance if a device has a GPU but doesn't use it because it uses an e-ink display which has a high latency), it *may* not get into the way of RYF compliance, as it *probably* won't steers users towards nonfree software.
Questions
For the I.MX GPU (vivante):
- Is it required to have a free software driver for GPU when the device is meant to be used as an e-reader and has a high latency e-ink display?
- If so, is the free software driver for the vivante GPU sufficently mature not to steer users towards non-free software ?
Existing hardware
Hardware Requirements
Basic requirements
- Free boot software or the ability to easily port one to the e-reader.
- Enough RAM to run free software operating systems.
- No cellphone network support
- Good SOC and no crucial peripherals requiring nonfree firmware (else the peripheral will be disabled in hardware)
- e-paper display
Requirements to do hardware support work faster
Since e-readers without WiFi or telephony network connection are old, the software they come with and the corresponding source code is also really old. To be able to use modern GNU/Linux or Android distribution on them, the source code needs to be used to add support for the device in recent hardware support software such as Linux or free software boot software like u-boot.
Software support that helps:
- Most of the hardware of the device already supported by upstream projects (Linux and a free software bootloader).
Hardware features that helps:
- Serial port that is easy to access
- Booting the Bootloader from the USB or serial port
- Ethernet (unlikely to be found on such devices)
Requirements that can be lifted
Requirement | Rationale |
---|---|
The absence of WiFi/Bluetooth | The chips could be disabled by soldering some of their pins or by removing them with a hot air gun. |
unsigned bootloaders | This requirements can be lifted on devices with the following System On a Chip, if they were made before July 2017:
This is because such chip contains a hardware security flaw enabling to execute your code nevertheless. |
Additional requirements
Requirement | Rationale |
---|---|
Recent |
|
More RAM is better | Devices with not enough RAM may not be able to use modern FSDG distributions. Creating a specific distribution for such devices would require someone to maintain it. |
Touchscreen | This enables to use most of the Android applications and alleviate the need for custom software that works with buttons only. |
Stylus | This enables to use most of the GNU/Linux applications and alleviate the need for custom software that works with buttons or capacitive touchscreens only. |
ARMv7 CPUs (x86 is probably not used on e-readers) | CPU that is supported by FSDG distributions or the ability to support the CPU with very few maintenance cost. |
Software
Operating systems and distributions
Distribution | Architectures | RAM Requirements | work required to add a device | Self hosting | FSDG compliant |
---|---|---|---|---|---|
Parabola |
Packages: |
? (low) |
|
Yes | Yes |
GuixSD |
Packages: Requires (cross) compilation: |
? (low) |
|
Yes | Yes |
LibreCMC |
Packages: Requires (cross) compilation: |
? (lowest) |
|
No | Yes |
Replicant |
Requires (cross) compilation:
|
424M for Android 6.0 (High) |
|
No | Yes |
Reader software
- Off the shelf free software pdf readers (check RAM usage)
- FBReader
- Calibre
Hardware
Warninig
- Be sure to double check if the SOC is good with the SOC list on the bottom of the article
- The information might contains mistakes as:
- It has been compiled by only one person (me)
- It wasn't reviewed by someone else
- It was done really fast with a very tight deadline
Remove this warning when things has been reviewed by at least one other person than me.
Candidates without WiFi
This list devices that:
- can run free boot software, potentially with some work
- don't have WiFi (or have a WiFi chip that works with free software)
Board | Vendor | Product | SOC | RAM | Display | Touchscreen | developement facilities | source code | Ammount of work required for upstreaming | Ammount of work for RYF | Issues | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Story HD | iRiver | Story HD (Basic) | NXP (formerly Freescale) I.MX508 | 128MB | e-ink |
|
iRiver source code for Story HD Basic:
|
|
|
|
||
? | Sony | PRS-600 | NXP (formerly freescale) I.MX31 | 128MB | e-ink | ? |
|
|
|
|||
EB600 |
|
Samsung S3C2440AL-40 | 32MB | e-ink |
|
? |
|
|
|
Candidates with WiFi
Deactivating the WiFi chip in hardware might be sufficent to make the devices RYF compliant
Board | Vendor | Product | SOC | RAM | Display | Touchscreen | developement facilities | source code | Ammount of work required for upstreaming | Ammount of work for RYF | Issues | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Kobo | Aura H2O Edition 2 | NXP i.MX6 SoloLite | TODO | e-ink | Yes |
|
TODO |
|
|
Bad candidates
Board | Vendor | Product | SOC | RAM | Display | Touchscreen | developement facilities | source code | Ammount of work required for upstreaming | Ammount of work for RYF | Issues | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Amazon | Kindle Fire (first generation) | OMAP4430 | 512M | Standard (Tablet) |
|
|
|
Being evaluated
TODO
TODO: Import from OpenInkpot:
- N510
- N516
- N518
- Nook Color
- Nook Simple Touch
- Nook Tablet
- SoriBOOK
- Story
- V2
- V6
- V8
TODO: (finish) importing the following brand from wikipedia.
- Bebook
- Cybook
TODO: Also look at Freescale/NXP presentations to find ebook readers with I.MX(6)
Kobo
Board | Vendor | Product | SOC | RAM | Display | Touchscreen | developement facilities | source code | Ammount of work required for upstreaming | Ammount of work for RYF | Issues | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Kobo | eReader WiFi | NXP (formerly Freescale) i.MX357 | e-ink |
|
Source code available:
|
|
|
|
||||
Kobo | Wi-Fi | SOC: NXP (formerly Freescale) i.MX357 | 128M | e-ink | ||||||||
Kobo | Touch | e-ink | ||||||||||
Kobo | Mini | e-ink | ||||||||||
Kobo | Glo | e-ink | ||||||||||
Kobo | Aura | NXP (formerly Freescale) i.MX507 | e-ink |
|
||||||||
Kobo | Aura HD | e-ink | ||||||||||
Kobo | Aura H2O | I.MX507 | e-ink | |||||||||
Kobo | Glo HD | i.MX6 Solo | e-ink | |||||||||
Kobo | Touch 2.0 | e-ink | ||||||||||
Kobo | Aura One | e-ink | ||||||||||
Kobo | Aura Edition 2 | NXP i.MX6 SoloLite | e-ink |
Booken
Board | Vendor | Product | SOC | RAM | Display | Touchscreen | developement facilities | source code | Ammount of work required for upstreaming | Ammount of work for RYF | Issues | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Bookeen | Cybook Gen1 | Probably not available: Proprietary OS | ||||||||||
Bookeen | Cybook Gen3 | S3C2410 or S3C2440? | 16M or 32M? | e-ink | ? |
|
||||||
Bookeen | Cybook Opus | S3C2440 | 32M | e-ink | ? |
|
||||||
Bookeen | Cybook Orizon | |||||||||||
Bookeen | Cybook Odyssey | |||||||||||
Bookeen | Cybook Muse | |||||||||||
Bookeen | Cybook Ocean | |||||||||||
Bookeen | Bookeen Saga |
Amazon
Board | Vendor | Product | SOC | RAM | Display | Touchscreen | developement facilities | source code | Ammount of work required for upstreaming | Ammount of work for RYF | Issues | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Kindle |
|
SOC: PXA255 | 64M | No WiFi but has 3G | ||||||||
Kindle 2 |
|
SOC: I.MX31 | Linux 2.6.26 | No WiFi but has 3G/CDMA | ||||||||
Kindle 3 Keyboard |
|
WiFi or, WiFi and 3G | ||||||||||
Kindle 4: |
|
Has WiFi | ||||||||||
Kindle 4 Touch | Amazon | Kindle 4 Touch | WiFi or, WiFi and 3G | |||||||||
Kindle DX |
|
Has 3G |
Sony
Board | Vendor | Product | SOC | RAM | Display | Touchscreen | developement facilities | source code | Ammount of work required for upstreaming | Ammount of work for RYF | Issues | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Samsung <?> (arm) | 256M | Has WiFi, Bluetooth, 3G | |||||||||
PRS-300 | Sony | PRS-300 | No WiFi? | |||||||||
PRS-500 | Sony | PRS-500 | ||||||||||
PRS-505 | Sony | PRS-505 | ||||||||||
PRS-700 | Sony | PRS-700 | ||||||||||
PRS-900 | Sony | PRS-900 | Has 3G |
Other
Board | Vendor | Product | SOC | RAM | Display | Touchscreen | developement facilities | source code | Ammount of work required for upstreaming | Ammount of work for RYF | Issues | References |
---|---|---|---|---|---|---|---|---|---|---|---|---|
A6 series |
|
Samsung <?> (Arm9 400MHz) | 128M | ? | ? | ? | ? |
|
||||
Boox 60 |
|
I.MX31 | 128M | ? | ? | ? | ? | ? |
|
|||
Story HD | iRiver | Story HD (WiFi) | NXP (formerly Freescale) I.MX508 | 128MB | e-ink | ? | ? |
iRiver source code for Story HD WiFi:
|
|
|
||
A9 series | Jinke | A9 series | Samsung <?> (Arm9 400MHz) | 128M | ? |
|
||||||
E60 | Samsung | S5PC100A66 | 256M |
|
||||||||
PocketBook Pro 912 | Samsung <?> (arm) | 256M |
|
|||||||||
iRiver | Cover Story | ? | ? |
? |
||||||||
EB100 |
|
|||||||||||
EB600 |
|
|||||||||||
FLEPia | Fujitsu | FLEPia | ||||||||||
G5 |
|
Samsung S3C2416 | ||||||||||
G6 |
|
Samsung S3C2416 | ||||||||||
G10 |
|
Samsung S3C2416 | ||||||||||
G51 |
|
Samsung S3C2416 | ||||||||||
Iliad |
|
PXA255 | 64M | |||||||||
Qisda ES600 / ES900: |
|
Samsung S3C2416 | 128M | Linux, u-boot | ||||||||
V3 |
|
Samsung S3C2410AL-20 | 32M | |||||||||
V3+ | Samsung s3c2416 | 64M | ||||||||||
V5 |
|
32M | ||||||||||
N520 |
|
Ingenic JZ4740 (mips) | 64M | |||||||||
N526 |
|
Ingenic JZ4740 (mips) | 32M | |||||||||
Nook 1st Edition |
|
? | ? | Has WiFi, or WiFi and 3G |
See also
Hardware components
This section has more details on the various chips and other components used in existing e-readers, or that could be used (or should not be used) to build an RYF compliant e-reader.
Considerations
Components
e-ink displays
e-ink displays have a huge latency. I'm not sure if special software is needed to handle it or if Linux standard e-ink drivers are enough. Available software:
- F-droid has a laucnher for e-ink displays
I.MX6 e-ink display controller
In the imx_3.9.11_1.0.0_ga branch in the linux-imx, in video/fbdev/mxc, both mxc_epdc_fb.c and mxc_epdc_v2_fb.c uses request_firmware functions, but they seem to be used to load some wavform (data to drive the display) into the display or display controller.
Presentations
System on a chip and associated companion chips
Vendor | Product | Minumum quantities | Available until | RYF issues | Linux upstream status | Bootloader upstream status | Companion chips |
---|---|---|---|---|---|---|---|
NXP | I.MX 25 | ? | ? | No known issues | Mostly complete | Mostly complete? (bareobx?, u-boot?) | ? |
NXP | I.MX 50 | ? | ? |
Issues:
TODO:
|
Mostly complete | Mostly complete? (bareobx?, u-boot?) | ? |
NXP | I.MX 51 | ? | ? |
Issues:
Optional: |
Mostly complete | Mostly complete? (bareobx?, u-boot?) | ? |
NXP |
|
? | ? |
Issues:
Optional:
|
Mostly complete | Mostly complete? (bareobx?, u-boot?) | ? |
NXP |
|
? | ? |
Good:
Issues:
Optional:
|
Mostly complete | Mostly complete? (bareobx?, u-boot?) | ? |
NXP |
|
Good:
Optional:
|
Good | Good | ? | ||
Allwinner | A20 | ? | ? |
|
very few missing drivers | ? | ? |
Samsung |
|
? | ? | No known issues | Needs to be ported to the devicetree | ? | ? |
This page was a featured resource in April 2018.