summaryrefslogtreecommitdiff
path: root/py/pykms
AgeCommit message (Collapse)Author
2026-05-11card: Add support for writeback connectorswritebackLaurent Pinchart
Enable enumeration of writeback connectors if both libdrm and the device support it. The new Card::has_writeback() method report if the card support writeback connectors. Existing code that expect all connectors to model an output may be confused by the sudden availability of new connectors. To handle this issue, - add a KMSXX_DISABLE_WRITEBACK_CONNECTORS environment variable to disable enumeration of writeback connectors, similarly to universal planes ; and - ignore writeback connectors where no specific connector is requested (Card::get_first_connected_connector(), ResourceManager::reserve_connector() if no connector name is specified, and applications that use all connected outputs). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2026-05-11utils: Add a dump_framebuffer() methodLaurent Pinchart
Add a new method to write the contents of a framebuffer to a file descriptor. This can be used to capture frames from writeback connectors. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2025-04-26py: Allow building pykms without libutilsTomi Valkeinen
2025-03-26kms++util: New template based conversion & testpat codeTomi Valkeinen
New templated conversion and test pattern code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26PixelFormats: clean fourcc managementTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26PixelFormats: New PixelFormatInfo codeTomi Valkeinen
New pixel format code, from Python pixutils library. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-11-07py: Framebuffer: Add map wrappingLI Qingwu
Enables direct Python access to the framebuffer's buffer, facilitating rapid image drawing capabilities. Signed-off-by: LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-10-06meson: Fix more utils dependenciesTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-10-06Fix issues related to utils & libutilsTomi Valkeinen
Fix dependency issues related to libutils, wrong use of libutils_enabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-04-11meson: Fix use of omapdrm_enabledTomi Valkeinen
omapdrm_enabled is set in totally wrong place, leading to build failure if pykms is disabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Fixes: 3c9e134287362f3273ff04a86f32838b65b2651e Fixes: #70
2023-02-24meson: Add summaryTomi Valkeinen
Add summary print for meson configuration. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-22Code formatting fixesTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-20py: fix dependency to kms++utilTomi Valkeinen
Py bindings always calls init_pykmsutils() even if kms++util is not enabled. Fix this. Fixes #68 Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-20py: rename init_pykmstestTomi Valkeinen
init_pykmstest() was misnamed. Rename it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-10-04py: kms: add pixelformat helpersTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2021-10-06Split V4L2 code into separate libsTomi Valkeinen
Create v4l2++ library and pyv4l2, which are independent from the rest of the kms++. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2021-08-06meson: simplify pybind dependency handlingTomi Valkeinen
2021-07-19py: Property: Add type, enums, values, and __repr__Noralf Trønnes
Also add PropertyType which is used by the type property. Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
2021-07-19py: Card: Add .propertiesNoralf Trønnes
Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
2021-07-19py: Framebuffer: Add flush and __repr__Noralf Trønnes
Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
2021-01-14py: add fourcc_to_pixelformatTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2020-12-16Remove CMake supportTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@iki.fi>
2020-12-16meson: add option to use system pybind11 or subprojectTomi Valkeinen
Add 'system-pybind11' option. enabled = use pybind11 from the system disabled = use pybind11 from meson subproject auto = use pybind11 from the system, or, if not available, subproject Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-12-03crtc: add legacy gamma setTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-10-20py: add -fvisibility=hiddenTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-10-20meson: add 'util' option to disable kms++util and utilsTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-10-09Bulk format of all filesTomi Valkeinen
2020-10-09dmabuffb: add constructor which takes in string fourccTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-10-03py: move framebuffer functions to correct placeTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-10-02Small Property improvementsTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-09-14Add meson buildTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-08-10kms++: Add support for missing 8 -and 16-bit RGB formatsLaurent Pinchart
Add support for the RGB332, XRGB1555 and XRGB4444 formats to the PixelFormat class, the Python API, and the drawing utilities. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-08-10kms++: Add support for the planar YUV formatsLaurent Pinchart
Add support for the 6 planar YUV formats (YUV and YVU, combined with 420, 422 or 444 subsampling) to the PixelFormat class, the Python API, and the drawing utilities. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-08-10kms++: Add support for semiplanar YUV422 formats (NV16 and NV61)Laurent Pinchart
Add support for the NV16 and NV61 pixel formats to the PixelFormat class, the Python API, and the drawing utilities. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-08-10pykmsbase: Add missing pixel formatsLaurent Pinchart
Several pixel formats defined in the C++ PixelFormat class are missing from the Python API. Add them. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2020-08-10card: Add a method to retrieve the device minorLaurent Pinchart
The device minor number is needed to access the debugfs directory corresponding to the device. Make it available to users through a dev_minor() method on the Card object. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-11-06pykmsbase: upgrade Blob __init__ to fix deprecation warningTomi Valkeinen
2019-11-06Split dmabuf support from ExtFramebuffer into DmabufFramebufferTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-09-25videomode to_string improvementsTomi Valkeinen
Add to_string_short() and to_string_long() to videomode (using the fmt library) for easy printing of videomodes. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-01-17Revert "py: add open_modesetting_card"Tomi Valkeinen
This reverts commit 27f1c296c4f5996227b28215400c787ea018862b.
2019-01-14py: add open_modesetting_cardTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-01-14Card: improve DRM card selectionTomi Valkeinen
Add new Card constructor: Card(const std::string& driver, uint32_t idx) which can be used to open Nth card for the given driver. The default constructor behavior is: - If KMSXX_DEVICE env variable is set, the card device with that path is opened. - If KMSXX_DRIVER env variable is set, the card with the given driver name and index is opened. The format is either "drvname" or "drvname:idx". - If neither env variable is given, open /dev/dri/card0 Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-01-14Card: add support to get the driver nameTomi Valkeinen
Add support to get the driver name. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2019-01-09pykms: expose Card(device) constructorTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-11-01videodevice: Add selection API supportBenoit Parrot
Add selection API support to the VideoSteamer class. Signed-off-by: Benoit Parrot <bparrot@ti.com>
2018-09-24py: fix __atomic_req_add_plane when crtc = NoneTomi Valkeinen
2018-09-17py: add AtomicReq extensions and use them in test.pyTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2018-08-03add a simple draw_circle()Tomi Valkeinen
2017-12-15py: pyvid: Provide stream_off bindingKieran Bingham
The videodevice module defines a stream_off function call, but this is not available in the python bindings interface. Provide the binding of VideoStreamer::stream_off. Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
2017-12-08py: add convert_vector helperTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>