にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2017年05月15日

新世代UMPC Cherry-Trail #GPD-WIN Wubi for Ubuntu17.04 インストール&初期設定改善 その11

GPD1704.jpg
GPD-WINの一般販売が進んで、価格が落ちてきました。
AndroidやUbuntuをマルチブートすることで
この次世代UMPCを堪能している人も増えたのではないでしょうか。
この機種で新しく生まれ変わったUbuntu17.04を入れてみました。
とは言ってもこの機種では基本的に変わっていませんでしたが。
結構使えるレベルになりました。


●GPD-WINとCherry-TrailとUbuntu17.04
以前のブログでおおよそUbuntuの入れ方をまとめました。
今回はそのUbuntu17.04版です。
一度Ubuntu16.10を消してからUbuntu17.04を
入れた履歴を記録します。

インストール方法が当初と少し変更になりましたので改定します。
UbuntuをGPD-WINでブートする際にいくつか修正がありまして、

1.無線LANを有効にするため、BIOSの設定を一部変更(後述)
2.電源をいれた後「ESC」を押しながらUEFIを起動し
  OSのブートでUbuntuを選択
3.起動したGrub2の設定を修正
4.インストール後の再起動の際にまたGrub2の修正
5.無線LAN BCM4356の設定⇒これはOS側の問題
6.UKUUのインストールとKernel4.9LTSの導入(無線LANをつなぐため)
7.Intel Graphics Driver OSS版のインストール
8.画面回転の設定⇒Intel Graphics Driver OSS版を入れた後
 これはOS側の問題

という段階で修正する必要がありました。
Wubiは作者さんにお願いして修正してもらいました。
リリース版はこちらです。

 https://github.com/hakuna-m/wubiuefi/releases
 https://github.com/hakuna-m/wubiuefi/issues/27

Cherry-Trailでブートしない問題点としてGrub2側でありまして、

1.グラフィックドライバNGの為、GUI画面が起動しない。外す必要がある
  grub.cfgを修正し
  "i915.fastboot=1 video=efifb fbcon=rotate:1"
 をKernelオプションに追加する必要がある


ブートした後のKernelモードの問題です。
X.orgはフレームバッファなのでドライバなしです。
あとでIntel Graphics Driver OSS版を有効にします。


●修正版のダウンロードとWubi for Ubuntu17.04
じゃあ修正してもらったので使ってみます。
無事リリースされました。

 https://github.com/hakuna-m/wubiuefi/releases

こちらのファイルをWindows上でダウンロードして実行。
もしUbuntuのISOファイルを持っていたら
同じフォルダに置いておくと読み込むので
ダウンロード時間を短縮できます。

実行すると
・容量
・UbuntuのGUI選択
・ユーザー名、パスワード
を選べますので好きなのを選択。
するとOSイメージファイルが作成されてコピーされます。
で再起動。

再起動するとGrub2の画面が出ますので、
「ESC」を押して自動起動を止めた後、
真ん中にある「Intel graphics workarounds」を選択すると
Ubuntuが起動して自動的にインストールが進みます。
もしくは「e」キーを押して、quietの前に「i915.modeset=0」を追加しF10で起動。

終わると再起動しますので、「ESC」を押してUEFI画面を出します。
電源を入れたらUSB充電ケーブルを抜いた状態で
「ESC」キーを押しっぱなしにします。
USB充電ケーブルを刺しっぱなしだと、充電モードになって起動しません。
で、UEFI画面が起動しましたら、
SAVE & EXITのタブのUbuntuを選択します。
で、Grub2画面が起動します。
ここはそのまま起動しても修正してあるので問題ないはずです。
Ubuntuが無事起動します。

●Grub2設定の修正1
まずBlackscreenの問題を解消します。
Xorgの画面が映らないアレです。
Ubuntuが起動しましたら、端末から

 sudo gedit /etc/default/grub

一行追加して編集します。

 GRUB_CMDLINE_LINUX_DEFAULT="i915.fastboot=1 video=efifb fbcon=rotate:1"

保存したら設定。

 sudo update-grub

これで再起動してもとりあえずは画面が映るはずです。



●内蔵無線LAN BIOS設定
Kernel4.10以降にバグがあって、修正。

整理すると、
・Kernel4.10以降で内蔵Wifiが使えない
・初期の20161118 BIOSで再現する現象らしい
・ACPIのバグで・・・以下参照
ACPI tables where putting the unused
80860F14 UID 2 (SDIO) device in PS0 toggles a gpio disabling the pcie wifi
until the next reboot. 
・多分Kernel4.12〜4.13にパッチが採用されるはず。かもしれない
・Ubuntu17.04を含む全ての最新LinuxDistributionが対象
・設定を変更する
 BIOS setting: "Chipset" -> "South Bridge" ->
  "LPSS & SCC Configuration" -> "SCC SDIO Support"
   -> "Disable"

もしBIOSのバージョンが違う際には設定変更出来ません。
Kernel4.9LTS系列をPPAからダウンロードして使いましょう。
UKUUを使うと楽です。


●内蔵無線LANの認識
標準ではUbuntuでは内蔵無線LANが繋がりません。
まずは起動直後のUEFI設定画面で変更します。
ネットが使えない場合は別PCでファイルを拾ってくる事になりますが、
面倒なのでUSB有線LANがあると便利です。推奨。


まずはUSBの無線LANか有線LANか他のPCからデータを拾ってきます。
brcmfmac4356-pcie.txtとbrcmfmac4356-pcie.binの両方が必要です。
LinuxカーネルのFirmwareにあるはずですが、txtの方だけ無いようです。
つまりこれを拾ってきてコピーするだけで良さそうです。
ファイルはこちら。テキストをコピーして保存してもOK
両方とも同じです。

 https://sourceforge.net/p/android-x86/device_generic_firmware/ci/b261458e9642c2130866525fa3b6e7e34fa95b05/tree/brcm/brcmfmac4356-pcie.txt

 https://chromium.googlesource.com/chromiumos/third_party/linux-firmware/+/f151f016b4fe656399f199e28cabf8d658bcb52b/brcm/brcmfmac4356-pcie.txt

Ubuntuの場合、brcmfmac4356-pcie.binはあるので、
brcmfmac4356-pcie.txtだけ拾ってきてコピーします。
テキストエディタでコピー貼り付けして保存します。
端末から

 sudo cp /(ファイルのある場所)/brcmfmac4356-pcie.txt /lib/firmware/brcm/
 sudo modprobe -r brcmfmac
 sudo modprobe brcmfmac

標準のKernel4.10系列で繋がらない場合はKernel4.9LTSを入れましょう。
これで内蔵無線LANがLinuxで認識します。
多分ディストリは問わないはずです。


●KernelをMainlineの最新版にする
初期のKernel4.8では色々な機能が使えませんし遅いです。
Intelも少しづつ確実にドライバを投げてくれるのでありがたいです。
最新版のKernelに入れましょう。

・UKUUを使う
端末からざっくりと。
Debianとかはsoftware-properties-commonを先に入れましょう。
そうしないと、apt-add-repositoryが入っていません。
Ubuntuの場合は不要ですが。

sudo apt install software-properties-common
sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt-get update 
sudo apt-get install ukuu
ukuu-gtk

導入は簡単です。
起動しましたら好きなKernelを入れてみましょう。
もちろんGrubブートローダーで選択出来ますし、
消すのも簡単です。

・手動でMainlineKernelを入れる
下記のリンク先からパッケージをダウンロードします。
この時点での最新リリース版は4.9.27です。
4.9系列は長期サポートのLTS版なので継続して更新されます。

 http://kernel.ubuntu.com/~kernel-ppa/mainline/

一例ですがリンク先から、

 linux-headers-4.9.11-040911_4.9.11-040911.201702181031_all.deb
 linux-headers-4.9.11-040911-generic_4.9.11-040911.201702181031_amd64.deb
 linux-image-4.9.11-040911-generic_4.9.11-040911.201702181031_amd64.deb

をダウンロードします。
一例です。Kernelはブート時に好きに切替できます。
注意事項として4.11が最新ですが、無線LANがNGで
スクリーンセーバーに落ちると復帰できません。まだ問題ありです。
4.9LTS系列を使いましょう。

●Intel Graphics Driver OSS版のインストール
Ubuntuの場合、Firmwareは最初から入っています。
ただ有効にはなっていないです。
入れてみましょう。
まず端末から、

 sudo apt install i965-va-driver
 sudo apt install ttf-ancient-fonts

関連パッケージはi965-va-driverに紐付いて入ってきます。
xserver-xorg-video-intelのパッケージは最初から入っているはず。
もし無かったら入れてみましょう。
次にxorgの設定ファルの作成

 sudo gedit /etc/X11/Xsession.d/20-intel.conf

下記内容を書いて保存します。

Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "uxa"
Option "TearFree" "true"
EndSection

保存して再起動したらGPUが動くはずです。
多分。
 GRUB_CMDLINE_LINUX_DEFAULT="i915.fastboot=1 video=efifb fbcon=rotate:1"
を外してみましょう。


●画面の回転
上の4.9系Kernelを入れると4.8系では使えなかった
標準の画面回転機能とxrandrが使える様にになります。
変更方法は、右上バーの

 右上アイコンーシステム設定ーディスプレイー回転「時計回り」

で270℃回転できます。便利です。
でもタッチパネルが回転しませんので不便です。
追加します。

 gedit .bashrc

下記一行をどこか一番下にでも追加して保存。

 xinput set-prop 'Goodix Capacitive TouchScreen' 'Coordinate Transformation Matrix' 0 1 0 -1 0 1 0 0 1

で再度起動し直すとタッチパネルも追随します。
こちらをご参考にしました。

 Ubuntu 16.04 on GPDWIN(自分用メモ)

●サウンドの設定
サウンドも同様で右上のスピーカーをクリックして設定できます。
Kernelを入れなおすと、

 speaker:chrt5645
 Headphone:chrt5645

の2つが認識しているはずなので、speakerを選択してテストします。
多分、左前のスピーカーで音がなるはずです。

●日本語設定追加
インストール直後では日本語設定ファイルが一部不足しています。

 右上アイコンーシステム設定ー言語サポート

ネットに繋がっていれば、追加パッケージが入れられるはずです。

●マウス速度変更
ついでにマウス速度も変更します。

 右上アイコンーシステム設定ーマウスとタッチパッド

ポインターの速度を好きに変更してください。

●画面の明るさとロック
アイドルモードの時間を設定できます。

 右上アイコンーシステム設定ー画面の明るさとロック

復帰時にパスワードを入れたくない人はここで設定できます。

●自動ログイン
自動でログインしたい場合に設定します。

 右上アイコンーシステム設定ーユーザーアカウント

右上のロック解除を押した後に自動ログインをONにします。

●省電力モード設定
基本はPowerTopを使います。
端末から

 sudo apt install powertop

でpowertopを起動します。
Tabキーで右端のBADをGOODに変更すると省エネモードになります。
全部切り替えたい場合は、

 sudo powertop --auto-tune

で切り替えできます。
これだけだとシャットダウンしたら元に戻るのでSystemdに登録します。

●キーボード設定
キーボードも同じです。
キーアサインがおかしいのは英語キーボードレイアウトなのに
言語設定で自動的に日本語キーボードで設定されているからです。
これを英語キーボードに戻せばちゃんとキー入力できます。
端末から

 sudo dpkg-reconfigure keyboard-configuration

105キーボードと英語USを選びます。
再起動すると戻ってしまいますが。
仕方がないので、


キーボードの設定を日本語⇒英語に変更します。
メニューバーのキーボードから

 [Configure]>keyborad-Japaneseを消す.
 keyborad-English(US)を追加
 右下のキーボードアイコンから配列をDefaultから
 English(US)に変更しておく.

こちらをご参考にしました。

 Ubuntu 16.04 on GPDWIN(自分用メモ)

●画面暗さの設定
画面輝度がMAXなので電池を食います。
適度に調整しましょう。

 xrandr --output DSI-1 --brightness 0.8

この0.8の部分が輝度です。80%。
適当に好きな値を入れましょう。

●Unity軽量化CompizConfig Settings Manager
UnityはソフトウェアレンダリングなのでCPUを食います。
グラフィックモードを低グラフィックモードにします。

 sudo apt install compizconfig-settings-manager

で起動

 sudo ccsm

設定。Ubuntu Unity Pluginで

 「Enable Low Graphics Mode」をクリック 

●Flashpalyerのインストール
端末から

 sudo apt install flashplugin-installer

これで艦これとか遊べます。

●Systemd自動起動の設定方法
こちらをご参考まで

 Systemdを使ってさくっと自作コマンドをサービス化してみる

●その他初期設定
こちらをご参考までに

 Ubuntu 16.10をインストールした直後に行う設定 & インストールするソフト
 https://wiki.archlinuxjp.org/index.php/GPD_Win
 バックライト
 PowerTOPを使ってLinuxマシンを省電力化する
 Ubuntu 16.04 on GPDWIN(自分用メモ)


●既知の問題

・スクリーンセーバーなどの省電力モードに入ると復帰しない
・省電源設定が手動でしかできない
・Intel Graphics Driver OSS版を入れると画面がずれる。
 ⇒一旦スクリーンを切り替えるとちゃんと表示されます。
・バッテリーセンサーINT33FE非対応。パッチまち。
・Bluetooth動くはずだけどまだ設定方法がわかっていない
・Kernel4.12RC1は画面表示出来ないので入れない方が良い。

●まとめ
ひとまずここまで。
設定する項目が増えて面倒になってきました。
まだ出来ていない所はたくさんありますが、
Kernelの進化にたくす所はあります。
体感的にはそこそこ高速なのですが、UIに難。
MateやCinnamonにWMを置き換えても良いかもしれません。
posted by kapper at 02:30 | Comment(0) | GPD-WIN
にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ