It's helpful if the dtoverlay and dtparam commands look in the right
place for overlays and the README. Make them check for and use
/proc/device-tree/chosen/os_prefix.
See: https://github.com/raspberrypi/firmware/issues/1728
Seems to be an issue with library ordering.
I guess it appeared with update to bullseye, or gcc.
Note: these are largely deprectated and several fail to run with kms
(with an error message), but may as well fix build errors
If the system is obviously configured for libcamera (for example) by
dint of /dev/video0 being given over to "unicam", complain and abort
immediately. In all other circumstances maintain previous behaviour.
Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
There are several reasons why /dev/fb0 might not exist, none of them
worrying, and the debug_sym library has fallbacks for those cases.
Suppress error messages for the ENOENT case, and only print one
message for other errors (unless the error keeps changing, which is
unlikely).
See: https://forums.raspberrypi.com/viewtopic.php?f=98&t=322238
The link was broken during the documentation revamp. Just link
to vcgencmd in the online docs. Related documentation is easy
to find with the online search and reduces the number for links
to update in the future.
bcm_host_is_model_pi4 should be equivalent to a test that the processor
type is BCM2711, so implement it as such (having added BCM2711 as a
recognised processor type and deprecating the name BCM2838).
See: https://github.com/raspberrypi/userland/issues/695
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
I've spent a little time going through the excellent raspberry pi
documentation site in order to build some man-pages for most of the
utilities in the suite. Note that not all utilities are covered here
(notably vchiq_test, mmal_vc_diag are missing) but I think it covers the
most commonly used utilities.
I've also included some auxilliary man-pages (in section 7) for
information relevant to utilities like vcmailbox (covering things like
the mailbox info from the wiki-page, and the OTP registers from the
documentation site).
Adds the equivalent to "Add option to start in burst mode if AE settings
are manual" patch to RaspiStillYUV so it too can drop straight into
capture mode.
See https://github.com/raspberrypi/userland/issues/640
Both these libraries/apps were related to the VPU accessing the
host file system over VCHI. This has never been used on the Pi,
and is creating build warnings with the latest versions of gcc.
Remove them from the source tree.
If exposure and analogue gain are set manually, and we run a stats
pass to setup all other control algorithms, then we can skip the
viewfinder phase and jump straight into captures, saving time over
dropped frames.
Add the relevant logic to allow this.
Need to reduce the min fps limit to 0.005 for 200s exposures
available in HQ cam.
commit 27db31a8a8 fixed this for the video
port, but we need to do the same for the stills port as well.
Add a new option (-fw) in the raspicam applications to draw
a Figure of Merit (FoM) value to indicate sharpness in the displayed
region. A larger value of FoM indicates a sharper image.
This is useful for the HQ camera to help with focussing on a subject.
The overlay_map DTB file provides a way to load different .dtbo
files on different platforms from the same overlay name, e.g.
translating "vc4-kms-v3d" to "vc4-kms-v3d-pi4" on bcm2711.
See: https://github.com/raspberrypi/linux/issues/3520
This allows the use of /dev/mem instead of /dev/vc-mem (ie it
should work on mainline kernel builds.
vcdbg needs the offset and size of memory to work.
The firmware should have inserted these into the kernel
command line as vc_mem.mem_base and vc_mem.mem_size, so libdebugsym
tries to extract those values from /proc/cmdline, or you can
provide them on the command line via -l and -s
(/dev/mem couldn't be used previously as libdebugsym tries to do
lseek(SEEK_END) to get the length, and that isn't supported by
/dev/mem).
The firmware's overlay application code has long supported fragments
that target other fragments, but the kernel's dynamic overlay
mechanism doesn't support them. Avoid the restriction by partially
merging overlays with themselves before handing them over to the
kernel.
It's useful to be able to perform the dry run on any host, not just
a Raspberry Pi with runtime overlay support, and this works once the
validity check has been removed.
Up to now, all labels have been local to overlays. It has been possible
to explicitly add labels to the base DTB, but only in a way that is
ugly and fragile - it requires knowledge of the absolute path to where
the overlay will be applied (which could vary between DTBs), and would
break if the target of a fragment was changed.
Overlay writers can now choose to explicitly export some labels by
listing them as empty properties in a first-level node called
"__exports__". For example, to export a label called "newnode", add
the following node to the overlay:
__exports__ {
newnode;
};
Make use of the new ability by replacing the deletion of the __symbols__
node with a call to dtoverlay_filter_symbols.
Drops
host_applications/android/apps/vidtex
interface/mmal/openmaxil
interface/mmal/client(/brcmjpeg)
as they aren't directly supported and need further fixup for 64bit.