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

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

比較的新しいIntel CPUでPuppy Linuxがうまく動かない問題

前の記事にもちょっと書いたが、比較的新しいIntel CPUでは、グラフィック周りで不具合が起きているらしい。

Puppy Linux Discussion Forum :: View topic - HP-X360-I3 Tahr=graphics Slacko=No wireless

うちのPCでもTahrPupで同じような症状になった。

上のPuppy Linuxフォーラムで質問している人はIntel Core i3 5010Uで起きているようだが、うちのマシンはCore i5 5200Uである。

同じBroadwellだと思われる。

そんなに新しくないんだけど・・・。

カーネルがどうやらきちんと新しいIntel HD Graphics(うちのマシンはIntel HD Graphics 5500)に対応していないようだ。

XenialPupだと起動できる。

Ubuntu用のIntelドライバインストーラやアップデーターを試してみたが、ディストリビューションのチェックと思われる項目でエラーが出てインストールできない。

直接、グラフィックと関係がないがマルチタスク動作で動きがおかしくなっているのでいろいろ調べてみたら、CPUの周波数コントロールであるPStateがうまく動いていないらしいこともわかった。

起動オプションにacpi=forceとintel_pstate=disableを追加してみたら、起動してXが立ち上がった直後の不安定さは改善した。

acpi-cpufreqでクロック周波数の制御が行われる。

intel_pstate=no_hwpというオプションもあるようだ。

HardWare controlled P-Stateという機能を無効にするものらしいが、この機能はSkylake以降に搭載されているということで、うちの環境には関係がないので、no_hwpオプションも意味がないだろう。

PStateの不具合は結構あるようでツイッターなどでも探すと(Puppy Linuxではないだろうが)同じような記述がある。

intel_pstateにすると周波数制御の種類がperformanceとpowersaveしかなく、うちのマシンではバッテリー駆動状態だと負荷に関係なくバッテリーの残り残量に合わせてどんどんクロック周波数が落ちていく。

自動的にバッテリー消費を抑えているのだろうが、バッテリーの残りが少ない状態になるとクロック周波数は500MHzにまで低下してしまい、アプリを終了して電源をオフにするのにかえって時間がかかるというおかしなことになっている。

なかなかクセモノだ。

しかし、Intel PStateを無効にすると今度は、負荷がかかったときに動作クロック周波数を一時的に定格よりも引き上げるターボブーストテクノロジー(Intel Turbo Boost Technology)が効かなくなるようだ。

インテル ターボ・ブースト・テクノロジー - Wikipedia

i5-5200Uではベース動作周波数が2.2GHzのところ、ターボブースト時には2.7GHzまで引き上げられる。

これが無効になるのは地味だがちょっと残念。

しかし、安定動作が優先なのは当たり前なのであきらめるしかない。

アイドル状態のクロックや電圧を制御するC-Stateというのもあって、古いCPUではintel_max_cstateというカーネルオプションをつけて安定動作を図る場合もあるようだ。

少しこれで様子を見てみることにする。

グラフィック関係をどうにかできないだろうか・・・。


Puppy Linuxに触発されて作ったらしい、DebianDogやUbuntuベースのXenialDogなら問題なく動く可能性が高い。

カーネルも定期的にアップデートされる。

arekorebibouroku.hateblo.jp

Puppy Linuxよりもメモリも少なくて良い。

しかし、初期設定がPuppy Linuxよりも面倒。

そこを乗り越えればかなり快適に使える。


2017/11/05 追記

XenialPup64 7.8.0.6を試してみたがやはり途中でフリーズする。

XenialPup64のカーネルのバージョンは4.9だ。

安定して動作するXenialDogは4.4なのでもしかしたらカーネルが新しすぎるのかも知れない。

しかし、Ubuntu(Lubuntu)を先日、Zesty Zapus(17.04)にアップグレードしたが、これは4.10で、もっと新しいのである。

カーネルのせいでは無いのだろうか?

TahrPupは3.14だから古すぎて動かないのは間違いないようだが…。

さらに追記

Slacko64 6.9.9.9を試してみた。

Index of /puppylinux/puppy-slacko-7.0/testing/64/

Slacko64 6.9.9.9はカーネルの異なる複数のイメージが用意されている。

バージョン4.9のカーネルが使われたものはやはり何かの拍子にフリーズする。

バージョン4.4のカーネルが使われたものはうまく動作している。

XenialDogと同じ4.4で安定した動作となっていることを考えると、問題はバージョン4.9のカーネルである可能性が高いのではないかと思う。

Slacko64 6.9.9.9はXenialPup同様テスト版である。

Slacko | Home

Puppy Linux Release Announcement

公式版とされているSlacko64 6.3.2はカーネルのバージョンは4.1のようだ。

少し古いがもしかすると動くかも知れない。

広告を非表示にする