![]() |
#1 |
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17
Karma: 222284
Join Date: Jul 2018
Device: PW3
|
Can run full blown Chromium browser on up-to-date Alpine Linux
Hi,
so for a long time I was intrigued by the Linux capabilities of the Kindles. I got a Paperwhite 3 some time ago when it was on sale on a prime day, but as you know Debian Wheezy was the only distro old enough to run on that ancient kernel (through chroot + Xephyr for graphics). No newer kernel due to proprietary difficulties with epaper display, thus that's it. But even getting just a proper browser seemed impossible. Text based works okay, albeit without pictures obviosly, and also without javascript sadly. The preinstalled one can't do tabs, scrolling is a nightmare as is the zoom and sizing of elements. And the skipstone build is ancient and doesn't cut it. So have a look at this: https://imgur.com/gallery/uX1DENC All packages are up-to-date (version "edge" including repository "testing" to get some of the new stuff like onboard keyboard). Chromium works just fine, including javascript and everything. I even simply installed uBlock origin and an extension for a simple new-tab-page, as well as the black & white theme. I started with the Mini Root Filesystem for armhf from here: https://alpinelinux.org/downloads/ But it seems you can also bootstrap it like this Code:
./sbin/apk.static -X ${mirror}/latest-stable/main -U --allow-untrusted --root ${chroot_dir} --initdb add alpine-base I really lost hope anything like this would be possible with the Kindles, but now I'm happy again ![]() So have fun with that, when I have more time I'll probably write a guide on how to get a sensible setup going. Basically its the same as with Debian, just that you have another package manager and way more possibilities and up-to-date software |
![]() |
![]() |
![]() |
#2 |
BLAM!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 13,492
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
That looks fun!
Looking forward to more details about your setup ![]() |
![]() |
![]() |
Advert | |
|
![]() |
#3 |
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17
Karma: 222284
Join Date: Jul 2018
Device: PW3
|
So here you can find tools and instructions now: https://github.com/schuhumi/alpine_kindle
![]() |
![]() |
![]() |
![]() |
#4 |
github.com/zaoqi
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 87
Karma: 32020
Join Date: Mar 2017
Location: - Zhejiang China
Device: Boox c67ml,Note S,Max2,KT3,KPW4,Kobo AurdHD,Touch N905C
|
I added these tools to https://github.com/zaoqi/kual-linuxdeploy-armhf :
https://github.com/zaoqi/kual-linuxd...ases/tag/0.3.0 |
![]() |
![]() |
![]() |
#5 |
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17
Karma: 222284
Join Date: Jul 2018
Device: PW3
|
![]() ![]() ![]() ![]() High RES images + slightly updated instructions New features:
Fixed Bugs:
Known Bugs: No onscreen keyboard on the lockscreen (don't lock! You can kill it through ssh though. Or reboot) |
![]() |
![]() |
Advert | |
|
![]() |
#6 |
BLAM!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 13,492
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Last edited by NiLuJe; 09-02-2019 at 08:23 PM. |
![]() |
![]() |
![]() |
#7 | |
Junior Member
![]() Posts: 3
Karma: 10
Join Date: Aug 2019
Device: Amazon KPW3
|
Quote:
If it could maybe PW3 will be a tool XD |
|
![]() |
![]() |
![]() |
#8 | ||
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17
Karma: 222284
Join Date: Jul 2018
Device: PW3
|
Quote:
![]() Quote:
The other thing is that a native xserver would be nice, because Xephyr converts the touch inputs to mouse inputs.. Chromium can interpret a mouse as touchscreen, which is the reason why it works like on Android now, but that's only one application. First step would probably be to get xf86-video-imx working on Alpine (there's no package for it, also compatability with kernel?), and then creating a plugin for xorg that refreshes the screen according to the xdamage events (possibly with NiLuJe's FBInk?). I toyed a little with the fbdev driver, and while something happens on the screen when manually refreshing, something is off as the colors and size of elements don't match, probably something related to color depth or whatever. But performance with fbdev would probably way worse than with the imx driver anyways |
||
![]() |
![]() |
![]() |
#9 |
BLAM!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 13,492
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
I have no experience (at all) with X drivers, but, technically, yeah, once you have a rectangle's coordinates/dimensions, you're only an fbink_refresh() away
![]() |
![]() |
![]() |
![]() |
#10 | |
Going Viral
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
|
Quote:
All series 5.x firmware devices are running native X11. Plus, the 'diags' firmware of the K4 is also running X11. So there are your X11 drivers for each device, Amazon/Lab126 already ships them. |
|
![]() |
![]() |
![]() |
#11 |
BLAM!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 13,492
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
True, that'd be the simplest solution, but the Xorg driver ABI might have some stuff to say about that... :/ (plus, Alpine is musl, not glibc, which might not help the matter).
|
![]() |
![]() |
![]() |
#12 | ||
Member
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 17
Karma: 222284
Join Date: Jul 2018
Device: PW3
|
Quote:
![]() Quote:
Code:
In file included from imx_display.c:39: /usr/include/xorg/fbdevhw.h:50:54: note: expected 'ScrnInfoPtr' {aka 'struct _ScrnInfoRec *'} but argument is of type 'int' extern _X_EXPORT void fbdevHWAdjustFrame(ScrnInfoPtr pScrn, int x, int y); ~~~~~~~~~~~~^~~~~ imx_display.c:961:2: error: too many arguments to function 'fbdevHWAdjustFrame' fbdevHWAdjustFrame(scrnIndex,0,0,0); ^~~~~~~~~~~~~~~~~~ Spoiler:
I think the options are:
|
||
![]() |
![]() |
![]() |
#13 |
BLAM!
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Posts: 13,492
Karma: 26047188
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Fair warning: I have *no* idea what all this is for xD.
The modern variant of this appears to be something like that, although that's not actually aimed at boards w/ an EPDC, which use an older kernel. Also possibly not aimed at the right boards *at all* (that certainly targets at *least* an i.MX6 w/ a Vivante GPU, which I don't think is the case on Kindle & Kobo, we only have the PXP). I think *someone* managed to dig up the proper tree from NXP a few months ago (possibly on the Kobo forum), FWIW. ---- Back on planet Earth, IIRC, on Kindle, the actual job of requesting eInk refreshes is deferred to awesome via the ligl lua bindings. That said, I never really looked all that much into it, short of enabling debug logging to mimic its behavior in KOReader. Last edited by NiLuJe; 09-03-2019 at 02:02 PM. Reason: Re-read the datasheets. No Vivante. |
![]() |
![]() |
![]() |
#14 | |
Junior Member
![]() Posts: 3
Karma: 10
Join Date: Aug 2019
Device: Amazon KPW3
|
Quote:
·After trying I could make sure that it doesn't like any Usb devices except charge line.(Though I successfully use ADB to install .apk on my HUAWEI Watch through WIFI). ·Though Chromium is so perfect that could be use to watch LIVE,but it cannot afford 2 tabs.(Maybe because of performance or need time to improve) ·Right click on the panel is harder than long-time press to use. ·Onboard's input upper cases is a monster!I must click Capslock many times to input the upper cases I need. ·Cannot open *.AppImage(Because of performance I do not want to make any packages on Kindle) —————————— A strange thing:There is a package manager "pacman" could be installed by "apk".It looks norml but I don't know how to use.Is it useful? That's all.Maybe.XD |
|
![]() |
![]() |
![]() |
#15 |
Member
![]() Posts: 18
Karma: 10
Join Date: Sep 2019
Device: A7CC
|
Wow, that looks great!
1) is there a video available? to see how it really feels? 2) is it possible to rotate the desktop to landscape? 3) is it possbile to map the buttons (Oasis)? 4) is it possible to play music over bluetooth? 5) is it possible to connect a keyboard + mouse over bluetooth? thanks! |
![]() |
![]() |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Anyone run Linux on an ereader? | Panchax | General Discussions | 63 | 10-17-2017 01:05 PM |
Alpine Linux on Kindle | zaoqi | Kindle Developer's Corner | 3 | 08-21-2017 12:23 PM |
Alpine Linux on Kindle | zaoqi | Kindle Developer's Corner | 2 | 08-20-2017 09:43 AM |
Running calibre on Alpine Linux? | ljnelson | Calibre | 1 | 12-14-2016 12:34 AM |
how to run an app with full screen | kdusr | Kindle Developer's Corner | 5 | 11-28-2016 04:04 AM |