Difference between revisions of "RPI vcgencmd usage"

From eLinux.org
Jump to: navigation, search
 
(12 intermediate revisions by 7 users not shown)
Line 1: Line 1:
''/opt/vc/bin/vcgencmd commands''
+
== Verified commands ==
 +
Command outputs are from [[firmware]] version '''<tt>362371</tt>'''.
  
Shows a list of possible (needs verification) commands.
 
  
 +
'''<code>vcgencmd commands</code>'''
  
 +
Shows a list of possible commands.
  
Verified 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"
  
 +
([[User:AndrewS|I've]] just checked on a more recent firmware version and there's now also '''<code>get_camera</code>''', '''<code>get_mem</code>''' and '''<code>hdmi_status_show</code>''' commands)
  
vcgencmd measure_clock <clock>  
+
'''<code>vcgencmd measure_clock ''<clock>''</code>'''
  
Shows clock frequency, clock can be one of arm, core, h264, isp, v3d, uart, pwm, emmc, pixel, vec, hdmi, dpi.
+
Shows clock frequency, clock can be one of '''<tt>arm, core, h264, isp, v3d, uart, pwm, emmc, pixel, vec, hdmi, dpi</tt>'''.
  
 +
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 core, sdram_c, sdram_i, sdram_p, and defaults to core if not specified.
+
'''<code>vcgencmd measure_volts ''<id>''</code>'''
  
 +
Shows voltage. id can be one of '''<tt>core, sdram_c, sdram_i, sdram_p</tt>''', and defaults to '''<tt>core</tt>''' if not specified.
  
vcgencmd measure_temp
+
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
 +
 
 +
 
 +
'''<code>vcgencmd measure_temp</code>'''
  
 
Shows core temperature of BCM2835 SoC.
 
Shows core temperature of BCM2835 SoC.
 +
 +
root@raspberrypi:~# vcgencmd measure_temp
 +
temp=42.8'C
 +
 +
 +
'''<code>vcgencmd codec_enabled ''<codec>''</code>'''
 +
 +
Shows if the specified codec is enabled, codec can be one of '''<tt>H264, MPG2, WVC1, MPG4, MJPG, WMV9</tt>'''. 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.
 +
 +
 +
'''<code>vcgencmd get_config ''[config|int|str]''</code>'''
 +
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
 +
 +
 +
'''<code>vcgencmd get_mem ''arm/gpu''</code>'''
 +
 +
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
 +
 +
 +
'''<code>vcgencmd version</code>'''
 +
 +
Shows the firmware version
 +
 +
root@raspberrypi:~# vcgencmd version
 +
Jan 13 2013 16:24:29
 +
Copyright (c) 2012 Broadcom
 +
version 362371 (release)
 +
 +
 +
'''<code>vcgencmd otp_dump</code>'''
 +
 +
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 <code>/proc/cpuinfo</code> (the ''Serial'' is also used to determine the Ethernet MAC address on Model B boards), and location 32 stores the value of the [[RPiconfig#Overclocking|warranty bit]]. Purpose of values in other locations is unknown.
 +
 +
 +
'''<code>vcgencmd set_backlight</code>'''
 +
 +
Currently unusable, might be used in the future to control the backlight of LCD displays
  
  
vcgencmd codec_enabled <codec>
+
'''<code>vcgencmd render_bar</code>'''
  
Shows if the specified codec is enabled, codec can be one of H264 MPG2 WVC1
+
Debug function created by Dom, used in [https://github.com/popcornmix/omxplayer/blob/40467a70b609c893c8756951ccf7ef1f56f1d43e/omxplayer.cpp#L1387 OMXPlayer]
  
  
  
 +
Parameters and function of other vcgencmd commands are not known.
  
Parameters and function of other commands are not known.
+
== Links ==
 +
* [https://github.com/nezticle/RaspberryPi-BuildRoot/wiki/VideoCore-Tools This list] also lists and describes vcgencmd options

Latest revision as of 19:55, 9 September 2013

Verified commands

Command outputs are from firmware version 362371.


vcgencmd commands

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 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 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


Parameters and function of other vcgencmd commands are not known.

Links

  • This list also lists and describes vcgencmd options