2018年3月14日水曜日

optimusなfedoraパソコンにsteamを入れる


今回は前回のパソコンにsteamを入れます。
ネットの先人がいるのでそれを参考に...

sudo dnf install xorg-x11-drv-intel mesa-libGL.i686 mesa-dri-drivers.i686

最初のやつはインテルのドライバ関連をインストールしてます。
前回書いたように、optimusは結局intelグラボ経由でモニターに出力してるので、
nouveauのドライバー入れるとまた死にます。

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

ここではsteamクライアントがあるリポジトリをインストールしています。

sudo dnf install steam

で最後にsteamのインストール


これであっけなく起動するかともいます。
あとはLinux対応のソフト「テラリア」「HOI4」などを入れれば終わりですね。
これoptimus支援してくれるんかな...

2018年3月8日木曜日

optimusなパソコンにfedoraをインストールする

さてさて今回は学校のパソコンにfedoraをインストールしたいと思います。
タイトル通りoptimusテクノロジー搭載のパソコンに正常にlinuxをインストールしていきます。
ものはG-tuneのNEXTGEAR-NOTE i5320GA1なのですが、こいつがちょっと曲者で、
中途半端なグラフィックボードが搭載されているんですね。
これによりインストール難易度が飛躍的に向上しています。
サイトの通りGeForce® GTX 1050 (2GB)が搭載されているのは間違いないのですが、
lspciコマンドを打ち込みグラフィックボード関連のものをピックアップすると

00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)

となっています。
本来であればGP107MもVGA compatible controllerと表示されるのですが、
今回は何やら3D controllerと表示されています。これこそがoptimusテクノロジーで接続されている証拠です。

そもそもoptimusテクノロジーとはなんなのかですが、公式サイトにはこんな感じに書いてありますね。
わかりやすく書くと、これはバッテリーの稼働時間を伸ばすための技術です。
ネットとかをみるときはintel uhd graphic使ってゲームするときはGTX1050を使ってという感じに言わばハイブリットカーみたいなことをしてるんですね。
ただこの切り替えがLinuxの標準搭載のドライバだとうまくできません。

ざっと説明したところでさくっとインストールしていきましょう。

おそらくoptimus搭載のpcでもliveCDは起動する(もちろんbootable USBも)はずなのでlive版を起動して普通にインストールします。
ウィザード方式なので説明は省きます。ちなみに被験体の筐体はネットワークマネジメントでエラーを吐きまくりなかなか起動しませんでした。
本体が最新すぎたかもしれません。

で、終わると再起動しますが、そのままほかっておくとおそらくflatpanelうんたらかんたらーみたいなエラーが出て、いつまでたってもログイン画面が出ないと思います。
それが正常ではないですが正常です。どうにもならないはずなので、強制終了します。HDDに負担がかかるのでこれはやらないでください。

起動したときにgrub画面で起動するカーネルにオプションを追加するために「e」を押します。そうして、kernel/vmlinuz-2.......みたいな欄が下の方にあるはずなので、その後ろに、

nouveau.modeset=0

を追加します。

例   kernel/vmlinuz-2.7......KEYTABLE=us  nouveau.modeset=0

その後、ctrl+xで起動すれば起動ができるはずです。
そうしたら普通に起動します。

デスクトップが起動したらコマンドラインを起動し、おまじないを唱える準備を始めます。
今回はbumblebeeを使って解決していきます。

sudo dnf update

ここでupgradeまでかけてもいいですが、再起動が必要でめんどくさいのでこのままおまじないを唱えてしまします。

sudo dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo
sudo dnf install nvidia-driver kernel-devel akmod-nvidia dkms acpi kernel-headers gcc acpid
sudo dnf copr enable chenxiaolong/bumblebee
sudo dnf install akmod-bbswitch bumblebee primus
sudo gpasswd -a $USER bumblebee
sudo systemctl enable bumblebeed
sudo systemctl disable nvidia-fallback

唱え終わったら再起動します。
この再起動でもgrubのオプションを確認し、先程打ち込んでいたnouveauうんたらかんたらーがすでに追記されてるのを確認してから、エスケープで戻ってから通常起動します。ここで追記されていなかったらどこかで失敗しています。

これで無事に普通に使えるようになったはずです。
ちなみにfedora Wikiのbumblebee記事で書かかているようにちゃんとoptimus機能を使ってGTX1050の旨味もつかえますので、使い方はwikiをご覧ください。
updateしたら速攻でカーネルバージョンとドライバが合わなくなって使えなくなりました(泣


参考文献
Fedora25 に nVIDIA のドライバーをインストール(計算科学.com 様)
NVIDIA Optimus(Arch Linux Wiki 様)
Bumblebee(fedora Wiki 様)

blacklist nouveauのやり方も試しましたが、うまく行かなかったので、大掛かりなことをしています。おそらくnvidiaのドライバを無効化してintelのドライバだけにすれば普通に使えると思うんですけどね...
CUDA使うには仕方ない...