llandsmeer / inkvt Goto Github PK
View Code? Open in Web Editor NEWExperimental VT100 terminal emulator for Kobo e-readers
License: GNU General Public License v3.0
Experimental VT100 terminal emulator for Kobo e-readers
License: GNU General Public License v3.0
Hi! I got a chance to test out your project a few days ago and I'm really excited about using my Kobo as a text editor for my Ubuntu laptop, I'm loving what I saw so far. I noticed in the README that you wanted to hear if anything broke so I'll report my experience:
I'm using a Kobo Clara HD (firmware ver. 4.31.19086) and I was able to build inkvt with the KOreader cross-compiling toolchain. I was able to SSH into Ubuntu by following these steps
--no-http
from the startup scriptMost key inputs work perfectly but I've noticed a few key situations when this isn't the case. ESC, tabs, Alt+something and Ctrl+something. These get registered by the phone OS and pressing tab unfocuses the input field so I'm assuming there's something in the JS code that isn't catching them properly.
I'm not familiar with the language but I'll still try to fix this myself, but if you have any suggestions please let me know your thoughts
Hey there,
Getting a segmentation fault when trying to launch from a Kobo Touch N905B with the --osk flag. Binary that I have works fine launching the osk on an Aura HD on firmware 3.18, but hasn't worked on the Touch on firmware 2.2.0 nor on firmware 4.24.15676. Logs from both look identical; this is when launching from a KFMon trigger (which I understand isn't really supported on 4.24.X) and from a NickelMenu trigger:
Variable fb info: 600x800 (608x1792), 16bpp @ rotation: 3 (Counter Clockwise, 270°)
Fixed fb info: ID is "mxc_epdc_fb", length of fb mem: 2179072 bytes & line length: 1216 bytes
Device's expected Portrait orientation should be: 3 (Counter Clockwise, 270°)!
Current rotation is already 3!
Switching fb to 8bpp @ rotation 3 . . .
Setting bitdepth to 8bpp
Setting grayscale to 1
Setting rotate to 3 (Counter Clockwise, 270°)
Bitdepth is now 8bpp (grayscale: 1) @ rotate: 3 (Counter Clockwise, 270°)
Variable fb info: 600x800 (608x1792), 8bpp @ rotation: 3 (Counter Clockwise, 270°)
Fixed fb info: ID is "mxc_epdc_fb", length of fb mem: 2179072 bytes & line length: 608 bytes
[FBInk] Detected a Kobo Touch A/B (310 => Trilogy @ Mark 3)
[FBInk] Enabled Kobo w/o Multi-Touch quirks
[FBInk] Clock tick frequency appears to be 100 Hz
[FBInk] Screen density set to 167 dpi
[FBInk] Variable fb info: 600x800, 8bpp @ rotation: 3 (Counter Clockwise, 270°)
[FBInk] Fixed fb info: ID is "mxc_epdc_fb", length of fb mem: 2179072 bytes & line length: 608 bytes
[FBInk] Canonical rotation: 0 (Upright, 0°)
[FBInk] Fontsize set to 16x32 (Terminus base glyph size: 8x16)
[FBInk] Line length: 37 cols, Page size: 25 rows
[FBInk] Pen colors set to #000000 for the foreground and #FFFFFF for the background
Segmentation fault
Restoring original fb bitdepth @ 16bpp & rotation @ 3
Not exactly sure what's up, considering that it works from the Aura HD. Might it be something to do with my buildchain? I used the koxtoolchain to make the binary.
I have a Kobo Libra updated to the latest firmware. I tried to install Inkvt, but libc version is 2.19. I'm not too surprised because every experimental program I install give me unusual issues (karma?). Yours seems to be awesome and I'd like to try it as soon as possible.
Have you an idea on how to fix this?
Thanks
First, thanks so much for this great project! Precisely what I wanted :)
Second, I noticed two (really small) oddities in the installation instructions. First of all, your CROSS_TC?
refers to a 32 bit binary. Is your PC really that old? Or is there a reason for using it? Second, and more importantly, your otherwise detailed installation instructions miss a call to git submodule update --init --recursive
(or something similar). Just pointing out some stuff so that this project will succeed, and scare away the least amount of people possible.
Thanks again!
One thing I miss from fbpad-eink is the ability to run a terminal session along with Plato (i.e. ereader software). I gather that this ability was not really your intention to implement, but I still miss it.
With fbpad-eink, I could fairly easily switch between, say, a book, and a terminal: if I would type within fbpad or refresh the screen with ctrl+l, I would see a terminal, and if I would then refresh the screen in Plato using touch gestures, I would return to the book. It didn't work flawlessly, but it was interesting and somewhat usable nonetheless.
inkvt can already sort of do this, but as we discussed in an earlier issue (#5), sometimes my kobo just freezes when both Plato and inkvt are running.
If you want, I would be happy to provide debugging info (my inkvt session in the terminal outputs nothing upon freezing, but dmesg repeatedly shows imx_epdc_v2_fb 20f4000.epdc: collision detected, can not do REAGl/-D
)
My own use cases for this would be controlling my music from my kobo (I use cmus, but I don't like using my computer while reading, because it often distracts me. Currently, ssh'ing and then running cmus already works fine, but often freezes after a while). Moreover, it might be nice to take notes while reading (e.g. using ssh+emacs).
Maybe there is a way to just completely steal the screen from Plato, and then return it when inkvt quits? (as a sort of hacky solution to any Plato-inkvt interference).
Not sure how difficult this would be, but maybe someone, someday will find the time to implement this.
Hi,
Firstly this project is amazing, I love being able to run a terminal on my kobo.
Quick question, at the moment I am unable to use the shift key to input other symbols like the ":" and these are needed for vi etc to work.
I recently upgraded to a kobo Clara HD so have an aura HD in good condition. Im willing to donate it for you to mantain this project
When I launch inkvt on my local system it successfully provides an address for me to connect and send keyboard input, however when launching from my Kobo Glo HD this section is missing and I can't connect to http://mykoboip:7800
This is a screenshot from my local system, Kobo prints everything except the 'listening on' section
Hi I had some trouble compiling this using the instructions. I used the kox toolchain as suggested and it generally works but it has trouble finding encoding.o
as per the error below (clipped the "not found" part because it was in danish):
arm-kobo-linux-gnueabihf-gcc-ar rc build/libvterm_kobo.a libvterm/src/encoding.o libvte rm/src/keyboard.o libvterm/src/mouse.o libvterm/src/parser.o libvterm/src/pen.o libvter m/src/screen.o libvterm/src/state.o libvterm/src/unicode.o libvterm/src/vterm.o /home/mads/x-tools/arm-kobo-linux-gnueabihf/lib/gcc/arm-kobo-linux-gnueabihf/11.2.0/../ ../../../arm-kobo-linux-gnueabihf/bin/ar: libvterm/src/encoding.o
I can't remember exactly how I fixed it but I got it working (sorry for lack of details, I'm quite ill).
Hello,
First of all, thank you for your amazing tool.
I have an issue when I try to start inkvt from kfmon it totally reboot my ereader.
Sometimes it writes "enabling wifi" when I run it just after the boot. The other times it doesn't have the time to write it.
This are the logs from KFMon:Spawned process 9861 (/mnt/onboard/inkvt.png -> /mnt/onboard/.adds/inkvt/inkvt.sh @ watch idx 3) ... Reaped process 9861 (from watch idx 3): It exited with status 1. [PID: 9931] KFMon is already running (PID: 191)!
And then my kobo libra H2O reboot.
I was trying to search the crash.log of your program but unfortunately my ereader had to be hard reset.
sorry for my poor english, I'm french
Often, the terminal cursor is invisible on startup. I'm not really show why this happens yet, though I've found that the cursor does from time to time show up when I run inkvt.armhf
while plato is active, though (almost?) never when I start inkvt from nickel (using the officially supported kfmon route).
I wonder if you've noticed this too. (multiple programs, such as vi, greatly benefit from having a visible cursor)
i dont have the ability to compile this can someone post a compiled version of this app?
Hello
I’m trying to run inkvt on my new libra2. Unfortunatly the display is upside down and the touch is normal . I can type blindly, it works (I hope you unferstand what I mean) Even if I force display reverse portrait the thouch is mirrored to the display.
How could I fix that please?
Good evening
I run inkvt over ssh. (for some reason, I can't kfmon to get inkvt show up in nikel, though the kfmon logs do show that inkvt is being registered, without errors). Though inkvt runs fine for a while, after a seemingly random — but short — period of time, inkvt freezes the screen. In addition to freezing the screen, I can't acces the underlying application anymore (e.g. if I would swipe while inkvt is running, the Plato reader would normally update the screen and show the next page). There are no errors shown in my ssh terminal, and I can still start new ssh sessions on the Kobo after the occurrence of the freeze. Oddly, if inkvt is in its frozen state, I can still send keypresses over http and ssh, but it takes a while for them to arrive.
To my knowledge, I followed your instructions carefully. Do you have any idea of what might be going wrong, and where/how to look for errors?
I run inkvt as as follows:
$ ssh $KOBO_ADDRESS # login to KOBO
$ /mnt/onboard/.adds/inkvt
$ ./inkvt.armhf # the same happens if I run ./inkvt.sh
[FBInk] Detected a Kobo Clara HD (376 => Nova @ Mark 7)
[FBInk] Enabled Kobo Mark 7 quirks
[FBInk] Clock tick frequency appears to be 100 Hz
[FBInk] Screen density set to 300 dpi
[FBInk] Variable fb info: 1072x1448, 32bpp @ rotation: 3 (Counter Clockwise, 270°)
[FBInk] Fontsize set to 24x48 (Terminus base glyph size: 8x16)
[FBInk] Line length: 44 cols, Page size: 30 rows
[FBInk] Vertical fit isn't perfect, shifting rows down by 4 pixels
[FBInk] Fixed fb info: ID is "mxc_epdc_fb", length of fb mem: 6782976 bytes & line length: 4352 bytes
[FBInk] Pen colors set to #000000 for the foreground and #FFFFFF for the background
Generally, there are no errors upon the moment it freezes. This one time, inkvt did tell me the following (though this could be completely unrelated):
[FBInk] MXCFB_SEND_UPDATE_V2: Invalid argument!
[FBInk] update_region={top=340, left=0, width=1072, height=1104}!
[FBInk] Failed to refresh the screen!
I used the same compiler as you suggested to compile inkvt. I have a KOBO Clara HD, with the latest 2019 firmware (I haven't checked for firmware since 2020).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.