|
|
Thread Tools | Search this Thread |
08-21-2012, 10:34 AM | #1 |
Senior Altruist
Posts: 82
Karma: 600554
Join Date: Jun 2012
Device: Onyx Boox C67ML, Onyx Boox Note Pro
|
PRS-T2 New e-ink update algorithm missing from Linux source; Sony circumvents GPL
I was interested in how Sony implemented their improved eInk-screen update on the PRS-T2 display driver, to see whether it could possibly be backported to the PRS-T1. So I looked into the Linux source code they released.
To my surprise, I found that they have just added a few hooks that call into a proprietary extension kernel module (if present). The hook functions are simply named func1…func8, presumably to obfuscate their purpose. Here's the structure the extension needs to register with the video driver to have its hooks called: Code:
struct mxc_epdc_fb_extension { struct module* owner; struct mxc_epdc_fb_data *fb_data; int (*func1)(struct mxc_epdc_fb_data*, struct update_data_list*); int (*func2)(struct mxc_epdc_fb_data*, struct update_data_list*); int (*func3)(struct mxc_epdc_fb_data*, struct update_data_list*); int (*func4)(struct mxc_epdc_fb_data*); int (*func5)(struct mxc_epdc_fb_data*); int (*func6)(struct mxc_epdc_fb_data*); int (*func7)(struct mxc_epdc_fb_data*); int (*func8)(struct mxc_epdc_fb_data*); }; I personally consider anything a "derived work" that needs special hooks in the kernel to function with Linux (i.e., it is not acceptable to make a small piece of GPL-code as a hook for the larger piece), as that obviously implies that the bigger module needs "help" from the main kernel. — Linus Torvalds Source: http://linuxmafia.com/faq/Kernel/pro...l-modules.html |
08-21-2012, 01:05 PM | #2 |
Wizard
Posts: 2,997
Karma: 18346231
Join Date: Oct 2010
Location: Sudbury, ON, Canada
Device: PRS-505, PB 902, PRS-T1, PB 623, PB 840, PB 633
|
Keep in mind that Sony may not have the rights to distribute that source code if they are licensing it from someone else. It would be best to deal with them politely to find more out before letting the accusations fly. The problem may really be due to someone else.
|
Advert | |
|
08-21-2012, 02:03 PM | #3 |
Evangelist
Posts: 425
Karma: 75216
Join Date: Nov 2011
Location: old europe
Device: Kobo Mini, Tolino Epos 2
|
The hardware platforms of the PRS-T1 and PRS-T2 are equal - at least according to http://www.ebouquin.fr/2012/08/17/te...euse-complete/
So we should be able to just plug T2 kernel binaries into the T1 |
08-21-2012, 03:12 PM | #4 | |
Senior Altruist
Posts: 82
Karma: 600554
Join Date: Jun 2012
Device: Onyx Boox C67ML, Onyx Boox Note Pro
|
Thanks for your comments, rkomar!
Quote:
I'd love to get a clarification from Sony. Can you suggest a good avenue for having that discussion with Sony? |
|
08-21-2012, 03:22 PM | #5 | |
Senior Altruist
Posts: 82
Karma: 600554
Join Date: Jun 2012
Device: Onyx Boox C67ML, Onyx Boox Note Pro
|
Quote:
The PRS-T2 kernel Sony distributes has the same version number as the PRS-T1 kernel, but it has evolved a bit, which may lead to a modversion mismatch. Also, if the kernel config files in the Sony tarball are any indication, there may be minor SoC or platform differences and slight configuration mismatches between the platforms. For example, some of the config files select different platform clocks and timers. (BTW, one of the config files hints at a future HD version of the Reader with a 1200x1600 eInk display. ) |
|
Advert | |
|
08-21-2012, 05:26 PM | #6 | |
<Insert Wit Here>
Posts: 1,017
Karma: 1275899
Join Date: Jan 2008
Location: Puget Sound
Device: Kindle Oasis, Kobo Forma
|
Quote:
And I will note that while Linus may interpret the GPL one way, lawyers and judges may interpret it slightly differently if this went to court. While Linus' interpretation is important from a "I want to do right by the original creator" point of view, it is utterly irrelevant from a legal point of view, unless it is in the license. If those extensions are indeed in a modified kernel, then that's sloppy on their part either way. The smart thing to do, if the kernel did indeed need to be modified, would have been to extend/modify existing interfaces in a way that it was useful on its own. Then plug the proprietary driver blob they get from eInk into that. This smacks of being lazy, and getting a company lawyer to sign off on it. |
|
08-22-2012, 01:15 AM | #7 |
Wizard
Posts: 2,997
Karma: 18346231
Join Date: Oct 2010
Location: Sudbury, ON, Canada
Device: PRS-505, PB 902, PRS-T1, PB 623, PB 840, PB 633
|
What sources are you comparing to when the only difference you see is the new struct added? Is there some Freescale patch for the stock linux-2.6.35.3 kernel that produces most of what Sony is using?
|
08-22-2012, 03:41 AM | #8 | |
Senior Altruist
Posts: 82
Karma: 600554
Join Date: Jun 2012
Device: Onyx Boox C67ML, Onyx Boox Note Pro
|
Quote:
The video-driver extension interface is by far not the only change; there's tons of minor bug fixes, platform updates, power-management enhancements, minor quirks stuff, plus a few security fixes thrown in for good measure. There surely is. But that's not what I've been looking at, and I don't know off-hand where to find it. |
|
08-22-2012, 12:07 PM | #9 | |
Wizard
Posts: 2,997
Karma: 18346231
Join Date: Oct 2010
Location: Sudbury, ON, Canada
Device: PRS-505, PB 902, PRS-T1, PB 623, PB 840, PB 633
|
Quote:
|
|
08-22-2012, 03:49 PM | #10 |
Zealot
Posts: 102
Karma: 38810
Join Date: Apr 2011
Device: Sony PRS-T1
|
I was thinking of dumping the T2 reader and other android app to the T1... do you think it's possible? evernote and remote delivery would be nice..
they're not kernel dependent, right? someone know if it ships android 2.1 like the T1? |
09-03-2012, 09:53 PM | #11 |
partly refreshed
Posts: 36
Karma: 3026
Join Date: Aug 2012
Device: It's a Sony :P prs-t1
|
If I have understood correctly, the reported improvements are solely driver made while the Display itself hasn't changed at all?
Anything out there yet to insmod on the T1? |
09-04-2012, 06:07 AM | #12 | |
Senior Altruist
Posts: 82
Karma: 600554
Join Date: Jun 2012
Device: Onyx Boox C67ML, Onyx Boox Note Pro
|
Quote:
Also, if the screen is indeed whiter than the T1's, that surely sounds like a hardware improvement. But the crispier text rendering some reviewers mention could be a result of improvements in the user-land Reader software (better fonts, modified antialiasing / hinting, better gamma correction). No. The new driver can be compiled as a module for the T1 kernel (I tried), but the regular T1 kernel has the original display driver (without the hooks) compiled in. Without the hooks, you couldn't load the proprietary module even if you had it (I don't). I don't have much experience swapping display drivers, but I think a linked driver cannot easily be replaced by loading a module. You'd probably have to compile and load a new kernel (to which, I understand, you are well on your way? ) or do some dirty redirection magic. |
|
09-04-2012, 11:45 AM | #13 | ||
partly refreshed
Posts: 36
Karma: 3026
Join Date: Aug 2012
Device: It's a Sony :P prs-t1
|
Quote:
What general problems you might gonna run into if you compile the T2 kernel and run it on the T1? Quote:
|
||
09-04-2012, 12:51 PM | #14 | ||
Senior Altruist
Posts: 82
Karma: 600554
Join Date: Jun 2012
Device: Onyx Boox C67ML, Onyx Boox Note Pro
|
Quote:
Quote:
I'd start by using the T1 kernel sources and replacing the T1 video driver with the T2 video driver (they're compatible). Alternatively, the T2 sources also appear to come with support for the T1 platform, so you could try compiling a T1 kernel from those. With luck, the proprietary T2 module loads into the resulting kernel on the T1, but as I indicated in an earlier posting, there are various reasons why that might not work out. |
||
09-04-2012, 03:00 PM | #15 |
partly refreshed
Posts: 36
Karma: 3026
Join Date: Aug 2012
Device: It's a Sony :P prs-t1
|
Sorry, I didn't make myself very clear. I was just wondering if Sony uses any proprietary drivers (lets assume legitimately) do those binaries need to be published with the kernel sources?
Can a proprietary driver btw legitimately be built into the kernel, or does it have to load as a module? |
Tags |
gpl violation, prs t2, sony |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
PRS-T1 Sony publishes incomplete Linux kernel source code | altruizine | Sony Reader Dev Corner | 4 | 08-17-2012 08:24 AM |
Development GPL Dingo Source Dropbox 'public' links. | Gunnerp245 | enTourage eDGe | 8 | 10-26-2011 08:55 PM |
Onyx and GPL open source licence | glin | Onyx Boox | 1 | 10-07-2010 09:24 AM |
Development Dingo GPL Source Code is Posted | dontpanic | enTourage Archive | 0 | 09-13-2010 10:58 AM |
Is Cool-er GPL based? If so there may be hope to get the source code.... | drcross | Interead COOL-ER | 2 | 06-10-2010 04:16 AM |