Posts

Orane Pi Zero 3W overview and first start

Image
I’d like to talk about the new “little orange” — the Orange Pi Zero 3W , which was released this year. Specifications: SoC : Allwinner A733 CPU : 2 x Arm Cortex-A76 cores (up to 2.0 GHz) + 6 x Arm Cortex-A55 cores GPU : Imagination PowerVR BXM-4-64 MC1 (Supports OpenGL ES 3.2, Vulkan 1.3, OpenCL 3.0) Neural Processing Unit : Up to 3 TOPS @INT8 ; supports mixed-precision computation (INT8, INT16, FP16, and BF16) Coprocessor : Xuantie E902 RISC-V Real-Time Coprocessor (up to 200 MHz) RAM : 4/8/12/16 GB LPDDR5 Storage : Onboard footprints for eMMC and UFS are available, but there are currently no boards for sale with them populated. Of course, there is a TF card slot Wireless Connectivity : Wi-Fi 6 and Bluetooth 5.4 (BLE) with an external antenna Video Output : Mini HDMI 2.0, 4-lane MIPI-DSI, Type-C (Supports DisplayPort Alt Mode, up to 4K@60fps) Video Input : Two 4-lane MIPI CSI interfaces PCIe : 1 x PCIe 3.0 1-Lane FPC connector GPIO : 40-pin expansion header (supporting G...

Android UI in 3D: Rendering Jetpack Compose on OpenGL Surfaces via VirtualDisplay

Image
While the use cases for this technique are fairly specialized, I want to demonstrate how to render the Android UI onto OpenGL surfaces using the Virtual Display mechanism. Key Concepts: Display — An object that describes a logical display. It contains the characteristics of real, networked, or virtual screens connected to an Android device. Documentation . VirtualDisplay — A type of display that renders images to a specific memory buffer, called a Surface, rather than a physical panel. Documentation . DisplayManager — An Android system service that manages all available displays, allowing you to query their characteristics and create virtual ones. Documentation . Presentation — A specialized component based on the Dialog class. It doesn’t have its own full lifecycle (unlike an Activity), which simplifies management, and it is specifically designed to output content to any secondary display. Documentation . Rendering with OpenGL To begin, let’s create a simple example that...