あれこれ備忘録@はてなブログ

勉強したことやニュースや出来事を備忘録として書いていきます

このブログには広告が含まれます

LinuxのFirefoxで画面がグレーのままになる不具合(Nightly, 40などで)

Nightlyでは以前から起こっていましたが、問題が解決されないままバージョンが40になり、正式版でも同じ症状が起こっています。

omtc_disable001.jpg

Firefoxを起動すると画面がグレー表示のまま何も表示されない状態になります。 この原因は40から標準で有効になったOff Main Thread Composition(OMTC)という機能によるものです。 Windowsでも似たような不具合が出ていたようです。 Windows版Firefox 33でクラッシュやハングが多くなったと感じたら(追記あり) OMTCを無効にするには各ユーザーのプロファイルが保存されているディレクトリのprefs.jsを編集して、

user_pref("layers.offmainthreadcomposition.enabled", false);

という1行を追加する方法が正攻法でしょう。 しかし、ユーザープロファイルがどこにあるかわからない人や場所がわからないような人がprefs.jsを編集することは危険かも知れないので、Firefox上で設定を変える方法を示しておきます。 まず、起動時の画面のタイトルバーの下辺りを右クリックします。 すると右クリックでのメニューを表示するために画面が更新されます。 そのことで画面が見えるようになります。

 

omtc_disable002.jpg

画面が見えたら、アドレスバーを2回クリックします。見た目の変化がほとんどありませんが、続けて「about:config」と入力し(文字は表示されません)、エンターを2回押します。

 

omtc_disable003.jpg

2回クリックする理由は1回目では右クリックメニューが消えるだけで、次のクリックでアドレスバーが選択されるためです。 2回エンターを押す理由は1度目で設定画面が表示されますが、最初に警告画面が表示されるためです。警告画面も画面を更新しなければ見ることはできないため、気にせずにもう一度エンターを押して設定を変更する画面へ移動します。 次にアドレスバーに入力したのと同様に、今度は検索と書かれたところの入力欄を2回クリックします。 何も表示されませんが、気にせずに「offmain」と入力して、エンターを押します。 右クリックすると画面が更新されて、「offmain」という文字列を含んだ名前の設定項目が絞りこまれて表示されます。 次に、絞りこまれた項目のうち、

layers.offmainthreadcomposition.enabled

という項目の上あたりで右クリックを2回します。 マウスカーソルを右下へ少し動かすと画面のようなメニューが表示されると思います。 「切り替え(T)」をクリックして、右クリックで画面を更新すると、下の画面のように

layers.offmainthreadcomposition.enabled

を含む行が太字になり、値が「true」から「false」に変わっていると思います。

 

omtc_disable005.jpg

 

これが確認できたらウィンドウを閉じて、Firefoxを再起動します。 そうするとFirefoxの表示が正常に戻っているはずです。 OMTCが有効になっていると画面表示が高速になり、HTML5によるアニメーションなども速くなるはずです。 以前はjThreeなどの表示を高速化するのにこの方法が有効でした。 しかし、いつからか不具合が出てきて有効にしたくても出来ないままになっています。 できれば、修正されて欲しいのですが・・・ NightlyではElectrolysis(e10s)というマルチプロセスが有効になっているために同じような症状が起こっていることがあります。 その場合は、一番最初の画面の状態で画面を右クリックして、「三」のようなアイコンのボタンを押してメニューを表示させ、設定をクリック。 右クリックで画面を更新、「一般」の起動という項目のすぐ下にある

マルチプロセス Nightly を有効にする

チェックボックスをクリックして、チェックを外します。 そして、再起動してみてください。 これで直っていればそれでよいでしょう。 直っていない場合、上の方法と同様に「about:config」を表示させて、

layers.offmainthreadcomposition.enabled

を「false」にします。 以前からNightlyを使っている人で

layers.acceleration.force-enabled

を「true」にしている人は「false」に戻します。 再起動すると正常の表示になるのではないかと思います。 自分の環境でしか試していないので必ず正常になるとは言えませんが参考にしてください。