ROCK 5B Debug Party Invitation

Look this:
I over-volatge to 1.025V.
count=516515 us50=11293 us250=56472 diff=45179 cpu_MHz=2286.527
count=516515 us50=11293 us250=56479 diff=45186 cpu_MHz=2286.173

While stress…
vdd_cpu_big0_s0 1 3 0 normal 1025mV 0mA 550mV 1050mV
vdd_cpu_big0_s0 0 0mA 0mV 0mV
vdd_cpu_big1_s0 1 3 0 normal 1000mV 0mA 550mV 1050mV
vdd_cpu_big1_s0 0 0mA 0mV 0mV

If you want to see the current microvolt of the big cores, use this command:
cat /sys/class/i2c-dev/i2c-0/device/0-004*/regulator/*/microvolts.
To see the max mcrovolt:
cat /sys/class/i2c-dev/i2c-0/device/0-004*/regulator/*/max_microvolts.
2286MHz is higher than 2245MHz so your microvolt 1.025V should work.

If people want to OC then let them OC but the original cool running of the Rock5b has been killed with the OC over the default Rockchip set.
With the perf the rk3588 has I couldn’t care less if its not on the button 2.4Ghz and changing the default than saying its up to 2.4 Ghz and maybe refers to a single cluster and just accepting what Rockchip think is a default value and maybe giving the option of OC overlays is a bit nuts.
That lovely cool running SBC now has passives not able to cope and fans whining noisily even if all core 100% stress tests are synthetic, but currently temps are extremely high without the GPU or NPU running… Whats temps you will get with GPU & NPU running … ?

The OC guys should move to an OC thread and continue to see what they can get but likely I will not bother with an OC.

Thanks,It’s a easier way.
root@Fly:/home/firefly# cat /sys/kernel/debug/regulator/regulator_summary | grep big
vdd_cpu_big0_s0 1 3 0 normal 675mV 0mA 550mV 1050mV
vdd_cpu_big0_s0 0 0mA 0mV 0mV
vdd_cpu_big1_s0 1 3 0 normal 737mV 0mA 550mV 1050mV
vdd_cpu_big1_s0 0 0mA 0mV 0mV
root@Fly:/home/firefly# cat /sys/class/i2c-dev/i2c-0/device/0-004*/regulator/*/microvolts
675000
737500
root@Fly:/home/firefly#

You are right!
So I content at 2340Mhz.All in all,It’s a rk3588s,a Cost-effectiveness SoC.
By the way,Without over voltage,power consumption increase very very low(about 0.05w).
In chinese,There is a saying:
å°č¶…ę€”ęƒ…ļ¼Œå¤§č¶…ä¼¤čŗ«ļ¼Œå¼ŗč¶…é£žē°ēƒŸē­:smile:

@solaris3308 by all means continue testing and hacking and finding out absolute max perf as its great info and maybe overlay(s) can be made.
I would really like the lovely cool running and headspace of package temps to return in the default image.
Its funny really as got my 2nd Rock5b and been thinking there is something a bit c-rap about that Blue heatsink I got with the order whilst its the changes Radxa have made to Rockchip default :slight_smile:

I would rather have the Rockchip BSP default and if 2.4Ghz or max on a single cluster, or via OC I really don’t care, maybe Radxa should just put a ā€˜Max’ in the sales blurb for those who have a more literal interpretation of meaning.

@solaris3308 Is it just me as I can not find a difference in the OPP table as my memory is notorious but for some reason I got it in my head the SoC ran very cool.
I haven’t looked for a while as been playing with the GPU and maybe because I only tried a passive for a short duration, maybe its the stress-ng test and I was doing a lighter load or things are running hotter?
I have prob gone through a timewarp again or something but I am sure this is getting hotter quicker and attaining hotter temps than when I 1st tried?

With the 16 GB model, has anyone run into low memory situations yet?

My attempt at that failed, only 6.5 GB used according to htop:

2 Likes

What do I see, the elder scrolls III?

3 Likes

Has anyone got HW decoding working properly?
Rockchip dropped support for FFmpeg and advised to use the gstreamer white elephant, but i was still unable to make it work with gstreamer. I can decode H264 but with lots of dropped frames, anything else can crash kernel 5.10.66.

Running with kernel 5.10.110 is more stable but still a lot of issues with rga (and possibly mpp).
I haven’t followed the progress of the official image and the like, is it ready to use the hw decoder?

I dunno as I posted that a lot of work had gone into stateless decoders and that like the Hantro RKDec will benefit from this.
But was told this is not true, but haven’t done any tests or work but it would seem contary to Collabora claims.

With https://github.com/torvalds/linux/blob/master/drivers/staging/media/rkvdec/rkvdec-h264.c

FYI, hw decoding is fully working on a 4GB version.
The problem is with librga 1.8.1 which breaks rga conversation if > 4 GB. Tested with 5.10.110.

1 Like

Is librga 1.8.1 current or we just stuck with it due to dependency hell based on 5.10?

Radxa image used the librga 1.7.y which i think has some fixes. I used the one from sdk released on gitlab. There were a lot of toybrick related thing in the image that break dependencies, so i decide to build it from scratch.

A Rockchip member told me this should be fixed on the new SDK, i asked Jack and he said Radxa is working on this but it can take some time. At least we know where the problem is.

I have not tried mainline yet.

1 Like

Will be great to see some ā€˜stats4nerds’ when running or is it only via gstreamer?
I have a 8gb…

Tested with ffplay.

rock@rock5b:~$ uname -ra
Linux rock5b 5.10.110-debugx #3 SMP Wed Nov 9 14:25:40 -03 2022 aarch64 aarch64 aarch64 GNU/Linux
rock@rock5b:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.1 LTS
Release:	22.04
Codename:	jammy
rock@rock5b:~$ 

ffplay_cpu_usage

I couldn’t run gstreamer with kmsdrm or gles2 on Ubuntu CLI, so i built the kernel on rock5b and tried gstreamer but i got artifacts. It is the same setup for Debian 11.5 and Ubuntu 22.04, the only difference is that on Ubuntu i cross-compiled the kernel. For some reason, they behave differently.

i figured out how to use gstreamer with hw decoding on Ubuntu. The only issue i had is with hevc 10bit, surprisingly ffplay has no issues playing it, but the way it displays the video on screen is a bit annoying, it tries to scale the 1920x1080 video to something like 1920x9??.

Playing Big_Buck_Bunny_1080_10s_10MB.mp4 (H264)

gst-launch-1.0 filesrc location=Big_Buck_Bunny_1080_10s_10MB.mp4 ! qtdemux ! h264parse ! mppvideodec ! glimagesink
Setting pipeline to PAUSED ...
arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
Pipeline is PREROLLING ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayGBM\)\ gldisplaygbm0";
Pipeline is PREROLLED ...0 %)
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:10.000724467
Setting pipeline to NULL ...
Freeing pipeline ...

CPU usage:

Playing jellyfish-30-mbps-hd-hevc.mkv (HEVC)

gst-launch-1.0 filesrc location=jellyfish-30-mbps-hd-hevc.mkv ! matroskademux ! h265parse ! mppvideodec ! glimagesink
Setting pipeline to PAUSED ...
arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
Pipeline is PREROLLING ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayGBM\)\ gldisplaygbm0";
Pipeline is PREROLLED ...0 %)
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:30.031330520
Setting pipeline to NULL ...
Freeing pipeline ...

CPU usage:

Playing tos-4096x1720-tiles.mkv (4K) on 1920x1080

gst-launch-1.0 filesrc location=tos-4096x1720-tiles.mkv ! matroskademux ! h265parse ! mppvideodec ! glimagesink
Setting pipeline to PAUSED ...
arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '5'.
Pipeline is PREROLLING ...
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayGBM\)\ gldisplaygbm0";
Pipeline is PREROLLED ...0 %)
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:12:14.167728212
Setting pipeline to NULL ...
Freeing pipeline ...

CPU usage:

Now i need to find out how to replicate it to Debian…

Reminder: If you have a board with dram > 4 GB you need to wait for the librga fix.

UPDATE

Cross-compiled the kernel for Debian 11.5 Image and i can confirm that building the kernel natively breaks rkdvec2 (or mpp, whatever) , FFmpeg works fine but i still have a lot of dropped frames with gstreamer. Need to find where i got the correct plugin that works on Ubuntu.

Playing jellyfish-20-mbps-hd-hevc-10bit.mkv

CPU usage

cpu

UPDATE 2

Finally, gstreamer is working with Debian 11.5 X11. The missing bits are:

  • HEVC 10bit does not work
  • Works only for boards with 4 GB RAM (we need to wait for the new SDK or if Radxa can handle the source code for the librga which runs on boards with 8 GB or more)

That’s all Folks!

Playing jellyfish-5-mbps-hd-hevc.mkv (HEVC - H265)

sudo GST_GL_API=gles2 GST_GL_PLATFORM=egl gst-launch-1.0 filesrc location=jellyfish-5-mbps-hd-hevc.mkv ! matroskademux ! h265parse ! mppvideodec ! glimagesink

CPU Usage:
gstreamer-X11-cpu

UPDATE 3

Play youtube videos, sometimes it gets stuck or breaks the pipe, experimental.

  • Install youtube-dl

    sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
    sudo chmod a+rx /usr/local/bin/youtube-dl

  • Get a real youtube link, for example: https://youtu.be/HSE_X3XUoiw?list=RDMMHSE_X3XUoiw

  • play youtube with hw accel
    sudo /usr/local/bin/youtube-dl https://www.youtube.com/watch?v=HSE_X3XUoiw -o - | GST_GL_API=gles2 GST_GL_PLATFORM=egl gst-launch-1.0 filesrc location=/dev/stdin ! qtdemux ! h264parse ! mppvideodec ! glimagesink

You can also try with ffplay, i get better results plus audio until i find a way to play video + audio with gstreamer.

sudo /usr/local/bin/youtube-dl https://www.youtube.com/watch?v=HSE_X3XUoiw -o - | ffplay - -autoexit -loglevel quiet

Important: run sudo ls before firing the youtube-dl command or it get stuck waiting for the password

UPDATE 4

If you want to play with more than one camera on Rock 5B, you can add an extra H264 USB Camera (30 fps).
Tested with gstreamer and ffmpeg.

CSI camera is on /dev/video11 and H264 USB Camera is on /dev/video23 for this test. Attached to USB 3.0

sudo GST_GL_API=gles2 GST_GL_PLATFORM=egl gst-launch-1.0 v4l2src device=/dev/video23 ! video/x-h264,width=1920,height=1080,framerate=30/1 ! h264parse ! mppvideodec ! glimagesink

CPU usage:

the LAST one, testing encode and decode:

gst-launch-1.0 filesrc location=Big_Buck_Bunny_1080_10s_10MB.mp4 ! qtdemux ! h264parse ! mppvideodec ! video/x-raw,formate=NV12 ! mpph264enc ! avimux ! filesink location=Big_Buck_Bunny_1080_10s_10MB.avi

That’s it.

1 Like

Been looking at the Nvme and wondering if there are any ways to lower idle, have,'t even mounted it but installing adds approx 2 watts.

 nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     S35ENX0K704091       SAMSUNG MZVLW256HEHP-000L7               1          31.61  GB / 256.06  GB    512   B +  0 B   5L7QCXB7

Guess its getting a bit old as was one I had spare and also does anyone have any recommendations for energy efficient Nvme specifically for this type of laptop/notebook level where a performance model is really lost on a entry level desktop style cpu?

Prob its just and old nvme and not the most efficient anyway, but here is the info

 nvme id-ctrl -H /dev/nvme0n1
NVME Identify Controller:
vid       : 0x144d
ssvid     : 0x144d
sn        : S35ENX0K704091
mn        : SAMSUNG MZVLW256HEHP-000L7
fr        : 5L7QCXB7
rab       : 2
ieee      : 002538
cmic      : 0
  [3:3] : 0     ANA not supported
  [2:2] : 0     PCI
  [1:1] : 0     Single Controller
  [0:0] : 0     Single Port

mdts      : 0
cntlid    : 0x2
ver       : 0x10200
rtd3r     : 0x186a0
rtd3e     : 0x4c4b40
oaes      : 0
[14:14] : 0     Endurance Group Event Aggregate Log Page Change Notice Not Supported
[13:13] : 0     LBA Status Information Notices Not Supported
[12:12] : 0     Predictable Latency Event Aggregate Log Change Notices Not Supported
[11:11] : 0     Asymmetric Namespace Access Change Notices Not Supported
  [9:9] : 0     Firmware Activation Notices Not Supported
  [8:8] : 0     Namespace Attribute Changed Event Not Supported

ctratt    : 0
  [9:9] : 0     UUID List Not Supported
  [7:7] : 0     Namespace Granularity Not Supported
  [5:5] : 0     Predictable Latency Mode Not Supported
  [4:4] : 0     Endurance Groups Not Supported
  [3:3] : 0     Read Recovery Levels Not Supported
  [2:2] : 0     NVM Sets Not Supported
  [1:1] : 0     Non-Operational Power State Permissive Not Supported
  [0:0] : 0     128-bit Host Identifier Not Supported

rrls      : 0
crdt1     : 0
crdt2     : 0
crdt3     : 0
oacs      : 0x17
  [9:9] : 0     Get LBA Status Capability Not Supported
  [8:8] : 0     Doorbell Buffer Config Not Supported
  [7:7] : 0     Virtualization Management Not Supported
  [6:6] : 0     NVMe-MI Send and Receive Not Supported
  [5:5] : 0     Directives Not Supported
  [4:4] : 0x1   Device Self-test Supported
  [3:3] : 0     NS Management and Attachment Not Supported
  [2:2] : 0x1   FW Commit and Download Supported
  [1:1] : 0x1   Format NVM Supported
  [0:0] : 0x1   Security Send and Receive Supported

acl       : 7
aerl      : 3
frmw      : 0x16
  [4:4] : 0x1   Firmware Activate Without Reset Supported
  [3:1] : 0x3   Number of Firmware Slots
  [0:0] : 0     Firmware Slot 1 Read/Write

lpa       : 0x3
  [3:3] : 0     Telemetry host/controller initiated log page Not Supported
  [2:2] : 0     Extended data for Get Log Page Not Supported
  [1:1] : 0x1   Command Effects Log Page Supported
  [0:0] : 0x1   SMART/Health Log Page per NS Supported

elpe      : 63
npss      : 4
avscc     : 0x1
  [0:0] : 0x1   Admin Vendor Specific Commands uses NVMe Format

apsta     : 0x1
  [0:0] : 0x1   Autonomous Power State Transitions Supported

wctemp    : 342
cctemp    : 345
mtfa      : 0
hmpre     : 0
hmmin     : 0
tnvmcap   : 256060514304
unvmcap   : 0
rpmbs     : 0
 [31:24]: 0     Access Size
 [23:16]: 0     Total Size
  [5:3] : 0     Authentication Method
  [2:0] : 0     Number of RPMB Units

edstt     : 35
dsto      : 0
fwug      : 0
kas       : 0
hctma     : 0
  [0:0] : 0     Host Controlled Thermal Management Not Supported

mntmt     : 0
mxtmt     : 0
sanicap   : 0
  [31:30] : 0   Additional media modification after sanitize operation completes successfully is not defined
  [29:29] : 0   No-Deallocate After Sanitize bit in Sanitize command Supported
    [2:2] : 0   Overwrite Sanitize Operation Not Supported
    [1:1] : 0   Block Erase Sanitize Operation Not Supported
    [0:0] : 0   Crypto Erase Sanitize Operation Not Supported

hmminds   : 0
hmmaxd    : 0
nsetidmax : 0
anatt     : 0
anacap    : 0
  [7:7] : 0     Non-zero group ID Not Supported
  [6:6] : 0     Group ID does not change
  [4:4] : 0     ANA Change state Not Supported
  [3:3] : 0     ANA Persistent Loss state Not Supported
  [2:2] : 0     ANA Inaccessible state Not Supported
  [1:1] : 0     ANA Non-optimized state Not Supported
  [0:0] : 0     ANA Optimized state Not Supported

anagrpmax : 0
nanagrpid : 0
sqes      : 0x66
  [7:4] : 0x6   Max SQ Entry Size (64)
  [3:0] : 0x6   Min SQ Entry Size (64)

cqes      : 0x44
  [7:4] : 0x4   Max CQ Entry Size (16)
  [3:0] : 0x4   Min CQ Entry Size (16)

maxcmd    : 0
nn        : 1
oncs      : 0x1f
  [7:7] : 0     Verify Not Supported
  [6:6] : 0     Timestamp Not Supported
  [5:5] : 0     Reservations Not Supported
  [4:4] : 0x1   Save and Select Supported
  [3:3] : 0x1   Write Zeroes Supported
  [2:2] : 0x1   Data Set Management Supported
  [1:1] : 0x1   Write Uncorrectable Supported
  [0:0] : 0x1   Compare Supported

fuses     : 0
  [0:0] : 0     Fused Compare and Write Not Supported

fna       : 0x4
  [2:2] : 0x1   Crypto Erase Supported as part of Secure Erase
  [1:1] : 0     Crypto Erase Applies to Single Namespace(s)
  [0:0] : 0     Format Applies to Single Namespace(s)

vwc       : 0x1
  [0:0] : 0x1   Volatile Write Cache Present

awun      : 255
awupf     : 0
nvscc     : 1
  [0:0] : 0x1   NVM Vendor Specific Commands uses NVMe Format

nwpc      : 0
  [2:2] : 0     Permanent Write Protect Not Supported
  [1:1] : 0     Write Protect Until Power Supply Not Supported
  [0:0] : 0     No Write Protect and Write Protect Namespace Not Supported

acwu      : 0
sgls      : 0
 [1:0]  : 0     Scatter-Gather Lists Not Supported

mnan      : 0
subnqn    :
ioccsz    : 0
iorcsz    : 0
icdoff    : 0
ctrattr   : 0
  [0:0] : 0     Dynamic Controller Model

msdbd     : 0
ps    0 : mp:7.60W operational enlat:0 exlat:0 rrt:0 rrl:0
          rwt:0 rwl:0 idle_power:- active_power:-
ps    1 : mp:6.00W operational enlat:0 exlat:0 rrt:1 rrl:1
          rwt:1 rwl:1 idle_power:- active_power:-
ps    2 : mp:5.10W operational enlat:0 exlat:0 rrt:2 rrl:2
          rwt:2 rwl:2 idle_power:- active_power:-
ps    3 : mp:0.0400W non-operational enlat:210 exlat:1500 rrt:3 rrl:3
          rwt:3 rwl:3 idle_power:- active_power:-
ps    4 : mp:0.0050W non-operational enlat:2200 exlat:6000 rrt:4 rrl:4
          rwt:4 rwl:4 idle_power:- active_power:-
root@rock-5b:~# smartctl -a /dev/nvme0n1
smartctl 7.1 2019-12-30 r5022 [aarch64-linux-5.10.66-27-rockchip-gea60d388902d] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       SAMSUNG MZVLW256HEHP-000L7
Serial Number:                      S35ENX0K704091
Firmware Version:                   5L7QCXB7
PCI Vendor/Subsystem ID:            0x144d
IEEE OUI Identifier:                0x002538
Total NVM Capacity:                 256,060,514,304 [256 GB]
Unallocated NVM Capacity:           0
Controller ID:                      2
Number of Namespaces:               1
Namespace 1 Size/Capacity:          256,060,514,304 [256 GB]
Namespace 1 Utilization:            31,610,621,952 [31.6 GB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            002538 b781b0106f
Local Time is:                      Sun Nov 13 15:27:21 2022 UTC
Firmware Updates (0x16):            3 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x001f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat
Warning  Comp. Temp. Threshold:     69 Celsius
Critical Comp. Temp. Threshold:     72 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     7.60W       -        -    0  0  0  0        0       0
 1 +     6.00W       -        -    1  1  1  1        0       0
 2 +     5.10W       -        -    2  2  2  2        0       0
 3 -   0.0400W       -        -    3  3  3  3      210    1500
 4 -   0.0050W       -        -    4  4  4  4     2200    6000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        32 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    1%
Data Units Read:                    6,819,656 [3.49 TB]
Data Units Written:                 12,952,584 [6.63 TB]
Host Read Commands:                 164,105,546
Host Write Commands:                289,123,718
Controller Busy Time:               410
Power Cycles:                       877
Power On Hours:                     1,624
Unsafe Shutdowns:                   315
Media and Data Integrity Errors:    0
Error Information Log Entries:      1,325
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               32 Celsius
Temperature Sensor 2:               48 Celsius

Error Information (NVMe Log 0x01, max 64 entries)
Num   ErrCount  SQId   CmdId  Status  PELoc          LBA  NSID    VS
  0       1325     0  0x0001  0x4004  0x02c            0     0     -
  1       1324     0  0x0021  0x4004  0x02c            0     0     -
  2       1323     0  0x0020  0x4004  0x02c            0     0     -
  3       1322     0  0x0017  0x4004  0x02c            0     0     -
  4       1321     0  0x0016  0x4004  0x02c            0     0     -
  5       1320     0  0x0023  0x4004  0x02c            0     0     -
  6       1319     0  0x0022  0x4004  0x02c            0     0     -
  7       1318     0  0x001c  0x4212  0x028            0     -     -
  8       1317     0  0x0002  0x4004  0x028            0     0     -
  9       1316     0  0x0013  0x4004  0x02c            0     0     -
 10       1315     0  0x0012  0x4004  0x02c            0     0     -
 11       1314     0  0x0011  0x4004  0x02c            0     0     -
 12       1313     0  0x0010  0x4004  0x02c            0     0     -
 13       1312     0  0x0023  0x4004  0x02c            0     0     -
 14       1311     0  0x0022  0x4004  0x02c            0     0     -
 15       1310     0  0x001c  0x4212  0x028            0     -     -
... (48 entries not shown)

Any recomendations for config or a better efficiency focussed Nvme or maybe its just better to run and use Emmc?

Can u link us that heatsink?