[FreeBSD-users-jp 95940] Re: Dual boot on dynabookN51(その3 -- scfb driver)補足
Tomoaki AOKI
junchoon @ dec.sakura.ne.jp
2016年 8月 15日 (月) 08:18:20 UTC
青木@名古屋です。
On Mon, 15 Aug 2016 07:18:18 +0900
maruyama at ism.ac.jp (丸山直昌) wrote:
> 青木 様
>
> 統計数理研究所の丸山です。
>
> 色々お教え頂き、有難うございます。自分で調べて少しわかったのすが、まだ解
> 決には至っていません。
>
> まず、ドライバですが、
>
> [maruyama at surya{44}] ~% pkg info|grep xf86-input
> xf86-input-keyboard-1.8.1 X.Org keyboard input driver
> xf86-input-mouse-1.9.1_1 X.Org mouse input driver
> xf86-input-synaptics-1.8.2_1 X.Org synaptics input driver
>
> となっているので、 synaptics でしょう。PC-BSD10.3のインストールメディア
> に収められているパッケージのディレクトリを見ても
>
> [maruyama at pc01{80}] /INST% ls -alg dist/packages/All/xf86-input*
> -rw-r--r-- 1 root wheel 9120 3月 26 07:19 dist/packages/All/xf86-input-keyboard-1.8.1.txz
> -rw-r--r-- 1 root wheel 31124 3月 26 07:15 dist/packages/All/xf86-input-mouse-1.9.1_1.txz
> -rw-r--r-- 1 root wheel 47436 3月 26 09:49 dist/packages/All/xf86-input-synaptics-1.8.2_1.txz
>
> なので、他のドライバの可能性は無いと思います。
synapticsドライバだと基本的にタッチパッド(スライドパッド,グライド
ポイント,物によりクリックパッドとも)のドライバのような気がするの
ですが、Touchscreenのサポートも含まれているのでしょうか?
※何か引っかかる点があって、xf86-input-synapticsのテストは見送り、
moused任せのトライアルしかせず、一番欲しかった機能がT420採用の
タッチパッドのモデルでは動作しないらしいことが判明し、テストを
打ち切ったもので。 何に引っ掛かったのかは既に記憶が定かでは
ありませんが、必要な何かと設定が競合したのだったと思います。
> で、
>
> >> # タッチスクリーン機能を持っていて PC-BSDが動かせるマシンを他に持ってい
> >> # ないので、実験しにくいなー。「xorg.conf 自動生成機能」のソースを読むし
> >> # かないかな?
>
> と私は書きましたが。これは「外れ」でした。どこを見ても synaptics とか
> usbconfigという文字列を見つけることができません。/var/log/Xorg.0.log を
> 見てもsynaptics というのは全く現れていません。気がついたのは
>
> /usr/local/share/X11/xorg.conf.d/50-synaptics.conf
>
> というファイルです。man synaptics を見ると
>
> NOTES
> Configuration through InputClass sections is recommended in X servers
> 1.8 and later. See xorg.conf.d(5) for more details. An example
> xorg.conf.d snippet is provided in ${sourcecode}/conf/50-synaptics.conf
>
> と書いてあります(でも xorg-server-1.17.4,1なんだけど)。で、
> /var/log/messages を見ると
>
> Aug 15 05:48:59 surya kernel: ugen0.5: <ELAN> at usbus0
>
> というのはあるのですが、これに応じて device が生えた形跡は全くありません。
> /dev の下を見ても、それらしい device を見つけることができません。手動で
> input device を /etc/X11/xorg.conf に追加する実験をやろうにも、device が
> なくてはどうにもなりませんよね。
>
> という訳で、「どうやったら touch screen の device が生えてくるか」が今私
> の前に立ちはだかっている問題のように思います。何か思い当たる点があればお
> 教えください。
FreeBSDのデフォルトを引き継いでいるとすればですが、現状、以前はHAL
(sysutils/hal)で入力デバイスの接続/切断を認識していたのですが、
現在のデフォルトではFreeBSDのdevdの枠組みを使用するようになっています。
※私も細かいメカニズムを把握できている訳ではありませんが...。
従って、この段階でXに接続/切断/構成を通達すべき入力デバイスとして
認識されていなければ、X側ではどうしようもないのです。
※/dev以下にエントリを生やすのはdevfsのお仕事なのでまた別途。
但し、これもdevdからの通達を受けて動作する筈です。
PS/2接続だとloader.confの設定で
hw.psm.synaptics_support="1"
を入れないとPS/2接続のsynapticデバイスの拡張機能は正しく機能しない
のですが、 USB接続ならこれは無関係の筈です。
とりあえず対応するugen(アプリケーションに制御を委ねるための汎用
ドライバだったと思います)は生えており、Touchscreen ELANと種別や
ベンダ名も取得できているので、行けそうな気はするのですが。
FreeBSDの/usr/src/sys/dev/usb/以下をgrepしてもTouchscreenの文字は
引っかからないので、PC-BSDで独自に追加しているのではないかと思います。
※ELANというベンダー名はあります。
> なお PC-BSDハンドブックの
>
> > 2.2.2. Touch Screens
> > PC-BSD(R) should automatically detect USB-based touch screen devices. If
> > your display is USB and is not auto-detected, send the output of
> > usbconfig and your /etc/X11/xorg.conf file using the Report a bug tool.
>
> の記述は何か舌足らずのように思います。50-synaptics.conf を使っているのな
> ら、/etc/X11/xorg.conf は無関係のはずで、本気で bug report が欲しいのな
> ら/var/log/messages と /var/log/Xorg.0.log じゃないのかな?
設定の競合の問題を確認したい(余計な設定が含まれていて
50-synaptiX11/xorg.conf.dcs.conf の設定が正常に機能していない恐れがあ
る)ということでは?その上で問題の所在が特定できなければご指摘のファイル
その他の提供を求められるかと。
※/usr/local/etc/X11/xorg.conf.dの設定は動的なものかと思いますので、
まずは(存在すれば)/etc/X11/xorg.conf,/usr/local/etc/X11/xorg.conf
とデフォルト値・自動検出値での静的な設定を行った上でそちらに流れる
のでは?
> 要するに PC-BSD で touch screen を使った人間は世界に一人もいないという証
> 拠のようにも見えます。
ELAN以外のタッチスクリーンで動作しているものがあるのかもしれません。
ノイズばかりで有力な情報に行き当たっていませんが、ELANのものはsynaptics
ドライバでは駄目、という可能性もありますし。
駄目元ですが、xf86-input-evdevを試してみるのはいかが?
https://www.freebsd.org/cgi/man.cgi?query=evdev&sektion=4x&apropos=0&manpath=FreeBSD+10.3-RELEASE+and+Ports
PC-BSDでFreeBSD標準に追加して(カーネル側ドライバで)タッチスクリーンを
サポートできている場合、いけそうな気がするのですが。
ZFSをお使いで、/usr/local及び/var/dbを独立したデータセットにして
おられれば、この2箇所(さらに下にもデータセットを作っていればそこも)
のスナップショットを取得しておいてからインストールすれば、試して駄目
ならすぐrollbackして元通りですが、UFSだったりこれらのデータセットが
独立させていなければ辛いでしょうか。
> ---- /usr/local/share/X11/xorg.conf.d/50-synaptics.conf の内容
> # Example xorg.conf.d snippet that assigns the touchpad driver
> # to all touchpads. See xorg.conf.d(5) for more information on
> # InputClass.
> # DO NOT EDIT THIS FILE, your distribution will likely overwrite
> # it when updating. Copy (and rename) this file into
> # /etc/X11/xorg.conf.d first.
> # Additional options may be added in the form of
> # Option "OptionName" "value"
> #
> Section "InputClass"
> Identifier "touchpad catchall"
> Driver "synaptics"
> MatchIsTouchpad "on"
> # This option is recommend on all Linux systems using evdev, but cannot be
> # enabled by default. See the following link for details:
> # http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
> # MatchDevicePath "/dev/input/event*"
> EndSection
>
> Section "InputClass"
> Identifier "touchpad ignore duplicates"
> MatchIsTouchpad "on"
> MatchOS "Linux"
> MatchDevicePath "/dev/input/mouse*"
> Option "Ignore" "on"
> EndSection
>
> # This option enables the bottom right corner to be a right button on clickpads
> # and the right and middle top areas to be right / middle buttons on clickpads
> # with a top button area.
> # This option is only interpreted by clickpads.
> Section "InputClass"
> Identifier "Default clickpad buttons"
> MatchDriver "synaptics"
> Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
> Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
> EndSection
>
> # This option disables software buttons on Apple touchpads.
> # This option is only interpreted by clickpads.
> Section "InputClass"
> Identifier "Disable clickpad buttons on Apple touchpads"
> MatchProduct "Apple|bcm5974"
> MatchDriver "synaptics"
> Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
> EndSection
>
> --------
> 丸山直昌@統計数理研究所
>
--
青木 知明 [Tomoaki AOKI] <junchoon at dec.sakura.ne.jp>
freebsd-users-jp メーリングリストの案内