Raspberry Pi: Difference between revisions

From KDE Community Wiki
(made page about plasma mobile on raspberry pi)
 
m (Added Angelfish and Firefox ESR info)
Line 43: Line 43:
</nowiki>}}
</nowiki>}}
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.





Revision as of 20:16, 29 September 2018

 
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.


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 the Plasma Mobile repository by adding

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

.

  • 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

  • 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.