Λlisue's blog

つれづれなるままに更新されないブログ

Ubuntu 15.04 (Gnome Shell) にて GVim の描画問題に悩まされた人へ朗報

どうも、とってもお久しぶりです有末です。

TL;DR

$ sudo apt-get purge nvidia-304
$ sudo apt-get install nvidia-331

詳しい経緯と理由

以前よりGnome Shell を好んで利用しているのですが、いつ頃からか GVim の描画がまともにされない(ことがある)という問題に悩まされていました。 この問題はスクリーンショットを取ろうとしたり、ウィンドウサイズを変更すると治るため状況の共有もできず、たいへん困っていました。

で、いい加減イライラマックスになったのでむっちゃ検索した結果、どうもNVIDIA の Adaptive Clocking と Gnome Shell の組み合わせで引き起こされるバグらしいというところまで突き止めました。

となると NVIDIA の Adaptive Clocking を止めたくなるわけでございます。デスクトップ PC だし。 んで、いろいろ調べると下記のようにすれば止められるという情報がありました

$ nvidia-settings -a [gpu:0]/GPUPowerMizerMode=0

で、実行するわけですがなんか ERROR: Error querying target relations とかエラー出るし nvidia-settings みても明らかに止まってない。んでそれを調べてみると、どうやら sudo apt-get install nvidia-current でインストールされるのはちょっと古い nvidia-304 であり、このバージョンだと nvidia-settings にバグがあるから nvidia-331 にするといいよという回答がありました。

ここでハタと気が付きます。あれ、これ nvidia-331 入れたら描画問題すら治るんじゃね? んで早速 nvidia-331 を入れました。これ、いいですね nvidia-settingsインターフェイスからでも Adaptive Clocking の設定が変更できるようになってます。

とりあえず今のところ問題は起こってない感じです。もしもまた問題が発生したら下記のように Adaptive Clocking を止めてしまえば治るかもしれません(GUIでやってもいい)

$ nvidia-settings -a [gpu:0]/GPUPowerMizerMode=0 # 無効化
$ nvidia-settings -a [gpu:0]/GPUPowerMizerMode=1 # 有効化

あといちいち上記を実行するのが面倒なので、上記で治るようなら xorg.conf に書いちゃったほうがいいかもしれません。その時は別途また調べよう。

ほか参考になるかもしれないURL

[ubuntu] Disable Nvidia Driver's Adaptive Clocking?

powermizer: adaptive / maximum performance from CLI - nV News Forums

Powermizer changes at boot | MythTV | Users

Nvidia VDPAU Settings - ION 2