Chienomi

AMD APU Kaveri (A7700-K) * Linux

troubleshoot

openSUSEのメーリングリストでご教示いただき、解決したので詳細を示そうと思う。

答はここに集約されている。今井さんによると

Kaveri等のプロプラなドライバを必要とする奴は

/etc/default/grubだったかのGRUB_CMDLINE_LINUX_DEFAULT="nomodeset"ってしておくのが良いようです。

これをやっとけばブートパラメータで必ずnomodesetされますし。

ほぼnomodesetで通る、ようだ。実際にやってみたところ、

  • PCLinuxOS 2013.12 64bit KDE Fullmonty
  • Sabayon 14.01 KDE amd64
  • Linux Mint 16 x86_64
  • Korora20 x64_64
  • Chakra 2014.02 64bit

のいずれも、通常起動ではGrubのあとはディスプレイ信号が消え、ディスクも停止し、反応もなくなるのだが、nomodesetならば正常に起動した。

ただし、PCLOSについてはXが起動せず、Chakraはsnmpd起動時にものすごく待たされるが、これは別の問題だ。PCLOSに関しては、ビデオドライバまたはカーネルによって解決することだろう。2013.12とやや古いことが、古いカーネルを使っているという問題になるのかもしれない。

さて、nomodesetとは何か?調べてみると、そのものズバリな答がArch Wikiにあった。

Catalystドライバを使っているときなど、ブランクスクリーンになったりディスプレイに"no signal" エラーがでたりするなどの理由で KMSを無効にしたい時があるかもしれません。KMSを無効にするには、カーネルパラメータに nomodeset を追加します。詳しくは Kernel parameters (日本語) を見て下さい。

どうも、openSUSEで「NoKMS」オプションを選択することで起動できる、というのはこのあたりからきているようだ。

そしてMageiaの/boot/grub/menu.lstを見てみると、nokmsbootという値がある。しかし、nomodesetとの違いは何かと思いそれを調べてみると大半はMageia関連の記事で、FedoraやArch, Gentooでもひっかかることはひっかかるもののはっきりしたことが分からない。カーネルのドキュメントを検索してもこれについてはヒットしない。結局それについてはよくわからないままとなった。

おそらくは起動時のみKMSを無効にするのだろうと想像はつくが、推測の域を出ない。

さて、nomodesetのブート時の指定方法だが、最近流行りのグラフィカルなものは大体legacy Grubのようだ。Fキーによってメニューを出すタイプだ。これは、F3を押して「起動オプション」を選択したあとESCで戻ると起動オプションが編集できるようになっている。値はスペース区切りなので、スペースで区切ってnomodesetを追記してEnterキーで起動できる。eで起動オプション編集に行けないので戸惑う。もしかしたらもっとスマートな方法があるのかもしれない。

Grub2はeで編集に行くと複数行になっているので戸惑うが、linuxという行の最後に追加する。