User:CrystalGamma/The State of (my) PBP

From PINE64
Jump to navigation Jump to search

This article is supposed to give an overview of my experience with the Pinebook Pro as of 2019-12-31. It is not supposed to be a comprehensive or neutral review of the machine, but merely an experience report. I will probably update this page when something major changes (if I remember).

What works

Booting with upstream U-Boot using the ROCKPro64 defconfig works. (Though I've worked around the default DTB name by arranging the DTB directory to give the PBP device tree as rockchip/rk3399-rockpro64.dtb) Booting with the mainline-based Manjaro kernel works.

The following works with the relevant firmware installed:

  • DisplayPort Alt-Mode (dptx.bin)
  • WiFi

The brightness (and, probably, suspend) keys need a small hwdb rule to work: [1]

What doesn't work

This list includes various stuff that I've haven't gotten to work yet, even if it is technically possible already.

Panfrost: accelerated graphics leads to crashes in plasmashell, and I didn't have time to go deeper with debugging it because I wanted to make the PBP my main computer by the end of the year and updating mesa in NixOS is a bitch. Plasma with software rendering (i. e. whatever setup you get with opengl.enable = false; in the NixOS configuration) still works more smoothly and with a hell of a lot more battery time than my ThinkPad X200, which my PBP replaces.

Suspend: suspend (to RAM) support isn't patched all the way through the Manjaro kernel and upstream ATF (and whatever other involved party) yet, so it will not be able to resume successfully.

WiFi doesn't work with my dorm network yet. My primary lead is to some coordination problem between userspace, kernel/driver and firmware as to which side should implement what part of 802.1X. As soon as I get my USB3A-to-Ethernet adapter, this will be less of a problem for me. Note that normal WPA2 Personal-authenticated networks like my mom's home WiFi do work.

USB-C connector reversing: both USB-C accessories I've tried have some functionality only working with the connector in a particular orientation. This is apparently because the SoC Type-C PHY needs to be instructed to swap signal, but this doesn't seem to work yet.

Keyboard/Touchpad: I was met with some initial problems with the keyboard not working when touching the touchpad. This was fixed in a KB/TP firmware update. Palm rejection could still be improved though.

Audio output: even with the UART/Headphone switch set appropriately, I get no sound on the Headphones, and the speakers are silent, too. For me this only matters when I'm on the go, since I have a USB audio device I usually use because I also use a capacitive microphone which needs 48V phantom power. This still needs to be fixed because I have no other device to play music for me during train rides (until I get a PinePhone at least).

Video en/decoding: the RK3399 provides a "Hantro" VPU used for en/decoding various video formats more efficiently and a raster-graphics accelerator (RGA) for blitting while potentially converting pixel formats. While the kernel exposes MPEG-2 and VP8 decoding as V4L2 memory-to-memory devices, stock ffmpeg and its libraries used in mpv, VLC and friends don't make use of that yet, making video playback rather CPU-costly.

Fast boot: my current system takes some 15–20s from pressing the power button to enabling the power LED (and a few more seconds to bring up the display). This is apparently because mainline U-Boot clocks the eMMC (and potentially the CPUs too) much lower than needed; I will probably side-step this entirely at some point by placing TPL and SPL in SPI flash, together with a FIT image of Linux with a (probably) Petitboot userspace, to implement a boot menu.

Logo + Arrow key combinations: I haven't gone deeper with this, but it seems the logo key cannot be used in combinations with the arrow keys (at least, without also pressing Fn, making it Logo + Home/End/PgUp/PgDn) which makes the default Plasma window tiling shortcuts not work.

Flaws of the PBP, Hopes and Dreams for the next generation of Pinebooks

The case integrity around the hinges seems marginal. While I've personally not experienced any fractures yet, I've seen pictures of it happening, and always having to re-screw the bottom plates before opening the lid (as written on the inside of the case) is a bit annoying. While I'm not expecting miracles for a product in the PBP price range, some confidence that my laptop will not fracture from opening and closing it would be great.

This ties into the next wish for the next generation of Pine64 laptops: a power button that can be used with the lid closed, e. g. on the side of the case. I will be using the PBP a lot as a computer driving an external 4K display while connected to various hardware on the desk, so being able to boot with the lid closed would be useful, and being able to boot the system while flipped over with the bottom case open for access to the insides would have been much appreciated especially in the early days of bringing up the system.

My next wish concerns the keyboard: while the (in my case, ISO) keyboard has a pretty good typing experience so far for how thin it has to be to fit in the case, I am constantly noticing it has a distinct lack of auxiliary keys: navigation keys like Home/End/PgDn/PgUp and the editing keys Insert/Delete are only accessible via Fn combinations, and there are no Next Track/Previous Track/Play/Pause/Stop multimedia keys at all. On my desktop keyboard I actually map the latter to the former in combinations with the (right) logo key, but this is super awkward (and certainly not usable with a single hand) with the built-in keyboard. My wish is for at least the Home/End/PgUp/PgDn/Ins/Del group to get dedicated keys in the next generation, be it using seven columns (ThinkPad-style) or as an additional column to the right of the main keyboard.