ブロッコリーの隣にはミニトマトを詰めろ

早く・美味しく・彩りよく

Virtualbox上のUbuntuでGoogleChromeを起動すると描画がおかしくなる問題

※この記事はただリンクを貼り付けただけですが、なかなかピンポイントな解決法にたどり着けなかったので記録しておきます。

 

先に結論を書きます。

 対処法:

Virtualboxの設定の3Dアクセラレーションのチェックを外す

もしくは

GoogleChromeの設定のハードウェアアクセラレーションのチェックを外す

 

【自分の環境】

Virtualbox  5.1.8

Ubuntu  15.04(ゲスト)

・Windows10(ホスト)

 ------------

初めてまともにPCに触れてから、自前の環境は6年間Windowsだけだったのですが、流石に不便になってきたので観念してLinux環境を構築することにしました。

 

現在マシンがDynabook 1つしかないので、パーティションで今更領域を区切るのは怖いと思い、Virtualbox上にUbuntuを入れてとりあえずGoogleChromeを開いたところ...

f:id:newbezn:20161201112300p:plain

描画が見事にぶっ壊れていました

 

開発環境構築のために色々設定を弄ってたので、最初は自分が何か壊してしまったのかとも思いましたが、ggったらどうやら違うようでした。

qiita.com

上記の記事によると、”現在対処法がない”とのことで絶望...しかけましたが、3Dアクセラレーションを無効にするとこの不具合は起きなくなるとも書かれています。

 

無効にしてみた

→動作が重い(もっさり)、描画がカクカクする

 

デフォルトだともっさりして使い物にならず、できれば3Dアクセラレーションを無効にはしたくない

 

ピンポイントで自分の症状とマッチするのは上記Qitaの記事くらいだったのですが、VirtualboxUbuntu(+Chrome系ブラウザ)の不具合はほかにも色々あるらしく、調べてみたら以下の記事が見つかりました

kledgeb.blogspot.jp

記事通りにChromeのハードウェアアクセラレーションを無効にすると、症状が解決!よかった

 

---

症状は改善したが、イマイチ原因が良く分からない(両者のハードウェアアクセラレーションが干渉している、もしくは相性が悪いということはわかるが)のでまたまたggった

 

Virtualboxの3Dアクセラレーション

”通常、ゲストOS上のアプリケーションがOpenGLDirect3D 8/9の使おうとすると、APIを介してVirtualBoxはソフトウェアエミュレートします。(但し非常に遅い) VirtualBoxはホストマシンのハードウェアを使用して、ハードウェア3Dアクセラレーションを実験的にサポートしています。 この機能はWindows, Linux, MacOSX, Solarisのホスト環境で動作します。”

3Dアクセラレーションを有効化 | VirtualBox Mania

 

GoogleChromeのハードウェアアクセラレーション

良い感じにまとめられてる物が見つからないが、細かく設定できるっぽい

 8570w blog: Google Chrome でハードウェア アクセラレーションを有効にする方法

 

ふーむ(わからなかった)

お勉強します...

 

ちなみに症状解決までに色々した結果

 ・Chrome以外の描画トラブルはなかった

 ・デフォルトのChrome(インストールしただけの状態)だと数分間正常に動く場合があった

  →ログインして、テーマや拡張機能を適用すると描画が壊れた

   その後クリーンインストールしたら、正常に描画されることは無くなった(デフォルト状態でも)

  ・VBの準仮想インターフェース

  →Hyper-VKVM以外:描画壊れる

  →KVM:デフォルトChromeなら数分間動いた

 

現在はChromeアクセラレーションを無効、VBアクセラレーションを有効、準仮想インターフェースHyper-Vで問題なく動いてる

 

知見が無いのでもっと良い解決方法があるかもしれないが、”とりあえず使う”というだけならこれで大丈夫そう

 

参考

#15417 (GUI Artifacts after opening Chrome) – Oracle VM VirtualBox