12-08-2019, 01:12 AM | #706 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Bonus points if you fix KSM to actually use the proper current fb orientations on (at least) Mk. 7 devices, because that's currently not the case .
(That part is accurate in FBInk, because KOReader relies on it, c.f., utils/fbdepth.c, with extensive comments about the exact behavior on the devices I own, scattered around set_kobo_quirks() in fbink_device_id.c and initialize_fbink() in fbink.c, with a bit of extra posssibly-not-entirely-accurate fun thrown in around rotate_touch_coordinates()). If that's actually a viable approach with Sergey's Qt4 plugins, of course. Because they may assume and expect the broken behavior, but I wouldn't know about that . Last edited by NiLuJe; 12-08-2019 at 01:20 AM. |
12-08-2019, 02:11 AM | #707 | |
Evangelist
Posts: 496
Karma: 356531
Join Date: Jul 2016
Location: 'burta, Canada
Device: Kobo Glo HD
|
Quote:
|
|
12-08-2019, 04:13 AM | #708 | |
Evangelist
Posts: 496
Karma: 356531
Join Date: Jul 2016
Location: 'burta, Canada
Device: Kobo Glo HD
|
Quote:
Do we know where this value or state is set or stored? And do Kobos run X? Or is it all virtual framebuffers? If it's virtual framebuffers, can something like fbcon and looking at what's in /sys/class/graphics/fbcon/ help? Can you pass kernel arguments through uboot? Or is the issue that the display orientation doesn't match the touchscreen orientation (and/or the orientation the application expects)? I dunno, I'm just throwing ideas out there; still just looking around and absorbing; enjoying your code comments, btw. :P Last edited by rtiangha; 12-08-2019 at 05:05 AM. |
|
12-08-2019, 05:00 AM | #709 |
Evangelist
Posts: 496
Karma: 356531
Join Date: Jul 2016
Location: 'burta, Canada
Device: Kobo Glo HD
|
Ah, ok. I found your Plato conversation. Wow, what a mess.
Well, since KSM is all shell scripts, I'm guessing that echo'ing various values to /sys is probably the way to go (I see references to /sys/classes/graphics/fb0 so there's that; does the touchscreen driver have something similar or is the touchscreen orientation fine as is?). The thing is, I only have a Glo HD so I don't know what expected behaviour is supposed to be on other devices or what needs fixing. Do all Mark 7 devices boot/display differently when it comes to rotation? What is the ideal outcome supposed to look like? I'm not sure if I can actually take a stab at this until I get a Mark 7 device of my own since it'll make the testing hard without one. Last edited by rtiangha; 12-08-2019 at 05:03 AM. |
12-08-2019, 01:41 PM | #710 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
There are very few commonalities, and they rarely make sense ^^.
Going via sysfs *should* behave like an ioctl on *current* FW versions, but it was possibly extra broken for quite a while during the 32bpp migration (early 4.x until basically 4.9). Take that with a grain of salt, I haven't been testing sysfs *writes* in quite a while. Reading it appears to be sane, though. Can't ask the kernel to rotate the touch coordinates for us, AFAICT (and, it is, in fact, "broken" (as, in, rotated) on purpose in the kernel driver for... reasons). Last edited by NiLuJe; 12-08-2019 at 03:00 PM. |
12-08-2019, 01:53 PM | #711 |
BLAM!
Posts: 13,477
Karma: 26012494
Join Date: Jun 2010
Location: Paris, France
Device: Kindle 2i, 3g, 4, 5w, PW, PW2, PW5; Kobo H2O, Forma, Elipsa, Sage, C2E
|
Also, keep in mind that I despise the 16bpp modes with every fiber of my being, so that's *NOT* what I'm most concerned about in FBInk, while it *is* for KSM (and, to a much lesser extent now that it does hw rotation on its own, Plato), because, for historical reasons, it expects/emulates the state the device is put in by pickel during the boot progress animation.
I, thankfully, was more concerned about the state *nickel* puts the device in, and once the move to 32bpp was finalized, that turned out to be a boon, because everything was by then slightly less insane. (That basically explains why the Plato and FBInk links I quoted above might in fact be referring to slightly different things as the "native" orientation ). If you want more details about your specific device, dropping a couple FBInk calls at key points in the boot process should make everything clearer (current FBInk versions can log to the syslog). Basically, you want one before on-animator.sh runs for the actual, true, "boot" rotation, which may or may not match the touch orientation, then you want one *during* (as in, after its first iteration, but before nickel kills it) on-animator.sh to see how pickel modifies that, as that's what KSM probably wants to match. And you want one once nickel has fully initialized to check how it decides to sanitize that to a Portrait orientation. Last edited by NiLuJe; 12-08-2019 at 02:01 PM. |
12-09-2019, 01:58 PM | #712 |
Wizard
Posts: 3,489
Karma: 2914715
Join Date: Jun 2012
Device: kobo touch
|
A random remark:
adds/kbmenu/onstart/checkinstall.sh presuposses the existence of adds/kbmenu/Qt/plugins/mousedrivers/. If this directory is not provided by the package, one has to make KSM create it by itself. |
12-12-2019, 07:19 AM | #713 |
Evangelist
Posts: 496
Karma: 356531
Join Date: Jul 2016
Location: 'burta, Canada
Device: Kobo Glo HD
|
OK, just straight up copying the coordinate data from 4.19 seems to work (or, at least it boots and launches nickel fine; I can't tell if there's a difference or not, and I'm still not sure what that stuff does).
However, the libKoboTS.so mouse driver from the forma package (date 1/26/2019) doesn't work on my Glo HD; I had to revert to the one that came in the KSM09+update001+nightmode version that was posted by CH23 (date 10/14/2014) before touch in KSM09 would work again. I don't have any other hardware to either test the other drivers, or if the 1/29/2019 version of the libKoboTS.so driver works on the same devices as the 10/14/2014 version (i.e. Mark 6 devices and older) outside of the Glo HD. But the Feb 2019 version of vlasovsoft launcher has always worked for me, and it has the 1/29/2019 version of that driver, right? So I don't know what's going on, unless vlasovsoft launcher has never used the newer version of that driver and just uses whatever KSM booted with (i.e. the older one)? Last edited by rtiangha; 12-12-2019 at 10:23 AM. |
12-12-2019, 02:17 PM | #714 | |
Wizard
Posts: 3,489
Karma: 2914715
Join Date: Jun 2012
Device: kobo touch
|
Quote:
At this point in the rcS file there is a file system check. From a certain FW version onward Kobo added user interaction. If there is a need to repair the file system and dosfsck fails to do so several times, the user is informed about it and given the opportunity to admit or refuse a factory reset. To make the user interaction possible they provided pickel with a new function: /usr/local/Kobo/pickel wait-for-hit $COORDINATES. KSM checks whether the pickel version available on the device is able to handle wait-for-hit (if [ $(strings /usr/local/Kobo/pickel | grep -c wait-for-hit) -ge 1 ]) or not and acts accordingly : Code:
if [ $(strings /usr/local/Kobo/pickel | grep -c wait-for-hit) -ge 1 ]; then FS_CORRUPT=0 dosfsck -a -w /dev/mmcblk0p3 || dosfsck -a -w /dev/mmcblk0p3 || dosfsck -a -w /dev/mmcblk0p3 || dosfsck -a -w /dev/mmcblk0p3 || FS_CORRUPT=1 if [ $FS_CORRUPT == 1 ]; then case $PRODUCT in kraken|phoenix|star) export COORDINATES="200 740 350 150";; [...] *) export COORDINATES="140 600 300 70";; esac [...] fi else ### if pickel cannot handle wait-for-hit dosfsck -a -w /dev/mmcblk0p3 fi Last edited by tshering; 12-12-2019 at 02:50 PM. |
|
12-12-2019, 02:48 PM | #715 | ||
Wizard
Posts: 3,489
Karma: 2914715
Join Date: Jun 2012
Device: kobo touch
|
Quote:
Quote:
Spoiler:
Last edited by tshering; 12-13-2019 at 06:19 AM. |
||
12-17-2019, 05:36 PM | #716 | |
Junior Member
Posts: 4
Karma: 10
Join Date: Dec 2019
Device: Kobo Clara HD
|
Last kobo firmware update disabled KSM on my Clara HD, how do I restore it if KBStartMenu_09_restore.zip is not compatible with this model?
Quote:
|
|
12-17-2019, 10:56 PM | #717 | |
Evangelist
Posts: 496
Karma: 356531
Join Date: Jul 2016
Location: 'burta, Canada
Device: Kobo Glo HD
|
Quote:
If you use kobopatch, you could also extract the files and add them to the additional files section of kobopatch.yaml so that they'll also be included in your patch tar ball (saves you from flashing an extra KoboRoot.tgz). |
|
12-19-2019, 08:59 PM | #718 | |
Junior Member
Posts: 4
Karma: 10
Join Date: Dec 2019
Device: Kobo Clara HD
|
Quote:
|
|
12-28-2019, 06:59 AM | #719 | |
Evangelist
Posts: 496
Karma: 356531
Join Date: Jul 2016
Location: 'burta, Canada
Device: Kobo Glo HD
|
Quote:
The only other difference I can think of is that I do use the KSM Bouncer functionality since I like forcing people to enter a password on boot. It could be the newer touch driver isn't loaded by then, but things work properly with the older driver so I'm not sure that's it. Unless order matters in the rcS file; I just realized I put that section after the mouse driver part so putting it before that section could be one last thing I could try. Anyway, other than that and/or bundling that older version of the driver (either replacing the one that exists in the Feb2019 pbchess package, or as a standalone adding a special case just for GloHD to load the older driver if the newer one still works with other Mark 6 and older devices), I'm out of ideas. Other than figuring out the backwards compatible part with older firmwares (although if you're using a Mark 7 device, I wonder why anyone would want to use an older firmware version, especially if that device is a Forma or Libra since the newer firmwares fix major bugs and the older version of KSM09 works fine on older devices for both new and old firmwares so unfortunately that part is not really a high priority/on my personal motivated interest list to figure out), I think the only thing left to do is figure out how much of update002 is left that is still relevant to migrate over (which I think mostly has to do with usbnet if I'm reading things right) since a good chunk of it seems to have already made it over in later versions of KSM09. After that, it might be worthwhile to try creating a unified KSM09 2019-12 or 2020-01 update roll-up (maybe targeting 4.18/4.19 devices just to make support easier). Last edited by rtiangha; 12-28-2019 at 07:07 AM. |
|
01-04-2020, 02:18 PM | #720 |
Junior Member
Posts: 4
Karma: 10
Join Date: Jan 2020
Device: Kobo Clara HD
|
Hi everyone,
I'm having a big issue with my Clara HD. Please excuse me if this is not the right place to post this question, and I'm totally new on this topic. My story: My friend gifted me a Kobo Clara HD last week. I was trying to learn about the device and found out about the KMS and Koreader application, and tried to install it on my device. I connected the device to my computer with USB cable, then I copied folder 'kbmenupngs' to the device, unpluged it, saw the pictures on my Clara. Next, I copied the file KoboRoot.tgz into the .kobo folder of the device, then unpluged the device. Unfortunately, the application (KMS 8) didn't work properly (probably wrong version). When the device finished installing the KMS, the menu appeared with several options, but I could not click and run the 'Start Nickel', nothing happened. Then, about 30s later the device continued and displayed the home screen as normal. I could see all the files /pictures on the home screen. Then, I did the stupid thing. I decided to delete the files and not using Koreader anymore. I deleted the pictures in the kbmenupngs first, and intended to delete the other files/pictures next. But the other files were automatically gone... Lastly, I reset the device to factory setting, and the problem came up. After selecting languages, on the next page I must choose to set up either via Wifi, or connecting to computer with USB cable. - The first option doesn't work anymore... it runs wifi scanning and just closes the window and not showing the next step. - The second option doesn't work neither, as my computer cannot recognize the device anymore (I tried using different USB ports and different USB cables). I'm so hopeless now and it seems like I can't use the device anymore... I'm very upset because it's a gift from my best friend... I was so negligent and made lots of stupid mistakes... Can anyone give me an advice to try fix it? I would really really appreciate your help! |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Kobo Start Menu 08 | tshering | Kobo Developer's Corner | 1021 | 06-29-2020 04:59 PM |
Kobo-Adding alternative readers using Kobo Start Menu | Ken Maltby | KOReader | 75 | 01-10-2020 01:35 PM |
Kobo Start Menu | tshering | Kobo Developer's Corner | 918 | 10-12-2017 02:32 PM |
Start KOReader automatically with Kobo Start Menu | checcousero | KOReader | 2 | 03-07-2017 11:42 AM |
Kobo Start Menu 07 | tshering | Kobo Developer's Corner | 644 | 03-02-2017 06:40 AM |