Raspberry Pi: Difference between revisions

From KDE Community Wiki
(made page about plasma mobile on raspberry pi)
 
m (Fixed the keys.)
 
(5 intermediate revisions by 2 users not shown)
Line 3: Line 3:
This page contains information on problems I had and have with setting up Plasma Mobile on my Raspberry Pi3b+, solutions to them and steps to get it running yourself.
This page contains information on problems I had and have with setting up Plasma Mobile on my Raspberry Pi3b+, solutions to them and steps to get it running yourself.


[[File:Photo5289869163172571561.jpg]]
''Picture of my RasPad with Raspberry Pi 3b+ inside running Plasma Mobile''


'''Install instructions'''
==Install instructions==


*Install Raspbian on the Raspberry Pi
*Install Raspbian on the Raspberry Pi
Line 10: Line 12:
*Activate your GL driver in {{Input|1=<nowiki>sudo raspi-config</nowiki>}} or by adding {{Input|1=<nowiki>dtoverlay=vc4-kms-v3d</nowiki>}} to {{Path|1=/boot/config.txt}}
*Activate your GL driver in {{Input|1=<nowiki>sudo raspi-config</nowiki>}} or by adding {{Input|1=<nowiki>dtoverlay=vc4-kms-v3d</nowiki>}} to {{Path|1=/boot/config.txt}}
*Open {{Path|1=/etc/apt/sources.list}} and change {{Input|1=<nowiki>deb http://raspbian.raspberrypi.org/raspbian/ stetch main contrib non-free rpi</nowiki>}} to {{Input|1=<nowiki>deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi</nowiki>}};
*Open {{Path|1=/etc/apt/sources.list}} and change {{Input|1=<nowiki>deb http://raspbian.raspberrypi.org/raspbian/ stetch main contrib non-free rpi</nowiki>}} to {{Input|1=<nowiki>deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi</nowiki>}};
Add the official Debian repository by adding {{Input|1=<nowiki>deb http://ftp.debian.org/debian/ buster main contrib non-free</nowiki>}};
Add the official Debian repository by adding {{Input|1=<nowiki>deb http://ftp.debian.org/debian/ buster main contrib non-free</nowiki>}} and getting its key {{Input|1=<nowiki>sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010</nowiki>}} and {{Input|1=<nowiki>sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC</nowiki>}}
And the Plasma Mobile repository by adding {{Input|1=<nowiki>deb https://debian-pm-tools.github.io/apt-repo buster main</nowiki>}}.
And the Plasma Mobile repository by adding {{Input|1=<nowiki>deb https://debian-pm-tools.github.io/apt-repo buster main</nowiki>}} and getting its key {{Input|1=<nowiki>sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A81E075ABEC80A7E</nowiki>}}
*Now upgrade your system by running {{Input|1=<nowiki>sudo apt-get update</nowiki>}} and {{Input|1=<nowiki>sudo apt-get upgrade</nowiki>}}.
*Now upgrade your system by running {{Input|1=<nowiki>sudo apt-get update</nowiki>}} and {{Input|1=<nowiki>sudo apt-get upgrade</nowiki>}}.
*To an important step: You can now either change your user to "phablet" or set up ssh by adding an empty {{Path|1=ssh.txt}} to {{Path|1=/boot/}}.
*To an important step: You can now either change your user to "phablet" or set up ssh by adding an empty {{Path|1=ssh.txt}} to {{Path|1=/boot/}}.
Line 18: Line 20:
*If you didn't change your user to "phablet" your screen will be frozen now. You can fix that by changing {{Path|1=/lib/systemd/system/simplelogin.service}}; just change "phablet" to the user you want to run Plasma Mobile as; After a reboot your system should boot into Plasma Mobile.
*If you didn't change your user to "phablet" your screen will be frozen now. You can fix that by changing {{Path|1=/lib/systemd/system/simplelogin.service}}; just change "phablet" to the user you want to run Plasma Mobile as; After a reboot your system should boot into Plasma Mobile.


 
==Problems with solutions==
'''Problems with solutions'''


*Plasma Mobile does not launch without adding {{Input|1=<nowiki>dtoverlay=vc4-kms-v3d</nowiki>}} to {{Path|1=/boot/config.txt}} to activate the accelerated graphics driver.
*Plasma Mobile does not launch without adding {{Input|1=<nowiki>dtoverlay=vc4-kms-v3d</nowiki>}} to {{Path|1=/boot/config.txt}} to activate the accelerated graphics driver.
Line 25: Line 26:
*Simplelogin is installed with user "phablet" as running argument, is immediately run after installation and freezes the screen when run without a proper user; To counter this you can either create user "phablet" before installing or change the {{Path|1=/lib/systemd/system/simplelogin.service}} to account for your current user.
*Simplelogin is installed with user "phablet" as running argument, is immediately run after installation and freezes the screen when run without a proper user; To counter this you can either create user "phablet" before installing or change the {{Path|1=/lib/systemd/system/simplelogin.service}} to account for your current user.


 
==Problems==
'''Problems'''
 


*Sometimes the screen freezes. Crop from syslog:
*Sometimes the screen freezes. Crop from syslog:
Line 44: Line 43:
This happens regardless of how much memory your give the GPU and if you enable CMA.
This happens regardless of how much memory your give the GPU and if you enable CMA.


*Angelfish never finishes loading webpages.
*Firefox ESR cannot play youtube videos as it is unable to install openh264.


'''Tips'''
==Tips==


*You can add more verbosity to your Plasma Mobile logging by creating {{Path|1=/home/USER/. config/QtProject/qtlogging.ini}} and adding {{Output|1=<nowiki>[Rules]
*As Plasma Mobile is running on an SD-Card; The speed of the SD-Card is pretty important for its performance. I used a Class 10 card which to me seems to be pretty much the minimum of what you would want to use.
*You can add more verbosity to your Plasma Mobile logging by creating {{Path|1=/home/$USER/.config/QtProject/qtlogging.ini}} and adding {{Output|1=<nowiki>[Rules]
org.kde.kwindowsystem.info=true
org.kde.kwindowsystem.info=true
org.kde.kwindowsystem.warning=true
org.kde.kwindowsystem.warning=true

Latest revision as of 10:24, 28 June 2019

 
Under Construction
This is a new page, currently under construction!


This page contains information on problems I had and have with setting up Plasma Mobile on my Raspberry Pi3b+, solutions to them and steps to get it running yourself.

Picture of my RasPad with Raspberry Pi 3b+ inside running Plasma Mobile

Install instructions

  • Install Raspbian on the Raspberry Pi
  • Update your firmware with
    sudo rpi-update
  • Activate your GL driver in
    sudo raspi-config
    or by adding
    dtoverlay=vc4-kms-v3d
    to /boot/config.txt
  • Open /etc/apt/sources.list and change
    deb http://raspbian.raspberrypi.org/raspbian/ stetch main contrib non-free rpi
    to
    deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
    ;

Add the official Debian repository by adding

deb http://ftp.debian.org/debian/ buster main contrib non-free

and getting its key

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7638D0442B90D010

and

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC

And the Plasma Mobile repository by adding

deb https://debian-pm-tools.github.io/apt-repo buster main

and getting its key

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A81E075ABEC80A7E
  • Now upgrade your system by running
    sudo apt-get update
    and
    sudo apt-get upgrade
    .
  • To an important step: You can now either change your user to "phablet" or set up ssh by adding an empty ssh.txt to /boot/.
  • Install plasma-phone-components, plasma-phone-settings, plasma-settings, kwin-wayland, simplelogin and dbus-x11 by running
    sudo apt-get install plasma-phone-components plasma-phone-settings plasma-settings kwin-wayland simplelogin dbus-x11

Also install qtvirtualkeyboard if you want an on-screen keyboard.

  • If you didn't change your user to "phablet" your screen will be frozen now. You can fix that by changing /lib/systemd/system/simplelogin.service; just change "phablet" to the user you want to run Plasma Mobile as; After a reboot your system should boot into Plasma Mobile.

Problems with solutions

  • Plasma Mobile does not launch without adding
    dtoverlay=vc4-kms-v3d
    to /boot/config.txt to activate the accelerated graphics driver.
  • The Raspbian repo was unreachable over Wifi so I needed to use Ethernet.
  • Simplelogin is installed with user "phablet" as running argument, is immediately run after installation and freezes the screen when run without a proper user; To counter this you can either create user "phablet" before installing or change the /lib/systemd/system/simplelogin.service to account for your current user.

Problems

  • Sometimes the screen freezes. Crop from syslog:
kernel: [ 4903.278101] vc4-drm soc:gpu: failed to allocate buffer with size 16777216
kernel: [ 4903.278609] vc4-drm soc:gpu: failed to allocate buffer with size 16777216
kernel: [ 4903.279615] vc4-drm soc:gpu: failed to allocate buffer with size 16777216
kernel: [ 4903.279670] [drm:vc4_bo_create [vc4]] *ERROR* Failed to allocate from CMA:
kernel: [ 4903.279675] [drm]                         kernel:   4000kb BOs (1)
kernel: [ 4903.279679] [drm]                            V3D: 225972kb BOs (472)
kernel: [ 4903.279682] [drm]                     V3D shader:    864kb BOs (216)
kernel: [ 4903.279686] [drm]                           dumb:     32kb BOs (2)
kernel: [ 4903.279691] [drm]                total purged BO:  18148kb BOs (167)
kernel: [ 4903.279699] vc4_v3d 3fc00000.v3d: Failed to allocate memory for tile binning: -12. You may need to enable CMA or give it more memory.

This happens regardless of how much memory your give the GPU and if you enable CMA.

  • Angelfish never finishes loading webpages.
  • Firefox ESR cannot play youtube videos as it is unable to install openh264.

Tips

  • As Plasma Mobile is running on an SD-Card; The speed of the SD-Card is pretty important for its performance. I used a Class 10 card which to me seems to be pretty much the minimum of what you would want to use.
  • You can add more verbosity to your Plasma Mobile logging by creating /home/$USER/.config/QtProject/qtlogging.ini and adding
    [Rules]
    org.kde.kwindowsystem.info=true
    org.kde.kwindowsystem.warning=true
    org.kde.kwindowsystem.critical=true
    org.kde.kwindowsystem.debug=true
    kwin_core.info=true
    kwin_core.warning=true
    kwin_core.critical=true
    kwin_core.debug=true
    kwineffects.info=true
    kwineffects.warning=true
    kwineffects.critical=true
    kwineffects.debug=true
    libkwineffects.info=true
    libkwineffects.warning=true
    libkwineffects.critical=true
    libkwineffects.debug=true
    libkwinglutils.info=true
    libkwinglutils.warning=true
    libkwinglutils.critical=true
    libkwinglutils.debug=true
    libkwinxrenderutils.info=true
    libkwinxrenderutils.warning=true
    libkwinxrenderutils.critical=true
    libkwinxrenderutils.debug=true
    kwin_wayland_drm.info=true
    kwin_wayland_drm.warning=true
    kwin_wayland_drm.critical=true
    kwin_wayland_drm.debug=true
    kwin_wayland_framebuffer.info=true
    kwin_wayland_framebuffer.warning=true
    kwin_wayland_framebuffer.critical=true
    kwin_wayland_framebuffer.debug=true
    kwin_wayland_hwcomposer.debug=true
    kwin_wayland_backend.info=true
    kwin_wayland_backend.warning=true
    kwin_wayland_backend.critical=true
    kwin_wayland_backend.debug=true
    kwin_wayland_x11windowed.info=true
    kwin_wayland_x11windowed.warning=true
    kwin_wayland_x11windowed.critical=true
    kwin_wayland_x11windowed.debug=true
    kwin_platform_x11_standalone.info=true
    kwin_platform_x11_standalone.warning=true
    kwin_platform_x11_standalone.critical=true
    kwin_platform_x11_standalone.debug=true
    kwin_libinput.info=true
    kwin_libinput.warning=true
    kwin_libinput.critical=true
    kwin_libinput.debug=true
    kwin_tabbox.info=true
    kwin_tabbox.warning=true
    kwin_tabbox.critical=true
    kwin_tabbox.debug=true
    kwin_decorations.info=true
    kwin_decorations.warning=true
    kwin_decorations.critical=true
    kwin_decorations.debug=true
    kwin_scripting.info=true
    kwin_scripting.warning=true
    kwin_scripting.critical=true
    kwin_scripting.debug=true
    kwin_xkbcommon.info=true
    kwin_xkbcommon.warning=true
    kwin_xkbcommon.critical=true
    kwin_xkbcommon.debug=true
    kwin_qpa_plugin.info=true
    kwin_qpa_plugin.warning=true
    kwin_qpa_plugin.critical=true
    kwin_qpa_plugin.debug=true
    

to it.