What should we work on next?

Currently I only have A06 (bought R01 a while ago but status unknown edit: it shows up today. Magic!) so I speak from one perspective. If I must pick only one thing I’ll vote for Operating System. I don’t mean new OSes like BSDs, HaikuOS or something, but the Linux kernel and stuff around it. This will ensure the best experience for newly landed DevTermers.

Driver issues. This is the intrinsic challenge for arm64 and riscv alike, for they don’t have standard platform infrastructures like UEFI or ACPI.

Most of my own dev/research efforts went into this part:

  • (All variants) Partly resolved the screen 5px cutoff, but don’t know how to proceed without knowing the exact model/datasheet of the panel: A04 screen display vertical offset - #27 by yatli
  • (A06) I have documented along for trying to get suspend to work: Getting suspend to work properly on A06 - #21 by yatli
  • (R01) I’ve played with it for a few hours to get to know the landscape. Less “moving parts” than A06 since there’s no “trusted firmware for ARM” getting in the way. Suspend doesn’t work either, “wakeup cause unknown” but D1 standby should be supported by the driver already. G2D driver is also there. I’m looking forward to HiFi4 DSP driver.

… , but I don’t think it’s enough. Especially not enough information to work with. I’ve familiarized myself with rk3399 technical reference manual, felt almost ready to become a kernel dev on that, but still not enough. Something is missing. Maybe some support from Rockchip directly?

Ecosystem. The supporting libraries in the operating system, that makes a difference between “it works” and “it’s fantastic”

  • (A06) As of now, ffmpeg still runs in SW mode for our distros. In the 4.x era Rockchip had their own interfaces only supported by experimental/personal ffmpeg branches. Things are changing. Someone before us absorbed all the frustration, endured through it and documented the process: The state of mainline hardware decoding
  • (A06) hardware accelerated codec is also a prerequisite for power efficient camera interfacing. MIPI/USB alike, I guess.
  • (A06) I kept following mesamatrix: https://mesamatrix.net/ It seems that full OpenGL ES 3.1 is coming to panfrost.
  • (R01) Team Clockwork, any interest in porting the fbturbo driver? This will give us some 2D acceleration with G2D mixer. I looked into the source a little bit and it seems the ingredient is already there. I tried to remove the neon assembly code for ARM, LibUMP for MaliGPU, and the BackingStoreTuner, and it compiles on R01. I managed to successfully load the fbturbo driver in X11 – non rotated works, rotated black screen, but it does look like a low-hanging fruit that will give us proper performance in rotated screen.
    • (FYI R01 users, currently X11 performance is much better in non-rotated config even without further blit/compose/backing store optimizations!)
4 Likes