Skip to content
Rohan Garg edited this page Apr 22, 2018 · 9 revisions

New DRM and Wayland drivers

Around Christmas two packages were added to the Pine64 Wiki Mali Driver page.

The first one mali400-r6p2-01rel0-km-003.tar.7z:

the second one mali400-r6p2-01rel0-um009-wayland.tar.bz2:

  • contains libEGL, libGLES, libgbm, libwayland-egl and libMali blobs,

But currently it does not work when directly replacing the current blobs in /usr/lib/aarch64-linux-gnu/mali-egl and the compiled kernel module in /lib/modules/3.10.105-bsp-1.2/kernel/extramodules: in SDDM the mouse cursor is visible, but everything else stays black. Yet switching to another VT works and shows that the correct kernel module is loaded.

Building ISOs

There are 3 custom parts:

Resources:

Boot charts:

Bootcharts require a custom kernel. Ping dave if you want it.

App timing: https://github.com/davidedmundson/tinytimer

This app times from a process launch to a window appearing.

Literature:

To get an overview of kernel development in relation to modules and drivers:

There is also Sreekrishnan Venkateswaran - Essential Linux Device Drivers, which seems to be quite comprehensive and Greg Kroah-Hartman - Linux Kernel in a Nutshell, which I can not recommend.

Flashing to eMMC

  • Flash image to microsd card as usual
  • Once booted into the live system, flash microsd card to emmc with :
sudo dd if=/dev/mmcblk0 of=/dev/mmcblk1 bs=4M status=progress
  • Power off machine
  • Remove microsd card
  • Power on machine
  • Run installer as usual

Pine64

A Pinebook image is usable on a Pine64+ (2GB) board as well. This is a possibly-easier-to-get hardware platform for testing the images. The entire Linux stack is the same, but U-Boot must be replaced.

  • dd the pinebook image onto SD card
  • get pine64 uboot (1015kb)
  • dd if=uboot-pine64.img of=<device> bs=1k conv=notrunc,sync seek=8

This writes blocks 8..1023 (which covers the SPL and U-Boot) with a blocks obtained from an openSUSE image, tested with the Neon pinebook images from December and January.

Debugging

On ARM install libc6-dbg for better backtraces.

Wayland

Configuration files:

.config/kwinrc

[Compositing]
GLPreferBufferSwap=p

.config/kdeglobals

[QtQuickRendererSettings]
ForceGlCoreProfile=true