The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Adaptation/N9-N950/Wayland
(direct rendering) |
|||
Line 44: | Line 44: | ||
[11:34:58] <w00t> (it's always in composited mode, there is no direct rendering at this stage, maybe ever) | [11:34:58] <w00t> (it's always in composited mode, there is no direct rendering at this stage, maybe ever) | ||
[11:35:39] <w00t> i also fully expect some crashes/etc when running things, i've even seen the odd one when interacting with qml compositor for instance.. backtraces are useful if you can get them | [11:35:39] <w00t> i also fully expect some crashes/etc when running things, i've even seen the odd one when interacting with qml compositor for instance.. backtraces are useful if you can get them | ||
+ | |||
+ | Day changed to 12 Jun 2013 | ||
+ | 11:56 < w00t> [wayland compositing] is actually still faster than x11 when composited in the same scenario I tested, though | ||
+ | 11:58 < w00t> direct rendering requires tinkering with a QPA plugin, and it's all a little complicated | ||
+ | 12:03 < w00t> it's needed [on any device] where you want direct rendering | ||
+ | 12:07 < w00t> with direct rendering, the point is to flip stuff from the client directly on screen instead of being composited (inside... the compositor!), which then gets shoved on screen - if that makes more sense | ||
+ | 12:07 < w00t> QPlatformScreenBuffer and QPlatformScreenPageFlipper are the things to look into | ||
+ | 12:08 < sledges> any rudimentary wayland (non-qt) apps that do this? | ||
+ | 12:09 < w00t> not really.. it's qt-only in this case given half of it lives inside the qpa plugin | ||
+ | 12:10 < w00t> and, to make life complicated, there isn't really an implementation of it in existence yet :) |
Revision as of 11:13, 12 June 2013
Introduction
Some basic instructions for trying out Wayland on Nemo on N9/N950. These instructions will get simpler over time. If you need help with it, ask me (w00t) on IRC.
This should be obvious, but use these instructions with care. They can get you to a point where your UI is not bootable very easily. Don't do this unless you know what you're doing and what the risks are.
[11:16:53] <w00t> ssu ar wayland http://repo.merproject.org/obs/home:/w00t:/branches:/nemo:/devel:/hw:/ti:/omap3:/n9xx-common/latest_armv7hl/ [11:16:56] <w00t> ssu ur [11:16:58] <w00t> zypper ref -f wayland [11:17:11] <w00t> zypper up ti-omap3-sgx # don't say yes or no here yet, tell me what it says first [11:18:25] <Vesuri> let's see [11:19:36] <Vesuri> The following NEW packages are going to be installed: [11:19:36] <Vesuri> ti-omap3-sgx-wayland-wsegl wayland [11:19:37] <Vesuri> The following package is going to be upgraded: [11:19:38] <Vesuri> ti-omap3-sgx [11:19:53] <w00t> excellent [11:19:56] <w00t> yes, go ahead with that [11:20:05] <Vesuri> okay, that's done [11:20:18] <w00t> now reboot your device and make sure it starts the existing user session [11:20:43] <w00t> (it won't use wayland until we modify powervr's ini file, and ideally, we haven't broken x11 with this :)) [11:24:09] <Vesuri> rebooted, looks good [11:24:17] <w00t> \o/ [11:24:18] <w00t> ok.. sec [11:24:28] <w00t> open /etc/powervr.ini as root [11:24:40] <w00t> in '[default]' section, add: WindowSystem=/usr/lib/waylandwsegl.so [11:25:06] <w00t> zypper in qt5-qtwayland-wayland_egl-examples qt5-plugin-imageformat-jpeg qt5-plugin-platform-eglfs qt5-qtsvg-plugin-imageformat-svg [11:25:44] <w00t> systemctl stop user-session@1000.service [11:26:07] <w00t> cd /usr/lib/qt5/examples/qtwayland/qml-compositor/ [11:26:27] <w00t> QT_QPA_EGLFS_DEPTH=16 WSEGL_DEBUG=5 QT_COMPOSITOR_NEGATE_INVERTED_Y=1 ./qml-compositor -platform eglfs [11:29:27] <Vesuri> oh yeah, can see the qml compositor screen [11:29:35] <w00t> \o/ [11:29:42] <w00t> now.. you should be able to start a simple client [11:29:50] <w00t> let me get you minimer (i should really just package the damn thing) [11:29:54] <Vesuri> I have it [11:29:56] <w00t> oh [11:29:58] <w00t> excellent [11:30:15] <w00t> WAYLAND_DEBUG=1 QT_WAYLAND_DISABLE_WINDOWDECORATION=1 QT_QPA_EGLFS_HIDECURSOR=1 /usr/lib/qt5/bin/qmlscene -platform wayland /home/nemo/minimer/main.qml [11:34:33] <w00t> some fair warnings: [11:34:45] <w00t> performance is not going to be great, you can expect around 40fps fairly consistently [11:34:58] <w00t> (it's always in composited mode, there is no direct rendering at this stage, maybe ever) [11:35:39] <w00t> i also fully expect some crashes/etc when running things, i've even seen the odd one when interacting with qml compositor for instance.. backtraces are useful if you can get them
Day changed to 12 Jun 2013 11:56 < w00t> [wayland compositing] is actually still faster than x11 when composited in the same scenario I tested, though 11:58 < w00t> direct rendering requires tinkering with a QPA plugin, and it's all a little complicated 12:03 < w00t> it's needed [on any device] where you want direct rendering 12:07 < w00t> with direct rendering, the point is to flip stuff from the client directly on screen instead of being composited (inside... the compositor!), which then gets shoved on screen - if that makes more sense 12:07 < w00t> QPlatformScreenBuffer and QPlatformScreenPageFlipper are the things to look into 12:08 < sledges> any rudimentary wayland (non-qt) apps that do this? 12:09 < w00t> not really.. it's qt-only in this case given half of it lives inside the qpa plugin 12:10 < w00t> and, to make life complicated, there isn't really an implementation of it in existence yet :)