- Di Kindle Paperwhite 3, dibuat demo monitor e-ink 3,5fps dengan cara menangkap layar macOS lalu mengirim dan menampilkannya
- Di Kindle, dijalankan server listener Go yang menerima gambar di port 8000, lalu JPG yang diterima digambar ke layar memakai utilitas bawaan
eips
- Di macOS,
screencapture, ImageMagick, dan netcat digabungkan untuk menangani penangkapan layar, konversi, dan transfer via usbnet
- Karena strukturnya mengirim seluruh JPG pada setiap frame, pada layar dengan perubahan kecil seperti editor teks terjadi pemborosan transfer yang besar dan masih banyak ruang untuk perbaikan
- Ini menunjukkan bahwa tanpa codec khusus atau implementasi VNC, eksperimen monitor sekunder e-ink bisa dibuat cepat hanya dengan menggabungkan alat yang sudah ada
Jailbreak dan memperoleh root shell
- Langkah pertama adalah melakukan jailbreak pada Kindle agar bisa mengakses root shell dengan cara apa pun
- Materi terkait bisa ditemukan di mobileread.com, dan petunjuknya dapat merujuk ke thread LanguageBreak
- Pembuat implementasi tidak mengikuti petunjuk LanguageBreak secara persis, tetapi memanfaatkan repositori GitHub LanguageBreak untuk membantu debugging
- Syarat yang lebih penting daripada metode jailbreak itu sendiri adalah mendapatkan root shell di Kindle
Server listener Kindle dan output eips
- Di sisi Kindle, dibuat program Go yang menerima file di port 8000
- Listener menyimpan JPG yang diterima lalu memanggil utilitas output layar bawaan Kindle,
eips
- Alur contohnya:
- Program Go menerima file JPG
- Menyimpannya ke
/tmp/img.jpg
- Menampilkan gambar ke layar dengan perintah berikut
eips -g /tmp/img.jpg -w gc16 -x 128 -y 0
- Perintah ini menampilkan gambar dengan partial update
- Full update tidak memberikan hasil yang baik, dan arti flag
eips bisa dilihat di wiki eips
- Sebelum frame pertama, layar bisa dibersihkan dengan
eips -c
- Kode sumber Go-nya hilang, tetapi kodenya sederhana, kurang dari 30 baris
Penangkapan layar macOS dan konversi gambar
- Di macOS, layar ditangkap berulang kali dengan
screencapture lalu disimpan sebagai file PNG
- Gambar hasil tangkapan dirotasi, di-resize, dan diubah ke grayscale agar sesuai dengan layar Kindle menggunakan ImageMagick
- JPG yang sudah dikonversi kemudian dikirim ke server listener Kindle melalui usbnet dengan
netcat
/usr/sbin/screencapture -C -x /tmp/orig.png
convert /tmp/orig.png -rotate 270 -resize '810x1448!' -type GrayScale -depth 8 -colors 256 /tmp/gray.jpg
cat /tmp/gray.jpg | nc -w 0 192.168.15.244 8000
screencapture -C -x menangkap layar ke /tmp/orig.png
convert memutar gambar 270 derajat, mengubah ukurannya ke 810x1448, lalu mengonversinya menjadi JPG grayscale 8-bit dengan 256 warna
nc mengirim /tmp/gray.jpg yang sudah dikonversi ke 192.168.15.244:8000
- Resolusi perlu disesuaikan dengan perangkat Kindle yang digunakan, dan port juga harus cocok dengan pengaturan server listener Kindle
Batasan performa dan kegunaan
- Implementasi ini adalah hack cepat yang dibuat untuk iseng pada malam sebelumnya, sehingga performa dan kegunaannya masih sangat bisa ditingkatkan
- Mengirim seluruh file JPG pada setiap frame sangat boros
- Perubahan antar-frame berurutan umumnya kecil dan kemungkinan mudah dikompresi
- Terutama pada penggunaan seperti editor teks, saat hanya sebagian layar yang berubah, karakteristik ini bisa makin menonjol
- Bahkan tanpa membuat codec seperti h.264 atau protokol seperti VNC dari nol, tampaknya masih mungkin melakukan peningkatan cepat hanya dengan alat yang sudah tersedia
Referensi
1 komentar
Komentar Hacker News
Akan jauh lebih menarik kalau ia membagikan cara melakukannya dan mempostingnya di tempat yang bukan platform untuk tulisan pendek
Edit: https://gist.github.com/adtac/eb639d3c707b55a28f0ee9a420aa7e...
Sebagai tambahan bagi yang belum tahu, jika membalas tweet dengan
@threadreaderapp unroll, Anda bisa mendapatkan dokumen yang sudah disusun ulang. Bot itu hanya membalas langsung kepada Anda setelah proses unroll selesaiSaya pernah mencoba input HDMI untuk proyek serupa
https://hackaday.com/2021/01/08/old-kindle-shows-hdmi-video-...
Jadi saya membuat OK Monitor: https://barwap.com/projects/okmonitor/
Saya tidak melihatnya punya potensi bisnis. Sepertinya omzetnya hanya di kisaran ribuan hingga puluhan ribu dolar, jadi berapa pun margin yang dipasang, sulit untuk menutup lebih dari waktu atau biaya yang dikeluarkan. Meski begitu, dalam proyek hobi saya kadang melihat orang melakukannya seperti itu demi dampak
Saya ingin ada display e-ink nirkabel untuk komputer, idealnya dalam bentuk dongle USB-C yang menerima video dan daya sekaligus. HDMI + daya USB juga tidak masalah
Selama beberapa hari terakhir saya menguji Android + Kaleido3 sebagai perangkat serbaguna, dan juga mencoba Termux-X11
Kaleido3 cukup layak dipakai. Berkat waveform terbaru dan algoritma dithering yang tepat, menonton video pun memungkinkan dengan kompromi terbatas, dan frame rate-nya juga tinggi. Coding juga cukup bisa dilakukan, dengan compiler dan interpreter disediakan oleh Termux
Dengan Termux-X11, Anda bisa menjalankan Linux desktop secara native di perangkat Android. Jadi tanpa harus memakai e-ink sebagai bagian dari perangkat monitor, Anda juga bisa langsung memanfaatkannya sebagai layar komputer aktif yang tertanam di tablet
Jika ingin melakukan jailbreak Kindle, sebaiknya mulai dari forum
mobilereadApakah display e-ink suatu saat bisa menjadi murah? Rasanya paten-paten dasarnya sudah waktunya kedaluwarsa
Itu komponen biaya terbesar di kalender saya, dan pada dasarnya memaksa kisaran harganya: https://shop.invisible-computers.com/products/invisible-cale...
Sebagian besar hal yang dilakukan E Ink bisa digantikan oleh LCD, dan karena lebih mahal daripada LCD, tidak banyak tempat yang memang ingin menggunakannya
“Paten” lebih mirip teori konspirasi yang muncul tanpa dasar kuat. E Ink punya produk pesaing, misalnya layar DES/Display Electronic Slurry. Kalau E Ink Corp mematok harga seenaknya, GoodDisplay pasti sudah merebut pasarnya
Tepatnya, keberadaan paten E Ink bukanlah teori konspirasi. Sebagian sudah kedaluwarsa, dan E Ink Corp juga terus mendaftarkan paten baru sambil berinovasi. Paten LCD pun sangat banyak. Bagian yang konspiratif adalah klaim bahwa paten menyebabkan kenaikan dan tingginya harga, sehingga menghambat adopsi teknologinya
Kenapa sampai perlu jailbreak? Bukankah bisa melakukan streaming screenshot desktop lewat browser bawaan Kindle?
Browser Kindle bahkan nyaris tidak sanggup mengikuti Kindle Store atau Goodreads, tetapi saya akan senang jika terbukti sebaliknya. Kalau begitu, implementasinya akan jauh lebih mudah di Kindle baru dalam kondisi bawaan
Isi di GitHub: “Sayangnya saya kehilangan source code Go-nya”
Kalau memang sesederhana itu, justru aneh bahwa ia tidak langsung menulis ulang dan menambahkannya ke GitHub
Agar mudah melakukan ini, gunakan aplikasi Superdisplay di Boox reader
Ia tidak menjawab pertanyaan paling penting: apakah layak dicoba?
Dalam bentuknya sekarang, frame rate-nya bagus tetapi latensinya buruk sekali. Jadi pengalaman mengetik jelek, tetapi ada banyak penggunaan yang tidak membutuhkan pengetikan
Bahkan untuk kasus seperti jendela chat, ketika umpan balik pengetikan berlatensi rendah penting, kotak input teks bisa diletakkan di monitor LCD, sementara riwayat chat yang sebagian besar statis ditampilkan di Kindle. Untuk sampai ke sana masih perlu lebih banyak pekerjaan, tetapi untuk saat ini ini adalah awal yang bagus