Skip to content
This repository has been archived by the owner. It is now read-only.

8227425: Add support for e-paper displays on i.MX6 devices #521

Closed
jgneff opened this issue Jul 7, 2019 · 2 comments
Closed

8227425: Add support for e-paper displays on i.MX6 devices #521

jgneff opened this issue Jul 7, 2019 · 2 comments

Comments

@jgneff
Copy link
Contributor

@jgneff jgneff commented Jul 7, 2019

This is a request to add support for e-paper displays with the i.MX 6 Series of Applications Processors. It's a follow-up request to Issue #339, "Add support for e-paper displays," which was implemented by Pull Request #369.

Report Classification

Issue Type: Request for Enhancement
Component: JavaFX
Subcomponent: graphics: JavaFX Graphics
Operating System: Ubuntu
Java Release: 13

Report Details

Synopsis

Add support for e-paper displays on i.MX6 devices

Description

This request follows up on the plans in Issue #339 which stated:

Once the implementation is stable, other more powerful models can be added, such as the Kobo Glo HD with an i.MX6SL processor and the Kobo Clara HD with an i.MX6SLL processor, each based on the ARM Cortex-A9 core.

While Pull Request #369 added support for the two oldest e-reader models still being updated by Kobo, the Kobo Touch B and C, this is a request to add support for two more recent models. The following sections provide details on the new device models, new NXP processors, and new Ubuntu releases to be supported.

New device models

The following table lists the device characteristics and Linux kernel versions of all four models. The SD column is the storage size of the internal microSD card. The new models to be supported are shown in boldface type.

Year Product Name CPU Screen (px) RAM (MiB) SD (GB) Kernel
2012 Kobo Touch B i.MX507 800 × 600 256 2 2.6.35
2013 Kobo Touch C i.MX507 800 × 600 256 2 2.6.35
2015 Kobo Glo HD i.MX6SL 1448 × 1072 512 4 3.0.35
2018 Kobo Clara HD i.MX6SLL 1448 × 1072 512 8 4.1.15

New NXP processors

The following table lists the features of the NXP processors that include an e-paper display controller. There are not yet any Kobo e-readers with the i.MX7D processor. The new processors to be supported by this request are shown in boldface type.

CPU Frequency (GHz) Architecture ARM Core Memory Bus (MHz)
i.MX507 0.8 ARMv7-A Cortex-A8 266
i.MX6SL 1.0 ARMv7-A Cortex-A9 400
i.MX6SLL 1.0 ARMv7-A Cortex-A9 400
i.MX7D 2 × 1.2 ARMv7-A Cortex-A7 533

New Ubuntu releases

The following table lists the minimum kernel version required by recent Long Term Support (LTS) releases of Ubuntu and the version of the C library they contain (/lib/arm-linux-gnueabihf/libc-2.XX.so). It also shows the initial install size of each release and the total number of packages available. The new Ubuntu releases to be tested with this request are shown in boldface type.

Ubuntu Release Minimum Kernel C Library Size (MB) Packages
14.04 LTS 2.6.32 2.19 190 46,273
16.04 LTS 3.2.0 2.23 109 54,520
18.04 LTS 3.2.0 2.27 55 59,624

All of the Kobo e-readers can run Ubuntu 14.04 LTS. The Kobo Clara HD has a more recent Linux kernel (version 4.1.15), which allows it to run Ubuntu 16.04 LTS and Ubuntu 18.04 LTS.

Ubuntu 18.04 LTS includes OpenJDK 11, the minimum version required for the latest JavaFX SDK. The other Ubuntu releases use the arm32 build of OpenJDK 13 from AdoptOpenJDK, which requires a minimum C library version of 2.15. (The download page states that it requires "glibc version 2.17 or higher," but the highest version I can find in the build is GLIBC_2.15 for lib/libjava.so.)

All device models

To put this request in perspective, the following table lists all of the e-readers still being updated by Kobo. The devices are grouped by their hardware class, known as the Mark Number. Only the Mark 7 models are still for sale as new, although other models can be found used or refurbished. The four models to be tested are shown in boldface type with the JavaFX version in which the support was added or is expected.

Hardware Code Name Model ID Product Name JavaFX
Mark 3 trilogy N905B 310 Kobo Touch B 13
Mark 4 trilogy N905C 320 Kobo Touch C 13
kraken N613 330 Kobo Glo
pixie N705 340 Kobo Mini
dragon N204B 350 Kobo Aura HD
Mark 5 phoenix N514 360 Kobo Aura
dahlia N250 370 Kobo Aura H20
Mark 6 alyssum N437 371 Kobo Glo HD 14
pika N587 372 Kobo Touch 2.0
daylight N709 373 Kobo Aura ONE
snow N867 374 Kobo Aura H2O Edition 2 v1
star N236 375 Kobo Aura Edition 2 v1
daylight N709 381 Kobo Aura ONE Limited Edition
Mark 7 nova N249 376 Kobo Clara HD 14
snow N867 378 Kobo Aura H2O Edition 2 v2
star N236 379 Kobo Aura Edition 2 v2
frost N782 380 Kobo Forma
storm N873 384 Kobo Libra H2O

System / OS / Java Runtime Information

The system configuration of the two new devices is listed below. The screen on both models is a 6-inch E Ink Carta display panel with a resolution of 1448 × 1072 pixels and a density of 300 pixels per inch, supporting up to 16 levels of gray (4-bit grayscale).

Kobo Glo HD

The Kobo Glo HD has a 1.0 GHz i.MX6SL Multimedia Application Processor and 512 MB of RAM. This processor has an ARM Cortex-A9 core implementing the ARMv7-A architecture. The system runs Ubuntu Base 14.04.6 LTS (Trusty Tahr) in a chroot environment.

ubuntu@glohd1:~$ uname -a
Linux glohd1 3.0.35+ #4072 PREEMPT
Mon Dec 19 09:25:37 CST 2016 armv7l armv7l armv7l GNU/Linux

ubuntu@glohd1:~$ ldd --version
ldd (Ubuntu EGLIBC 2.19-0ubuntu6.15) 2.19

ubuntu@glohd1:~$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.19

ubuntu@glohd1:~$ ~/opt/jdk-13.0.1+9/bin/java -version
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment AdoptOpenJDK (build 13.0.1+9)
OpenJDK Server VM AdoptOpenJDK (build 13.0.1+9, mixed mode)
Kobo Clara HD

The Kobo Clara HD has a 1.0 GHz i.MX6SLL Multimedia Application Processor and 512 MB of RAM. This processor has an ARM Cortex-A9 core implementing the ARMv7-A architecture. The system runs Ubuntu Base 14.04.6 LTS (Trusty Tahr), Ubuntu Base 16.04.6 LTS (Xenial Xerus), and Ubuntu Base 18.04.3 LTS (Bionic Beaver), each in a chroot environment.

Ubuntu 14.04 LTS
ubuntu@clarahd:~$ uname -a
Linux clarahd 4.1.15-00084-gcd0d3a4 #29 SMP PREEMPT
Wed Nov 21 11:31:06 CST 2018 armv7l armv7l armv7l GNU/Linux

ubuntu@clarahd:~$ ldd --version
ldd (Ubuntu EGLIBC 2.19-0ubuntu6.15) 2.19

ubuntu@clarahd:~$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.19

ubuntu@clarahd:~$ ~/opt/jdk-13.0.1+9/bin/java -version
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment AdoptOpenJDK (build 13.0.1+9)
OpenJDK Server VM AdoptOpenJDK (build 13.0.1+9, mixed mode)
Ubuntu 16.04 LTS
ubuntu@clarahd:~$ uname -a
Linux clarahd 4.1.15-00084-gcd0d3a4 #29 SMP PREEMPT
Wed Nov 21 11:31:06 CST 2018 armv7l armv7l armv7l GNU/Linux

ubuntu@clarahd:~$ ldd --version
ldd (Ubuntu GLIBC 2.23-0ubuntu11) 2.23

ubuntu@clarahd:~$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.23

ubuntu@clarahd:~$ ~/opt/jdk-13.0.1+9/bin/java -version
openjdk version "13.0.1" 2019-10-15
OpenJDK Runtime Environment AdoptOpenJDK (build 13.0.1+9)
OpenJDK Server VM AdoptOpenJDK (build 13.0.1+9, mixed mode)
Ubuntu 18.04 LTS
ubuntu@clarahd:~$ uname -a
Linux clarahd 4.1.15-00084-gcd0d3a4 #29 SMP PREEMPT
Wed Nov 21 11:31:06 CST 2018 armv7l armv7l armv7l GNU/Linux

ubuntu@clarahd:~$ ldd --version
ldd (Ubuntu GLIBC 2.27-3ubuntu1) 2.27

ubuntu@clarahd:~$ getconf GNU_LIBPTHREAD_VERSION
NPTL 2.27

ubuntu@clarahd:~$ java -version
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)
OpenJDK Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed mode)
@jgneff jgneff changed the title Add support for e-paper displays on i.MX6 devices JDK-8227425: Add support for e-paper displays on i.MX6 devices Jul 9, 2019
@jgneff
Copy link
Contributor Author

@jgneff jgneff commented Jul 9, 2019

@jgneff jgneff changed the title JDK-8227425: Add support for e-paper displays on i.MX6 devices 8227425: Add support for e-paper displays on i.MX6 devices Dec 4, 2019
@jgneff
Copy link
Contributor Author

@jgneff jgneff commented Apr 30, 2020

Closed by Pull Request openjdk/jfx#60.

Note that Ubuntu Base 20.04 LTS (Focal Fossa) was added to the list of new Ubuntu releases tested on the Kobo Clara HD. Below is the updated table for "New Ubuntu releases."

Ubuntu Release Minimum Kernel C Library Size (MB) Packages
14.04 LTS 2.6.32 2.19 190 46,273
16.04 LTS 3.2.0 2.23 109 54,520
18.04 LTS 3.2.0 2.27 55 59,624
20.04 LTS 3.2.0 2.31 60 57,516

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant