Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
259
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.81 KB | None | 0 0
  1. NOTES TO WILL:
  2. 1. Need to fix /sdcard mount since data is not mounted (bind)
  3. 2. look at .bashrc (chroot) and maybe the local xorg.conf file for arch so XWayland works?
  4. 3. chroot-i686 is for wine\qemu
  5. 4. devel.tar.gz was in /home/arch/devel
  6. 5. uhhhhh..... hacky
  7. 6. /usr/bin/droid/weston etc etc are what the xsession\wayland sessions run (hacky)
  8. 7. pulse with android.... could be better...
  9. 8. had gst-droid as working... but.... I think you need an audio player that can handle it..
  10. or it may need to run inside of wayland\hwcomposer
  11. 9. if you update, don't update pulse or libpulse or it breaks droid audio (might try this with pulse7)
  12. 10. probably better not to use pulse but it does work.
  13. 11. I want to see mate run with wayland in hwcomposer without XWayland, but mate doesn't do that yet
  14. 12. First touch works with weston and that is it could be XWayland\hwcomposer though
  15. 13. Yeah I know, kernel ramdisk could be smaller =)
  16. 14. look at kernel patches?
  17. 15. the new sailfish porting guide said something about watchdog.. might update to sfos2.0
  18. though I hesistate on using 3.0 kernel, it would be more ideal, as that is meant for cm11
  19. I am using a custom rom that has some issues because I took 3.4 for 5.0 and created a 4.4.4 rom
  20. But I do wonder how well systemd 229 would handle... 3.0
  21. 16./usr/gnemul/qemu-i386 is a stripped down version of the chroot-i686 meant for wine it is not in the rootfs
  22. 17. I had weston running without pixmap until arch went to mesa 11
  23. 18. I probably added too much qt devel stuff but.. oh well
  24.  
  25.  
  26.  
  27.  
  28.  
  29. First get a sailfish kernel and get a good ramdisk. Not covered here.
  30.  
  31. disable graphical booting.
  32.  
  33. grab files from sailfish:
  34. /init and uevent and fstab.tenderloin and default.prop? remove healthd fron init.rc
  35. /usr/bin/droid
  36. /usr/lib/droid
  37. /usr/lib/droid-devel
  38. /usr/libexec/droid-hybris
  39. /lib/systemd/system/998 and 999 service
  40. /lib/udev/rules.d/*
  41. /sbin/droid-hal/init
  42. manually populate /vendor? yes
  43.  
  44. append groups and passwords from sailfish!
  45.  
  46. change droid-hal-init.service and init.rc for it to work right. remove healthd problem
  47. change /lib/systemd/system 999-droid-hal-init.service to run as root, not reboot, remove timeout burst, normal
  48.  
  49. remove debugfs mounting from systemd!
  50. remove systemd mounting of debugfs
  51. rm -R -f /d
  52. ln -s /dev/null /d
  53. create umount-debugfs.service
  54. create wayland.service
  55. sudo systemctl enable serial-getty@ttyHSL0.service enable autologin!!!!!!!!!!!!!!!!!!! for wayland.service to run without usb console.
  56.  
  57. created lightdm sessions!!!
  58.  
  59. libhybris:
  60. ./autogen.sh --prefix=/usr --enable-wayland --enable-mesa --enable-debug --enable-trace --with-android-headers=/root/head --enable-arch=arm --with-default-hybris-ld-library-path=/usr/libexec/droid-hybris/system/lib:/vendor/lib:/system/lib CFLAGS="-DQCOM_BSP" CXXFLAGS="-DQCOM_BSP" && make
  61.  
  62. ./autogen.sh --prefix=/usr --enable-wayland --enable-debug --enable-trace --with-android-headers=/root/head --enable-arch=arm --with-default-hybris-ld-library-path=/usr/libexec/droid-hybris/system/lib:/vendor/lib:/system/lib CFLAGS="-DQCOM_BSP" CXXFLAGS="-DQCOM_BSP"
  63.  
  64. test:
  65. run /usr/bin/droid/droid-hal-startup.sh &&
  66. umount debugfs
  67. EGL_PLATFORM=hwcomposer test_hwcomposer
  68.  
  69. On to QT:
  70.  
  71. hwcomposer:
  72. add to qt5-qpa-hwcomposer the entry DEFINES += QCOM_BSP after https://github.com/mer-hybris/qt5-qpa-hwcomposer-plugin/blob/098e6fa7158a49e1c61e717c69665b92190391eb/hwcomposer/hwcomposer.pro#L33
  73. #rebuild qt5-qpa-hwcomposer-plugin
  74. if now test_hwcomposer and/or minimer show only first frame and then freeze, try this patch (heavily WIP and can cause memory leaks in long run, so NOT a final solution): this is how the patch looks in qt5-qpa-hwcomposer-plugin: the "if" block at https://gist.github.com/Nokius/2b07dc5bad0fea0b0bb1#file-hwcomposer_backend_v11-cpp-L79 and commenting out L101 -- firstly, apply this patch to test_hwcomposer.cpp of libhybris, then port over to your version of qt5-qpa-hwcomposer-plugin .cpp (hwc version can be seen during minimer launch) - 2015-06-03 research shows only this is sufficient: https://github.com/mer-hybris/qt5-qpa-hwcomposer-plugin/commit/ca6824957b909169c750c01ae79c42e48aea57fc
  75. build hwcomposer with qmake-qt5
  76.  
  77. qtwayland:
  78. qmake-qt5 CONFIG+=wayland-compositor
  79.  
  80. qml-compositor:
  81. qmake-qt5
  82.  
  83. Cairo:
  84. ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-static --disable-lto --enable-tee --enable-svg --enable-ps --enable-pdf --enable-gobject --enable-gtk-doc --enable-gl=no --enable-glx=no --enable-egl --enable-glesv2
  85.  
  86. WESTON! 1.9
  87. ./configure --prefix=/usr --libexecdir=/usr/lib/weston --enable-libinput-backend --enable-demo-clients-install --with-cairo=glesv2 --with-cairo-glesv2
  88.  
  89. MESA!: (Doesn't matter?)
  90. ftp://ftp.freedesktop.org/pub/mesa/10.6.1/mesa-10.6.1.tar.xz
  91. ./autogen.sh --prefix=/usr --sysconfdir=/etc --with-egl-platforms=x11,wayland,drm --with-sha1=libgcrypt --enable-egl --enable-gbm --enable-shared-glapi --enable-glx=yes --enable-glx-tls=yes --enable-osmesa --enable-gles1 --enable-gles2 --enable-texture-float --enable-xa --enable-vdpau --enable-omx --enable-nine --enable-opencl=no --enable-opencl-icd --with-clang-libdir=/usr/lib --enable-dri --with-dri-driverdir=/usr/lib/xorg/modules/dri --with-gallium-drivers=freedreno,swrast --with-dri-drivers=swrast --disable-gallium-llvm --enable-gallium-egl
  92.  
  93. mesa freedreno!?????
  94. ./autogen.sh --prefix=/usr --with-dri-drivers= --with-gallium-drivers=freedreno,swrast --with-egl-platforms=x11 --enable-gles2 --enable-gles1 --enable-debug --enable-gallium-egl --disable-gallium-llvm --enable-xa --disable-dri3
  95.  
  96. mesa merged:??????
  97. ./autogen.sh --prefix=/usr --sysconfdir=/etc --with-egl-platforms=x11,wayland,drm --with-sha1=libgcrypt --enable-egl --enable-gbm --enable-shared-glapi --enable-glx=yes --enable-glx-tls=yes --enable-osmesa --enable-gles1 --enable-gles2 --enable-texture-float --enable-xa --enable-vdpau --enable-omx --enable-nine --enable-opencl=no --enable-opencl-icd --with-clang-libdir=/usr/lib --enable-dri --with-dri-driverdir=/usr/lib/xorg/modules/dri --with-gallium-drivers=radeonsi,nouveau,svga,freedreno,swrast --with-dri-drivers=radeon,nouveau,swrast --disable-gallium-llvm --enable-gallium-egl --enable-debug
  98.  
  99.  
  100. Test!
  101. cd /usr/share/doc/qt/examples/wayland/qml-compositor
  102. EGL_PLATFORM=hwcomposer /usr/share/doc/qt/examples/wayland/qml-compositor/qml-compositor -platform hwcomposer -plugin EvdevTouch -plugin EvdevMouse -plugin EvdevKeyboard &
  103. EGL_PLATFORM=wayland weston --backend=wayland-backend.so -Swayland-1 --display=wayland-0 --fullscreen --width=1024 --height=768 --use-pixman
  104.  
  105. Audio:
  106. Make pulse start as a user session, take all files pulse related from sailfish. Should work.
  107.  
  108.  
  109. GST_DROID!
  110. https://github.com/nemomobile/nemo-gst-interfaces/
  111. https://github.com/sailfishos/gst-droid LOCAL NOT GIT HUB
  112. ./autogen.sh --prefix=/usr
  113. make
  114. autoreconf --force --install
  115. make
  116. delete m4 and all files with *.m4 and compile!
  117. empty gst/droidcamsrc/gstdroidcamsrcphotography.c
  118. cd /etc
  119. ln -s /system/etc/media_codecs.xml .
  120. ln -s /system/etc/media_profiles.xml .
  121. should work!?
  122.  
  123.  
  124.  
  125. /usr/lib/gstreamer-1.0/libgstdroid.so
  126. /usr/lib/gstreamer-1.0/libgstlibav.so
  127. ./usr/lib/libgstdroid-1.0.so.0
  128. ./usr/lib/libgstdroid-1.0.so.0.0.0
  129.  
  130. ./usr/lib/libgstnemometa-1.0.so.0.0.0
  131. ./usr/lib/libnemonotifications-qt5.so.1.0
  132. ./usr/lib/libnemotransferengine-qt5.so.1.0.0
  133. ./usr/lib/libgstnemometa-1.0.so.0
  134. ./usr/lib/libgstnemointerfaces-1.0.so.0.0.0
  135. ./usr/lib/libgstnemointerfaces-1.0.so.0
  136.  
  137. GREENISLAND!
  138. https://www.archlinux.org/packages/extra/x86_64/xcb-util-cursor/
  139.  
  140.  
  141. ??????????????
  142.  
  143. EGL_PLATFORM=hwcomposer weston --backend=wayland-backend.so -Swayland-1 --display=wayland-0 --fullscreen --width=1024 --height=768
  144.  
  145. lacking input?
  146. startx -- /usr/bin/Xwayland
  147. startx -- /usr/bin/Xweston
  148.  
  149. kwin?
  150. kwin_wayland --drm --xwayland --libinput
  151. kwin_wayland --wayland-display wayland-0 --socket wayland-1 --libinput
  152. EGL_PLATFORM=hwcomposer kwin_wayland --wayland-display wayland-1
  153.  
  154. enabled drm
  155. EGL_PLATFORM=fbdev weston --backend=fbdev-backend.so --tty=2
  156.  
  157.  
  158. mkdir build
  159. cd build
  160. cmake ../${pkgname} -DCMAKE_INSTALL_PREFIX=/usr -DLIB_INSTALL_DIR=lib -DLIBEXEC_INSTALL_DIR=lib -DQML_INSTALL_DIR=lib/qt/qml -DKDE_INSTALL_USE_QT_SYS_PATHS=ON -DQtWaylandScanner_EXECUTABLE=/usr/lib/qt/bin/qtwaylandscanner -DCMAKE_BUILD_TYPE=RelWithDebInfo
  161. make
  162. sudo make install
  163.  
  164. EGL_PLATFORM=hwcomposer /usr/bin/hawaii --wayland-socket-name greenisland-seat0 -plugin EvdevMouse -plugin EvdevKeyboard -plugin EvdevTouch -platform hwcomposer -platformtheme Hawaii
  165.  
  166. setprop debug.gralloc.map_fb_memory true
  167. EGL_PLATFORM=null dbus-launch /usr/bin/hawaii --wayland-socket-name greenisland-seat0 -plugin EvdevMouse -plugin EvdevKeyboard -plugin EvdevTouch -platform eglfs -platformtheme Hawaii
  168.  
  169. EGL_PLATFORM=null dbus-launch /usr/bin/hawaii --wayland-socket-name greenisland-seat0 -plugin EvdevMouse -plugin EvdevKeyboard -plugin EvdevTouch -platform eglfs -platformtheme Hawaii
  170.  
  171. 704-941-3740 (guess I won't be calling that # back)
  172.  
  173. cp arch/arm/boot/uImage ~/moboot/tools
  174. cd ~/moboot/tools
  175. ./uimage-extract uImage
  176. mkimage -A arm -O linux -T kernel -C none -a 0x40208000 -e 0x40208000 -n "Kernel" -d kernel.img uImage
  177. mkimage -A arm -O linux -T multi -a 0x40208000 -e 0x40208000 -C none -n "multi image" -d uImage:uRamdisk uImage.ArchNew4
  178. scp uImage.ArchNew4 root@192.168.1.5:/boot/loader
  179.  
  180. --ignore qt5-connectivity --ignore qt5-declarative --ignore qt5-enginio --ignore qt5-graphicaleffects --ignore qt5-imageformats --ignore qt5-location --ignore qt5-multimedia --ignore qt5-quick1 --ignore qt5-quickcontrols --ignore qt5-script --ignore qt5-sensors --ignore qt5-serialport --ignore qt5-svg --ignore qt5-tools --ignore qt5-translations --ignore qt5-wayland --ignore qt5-webchannel --ignore qt5-webkit --ignore qt5-websockets --ignore qt5-x11extras --ignore qt5-xmlpatterns
  181.  
  182. things left to do:
  183. compile hawaii
  184. xbmc http://forum.odroid.com/viewtopic.php?f=62&t=5063
  185. apkenv
  186. wine
  187.  
  188. gstreamer ideas:
  189. https://github.com/foolab/gst-droid/commit/bcf07558190bdc6dbd7319402571eaf2bd3fee63
  190. plus add EGL_PLATFORM to env
  191.  
  192. qt5base with tslib or...
  193. gst-droid work?
  194. gles2 test?
  195.  
  196. DISPLAY=:0.0 gst-launch-1.0 filesrc location=/data/media/0/big_buck_bunny_720p_surround.avi ! droideglsink
  197.  
  198. DISPLAY=0.0 gst-launch-1.0 filesrc location=/data/media/0/big_buck_bunny_720p_surround.avi ! decodebin ! droideglsink
  199.  
  200.  
  201. invoker --type=silica-qt5 -s /usr/bin/jolla-gallery
  202.  
  203. Packages (25) java-runtime-common-2-2 jre7-openjdk-headless-7.u85_2.6.1-1
  204. libao-1.2.0-1 libplatform-1.0.10-1 lockdev-1.0.3_1.6-1
  205. afpfs-ng-0.8.1-8 boost-1.58.0-2 cwiid-0.6.00+svn201-1
  206. doxygen-1.8.9.1-1 gperf-3.0.4-5 jre7-openjdk-7.u85_2.6.1-1
  207. libaacs-0.8.1-1 libcec-3.0.1-1.1 libmicrohttpd-0.9.42-1
  208. libnfs-1.9.7-1 nasm-2.11.08-1 nss-mdns-0.10-6
  209. python2-pybluez-0.20-3 python2-simplejson-3.7.2-1 sdl2-2.0.3-1
  210. shairplay-20140422-2 swig-3.0.6-1 tinyxml-2.6.2-3 yajl-2.1.0-1
  211. zip-3.0-6
  212. XMBC REQIREMENTS TO BUILD
  213. export PYTHON_VERSION=2 # external python v2
  214. ./configure --prefix=/usr \
  215. --enable-shared-libraries \
  216. --with-lirc-device=/run/lirc/lircd \
  217. --enable-neon \
  218. --enable-gles \
  219. --disable-gl \
  220. --disable-vdpau \
  221. --disable-vaapi \
  222. --disable-crystalhd \
  223. --disable-openmax \
  224. --disable-exynos4 \
  225. --disable-xrandr \
  226. --disable-rsxs \
  227. --disable-fishbmc \
  228. --disable-projectm \
  229. --enable-nfs \
  230. --enable-non-free \
  231. --enable-optical-drive \
  232. --disable-libbluray \
  233. --disable-joystick \
  234. --disable-debug \
  235. --enable-optimizations \
  236. --enable-ccache \
  237. --enable-libcec \
  238. --host=armv7l-unknown-linux-gnueabihf \
  239. --enable-alsa \
  240. --with-cpu=cortex-a9 \
  241. --disable-sdl \
  242. --enable-pulse \
  243. --disable-x11 \
  244. --enable-hybris \
  245. --enable-wayland \
  246. ac_cv_type__Bool=yes
  247.  
  248. Owerson
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement