Skip to content

Add screen assignment and touch support for DomA and DomU#6

Draft
hayashi-90 wants to merge 1 commit intoyhamamachi:v4hsbc_xen_kernel612from
hayashi-90:v4hsbc_xen_kernel612
Draft

Add screen assignment and touch support for DomA and DomU#6
hayashi-90 wants to merge 1 commit intoyhamamachi:v4hsbc_xen_kernel612from
hayashi-90:v4hsbc_xen_kernel612

Conversation

@hayashi-90
Copy link

Update README.md with tips for DomA and DomU screen/touch configuration.

@yhamamachi
Copy link
Owner

ご参考までに、本PRはドラフト状態ではありますが、コメントさせてください。
※ 現状READMEが日本語なので、日本語でコメントさせていただきます。

マルチディスプレイ時にDP側タッチパネルをDP側ドメインに紐づける方法ですが、
DomDのUdevの設定で対応できるようです。

ATTRS{name}=="ILITEK Multi-Touch-V5100", ENV{WL_OUTPUT}="DP-1"

上記の設定によりDP側に接続したHDMIタッチディスプレイでDomAの動作ができることを確認しました。
※ DomU=DSI、DomA=DPの環境で検証しました。
こちらの手法で支障がないのであれば、リビルドが不要なためより便利かもしれません。

以下、/tmp/westonのログの抜粋です。
event1がDP-1に紐づいていることが確認できるかと思います。

$ cat tmp/weston | grep -i dev
(snip)
[02:52:59.764] event1  - ILITEK Multi-Touch-V5100: is tagged by udev as: Touchscreen
[02:52:59.764] event1  - ILITEK Multi-Touch-V5100: device is a touch device
(snip)
[02:53:00.605] associating input device event0 with output DSI-1 (none by udev)
[02:53:00.606] associating input device event2 with output DSI-1 (none by udev)
[02:53:00.606] associating input device event3 with output DSI-1 (none by udev)
[02:53:00.606] associating input device event4 with output DSI-1 (none by udev)
[02:53:00.606] associating input device event5 with output DSI-1 (none by udev)
[02:53:00.611] Initialized backlight for head 'DP-1', device /sys/class/backlight/backlight
[02:53:00.611] associating input device event1 with output DP-1 (DP-1 by udev)

@hayashi-90
Copy link
Author

@yhamamachi さん
ありがとうございます。
ご提案いただいた方法を試してみました。2点質問がございます。

私の環境で使用しているディスプレイは、”wch.cn TouchScreen”でしたので、
DomD の /var/ls /etc/udev/rules.d/touchscreen.rules に以下の行を足してみましたが、タッチは効きませんでした。
この方法は誤りでしょうか?

SUBSYSTEM=="input", KERNEL=="event[0-9]", ATTRS{modalias}=="input:-e0*,3,a0,1,18,", SYMLINK+="input/touchscreen0"
SUBSYSTEM=="input", KERNEL=="event[0-9]
", ATTRS{modalias}=="ads7846", SYMLINK+="input/touchscreen0"
SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{name}=="wch.cn TouchScreen", ENV{WL_OUTPUT}="DP-1"

画面割り当てについて

※ DomU=DSI、DomA=DPの環境で検証しました。

はどのように実現すればよいでしょうか?(別途パッチどこかにパッチが必要でしょうか)

@yhamamachi
Copy link
Owner

yhamamachi commented Mar 18, 2026

@hayashi-90 さん

私の環境で使用しているディスプレイは、”wch.cn TouchScreen”でしたので、
DomD の /var/ls /etc/udev/rules.d/touchscreen.rules に以下の行を足してみましたが、タッチは効きませんでした。
この方法は誤りでしょうか?

手順を見る限りでは問題はないように見えます。
下記のコマンドにてDomD westonのログ上でデバイスがDP-1側に割り当たっているかを確認するのが良いかと思います。

cat /tmp/weston | grep -i dev

タッチは効きませんでした。

もしDomU westonに対して座標は移動するもののタッチだけが効かないということであれば、私の環境でも以前確認しました。
おそらくですが、QEMUのタッチイベントをAndroid Guest向けにBTM_MOUSE -> BTN_TOUCHに変更した影響ではないかと思っています。
https://github.com/yhamamachi/meta-rcar-demo/blob/v4hsbc_xen_kernel612-dev/meta-xen-domd/recipes-qemu/qemu/files/0001-virtio-input-hid-send-BTN_TOUCH-event-for-virtio-tab.patch

以下をDomU側のudev rulesに追加して、デバイスをタッチパネルであると認識させることでDomU Weston上でタッチが効くようになるかと思います。
※本当はvirtio-pci-tabletデバイスだけに適応するべきだと思いますが、暫定対策ということで下記で確認しています。

SUBSYSTEM=="input", KERNEL=="event*", \
  ENV{ID_INPUT}="1", \
  ENV{ID_INPUT_TOUCHSCREEN}="1"

設定ファイル作成後はudev ruleの再読み込みとwestonの再起動が必要です。
もしくはシステム全体再起動でも問題ないと思います。

※ DomU=DSI、DomA=DPの環境で検証しました。

はどのように実現すればよいでしょうか?(別途パッチどこかにパッチが必要でしょうか)

開発ブランチの方に取り込み済みの環境を使ってテストしています。
具体的な修正パッチは下記で、DomDのweston.iniを書き換えるだけでDomU/DomAの入れ替えができるようになっています。
34a3c2f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants