Raspberry Pi: Difference between revisions

From KDE Community Wiki
m (Added Angelfish and Firefox ESR info)
m (Fixed the keys.)
 
(4 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 47: Line 46:
*Firefox ESR cannot play youtube videos as it is unable to install openh264.
*Firefox ESR cannot play youtube videos as it is unable to install openh264.


==Tips==


'''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 {{Path|1=/home/$USER/.config/QtProject/qtlogging.ini}} and adding {{Output|1=<nowiki>[Rules]
*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.