4 hours ago
So first of all, stellar job on the PineTab-V. For an experimental device targeting developers, it hasn't been much of a hassle setting it up as a regular machine in my fleet. My PBP was recently stolen which is a major bummer, as the hardware was kinda crumbling but the compute was running solid and I had even gotten it working with the PBP dock.
Anywho, wanted to make a topic concerning the PineTab-V as I've been tinkering pretty heavily with bootstrapping a ground-up GNU/Linux system on it using as much upstream as possible, relying only on the kernel and Imagination GPU firmware additions here: https://github.com/starfive-tech/pinetab-v
First off, a word of warning to anyone playing with the GPU. It appears that the current upstream Mesa3D expects to be hitting the GPU specifically with firmware 1.17. I've found that I get some oddball error when I attempt to use firmware 1.17, but firmware 1.19 results in a proper bootstrap of the pvr driver. Unfortunately this then clashes with the expected version in Mesa and it still doesn't allow full utilization of the GPU. I've tried fudging the expected value in Mesa to 1.19, but that then simply fails with some buffer problem, presumably an interface change in the firmware. In any case, just detailing this for folks interested in the 3D acceleration situation. If anyone has gotten this working with firmware 1.17, I'd certainly appreciate some assistance, otherwise, probably just means waiting until Mesa rebases support on 1.19.
Another bit is the display brightness. Various sources point to a PWM-based brightness control, and indeed installing the generic PWM brightness driver in the kernel results in /sys/class/backlight/backlight being populated with various files. However, writing various values to /sys/class/backlight/backlight/brightness does update the reported actual brightness, but the display itself seems unchanged. I haven't dug further into this, but I am currently getting a failed firmware load on the Goodix firmware, not sure if the touchscreen controller has anything to do with brightness but I intend to address missing firmware BLOBs in the coming days.
For the record the firmware BLOBs that don't appear to be upstream include: rgx.fw.36.50.54.182, rgx.sh.36.50.54.182, goodix_991_cfg.bin, regulatory.db, and wave511_dec_fw.bin.
In addition to all of this with the vendor 6.6.20 kernel, I also tried my hand at minimally moving to a 7.2.x upstream kernel. Starting with the same .config, give or take a make menuconfig to refresh a few things, the kernel built just fine. Installed it, updated extlinux, and just got stuck on the bootloader splash. I tried again copying over the relevant dts and build instructions, built the pinetab-v dts, and it managed to get past the splash, but still a black screen with nothing else going on. I haven't really dug into the other 2000+ differences between stock 6.6.20 and the PineTab-V kernel, but I intend to dig around in there just to see if anything obvious sticks out in the display stack.
Anywho, thought I'd share a few of these experiences in case anyone else is seriously invested in the PineTab-V and wants to tinker with a few things. I'll also be sharing here anything else I stumble across while tuning this up. One bit of praise I can lump on is that, like the PBP, I appreciate how easy it is to just flash a new SD card and bootstrap a new system or repair the existing one in-situ with some chroot shenanigans. I've been waiting for that in the cheaper RISC-V sphere for a while. When I first loaded a bungled kernel while tinkering, I hadn't yet verified I know how to boot a repair system...so got kinda nervous that I had bricked it. Nope, nice and simple, grabbed an SD card image, laid a Gentoo stage3 down over it, and frankly I could just run from this card but it has saved me on numerous occasions while hacking the factory system to pieces.
I even accidentally "rm *" in /usr/lib...you can imagine how that went, but luckily Gentoo'd it back into existence.
So yeah, great piece of hardware, for the weird esoteric stuff I do it honestly could be a daily driver. I'm going to be working towards that end on these and other issues. Glad to have gotten it and I look forward to future members of Pine's RISC-V hardware line.
Anywho, wanted to make a topic concerning the PineTab-V as I've been tinkering pretty heavily with bootstrapping a ground-up GNU/Linux system on it using as much upstream as possible, relying only on the kernel and Imagination GPU firmware additions here: https://github.com/starfive-tech/pinetab-v
First off, a word of warning to anyone playing with the GPU. It appears that the current upstream Mesa3D expects to be hitting the GPU specifically with firmware 1.17. I've found that I get some oddball error when I attempt to use firmware 1.17, but firmware 1.19 results in a proper bootstrap of the pvr driver. Unfortunately this then clashes with the expected version in Mesa and it still doesn't allow full utilization of the GPU. I've tried fudging the expected value in Mesa to 1.19, but that then simply fails with some buffer problem, presumably an interface change in the firmware. In any case, just detailing this for folks interested in the 3D acceleration situation. If anyone has gotten this working with firmware 1.17, I'd certainly appreciate some assistance, otherwise, probably just means waiting until Mesa rebases support on 1.19.
Another bit is the display brightness. Various sources point to a PWM-based brightness control, and indeed installing the generic PWM brightness driver in the kernel results in /sys/class/backlight/backlight being populated with various files. However, writing various values to /sys/class/backlight/backlight/brightness does update the reported actual brightness, but the display itself seems unchanged. I haven't dug further into this, but I am currently getting a failed firmware load on the Goodix firmware, not sure if the touchscreen controller has anything to do with brightness but I intend to address missing firmware BLOBs in the coming days.
For the record the firmware BLOBs that don't appear to be upstream include: rgx.fw.36.50.54.182, rgx.sh.36.50.54.182, goodix_991_cfg.bin, regulatory.db, and wave511_dec_fw.bin.
In addition to all of this with the vendor 6.6.20 kernel, I also tried my hand at minimally moving to a 7.2.x upstream kernel. Starting with the same .config, give or take a make menuconfig to refresh a few things, the kernel built just fine. Installed it, updated extlinux, and just got stuck on the bootloader splash. I tried again copying over the relevant dts and build instructions, built the pinetab-v dts, and it managed to get past the splash, but still a black screen with nothing else going on. I haven't really dug into the other 2000+ differences between stock 6.6.20 and the PineTab-V kernel, but I intend to dig around in there just to see if anything obvious sticks out in the display stack.
Anywho, thought I'd share a few of these experiences in case anyone else is seriously invested in the PineTab-V and wants to tinker with a few things. I'll also be sharing here anything else I stumble across while tuning this up. One bit of praise I can lump on is that, like the PBP, I appreciate how easy it is to just flash a new SD card and bootstrap a new system or repair the existing one in-situ with some chroot shenanigans. I've been waiting for that in the cheaper RISC-V sphere for a while. When I first loaded a bungled kernel while tinkering, I hadn't yet verified I know how to boot a repair system...so got kinda nervous that I had bricked it. Nope, nice and simple, grabbed an SD card image, laid a Gentoo stage3 down over it, and frankly I could just run from this card but it has saved me on numerous occasions while hacking the factory system to pieces.
I even accidentally "rm *" in /usr/lib...you can imagine how that went, but luckily Gentoo'd it back into existence.
So yeah, great piece of hardware, for the weird esoteric stuff I do it honestly could be a daily driver. I'm going to be working towards that end on these and other issues. Glad to have gotten it and I look forward to future members of Pine's RISC-V hardware line.

