diff --git a/base b/base index 746010975..0e7a6dcfb 160000 --- a/base +++ b/base @@ -1 +1 @@ -Subproject commit 746010975e7fa7e9a56e510ce5eb32a2d2feaff3 +Subproject commit 0e7a6dcfb58aa706f6fa231930c7ef58d8e9b3cb diff --git a/frontend/device/generic/device.lua b/frontend/device/generic/device.lua index 09bcaa971..862dbbe98 100644 --- a/frontend/device/generic/device.lua +++ b/frontend/device/generic/device.lua @@ -46,6 +46,11 @@ local Device = { isAlwaysPortrait = no, -- needs full screen refresh when resumed from screensaver? needsScreenRefreshAfterResume = yes, + + -- set to yes on devices whose framebuffer reports 8bit per pixel, + -- but is actually a color eInk screen with 24bit per pixel. + -- The refresh is still based on bytes. (This solves issue #4193.) + has3BytesWideFrameBuffer = no, } function Device:new(o) diff --git a/frontend/device/pocketbook/device.lua b/frontend/device/pocketbook/device.lua index e7e47b60e..6081d523a 100644 --- a/frontend/device/pocketbook/device.lua +++ b/frontend/device/pocketbook/device.lua @@ -106,6 +106,12 @@ function PocketBook:init() end end) + -- fix rotation for Color Lux device + if PocketBook:getDeviceModel() == "PocketBook Color Lux" then + self.screen.blitbuffer_rotation_mode = 0 + self.screen.native_rotation_mode = 0 + end + os.remove(self.emu_events_dev) os.execute("mkfifo " .. self.emu_events_dev) self.input.open(self.emu_events_dev, 1) @@ -203,6 +209,17 @@ local PocketBook740 = PocketBook:new{ emu_events_dev = "/var/dev/shm/emu_events", } +-- PocketBook Color Lux +local PocketBookColorLux = PocketBook:new{ + isTouchDevice = yes, + hasKeys = yes, + hasFrontlight = yes, + hasColorScreen = yes, + has3BytesWideFrameBuffer = yes, + isAlwaysPortrait = no, + emu_events_dev = "/var/dev/shm/emu_events", +} + logger.info('SoftwareVersion: ', PocketBook:getSoftwareVersion()) local codename = PocketBook:getDeviceModel() @@ -219,6 +236,8 @@ elseif codename == "PocketBook 623" then return PocketBook623 elseif codename == "PB740" then return PocketBook740 +elseif codename == "PocketBook Color Lux" then + return PocketBookColorLux else error("unrecognized PocketBook model " .. codename) end