commit | a05c9146d46a25f95856b43c5d87620bbf19da1d | [log] [tgz] |
---|---|---|
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | Mon Jan 02 16:42:11 2017 +0200 |
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | Tue Jan 03 10:46:42 2017 +0200 |
tree | 7684b7fdfa9fa7e5d2b879aa3c19cd8ccafcfb97 | |
parent | d66d3d3f2f82636002a13a7fd4a33b241c41e6bd [diff] |
py: db.py: Print frame rate at 5s intervals Print both the number of vsyncs (as reported by the driver in flip events) and the number of flip events. This is useful to debug frame rate related issues. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
kms++ is a C++11 library for kernel mode setting.
Also included are some simple utilities for KMS and python bindings for kms++.
To build the Python bindings you need to set up the git-submodule for pybind11:
git submodule update --init
And to compile:
$ mkdir build $ cd build $ cmake .. $ make -j4
Directions for cross compiling depend on your environment.
These are for mine with buildroot:
$ mkdir build $ cd build $ cmake -DCMAKE_TOOLCHAIN_FILE=<buildrootpath>/output/host/usr/share/buildroot/toolchainfile.cmake .. $ make -j4
Your environment may provide similar toolchainfile. If not, you can create a toolchainfile of your own, something along these lines:
SET(CMAKE_SYSTEM_NAME Linux) SET(BROOT "<buildroot>/output/") # specify the cross compiler SET(CMAKE_C_COMPILER ${BROOT}/host/usr/bin/arm-buildroot-linux-gnueabihf-gcc) SET(CMAKE_CXX_COMPILER ${BROOT}/host/usr/bin/arm-buildroot-linux-gnueabihf-g++) # where is the target environment SET(CMAKE_FIND_ROOT_PATH ${BROOT}/target ${BROOT}/host) SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
You can use the following cmake flags to control the build. Use -DFLAG=VALUE
to set them.
Option name | Values | Default | Notes |
---|---|---|---|
CMAKE_BUILD_TYPE | Release/Debug | Release | |
BUILD_SHARED_LIBS | ON/OFF | OFF | |
KMSXX_ENABLE_PYTHON | ON/OFF | ON | |
KMSXX_ENABLE_KMSCUBE | ON/OFF | OFF |
You can use the following runtime environmental variables to control the behavior of kms++.
Variable | Description |
---|---|
KMSXX_DISABLE_UNIVERSAL_PLANES | Set to disable the use of universal planes |
KMSXX_DISABLE_ATOMIC | Set to disable the use of atomic modesetting |