Commit 849e1cbb authored by David Boddie's avatar David Boddie

Move old documentation, replace with links

parent f1f2de2f
.. _devkit_howto_install_plasma_mobile:
Install Plasma Mobile
=====================
.. note:: These instructions are subject to change. Use them at your own risk.
If you encounter problems, please check for existing issues and file
new ones `in the issue tracker <Issues for Plasma Mobile on Librem 5_>`_.
To install Plasma Mobile on the development board, follow the steps outlined
below.
......@@ -49,3 +53,5 @@ below.
``phablet`` by editing the ``/lib/systemd/system/simplelogin.service`` file.
#. Reboot.
.. include:: /links.txt
.. _imx6_plamo:
Plasma Mobile on armhf
======================
For this exercise, the i.MX6 dev board is used, starting from imx6.img built from the `d0349a9 <https://source.puri.sm/Librem5/image-builder/commit/d0349a93ea43c5497efae69e611aa0d9f4fd8b9d>`_ commit (image-builder repo). All packages were built on this board to get .debs for the native armhf architecture.
**********************************
Setting up Development Environment
**********************************
On the i.MX6 system, install some initial plasma mobile build dependencies::
purism@pureos:~$ sudo apt-get install plasma-workspace-wayland git dpkg-dev cmake debhelper extra-cmake-modules kwayland-dev libkf5declarative-dev libkf5notifications-dev libkf5people-dev libkf5service-dev libsystemd-dev libtelepathy-qt5-dev pkg-kde-tools plasma-framework-dev qt5-default qtdeclarative5-dev fakeroot
Additionally you will need to install plasma-phone-components and plasma-settings and some of their dependencies that are not available in Debian testing repos. I have built these and `here is a tarball <https://developer.puri.sm/plamo-dependencies.tar.gz>`_ containing these armhf built packages. However if you would like to build them yourself, here are some steps to do that.
***********************
plasma-phone-components
***********************
Get the plasma-phone-components repos::
purism@pureos:~$ git clone https://github.com/KDE/plasma-phone-components.git
purism@pureos:~$ git clone https://github.com/debian-pm/plasma-phone-components-packaging.git
Build plasma-phone-components::
purism@pureos:~$ cd plasma-phone-components
purism@pureos:~/plasma-phone-components$ tar czvf plasma-phone-components_0.7+git20180223.orig.tar.gz .*
purism@pureos:~/plasma-phone-components$ mv plasma-phone-components_0.7+git20180223.orig.tar.gz ..
purism@pureos:~/plasma-phone-components$ cp -r ../plasma-phone-components-packaging/debian .
purism@pureos:~/plasma-phone-components$ dpkg-buildpackage -sa -us -uc
The build results in ~/plasma-phone-components_0.7+git20180223-1_armhf.deb but before we can install it, we need to build and install a few dependencies::
purism@pureos:~$ sudo apt-get install powerdevil qml-module-org-kde-kio qml-module-qtquick-localstorage fonts-oxygen kde-telepathy-kpeople libkf5contacts-dev
**kpeople-vcard**
This is the only dependency for plasma-phone-components that we cannot just install from apt.
Get the kpeople-vcard repos::
purism@pureos:~$ git clone https://cgit.kde.org/kpeoplevcard.git
purism@pureos:~/tmp$ git clone https://github.com/plasma-phone-packaging/kpeoplevcard.git
Note that the second link is the needed Debian dir and a small change is needed::
diff --git a/debian/changelog b/debian/changelog
index c2c864f..b2875ee 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-kpeoplevcard (0.0+git20150716) vivid; urgency=medium
+kpeoplevcard (0.0+git20150716-1) vivid; urgency=medium
Make the tarball and then just as with the plasma-phone-components, put the debian dir in the kpeoplevcard dir and build::
purism@pureos:~/kpeoplevcard$ tar czvf kpeoplevcard_0.0+git20150716.orig.tar.gz .*
purism@pureos:~/kpeoplevcard$ mv kpeoplevcard_0.0+git20150716.orig.tar.gz ..
purism@pureos:~/kpeoplevcard$ cp -r ~/tmp/kpeoplevcard/debian .
purism@pureos:~/kpeoplevcard$ dpkg-buildpackage -sa -us -uc
The build results in ~/kpeople-vcard_0.0+git20150716-1_armhf.deb
Install both kpeople-vcard and plasma-phone-components::
purism@pureos:~$ sudo dpkg -i kpeople-vcard_0.0+git20150716-1_armhf.deb
purism@pureos:~$ sudo dpkg -i plasma-phone-components_0.7+git20180223-1_armhf.deb
***************
plasma-settings
***************
Get the plasma-settings repos::
purism@pureos:~$ git clone https://anongit.kde.org/plasma-settings.git
purism@pureos:~$ git clone https://github.com/debian-pm/plasma-settings-packaging.git
Make the tarball and put the debian dir in the plasma-settings dir::
purism@pureos:~$ cd plasma-settings
purism@pureos:~/plasma-settings$ tar czvf plasma-settings_0.0.1+git20180223.orig.tar.gz .*
purism@pureos:~/plasma-settings$ mv plasma-settings_0.0.1+git20180223.orig.tar.gz ..
purism@pureos:~/plasma-settings$ cp -r ~/plasma-settings-packaging/debian .
Install needed dependencies::
purism@pureos:~/plasma-settings$ sudo apt-get install libaccounts-glib-dev libaccounts-qt5-dev libgettextpo-dev libkaccounts-dev libkf5archive-dev libkpimgapi-dev libsignon-qt5-dev qtbase5-private-dev kaccounts-providers qml-module-org-kde-kaccounts qml-module-org-kde-activities
But to successfully build plasma-settings, this dependency had to be removed from the control file.
Build plasma-settings::
purism@pureos:~/plasma-settings$ dpkg-buildpackage -sa -us -uc
The build results in ~/plasma-settings_0.0.1+git20180223-1_armhf.deb that can be installed::
purism@pureos:~$ sudo dpkg -i plasma-settings_0.0.1+git20180223-1_armhf.deb
*********************
Running Plasma Mobile
*********************
First, stop weston and open up another tty on the board::
purism@pureos:~$ sudo systemctl stop weston
Now there are two ways to run Plasma Phone shell, using QPainter backend or OpenGL based platform. However since kwin_wayland have `zwp_linux_dmabuf support <https://phabricator.kde.org/T8067>`_ work in progress (under review), you can not use wayland clients and it produces the dead pixels instead of Plasma interface. To workaround this issue, edit `/usr/bin/plasma-phone` script to remove `export QT_QPA_PLATFORM=wayland`.
Run kwin_wayland from another tty::
purism@pureos:~$ /usr/bin/kwin_wayland --xwayland --drm plasma-phone
Note that to capture the plasma-phone boot logs, you can always add "2> kwin.log" to the end of the kwin_wayland command. Additional plasma logs can be found in /tmp/plasmashell_logs.
At this point plasma mobile should be running on your i.MX6 board!
Note that there is a `known issue <https://bugs.kde.org/show_bug.cgi?id=391412>`_ where the mouse functions but is invisible.
.. image:: images/plamo.jpg
:width: 400px
:height: 550px
:align: center
*****************
Onscreen Keyboard
*****************
To run the onscreen keyboard in Plasma Mobile, you'll first need to install qtvirtualkeyboard-plugin. This application `is in Debian <https://packages.debian.org/sid/qtvirtualkeyboard-plugin>`_ but not available for armhf so get the package soure from Debian, build and install it::
purism@pureos:~$ wget http://http.debian.net/debian/pool/main/q/qtvirtualkeyboard-opensource-src/qtvirtualkeyboard-opensource-src_5.9.2+dfsg.orig.tar.xz
purism@pureos:~$ wget http://http.debian.net/debian/pool/main/q/qtvirtualkeyboard-opensource-src/qtvirtualkeyboard-opensource-src_5.9.2+dfsg-1.debian.tar.xz
purism@pureos:~$ tar xf qtvirtualkeyboard-opensource-src_5.9.2+dfsg.orig.tar.xz
purism@pureos:~$ tar xf qtvirtualkeyboard-opensource-src_5.9.2+dfsg-1.debian.tar.xz'
purism@pureos:~$ cd qtvirtualkeyboard-opensource-src-5.9.2 && sudo mv ../debian .
purism@pureos:~/qtvirtualkeyboard-opensource-src-5.9.2$ dpkg-buildpackage -sa -us -uc
This will build qtvirtualkeyboard-plugin and it's dependent qml-module-qtquick-virtualkeyboard and install them and start Plasma Mobile::
purism@pureos:~$ sudo dpkg -i qml-module-qtquick-virtualkeyboard_5.9.2+dfsg-1_armhf.deb qtvirtualkeyboard-plugin_5.9.2+dfsg-1_armhf.deb
Once you have a Plasma Mobile desktop, check the keyboard status and enable it::
purism@pureos:~$ qdbus org.kde.KWin /VirtualKeyboard org.kde.kwin.VirtualKeyboard.isEnabled
false
purism@pureos:~$ qdbus org.kde.KWin /VirtualKeyboard org.kde.kwin.VirtualKeyboard.isenable
purism@pureos:~$ qdbus org.kde.KWin /VirtualKeyboard org.kde.kwin.VirtualKeyboard.isEnabled
true
Now, your onscreen keyboard should work. To test this, open kwrite and click in the text field. You should see that the keyboard is initialized and functioning!
.. image:: images/osk.jpg
:width: 400px
:height: 550px
:align: center
Note that before you launch kwin_wayland, you will get a nicer keyboard if you first set QT_VIRTUALKEYBOARD_STYLE::
purism@pureos:~$ export QT_VIRTUALKEYBOARD_STYLE=Plasma
purism@pureos:~$ kwin_wayland --drm plasma-phone
.. image:: images/plasma_osk.jpg
:width: 400px
:height: 550px
:align: center
......@@ -10,3 +10,4 @@ generally available or are considered to be obsolete for current development.
First-Steps
imx6
PlasmaMobile
.. _plamo:
Plasma Mobile
=============
Plasma Mobile on armhf
======================
An alternative phone shell for the Librem 5 is provided by Plasma Mobile.
For this exercise, the i.MX6 dev board is used, starting from imx6.img built from the `d0349a9 <https://source.puri.sm/Librem5/image-builder/commit/d0349a93ea43c5497efae69e611aa0d9f4fd8b9d>`_ commit (image-builder repo). All packages were built on this board to get .debs for the native armhf architecture.
**********************************
Setting up Development Environment
**********************************
On the i.MX6 system, install some initial plasma mobile build dependencies::
purism@pureos:~$ sudo apt-get install plasma-workspace-wayland git dpkg-dev cmake debhelper extra-cmake-modules kwayland-dev libkf5declarative-dev libkf5notifications-dev libkf5people-dev libkf5service-dev libsystemd-dev libtelepathy-qt5-dev pkg-kde-tools plasma-framework-dev qt5-default qtdeclarative5-dev fakeroot
Additionally you will need to install plasma-phone-components and plasma-settings and some of their dependencies that are not available in Debian testing repos. I have built these and `here is a tarball <https://developer.puri.sm/plamo-dependencies.tar.gz>`_ containing these armhf built packages. However if you would like to build them yourself, here are some steps to do that.
***********************
plasma-phone-components
***********************
Get the plasma-phone-components repos::
purism@pureos:~$ git clone https://github.com/KDE/plasma-phone-components.git
purism@pureos:~$ git clone https://github.com/debian-pm/plasma-phone-components-packaging.git
Build plasma-phone-components::
purism@pureos:~$ cd plasma-phone-components
purism@pureos:~/plasma-phone-components$ tar czvf plasma-phone-components_0.7+git20180223.orig.tar.gz .*
purism@pureos:~/plasma-phone-components$ mv plasma-phone-components_0.7+git20180223.orig.tar.gz ..
purism@pureos:~/plasma-phone-components$ cp -r ../plasma-phone-components-packaging/debian .
purism@pureos:~/plasma-phone-components$ dpkg-buildpackage -sa -us -uc
The build results in ~/plasma-phone-components_0.7+git20180223-1_armhf.deb but before we can install it, we need to build and install a few dependencies::
purism@pureos:~$ sudo apt-get install powerdevil qml-module-org-kde-kio qml-module-qtquick-localstorage fonts-oxygen kde-telepathy-kpeople libkf5contacts-dev
**kpeople-vcard**
This is the only dependency for plasma-phone-components that we cannot just install from apt.
Get the kpeople-vcard repos::
purism@pureos:~$ git clone https://cgit.kde.org/kpeoplevcard.git
purism@pureos:~/tmp$ git clone https://github.com/plasma-phone-packaging/kpeoplevcard.git
Note that the second link is the needed Debian dir and a small change is needed::
diff --git a/debian/changelog b/debian/changelog
index c2c864f..b2875ee 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-kpeoplevcard (0.0+git20150716) vivid; urgency=medium
+kpeoplevcard (0.0+git20150716-1) vivid; urgency=medium
Make the tarball and then just as with the plasma-phone-components, put the debian dir in the kpeoplevcard dir and build::
purism@pureos:~/kpeoplevcard$ tar czvf kpeoplevcard_0.0+git20150716.orig.tar.gz .*
purism@pureos:~/kpeoplevcard$ mv kpeoplevcard_0.0+git20150716.orig.tar.gz ..
purism@pureos:~/kpeoplevcard$ cp -r ~/tmp/kpeoplevcard/debian .
purism@pureos:~/kpeoplevcard$ dpkg-buildpackage -sa -us -uc
The build results in ~/kpeople-vcard_0.0+git20150716-1_armhf.deb
Install both kpeople-vcard and plasma-phone-components::
purism@pureos:~$ sudo dpkg -i kpeople-vcard_0.0+git20150716-1_armhf.deb
purism@pureos:~$ sudo dpkg -i plasma-phone-components_0.7+git20180223-1_armhf.deb
***************
plasma-settings
***************
Get the plasma-settings repos::
purism@pureos:~$ git clone https://anongit.kde.org/plasma-settings.git
purism@pureos:~$ git clone https://github.com/debian-pm/plasma-settings-packaging.git
Make the tarball and put the debian dir in the plasma-settings dir::
purism@pureos:~$ cd plasma-settings
purism@pureos:~/plasma-settings$ tar czvf plasma-settings_0.0.1+git20180223.orig.tar.gz .*
purism@pureos:~/plasma-settings$ mv plasma-settings_0.0.1+git20180223.orig.tar.gz ..
purism@pureos:~/plasma-settings$ cp -r ~/plasma-settings-packaging/debian .
Install needed dependencies::
purism@pureos:~/plasma-settings$ sudo apt-get install libaccounts-glib-dev libaccounts-qt5-dev libgettextpo-dev libkaccounts-dev libkf5archive-dev libkpimgapi-dev libsignon-qt5-dev qtbase5-private-dev kaccounts-providers qml-module-org-kde-kaccounts qml-module-org-kde-activities
But to successfully build plasma-settings, this dependency had to be removed from the control file.
Build plasma-settings::
purism@pureos:~/plasma-settings$ dpkg-buildpackage -sa -us -uc
The build results in ~/plasma-settings_0.0.1+git20180223-1_armhf.deb that can be installed::
purism@pureos:~$ sudo dpkg -i plasma-settings_0.0.1+git20180223-1_armhf.deb
*********************
Running Plasma Mobile
*********************
First, stop weston and open up another tty on the board::
purism@pureos:~$ sudo systemctl stop weston
Now there are two ways to run Plasma Phone shell, using QPainter backend or OpenGL based platform. However since kwin_wayland have `zwp_linux_dmabuf support <https://phabricator.kde.org/T8067>`_ work in progress (under review), you can not use wayland clients and it produces the dead pixels instead of Plasma interface. To workaround this issue, edit `/usr/bin/plasma-phone` script to remove `export QT_QPA_PLATFORM=wayland`.
Run kwin_wayland from another tty::
purism@pureos:~$ /usr/bin/kwin_wayland --xwayland --drm plasma-phone
Note that to capture the plasma-phone boot logs, you can always add "2> kwin.log" to the end of the kwin_wayland command. Additional plasma logs can be found in /tmp/plasmashell_logs.
At this point plasma mobile should be running on your i.MX6 board!
Note that there is a `known issue <https://bugs.kde.org/show_bug.cgi?id=391412>`_ where the mouse functions but is invisible.
.. image:: images/plamo.jpg
:width: 400px
:height: 550px
:align: center
*****************
Onscreen Keyboard
*****************
To run the onscreen keyboard in Plasma Mobile, you'll first need to install qtvirtualkeyboard-plugin. This application `is in Debian <https://packages.debian.org/sid/qtvirtualkeyboard-plugin>`_ but not available for armhf so get the package soure from Debian, build and install it::
purism@pureos:~$ wget http://http.debian.net/debian/pool/main/q/qtvirtualkeyboard-opensource-src/qtvirtualkeyboard-opensource-src_5.9.2+dfsg.orig.tar.xz
purism@pureos:~$ wget http://http.debian.net/debian/pool/main/q/qtvirtualkeyboard-opensource-src/qtvirtualkeyboard-opensource-src_5.9.2+dfsg-1.debian.tar.xz
purism@pureos:~$ tar xf qtvirtualkeyboard-opensource-src_5.9.2+dfsg.orig.tar.xz
purism@pureos:~$ tar xf qtvirtualkeyboard-opensource-src_5.9.2+dfsg-1.debian.tar.xz'
purism@pureos:~$ cd qtvirtualkeyboard-opensource-src-5.9.2 && sudo mv ../debian .
purism@pureos:~/qtvirtualkeyboard-opensource-src-5.9.2$ dpkg-buildpackage -sa -us -uc
This will build qtvirtualkeyboard-plugin and it's dependent qml-module-qtquick-virtualkeyboard and install them and start Plasma Mobile::
purism@pureos:~$ sudo dpkg -i qml-module-qtquick-virtualkeyboard_5.9.2+dfsg-1_armhf.deb qtvirtualkeyboard-plugin_5.9.2+dfsg-1_armhf.deb
Once you have a Plasma Mobile desktop, check the keyboard status and enable it::
purism@pureos:~$ qdbus org.kde.KWin /VirtualKeyboard org.kde.kwin.VirtualKeyboard.isEnabled
false
purism@pureos:~$ qdbus org.kde.KWin /VirtualKeyboard org.kde.kwin.VirtualKeyboard.isenable
purism@pureos:~$ qdbus org.kde.KWin /VirtualKeyboard org.kde.kwin.VirtualKeyboard.isEnabled
true
Now, your onscreen keyboard should work. To test this, open kwrite and click in the text field. You should see that the keyboard is initialized and functioning!
.. image:: images/osk.jpg
:width: 400px
:height: 550px
:align: center
Note that before you launch kwin_wayland, you will get a nicer keyboard if you first set QT_VIRTUALKEYBOARD_STYLE::
purism@pureos:~$ export QT_VIRTUALKEYBOARD_STYLE=Plasma
purism@pureos:~$ kwin_wayland --drm plasma-phone
.. image:: images/plasma_osk.jpg
:width: 400px
:height: 550px
:align: center
Information about installation and configuration of this environment can be found in the :ref:`devkit_howto_install_plasma_mobile` section of the :ref:`boards` documentation.
Legacy information about installation of Plasma Mobile on an earlier i.MX6 development board can be found in the :ref:`imx6_plamo` guide.
......@@ -111,6 +111,7 @@
.. _`Ninja`: https://ninja-build.org/
.. _`Plasma Mobile`: https://www.plasma-mobile.org
.. _`Plasma Mobile application development`: https://docs.plasma-mobile.org/AppDevelopment.html
.. _`Issues for Plasma Mobile on Librem 5`: https://source.puri.sm/groups/Librem5/Plasma/-/issues
.. _`PureOS`: https://pureos.net
.. _`PyGObject`: https://pygobject.readthedocs.io/
.. _`PyGObject API Reference`: https://lazka.github.io/pgi-docs/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment