RPI vcgencmd usage

March 25, 2019

Verified commands

Command outputs are from firmware version 362371. vcgencmd command Shows a list of possible commands.
root@raspberrypi:~# vcgencmd commands
commands="vcos, ap_output_control, ap_output_post_processing, vchi_test_init, vchi_test_exit,
pm_set_policy, pm_get_status, pm_show_stats, pm_start_logging, pm_stop_logging, version, commands,
set_vll_dir, led_control, set_backlight, set_logging, get_lcd_info, set_bus_arbiter_mode,
cache_flush, otp_dump, codec_enabled, measure_clock, measure_volts, measure_temp, get_config,
hdmi_ntsc_freqs, render_bar, disk_notify, inuse_notify, sus_suspend, sus_status, sus_is_enabled,
sus_stop_test_thread, egl_platform_switch, mem_validate, mem_oom, mem_reloc_stats, file,
vctest_memmap, vctest_start, vctest_stop, vctest_set, vctest_get"
(I’ve just checked on a more recent firmware version and there’s now also get_camera, get_mem and hdmi_status_show commands) vcgencmd measure_clock <clock> Shows clock frequency, clock can be one of arm, core, h264, isp, v3d, uart, pwm, emmc, pixel, vec, hdmi, dpi.
root@raspberrypi:~# \
> for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do \
>     echo -e "$src:\t$(vcgencmd measure_clock $src)" ; \
> done
arm:    frequency(45)=700000000
core:   frequency(1)=250000000
h264:   frequency(28)=0
isp:    frequency(42)=250000000
v3d:    frequency(43)=250000000
uart:   frequency(22)=3000000
pwm:    frequency(25)=0
emmc:   frequency(47)=100000000
pixel:  frequency(29)=154000000
vec:    frequency(10)=0
hdmi:   frequency(9)=163682000
dpi:    frequency(4)=0
vcgencmd measure_volts <id> Shows voltage. id can be one of core, sdram_c, sdram_i, sdram_p, and defaults to core if not specified.
root@raspberrypi:~# \
> for id in core sdram_c sdram_i sdram_p ; do \
>     echo -e "$id:\t$(vcgencmd measure_volts $id)" ; \
> done
core:   volt=1.20V
sdram_c:        volt=1.20V
sdram_i:        volt=1.20V
sdram_p:        volt=1.23V
vcgencmd measure_temp Shows core temperature of BCM2835 SoC.
root@raspberrypi:~# vcgencmd measure_temp
temp=42.8'C
vcgencmd codec_enabled <codec> Shows if the specified codec is enabled, codec can be one of H264, MPG2, WVC1, MPG4, MJPG, WMV9. Please note this was run on a Pi with the [http://www.raspberrypi.com/ MPG2 and VC1 licences] enabled.
root@raspberrypi:~# \
> for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do \
>     echo -e "$codec:\t$(vcgencmd codec_enabled $codec)" ; \
> done
H264:   H264=enabled
MPG2:   MPG2=enabled
WVC1:   WVC1=enabled
MPG4:   MPG4=enabled
MJPG:   MJPG=enabled
WMV9:   WMV9=enabled
If you also follow the instructions in this [http://www.raspberrypi.org/phpBB3/viewtopic.php?p=269992#p269992 Forum post] then the codec options for VP6 and VP8 (WEBM) also work, this is experimental and unsupported at present so any changes are at your own risk. vcgencmd get_config ''[config|int|str]‘’ Will print the configurations you have set. Argument can ether be a specific option or int, showing all configs with number-datatype, or str showing all configurations with datatype sting (aka text).
root@raspberrypi:~# vcgencmd get_config int
arm_freq=1000
core_freq=500
sdram_freq=600
over_voltage=6
disable_overscan=1
force_pwm_open=1
vcgencmd get_mem ''arm/gpu‘’ Shows how much memory is split between the CPU (arm) and GPU.
root@raspberrypi:~# vcgencmd get_mem arm && vcgencmd get_mem gpu
arm=448M
gpu=64M
vcgencmd version Shows the firmware version
root@raspberrypi:~# vcgencmd version
Jan 13 2013 16:24:29
Copyright (c) 2012 Broadcom
version 362371 (release)
vcgencmd otp_dump Displays the contents of the OTP (One Time Programmable) memory embedded inside the SoC.
root@raspberrypi:~# vcgencmd otp_dump
08:00000000
09:00000000
10:00000000
11:00000000
12:00000000
13:00000000
14:00000000
15:00000000
16:00280000
17:1020000a
18:1020000a
19:ffffffff
20:ffffffff
21:ffffffff
22:ffffffff
23:ffffffff
24:ffffffff
25:ffffffff
26:ffffffff
27:0000c2c2
28:6c14ba0d
29:93eb45f2
30:0000000e
31:00000000
32:00000000
33:00000000
34:00000000
35:00000000
36:00000000
37:00000000
38:00000000
39:00000000
40:00000000
41:00000000
42:00000000
43:00000000
44:00000000
45:00000000
46:00000000
47:00000000
48:00000000
49:00000000
50:00000000
51:00000000
52:00000000
53:00000000
54:00000000
55:00000000
56:00000000
57:00000000
58:00000000
59:00000000
60:00000000
61:00000000
62:00000000
63:00000000
64:00000000
Locations 28 and 30 store the ‘’Serial’‘ and ’‘Revision’‘ values that get displayed by /proc/cpuinfo (the ’‘Serial’‘ is also used to determine the Ethernet MAC address on Model B boards), and location 32 stores the value of the warranty bit. Purpose of values in other locations is unknown. vcgencmd set_backlight Currently unusable, might be used in the future to control the backlight of LCD displays vcgencmd render_bar Debug function created by Dom, used in OMXPlayer vcgencmd display_power 0 Turns off video output. vcgencmd display_power 1 Turns on video output. Parameters and function of other vcgencmd commands are not known.

Links