Pmbootstrap: Device HTC Ace weston not loading

Created on 2 Aug 2017  路  10Comments  路  Source: postmarketOS/pmbootstrap

This device was working with touch etc pre commit 56b9c2206e7f9380e7ce6f6c5350c6e95698e117. At that time the output from "cat /tmp/weston.log" was like this.

The device still boot's with ssh etc. But the weston demo app does not appear and touch is not working. weston.log now looks like this:

Date: 1980-01-06 GMT
[00:03:22.150] weston 2.0.0
               http://wayland.freedesktop.org
               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=2.0.0
               Build: 1.99.94-2-g4c4f13d configure.ac: bump to version 2.0.0 for the official release (2017-02-24 16:19:03 -0800)
[00:03:22.150] Command line: weston
[00:03:22.150] OS: Linux, 3.0.101-ODP, #3-Alpine PREEMPT Wed Aug 2 14:11:05 GMT 2017, armv7l
[00:03:22.153] Using config file '/etc/xdg/weston/weston.ini'
[00:03:22.180] Output repaint window is 7 ms maximum.
[00:03:22.186] Loading module '/usr/lib/libweston-2/fbdev-backend.so'
[00:03:22.204] initializing fbdev backend
[00:03:22.205] Creating fbdev output.
[00:03:22.205] Opening fbdev frame buffer.
[00:03:22.344] Calculating pixman format from:
                - type: 0 (aux: 0)
                - visual: 2
                - bpp: 16 (grayscale: 0)
                - red: offset: 11, length: 5, MSB: 0
                - green: offset: 5, length: 6, MSB: 0
                - blue: offset: 0, length: 5, MSB: 0
                - transp: offset: 0, length: 0, MSB: 0
                - pixman_type: 0
[00:03:22.345] Type guessed: 2:
[00:03:22.472] event0  - [00:03:22.472] h2w headset: [00:03:22.473] is tagged by udev as: Keyboard
[00:03:22.473] event0  - [00:03:22.473] h2w headset: [00:03:22.474] device is a keyboard
[00:03:22.482] event1  - [00:03:22.482] synaptics-rmi-touchscreen: [00:03:22.482] is tagged by udev as: Keyboard
[00:03:22.483] event1  - [00:03:22.483] synaptics-rmi-touchscreen: [00:03:22.483] device is a keyboard
[00:03:22.494] event2  - [00:03:22.494] spade-keypad: [00:03:22.495] is tagged by udev as: Keyboard
[00:03:22.495] event2  - [00:03:22.495] spade-keypad: [00:03:22.495] device is a keyboard
[00:03:22.497] event3  - [00:03:22.497] compass: [00:03:22.497] is tagged by udev as: Accelerometer
[00:03:22.497] event3  - [00:03:22.497] compass: [00:03:22.497] device is an accelerometer, ignoring
[00:03:22.497] event3  - not using input device '/dev/input/event3'
[00:03:22.499] event4  - [00:03:22.499] lightsensor-level: [00:03:22.499] not tagged as supported input device
[00:03:22.499] event4  - not using input device '/dev/input/event4'
[00:03:22.501] event5  - [00:03:22.501] proximity: [00:03:22.501] not tagged as supported input device
[00:03:22.501] event5  - not using input device '/dev/input/event5'
[00:03:22.642] Opening fbdev frame buffer.
[00:03:22.782] Calculating pixman format from:
                - type: 0 (aux: 0)
                - visual: 2
                - bpp: 16 (grayscale: 0)
                - red: offset: 11, length: 5, MSB: 0
                - green: offset: 5, length: 6, MSB: 0
                - blue: offset: 0, length: 5, MSB: 0
                - transp: offset: 0, length: 0, MSB: 0
                - pixman_type: 0
[00:03:22.782] Type guessed: 2:
[00:03:22.783] Mapping fbdev frame buffer.
[00:03:22.784] fbdev output 480脳800 px
               guessing 60 Hz and 96 dpi
[00:03:22.788] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               presentation clock: CLOCK_MONOTONIC_RAW, id 4
               presentation clock resolution: 0.000000001 s
[00:03:22.793] Loading module '/usr/lib/weston/desktop-shell.so'
[00:03:22.836] launching '/usr/lib/weston/weston-keyboard'
[00:03:22.842] launching '/usr/lib/weston/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'

Edited by ollieparanoid to make the log readable.

bug device

All 10 comments

Menu

To make the menu work again, xwayland needs to be enabled, which appears to be disabled now. You can enable it with: deviceinfo_weston_core_modules="xwayland.so" in your deviceinfo.

Looks like we forgot to re-enable it for your device after we changed the architecture a bit (to make weston optional). Sorry for that! I've added the X flag to your device in the devices page to indicate, that XWayland is working. (We need XWayland, because the demo menu uses GTK3, and Alpine's GTK3 does not have support for XWayland compiled in yet).

Touch screen

Your touch screen does not get tagged as such anymore. I see, that there is no udev rule for your touch screen in your device's aport - maybe that got lost, or never checked in? Or maybe it just randomly worked sometimes, and sometimes not. It should work reliably, as soon as you create this rule, your touch device's name is synaptics-rmi-touchscreen.

Thanks for making this bugreport!

Tried adding deviceinfo_weston_core_modules="xwayland.so" but no change :(

As for the touch screen. The file is here. I don't see any thing wrong with it. But maybe there is something?

@VictorNine: have you done a full re-install after doing the deviceinfo change?

The udev rule looks good, I have missed that there was one in your package earlier. If you can't get the touch screen working, I suggest doing a git bisect so we can find the exact commit, that caused it to fail, if that is feasible for you.

Sorry for the trouble!

That did it for the demo app :)

I've started trying to locate the commit that breaks it. But it's a lot of work since it needs to be loaded on to the phone for every test.

I also have an HTC Ace lying around.

@VictorNine if you have any more information on how to get started and which specific things you want to test as mentioned above, maybe I could help.

@VictorNine @aairey can you test it again with the latest changes, weston has been updated to version 3.0.0 now.

@drebrez I've been trying to get it work for past 2 days. Demo app works after editing deviceinfo, but as for touch screen nothing has changed. It still gets recognized as Keyboard:

Date: 1980-01-06 GMT
[23:12:22.841] weston 3.0.0
               http://wayland.freedesktop.org
               Bug reports to: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=weston&version=3.0.0
               Build: unknown (not built from git or tarball)
[23:12:22.842] Command line: weston
[23:12:22.842] OS: Linux, 3.0.101-ODP, #5-Alpine PREEMPT Sat Oct 7 09:04:56 GMT 2017, armv7l
[23:12:22.845] Using config file '/etc/xdg/weston/weston.ini'
[23:12:22.847] Output repaint window is 7 ms maximum.
[23:12:22.849] Loading module '/usr/lib/libweston-3/fbdev-backend.so'
[23:12:22.866] initializing fbdev backend
[23:12:22.866] Creating fbdev output.
[23:12:22.867] Opening fbdev frame buffer.
[23:12:23.007] Calculating pixman format from:
                - type: 0 (aux: 0)
                - visual: 2
                - bpp: 16 (grayscale: 0)
                - red: offset: 11, length: 5, MSB: 0
                - green: offset: 5, length: 6, MSB: 0
                - blue: offset: 0, length: 5, MSB: 0
                - transp: offset: 0, length: 0, MSB: 0
                - pixman_type: 0
[23:12:23.008] Type guessed: 2:
[23:12:23.134] event0  - [23:12:23.135] h2w headset: [23:12:23.135] is tagged by udev as: Keyboard
[23:12:23.135] event0  - [23:12:23.136] h2w headset: [23:12:23.136] device is a keyboard
[23:12:23.144] event1  - [23:12:23.145] synaptics-rmi-touchscreen: [23:12:23.145] is tagged by udev as: Keyboard
[23:12:23.145] event1  - [23:12:23.146] synaptics-rmi-touchscreen: [23:12:23.146] device is a keyboard
[23:12:23.156] event2  - [23:12:23.156] spade-keypad: [23:12:23.156] is tagged by udev as: Keyboard
[23:12:23.156] event2  - [23:12:23.156] spade-keypad: [23:12:23.157] device is a keyboard
[23:12:23.160] event3  - [23:12:23.160] compass: [23:12:23.160] is tagged by udev as: Accelerometer
[23:12:23.160] event3  - [23:12:23.160] compass: [23:12:23.160] device is an accelerometer, ignoring
[23:12:23.161] event3  - not using input device '/dev/input/event3'
[23:12:23.168] event4  - [23:12:23.168] lightsensor-level: [23:12:23.168] not tagged as supported input device
[23:12:23.168] event4  - not using input device '/dev/input/event4'
[23:12:23.170] event5  - [23:12:23.170] proximity: [23:12:23.170] not tagged as supported input device
[23:12:23.170] event5  - not using input device '/dev/input/event5'
[23:12:23.722] Opening fbdev frame buffer.
[23:12:23.864] Calculating pixman format from:
                - type: 0 (aux: 0)
                - visual: 2
                - bpp: 16 (grayscale: 0)
                - red: offset: 11, length: 5, MSB: 0
                - green: offset: 5, length: 6, MSB: 0
                - blue: offset: 0, length: 5, MSB: 0
                - transp: offset: 0, length: 0, MSB: 0
                - pixman_type: 0
[23:12:23.864] Type guessed: 2:
[23:12:23.864] Mapping fbdev frame buffer.
[23:12:23.865] fbdev output 480脳800 px
               guessing 60 Hz and 96 dpi
[23:12:23.866] Compositor capabilities:
               arbitrary surface rotation: yes
               screen capture uses y-flip: yes
               presentation clock: CLOCK_MONOTONIC_RAW, id 4
               presentation clock resolution: 0.000000001 s
[23:12:23.870] Loading module '/usr/lib/weston/desktop-shell.so'
[23:12:23.887] launching '/usr/lib/weston/weston-keyboard'
[23:12:23.889] Old Xwayland module loading detected: Please use --xwayland command line option or set xwayland=true in the [core] section in weston.ini
[23:12:23.889] Loading module '/usr/lib/libweston-3/xwayland.so'
[23:12:24.349] Registered plugin API 'weston_xwayland_v1' of size 16
[23:12:24.349] Registered plugin API 'weston_xwayland_surface_v1' of size 8
[23:12:24.349] xserver listening on display :0
[23:12:24.350] launching '/usr/lib/weston/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
[23:12:25.074] Spawned Xwayland server, pid 2803
Disabling glamor and dri3, EGL setup failed
Failed to initialize glamor, falling back to sw
[23:12:36.748] xfixes version: 5.0
[23:12:36.914] created wm, root 608

I've been trying to work with older commits to find the issue, but I've run into some dependencies errors when building from zero (some older packages are not in alpine repos anymore) or
[15:40:53] ERROR: Could not find package '/bin/sh' aport and could not find it in any APKINDEX
when trying to build on top of latest cached versions.
I'd be very happy to help, but I' going to need some help myself.

@Larvitar: Welcome to postmarketOS and cool that you're giving this device another shot!

It's good that you posted the log, because that made me curious why it gets detected as keyboard.
I guess the reason is, that the udev rule config is installed with a .rule extension:
https://github.com/postmarketOS/pmbootstrap/blob/0f00759fde567d36babd64115b92dac00f5c7016/aports/device/device-htc-ace/APKBUILD#L28-L29

...while it should probably have a .rules extension. Example from lg-mako, where the touchscreen is working:
https://github.com/postmarketOS/pmbootstrap/blob/0f00759fde567d36babd64115b92dac00f5c7016/aports/device/device-lg-mako/APKBUILD#L24-L25

Could you try out if that fixes it?

Also please rebase everything to master. The easiest way to do this, is checking out the current pmbootstrap repository, then copying the device-htc-ace and linux-htc-ace folders from aports to the other source tree.

Finally, if this fixes it, please make a pull request 馃憤

Yup everything works now. Gonna make a pull request in a minute.

Closing, as it has been fixed by @Larvitar in #715. 馃帀

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ata2001 picture ata2001  路  3Comments

craftyguy picture craftyguy  路  6Comments

ghost picture ghost  路  4Comments

ata2001 picture ata2001  路  4Comments

erhoof picture erhoof  路  4Comments