Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Cervantes]: waveforms & flags #763

Merged
merged 4 commits into from Nov 21, 2018
Merged

Conversation

pazos
Copy link
Member

@pazos pazos commented Nov 17, 2018

Removed a bunch of unused structs & kernel code. Not really needed but makes the file easier to read/understand.

Use same MXCFB_SEND_UPDATE because MXCFB_SEND_UPDATE_OLD was borked and made all legacy devices stupid enough to not update the screen 馃槶

Add a bunch of epdc flags from Cervantes 2013 - Cervantes 4 kernels.
Rename is_new to is_reagl to be a little more descriptive.

This fixes #754 (in particular: #754 (comment))

@NiLuJe
Copy link
Member

NiLuJe commented Nov 17, 2018

At first glance, LGTM ;).

A few stray FYI comments:

  • I usually keep the mxcfb includes as close (and as messy) as upstream as possibly simply to make diff'ing against newer versions easier. Granted, this is mostly because lab126 kernels are a moving target, this may not be as interesting for "quieter" brands ;).

  • I've never seen anything requesting the "D" variants of the REAGL waveform directly. That's not to say no-one did or does, just my personal experience ;).

@NiLuJe
Copy link
Member

NiLuJe commented Nov 17, 2018

And I had a vague inkling I was talking out of my ass on that last point, and yeah, I was: the Aura was the special snowflake doing just that, don't mind me :D.

@pazos
Copy link
Member Author

pazos commented Nov 17, 2018

I've never seen anything requesting the "D" variants of the REAGL waveform directly. That's not to say no-one did or does, just my personal experience ;).

Technically I had no idea, stock reader relies on auto selection most of the time (on the ui) but is a bit messy because it forces full update mode almost everywhere. While turning pages auto is used too and I 'm clueless about which wfm did the kernel autoselect.

GLD16 waveform seems nice with EPDC_FLAG_USE_DITHERING_Y1 on my Cervantes4 for non flashing ui refreshes, but seems non standard so I leave that for myself and use auto here, as most of other devices do. (Using AAD here just slows the UI)

GLR16 works nice too for partial updates (it is a bit faster than GLD16 w/ the same level of ghosting artifacts) but provides somewhat a clunky experience turning pages.

@NiLuJe
Copy link
Member

NiLuJe commented Nov 17, 2018

I don't remember the details of how the Aura handled things, but on Kindle, a REAGL update must be _FULL, or weird things happen ;).

Note that even like that, they do NOT flash, so a flashing update switches to GC16 ;).


But that's on Kindle, as I said, don't remember how the Aura does it. But I think I got someone to send me strace logs, so our current behavior should somewhat match Nickel in that respect, if you want to cross-ref ;).

@pazos
Copy link
Member Author

pazos commented Nov 18, 2018

I don't remember the details of how the Aura handled things, but on Kindle, a REAGL update must be _FULL, or weird things happen ;).

@NiLuJe Now I understand your verbosity levels 馃槃
https://github.com/koreader/koreader-base/blob/master/ffi/framebuffer_mxcfb.lua#L565-L567

So, yeah, setting waveform_reagl will do the full update trick, like in the Kobo Aura. The trick seems not required in Cervantes but is used to have a working night mode (it is ghosting like hell otherwise)

@NiLuJe
Copy link
Member

NiLuJe commented Nov 18, 2018

Yeah, I'm pretty much doomed to forget 95% of it otherwise ;p.

@Frenzie
Copy link
Member

Frenzie commented Nov 18, 2018

I usually keep the mxcfb includes as close (and as messy) as upstream as possibly simply to make diff'ing against newer versions easier. Granted, this is mostly because lab126 kernels are a moving target, this may not be as interesting for "quieter" brands ;).

In a similar vein, I think it's easier to quickly experiment a little if you don't have to mess around as much with header definitions.

Copy link
Member

@Frenzie Frenzie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@pazos
Copy link
Member Author

pazos commented Nov 21, 2018

@Frenzie: Can this PR be merged ?. I'm not in a hurry but I'd like to start using OTA updates without building them myself 馃槂

@Frenzie Frenzie merged commit 9501466 into koreader:master Nov 21, 2018
@Frenzie
Copy link
Member

Frenzie commented Nov 21, 2018

I wasn't sure if @NiLuJe had any more comments. :-)

@NiLuJe
Copy link
Member

NiLuJe commented Nov 21, 2018

Nope, LGTM ;).

@pazos pazos deleted the cervantes_wfm branch November 21, 2018 17:13
Frenzie added a commit to Frenzie/koreader that referenced this pull request Nov 21, 2018
Includes:
* [build, Android] libjpeg-turbo: make sure to copy the right lib koreader/koreader-base#769
  Missing piece for koreader#4254.
* [Cervantes]: waveforms & flags koreader/koreader-base#763
Frenzie added a commit to koreader/koreader that referenced this pull request Nov 21, 2018
Includes:
* [build, Android] libjpeg-turbo: make sure to copy the right lib koreader/koreader-base#769
  Missing piece for #4254.
* [Cervantes]: waveforms & flags koreader/koreader-base#763
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Cervantes 3 model detection is incorrect
3 participants