テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

WDP083にUbuntu18.04を入れる(タッチパネル編)

2018-07-26 01:43:28 | Ubuntu Linux
前回WDP083にUbuntu18.04を入れたんだが、タッチパネル(TouchScreen)の認識まではできたけどタッチした位置と認識されるポイントが狂ってて使えなかったのでその続き。

/usr/share/X11/xorg.conf.d/99-calibration.confを作成したが設定が反映されてないようなので、ググったらこちらにxserver-xorg-input-evdevパッケージを入れろというので入れたが反映されなかった。とりあえずエラーメッセージを見たいと思ったのだが/var/lib/Xorg.0.logがないではないか。locateコマンドで探して.local/share/xorg/Xorg.0.logにあるのがわかった。

ログじゃイマイチわからなかったが、結局evdevドライバを指定する必要があったということで次のようにした。
$ cat /usr/share/X11/xorg.conf.d/99-calibration.conf
Section "InputClass"
Identifier "calibration"
MatchProduct "Silead GSLx680 Touchscreen"
Option "Calibration" "0 1280 0 800"
Option "SwapAxes" "1"
#Option "InvertY" "1"
Driver "evdev"
EndSection
キャリブレーションの値を使うとわけがわからなかったので、手作業であれこれ試してキャリブレーション無しの"0 1280 0 800"でなんとなくうまく行った。
ただし、縦方向が下の方へ行くとどんどんズレる。この状態でxinput_calibratorの出力値を指定してみるのだが何故かうまく行かない。

今度はevdevなしでできないかと、こちらを参考にして99-calibration.confを消して、次のコマンドで割とうまく行くのがわかった。マトリックスについてはInputCoordinateTransformationのaffine transformation matrixへのリンク(wikipedia)先の図が参考になった。
$ xinput set-prop 'Silead GSLx680 Touchscreen' 'Coordinate Transformation Matrix' 0 0.9 0 0.8 0 0 0 0 1
これで随分タッチが正確になったなんて思ったら、本体を横向きにしたら縦と横がおかしくなる。
まあコマンドをaliasしておけば使おうと思えば使えなくはない気はする。

これ以上はどうしようもないかなと思ったが、設定が反映されたか確認する時に
$ xinput list-props 9
Device 'Silead GSLx680 Touchscreen':
Device Enabled (141): 1
Coordinate Transformation Matrix (143): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Calibration Matrix (285): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Calibration Matrix Default (286): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
(略)
"Coordinate Transformation Matrix"以外に"libinput Calibration Matrix"というのがあるのが気になったのでTransformationMatrixじゃなくてCalibrationMatrixでやってみた。
するとビンゴ!うまく行った。本体を横にしても問題なかった。

というわけで最終的にevdevを使わない設定は、
$ cat /usr/share/X11/xorg.conf.d/99-calibration.conf
Section "InputClass"
Identifier "calibration"
MatchProduct "Silead GSLx680 Touchscreen"
Option "CalibrationMatrix" "0 0.9 0 0.8 0 0 0 0 1"
EndSection
となった。数字(倍率)の0.9と0.8はもう少し微調整した方がいいかもしれないけども。

それでシャットダウンとか本体のみでやりやすくなったけど、ウインドウ閉じたりとか元々タッチじゃ無理っぽい。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WDP083にUbuntu18.04を入れる

2018-07-16 16:58:25 | Ubuntu Linux
PortabookとBicノートSG116jへのUbuntu18.04インストールが割とうまく行ったのでUbuntu17.10のインストールが不調だったWDP-083へUbuntu18.04をインストールした。

前回作成した18.04インストーラが32bitUEFI対応してなかったので起動できなかったのでインストーラUSBメモリにbootia32.efiをコピーしようとしたがフォーマットがCDイメージの為書き込みできなかったので、UNetbootinを使ってインストーラUSBメモリを再作成してbootia32.efiをコピー。そしてWDP-083でインストーラを起動しようとしたのだが画面がブラックアウトして何もできない。17.10の時はインストール自体はできたんだけど。

というわけで、Linuxiumのisorespin.shを使ってインストーライメージをAtom機用に変換をかけて作成した。色々とオプションがあるようだが、とりあえずBayTrail/CherryTrail用のオプションのみ指定してイメージを作成、できたイメージファイルをダブルクリックしてUSBメモリに書き込んだ。

無事にインストーラを起動できた。17.10の時と違って明るさ調整ができるようになっている。それと音はサウンド設定の画面で音源が何も表示されないのだが、Portabookの時にやったsudo modprobe -r snd_hdmi_lpe_audioをすると表示され音がなるようになった。Atomタブレットで音が鳴って感動!ここまでできるようになっていたかあ(^_^)。これはインストールしても問題なさそう。
インストールの前にWindowsにあるタッチパネルドライバSileadTouch.sys(/media/ubuntu/Windows/Windows/system32/drivers/SileadTouch.sys)をバックアップ保存。前回はSileadTouch.fwが無いとうろたえていたが、参考サイトのリンク先をよく読むとsysからfwを抽出できるじゃんというわけで、タッチもうまく行きそう。

インストールは無事終了。起動も普通にできるので色々と調整していく。
# echo 'blacklist snd_hdmi_lpe_audio' >> /etc/modprobe.d/blacklist.conf
再起動で音量ボタンで調整もできるようになった!

本体縦持ちだと上下が逆さまになる。横持ちは正常。この設定はこちらを参考にすれば良さそうなのがわかってたが、試行錯誤でなんとか成功。
# udevadm info --export-db | grep iioで/dev/iio:device0確認
# udevadm info -n "/dev/iio:device0"でdriver名がBMA250Eと推測
# cat /sys/class/dmi/id/modalias
dmi:bvnINSYDECorp.:bvrF2W_QI_8EL_206:bd10/29/2014:svnJoyplus:pnQI_8EL:pvrType1-TBDbyOEM:rvnHampoo:rnBYT-PA05:rvrType2-BoardVersion:cvnChassisManufacturer:ct10:cvrChassisVersion:
deProduct Name
でManufacturerがsvnJoyplus、Product名pnQI_8ELと推測したんだったかな。
結局設定は以下のようにした。
# cat /etc/udev/hwdb.d/61-sensor-local.hwdb
sensor:modalias:acpi:BMA250E*:dmi:*:svnJoyplus*:pnQI_8EL:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
ACCEL_MOUNT_MATRIXは通常は1, 0, 0; 0, 1, 0; 0, 0, 1らしいので、最初0, 1, 0; 0, 1, 0; 0, 0, 1でやってみたら縦持ちも横画面になってしまった。意味がわからないながらも、左が縦で真ん中が横っぽいので縦が逆さまならと真ん中の1を-1にしたらビンゴだった。
編集後にsystemd-hwdb update;udevadm trigger -v -p DEVNAME=/dev/iio:device0してからいちいち再起動するので試行錯誤が大変だったが、割と速いうちにビンゴして良かった。

そしてタッチパネルだが、どうも縦と横や傾きの関係で複雑なのでタッチパネルの認識はできているのだがまだちゃんとポイントできない状態。
# apt install build-essential
# git clone https://github.com/onitake/gsl-firmware.git
# mv SileadTouch.sys gsl-firmware/
# cd gsl-firmware/
# tools/scanwindrv SileadTouch.sys (firmware_00.fwができた)
# mv firmware_00.fw tools/
# cd tools/
# ./fwtool -c firmware_00.fw -m 1680 -w 1280 -h 800 -t 10 silead_ts.fw
# cp silead_ts.fw /lib/firmware/
# git clone https://github.com/onitake/gslx680-acpi.git
# cd gslx680-acpi/
# make
# cp gslx680_ts_acpi.ko /lib/modules/$(uname -r)/kernel/drivers/
# insmod ./gslx680_ts_acpi.ko
# cat 'gslx680_ts_acpi' >> /etc/modules
# depmod
# apt-get install xinput-calibrator
$ xinput_calibrator
# vi /usr/share/X11/xorg.conf.d/99-calibration.conf

※xinput_calibratorで出力された内容で/usr/share/X11/xorg.conf.d/99-calibration.confを作成したが効果なし。Ubuntu18.04はWaylandの関係なのかタッチスクリーンにevdevではなくlibinputを使うようになったせいみたい(?)。タッチパネル編に続く。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PortabookとSG116jにUbuntu18.04を入れる

2018-07-12 03:15:31 | Ubuntu Linux
PortabookとBicノートSG116jにUbuntu18.04が出るのを待ってインストールしよう、と思ってたのに将棋の藤井フィーバーに夢中になっててなかなか時間が取れず、藤井くんが年内のタイトル挑戦が叶わなくなってしまったのでやっと落ち着いてインストールすることにする。

インストーラーはUbuntu 18.04 LTS 日本語 Remixをダウンロードして、Ubuntu標準の「ブータブルUSBの作成」ツールでUSBメモリに作成。
ちょっと前に本家のをダウンロードして、そのファイルをダブルクリックしてUSBメモリに作成したインストーラーだと、NC01Uにインストールする時に旧BIOSモードにしてるとインストールできなかったので作成しなおした。そして本家をNC01UにインストールしたらAbemaTVが何故か見られなかったのもあったので日本語Remixにした。新規作成したインストーラーでNC01UにインストールしなおしたらAbemaTVは見れた。

Portabookでインストーラーを起動。WiFiも画面の明るさ調整もOK。バッテリ残量はOKっぽい(?)。音は駄目。
WiFi使えるのでサクッとインストール。しかし、Portabookはキーボードが一部認識されないので不便なので、こちらでパッチを当てたカーネルを配布してくれているので、ありがたく使わせていただく。そしてそのページを参考に、音が出るようにしたり作業した。
音が出るのを確認しようと、最初から入ってるサンプル動画を開いてみたらいきなり電源が落ちた。起動しなおしてまずは音データを再生OK、サンプル動画を再生OK。なんだったんだろう・・・。
バッテリ残量もおかしいかな?
まあじっくり使っていこう。

次にBicノートSG116j。Portabookはストレージが32GBなのでWindowsを消してUbuntuを丸々入れたが、こちらはストレージが64GBあるのでデュアルブートにする予定。
久々にWindowsを立ち上げたら案の定アップデートが始まって18.03になるのに延々何時間もいじれなかった。無事にアップデートが終了したのだが空き容量が13GBくらいになったではないか。Ubuntuに20GB使う予定だったのにどうすんだよ全く。WSLでUbuntu入れてるのが容量食ってるなら消すかなあ。もちろんWindowsのバックアップも消すけど、そうしなきゃならないなら今後がちと心配。

とりあえずインストーラーを起動するが以前と同様WiFiが認識しない。それとキー入力が停滞する。音も無理ポ。WiFiはbroadcom43455(sdio)のようだけど、SG116jでググるとLIVAの付属ディスクにあるドライバを使えばWiFiが使えたようなんだが、そのファイルは無くなってるっぽい。
必死にググってこちらを発見。
Windowsのドライバフォルダにある4345r6nvram.txtを使えばいいようだ。
端末を開いて
$ sudo cp /media/ubuntu/Windows/windows/system32/drivers/4345r6nvram.txt /lib/firmware/brcm/brcmfmac43455-sdio.txt
$ sudo modprobe -r brcmfmac
$ sudo modprobe brcmfmac
でインストーラーのお試し状態でもWiFiが使えるようになった。ふぅ〜。
なんか遅いみたいだけど、空き容量を確保しないとインストールできないので一旦終了。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする