Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- NOTES TO WILL:
- 1. Need to fix /sdcard mount since data is not mounted (bind)
- 2. look at .bashrc (chroot) and maybe the local xorg.conf file for arch so XWayland works?
- 3. chroot-i686 is for wine\qemu
- 4. devel.tar.gz was in /home/arch/devel
- 5. uhhhhh..... hacky
- 6. /usr/bin/droid/weston etc etc are what the xsession\wayland sessions run (hacky)
- 7. pulse with android.... could be better...
- 8. had gst-droid as working... but.... I think you need an audio player that can handle it..
- or it may need to run inside of wayland\hwcomposer
- 9. if you update, don't update pulse or libpulse or it breaks droid audio (might try this with pulse7)
- 10. probably better not to use pulse but it does work.
- 11. I want to see mate run with wayland in hwcomposer without XWayland, but mate doesn't do that yet
- 12. First touch works with weston and that is it could be XWayland\hwcomposer though
- 13. Yeah I know, kernel ramdisk could be smaller =)
- 14. look at kernel patches?
- 15. the new sailfish porting guide said something about watchdog.. might update to sfos2.0
- though I hesistate on using 3.0 kernel, it would be more ideal, as that is meant for cm11
- 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
- But I do wonder how well systemd 229 would handle... 3.0
- 16./usr/gnemul/qemu-i386 is a stripped down version of the chroot-i686 meant for wine it is not in the rootfs
- 17. I had weston running without pixmap until arch went to mesa 11
- 18. I probably added too much qt devel stuff but.. oh well
- First get a sailfish kernel and get a good ramdisk. Not covered here.
- disable graphical booting.
- grab files from sailfish:
- /init and uevent and fstab.tenderloin and default.prop? remove healthd fron init.rc
- /usr/bin/droid
- /usr/lib/droid
- /usr/lib/droid-devel
- /usr/libexec/droid-hybris
- /lib/systemd/system/998 and 999 service
- /lib/udev/rules.d/*
- /sbin/droid-hal/init
- manually populate /vendor? yes
- append groups and passwords from sailfish!
- change droid-hal-init.service and init.rc for it to work right. remove healthd problem
- change /lib/systemd/system 999-droid-hal-init.service to run as root, not reboot, remove timeout burst, normal
- remove debugfs mounting from systemd!
- remove systemd mounting of debugfs
- rm -R -f /d
- ln -s /dev/null /d
- create umount-debugfs.service
- create wayland.service
- sudo systemctl enable serial-getty@ttyHSL0.service enable autologin!!!!!!!!!!!!!!!!!!! for wayland.service to run without usb console.
- created lightdm sessions!!!
- libhybris:
- ./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
- ./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"
- test:
- run /usr/bin/droid/droid-hal-startup.sh &&
- umount debugfs
- EGL_PLATFORM=hwcomposer test_hwcomposer
- On to QT:
- hwcomposer:
- 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
- #rebuild qt5-qpa-hwcomposer-plugin
- 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
- build hwcomposer with qmake-qt5
- qtwayland:
- qmake-qt5 CONFIG+=wayland-compositor
- qml-compositor:
- qmake-qt5
- Cairo:
- ./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
- WESTON! 1.9
- ./configure --prefix=/usr --libexecdir=/usr/lib/weston --enable-libinput-backend --enable-demo-clients-install --with-cairo=glesv2 --with-cairo-glesv2
- MESA!: (Doesn't matter?)
- ftp://ftp.freedesktop.org/pub/mesa/10.6.1/mesa-10.6.1.tar.xz
- ./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
- mesa freedreno!?????
- ./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
- mesa merged:??????
- ./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
- Test!
- cd /usr/share/doc/qt/examples/wayland/qml-compositor
- EGL_PLATFORM=hwcomposer /usr/share/doc/qt/examples/wayland/qml-compositor/qml-compositor -platform hwcomposer -plugin EvdevTouch -plugin EvdevMouse -plugin EvdevKeyboard &
- EGL_PLATFORM=wayland weston --backend=wayland-backend.so -Swayland-1 --display=wayland-0 --fullscreen --width=1024 --height=768 --use-pixman
- Audio:
- Make pulse start as a user session, take all files pulse related from sailfish. Should work.
- GST_DROID!
- https://github.com/nemomobile/nemo-gst-interfaces/
- https://github.com/sailfishos/gst-droid LOCAL NOT GIT HUB
- ./autogen.sh --prefix=/usr
- make
- autoreconf --force --install
- make
- delete m4 and all files with *.m4 and compile!
- empty gst/droidcamsrc/gstdroidcamsrcphotography.c
- cd /etc
- ln -s /system/etc/media_codecs.xml .
- ln -s /system/etc/media_profiles.xml .
- should work!?
- /usr/lib/gstreamer-1.0/libgstdroid.so
- /usr/lib/gstreamer-1.0/libgstlibav.so
- ./usr/lib/libgstdroid-1.0.so.0
- ./usr/lib/libgstdroid-1.0.so.0.0.0
- ./usr/lib/libgstnemometa-1.0.so.0.0.0
- ./usr/lib/libnemonotifications-qt5.so.1.0
- ./usr/lib/libnemotransferengine-qt5.so.1.0.0
- ./usr/lib/libgstnemometa-1.0.so.0
- ./usr/lib/libgstnemointerfaces-1.0.so.0.0.0
- ./usr/lib/libgstnemointerfaces-1.0.so.0
- GREENISLAND!
- https://www.archlinux.org/packages/extra/x86_64/xcb-util-cursor/
- ??????????????
- EGL_PLATFORM=hwcomposer weston --backend=wayland-backend.so -Swayland-1 --display=wayland-0 --fullscreen --width=1024 --height=768
- lacking input?
- startx -- /usr/bin/Xwayland
- startx -- /usr/bin/Xweston
- kwin?
- kwin_wayland --drm --xwayland --libinput
- kwin_wayland --wayland-display wayland-0 --socket wayland-1 --libinput
- EGL_PLATFORM=hwcomposer kwin_wayland --wayland-display wayland-1
- enabled drm
- EGL_PLATFORM=fbdev weston --backend=fbdev-backend.so --tty=2
- mkdir build
- cd build
- 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
- make
- sudo make install
- EGL_PLATFORM=hwcomposer /usr/bin/hawaii --wayland-socket-name greenisland-seat0 -plugin EvdevMouse -plugin EvdevKeyboard -plugin EvdevTouch -platform hwcomposer -platformtheme Hawaii
- setprop debug.gralloc.map_fb_memory true
- EGL_PLATFORM=null dbus-launch /usr/bin/hawaii --wayland-socket-name greenisland-seat0 -plugin EvdevMouse -plugin EvdevKeyboard -plugin EvdevTouch -platform eglfs -platformtheme Hawaii
- EGL_PLATFORM=null dbus-launch /usr/bin/hawaii --wayland-socket-name greenisland-seat0 -plugin EvdevMouse -plugin EvdevKeyboard -plugin EvdevTouch -platform eglfs -platformtheme Hawaii
- 704-941-3740 (guess I won't be calling that # back)
- cp arch/arm/boot/uImage ~/moboot/tools
- cd ~/moboot/tools
- ./uimage-extract uImage
- mkimage -A arm -O linux -T kernel -C none -a 0x40208000 -e 0x40208000 -n "Kernel" -d kernel.img uImage
- mkimage -A arm -O linux -T multi -a 0x40208000 -e 0x40208000 -C none -n "multi image" -d uImage:uRamdisk uImage.ArchNew4
- scp uImage.ArchNew4 root@192.168.1.5:/boot/loader
- --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
- things left to do:
- compile hawaii
- xbmc http://forum.odroid.com/viewtopic.php?f=62&t=5063
- apkenv
- wine
- gstreamer ideas:
- https://github.com/foolab/gst-droid/commit/bcf07558190bdc6dbd7319402571eaf2bd3fee63
- plus add EGL_PLATFORM to env
- qt5base with tslib or...
- gst-droid work?
- gles2 test?
- DISPLAY=:0.0 gst-launch-1.0 filesrc location=/data/media/0/big_buck_bunny_720p_surround.avi ! droideglsink
- DISPLAY=0.0 gst-launch-1.0 filesrc location=/data/media/0/big_buck_bunny_720p_surround.avi ! decodebin ! droideglsink
- invoker --type=silica-qt5 -s /usr/bin/jolla-gallery
- Packages (25) java-runtime-common-2-2 jre7-openjdk-headless-7.u85_2.6.1-1
- libao-1.2.0-1 libplatform-1.0.10-1 lockdev-1.0.3_1.6-1
- afpfs-ng-0.8.1-8 boost-1.58.0-2 cwiid-0.6.00+svn201-1
- doxygen-1.8.9.1-1 gperf-3.0.4-5 jre7-openjdk-7.u85_2.6.1-1
- libaacs-0.8.1-1 libcec-3.0.1-1.1 libmicrohttpd-0.9.42-1
- libnfs-1.9.7-1 nasm-2.11.08-1 nss-mdns-0.10-6
- python2-pybluez-0.20-3 python2-simplejson-3.7.2-1 sdl2-2.0.3-1
- shairplay-20140422-2 swig-3.0.6-1 tinyxml-2.6.2-3 yajl-2.1.0-1
- zip-3.0-6
- XMBC REQIREMENTS TO BUILD
- export PYTHON_VERSION=2 # external python v2
- ./configure --prefix=/usr \
- --enable-shared-libraries \
- --with-lirc-device=/run/lirc/lircd \
- --enable-neon \
- --enable-gles \
- --disable-gl \
- --disable-vdpau \
- --disable-vaapi \
- --disable-crystalhd \
- --disable-openmax \
- --disable-exynos4 \
- --disable-xrandr \
- --disable-rsxs \
- --disable-fishbmc \
- --disable-projectm \
- --enable-nfs \
- --enable-non-free \
- --enable-optical-drive \
- --disable-libbluray \
- --disable-joystick \
- --disable-debug \
- --enable-optimizations \
- --enable-ccache \
- --enable-libcec \
- --host=armv7l-unknown-linux-gnueabihf \
- --enable-alsa \
- --with-cpu=cortex-a9 \
- --disable-sdl \
- --enable-pulse \
- --disable-x11 \
- --enable-hybris \
- --enable-wayland \
- ac_cv_type__Bool=yes
- Owerson
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement