« June 2015 | Main | October 2015 »

July 02, 2015

Kindle Fire HD 7 (2012) (CM12入り)をオーバークロックしてみた

Cyanogemodの12を載せているKindle Fire HD 7 (2012版)の話です。

固定フォーマット(自炊本)の対応がうまくいったので、手持ちの電子書籍がほぼすべてKindle for Androidで読めるようになりました。そこで、このタブレットに(読書用アプリとしては)Kindle for Androidだけを載せて読書用タブレットとして使ってみています。(「ほぼすべて」なのは、Reader Storeで買った雑誌とかが若干あり、それらが読めないため)。

およそ1400冊の本があるので、「コレクション」を40くらい作って分類しているのですが、使っていると、「コレクション」画面に移動するときとか、「コレクション」画面をスクロールするときにしばしば引っかかるようになり、時には「このアプリは応答していません」というメッセージが出るなど、残念な症状が出るようになってしまいました。

# そういえば、Kindle for Androidはもともと「重い」アプリでしたよね。

いったん本を開けばそのあとはスムーズなので、少し我慢すれば良いだけなのですが、それでもちょっと許容範囲を超えています(←個人の感想です)。でも、だからといって、これだけのために高スペックのタブレットを入手するのもいかがなものか...(Fire HDX 7はあきらかに高性能なのですが、用途が読書だけだとすると、逆にちょっとオーバースペックな気がします)

ということで、プチ・チューニングを試みました。Cyanogenmodは設定の中に"performance"という項目があり、そこでCPUのクロックと、I/Oスケジューラを変更することができます。これらをいじるわけですが、結論から言うとCPUクロックの上限値を1200MHzから1500MHzに引き上げることで、「引っかかり」が若干軽減されることがわかりました。試行錯誤の中では、I/Oスケジューラの変更とか、バックグラウンドプロセス数の制限(こちらは「開発者用オプション」で設定)とか、いろいろ試したのですが効果がなく、結局のところ単純に処理が重かったということのようです。

その後、(CM12.1にアップデートしてからのことですが)アプリを立ち上げっぱなしにしていると(他のプロセスが終了して?)だんだん軽くなるらしい、ということが経験的にわかっています。

(2015.10.6追記) その後、Kindle for Androidが何回かアップデートされて、「引っかかり」はほとんどなくなりました。その副作用(?)でちょっとおかしなことが起こるのですが、全く実害がないので快適に使っています。

| TrackBack (0)

Kindle レンガに... そして復帰

いろいろじたばたしたので記録のために書いておきます。

CM12を入れていたKindle Fire HD 7 (2012)にシステムアップデートのお知らせが来たので、更新してみたところ、更新自体はふつうにできたのですが、その後なにかと不調になってしまったので、元にもどすことにしました(不調の原因は、このときのアップデートがCM12→CM12.1だったために、これに加えてgappsもAndroid 5.1用のものを入れる必要があった、ということだったようです)。

このときに、TWRPのワイプで、キャッシュやシステムと一緒に内部ストレージも同時にワイプしてしまったのが敗因です。PCから見えなくなってしまったので、システムを転送することができず、どうにもならなくなってしまいました。

そこで、米アマゾンでファクトリー・ケーブルなるものを購入し(自作のスキルはないので)、fastbootモードでboot、bootloader、recoveryをflashしましたが効果無く、ふと気づいてsystemとしてstackをflashしたら、ようやくPCから認識されたので、CMとgappsを転送してインストールしてめでたしめでたし。

かと思ったのですが.....

システムアップデートの通知が(また)来たので適用してみたところ、これはうまくいきました。
ところが、そのあとで(ちょっと事情があって)「ユーザーのアプリとデータを削除」を適用したところ、起動ループに陥ってしまったのです。(勝手にリカバリーモードに入ろうとして、TWRPの起動失敗を繰り返す)

「fastbootで焼き直せば良い」と簡単に考えていたのですが、再フラッシュしても一向に改善しないので、途方に暮れてしまいました。どうも、システムアップデートのときに、自動でリカバリーモードに入るフラグのようなものが立ったまま、中途半端にデータが消されたような気配です。

あきらめかけたのですが、そもそもfastbootで何ができるのかを調べたら、パーティションの消去ができるらしい、ということがわかったので、boot、bootloader、recovery、systemをeraseしたあとでフラッシュし直したところ、起動ループは解消してTWRPに入ることはできるようになりました。

で、CM12.1とgappsをインストールしようとしたのですが、こんどはTWRPのコンソールに「cacheがマウントできない」というメッセージが赤字で何度も出てきて嫌な感じです。とりあえずインストールは終わったので、リブートしてみたのですが、Cyanogenmodのマークが表示されたところから先に進みません。

で、もう一度TWRPのメニューをすみからすみまで見渡したら、"Advanced"に"Fix Permissions"という項目があったので、それを適用したらcacheのマウントエラーが消えて正常にインストールできました。

とりあえず、正常稼働しています。いろいろ勉強になりました。

| TrackBack (0)

Kindle用固定レイアウト本の作成について

以前の記事で、ChainLPで作った自炊本に少し手を加えてKindleでも目次が出るようにする、という話を書いたのですが、Kindle for Androidでは、こうして作った本が開けない、という問題にぶつかりました。

Kindle Previewerでは見られますし、タブレットに転送してKindle for Androidを立ち上げるとメニューには表示されるのですが、それを開こうとすると「正常なコンテンツでない」とか言われて削除を求められるのです。

とりあえず、同じ画像ファイル群をKindle Comic Creatorで電子書籍にすると読めるので、これを分解して中のmetadata.opfを調べてみました。そして、ChainLP+add_toc.shで作られるものとの違いとして

・ISBNがない
・"original-resolution"として、中のhtmlファイルで指定しているイメージサイズが記述されている
・"primary-writing-mode"として、"horizontal-rl"が指定されている

の3つがあることがわかりましたので、これらをadd_toc.shに加えたところ、表示されるようになりました。が、どれが効いたのかはよくわかりません。(直観的には2つ目ではないかと思っています)

なお、上の2つ目は
<meta name="original-resolution" content="800x1200" />
のように書きます。ここでの画像サイズは、中のhtmlやsvgで指定している画像サイズのことで、オリジナルの画像のサイズとは別のものです(もちろん同じでも構わない、というか、ChainLPで作ったものでは同じになりますが)

ちなみに、Kindle Comic Creatorは、この"original-resolution"がどうであろうと、元の画像には全く手を加えないようです。なので、たとえば無印Kindle用のものを作ろうと思ってoriginal resolutionを600x800とかに設定しても、元の画像がたとえば1200x1600とかだと、そのままの形で格納され、結果としてばかでかいファイルが作られてしまうのです。

ということで、ChainLPでepubを作り、それをmobiに変換する、という手順が良いと私は思います(自画自賛)。

とりあえず、今自分で使っているadd_toc.shを添付しておきます。汎用性はないと思うので、わかる人だけ修正して使ってください。「add_toc.sh」をダウンロード

| TrackBack (0)

CalibreでKobo電子書籍リーダー用の書籍管理(kepub用Tips)

Kobo TouchとかKobo Glo用のライブラリ管理をCalibreで行う話は日本語でも見かけるのですが、kepub.epubの話となるとあまり見かけないようなので、少しTipsを書いておきます。

・Calibreで扱う場合には接尾子は".kepub"にする: ファイルを取り込む際に、".kepub.epub"のファイルは、ただのEPUBだと判断されて、"kepub"を除いたファイル名で格納されてしまいます。".kepub"にしておくと、正しく識別されるようです(ただし、".kepub"という接尾子にしてしまうと、PC上ではAdobe Digital Editionsなどで読めなくなるのが難ですが)。Calibreでリーダー本体に転送すると、そこでは".kepub.epub"の付いたファイル名になっています。

・プラグイン: KoboTouchExtended Pluginのほかに、Kepub Metadata Reading PluginとKepub Metadata Writing Pluginが必要です。特に、Kepub Metadata Reading Pluginが無いと、.kepubのファイルを取り込んだ際に、書名や著者名が正しく表示されません。

・シリーズ順に並べたい: これはkepubに限った話ではありません。「シリーズ名」を記入しておくと、koboのリーダー上では書名の下に小さくシリーズ名とその番号が現れます。ただ、リーダー上でシリーズ順に並べる手段がないので、ちょっといらいらします(笑)。そこで、Metadata Plugboardを使います。
{series}{series_index:| |: |}{title}を{title}にマップして、本体で「書名順」にソートするとシリーズ順に並ぶというわけです。ただ、これだと本体では書名が表示されるところにシリーズ名が一緒に表示されるので、わずらわしいと感じる人もいるかもしれません。

| TrackBack (0)

« June 2015 | Main | October 2015 »