I don’t recommend you to change the measurement of pvtm value because no matter what you change, your soc chip is always not changed. It’s just like you change the unit of your weight from kilogram to pound. The default pvtm-volt should be ok and rockchip has make the current opp table based on many chips been tested. If you want higher frequency, just increase the clk opp voltage.
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
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:
What do I see, the elder scrolls III?
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.
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.
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:~$
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
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:
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.
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?