$ pip3 install bpy Defaulting to user installation because normal site-packages is not writeable ERROR: Could not find a version that satisfies the requirement bpy (from versions: none) ERROR: No matching distribution found for bpy
$ pip install bpy==3.6.0 --extra-index-url https://download.blender.org/pypi/ Defaulting to user installation because normal site-packages is not writeable Looking in indexes: https://pypi.org/simple,https://download.blender.org/pypi/ Collecting bpy==3.6.0 Downloading bpy-3.6.0-cp310-cp310-manylinux_2_28_x86_64.whl (371.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 371.4/371.4 MB 10.2 MB/s 0:00:36 Collecting cython (from bpy==3.6.0) Downloading cython-3.2.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (4.2 kB) Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from bpy==3.6.0) (1.21.5) Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from bpy==3.6.0) (2.25.1) Collecting zstandard (from bpy==3.6.0) Downloading zstandard-0.25.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (3.3 kB) Downloading cython-3.2.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 9.6 MB/s 0:00:00 Downloading zstandard-0.25.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.6/5.6 MB 10.0 MB/s 0:00:00 Installing collected packages: zstandard, cython, bpy ━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━ 1/3 [cython] WARNING: The scripts cygdb, cython and cythonize are installed in '/home/minimonk/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed bpy-3.6.0 cython-3.2.8 zstandard-0.25.0
for i, loc in enumerate(camera_locations): camera.location = mathutils.Vector(loc) # Blender 2.80+ bpy.context.view_layer.update() scene.render.filepath = f"frame_{i:03d}.png" bpy.ops.render.render(write_still=True) print(f"Render {i} complete")
EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). Fra:1 Mem:42.72M (Peak 43.80M) | Time:00:00.17 | Syncing Cube Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:00.25 | Syncing Light Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:00.25 | Syncing Camera Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:00.27 | Rendering 1 / 64 samples Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:01.50 | Rendering 26 / 64 samples Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:02.48 | Rendering 51 / 64 samples Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:03.02 | Rendering 64 / 64 samples Saved: 'frame_000.png' Time: 00:03.44 (Saving: 00:00.31)
$ ros2 launch kinect2_bridge kinect2_bridge_launch.yaml [INFO] [launch]: All log files can be found below /home/minimonk/.ros/log/2026-07-11-20-41-52-174164-minimonk-HP-EliteBook-2760p-5964 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [kinect2_bridge_node-1]: process started with pid [5965] [INFO] [point_cloud_xyzrgb_node-2]: process started with pid [5967] [kinect2_bridge_node-1] [INFO] [1783770112.669497149] [kinect2_bridge_node]: parameter: [kinect2_bridge_node-1] base_name: kinect2 [kinect2_bridge_node-1] sensor: default [kinect2_bridge_node-1] fps_limit: 30 [kinect2_bridge_node-1] calib_path: /home/minimonk/ros2_ws/src/kinect2_ros2/kinect2_bridge/data/ [kinect2_bridge_node-1] use_png: false [kinect2_bridge_node-1] jpeg_quality: 90 [kinect2_bridge_node-1] png_level: 1 [kinect2_bridge_node-1] depth_method: default [kinect2_bridge_node-1] depth_device: -1 [kinect2_bridge_node-1] reg_method: default [kinect2_bridge_node-1] reg_device: -1 [kinect2_bridge_node-1] max_depth: 12 [kinect2_bridge_node-1] min_depth: 0.1 [kinect2_bridge_node-1] queue_size: 5 [kinect2_bridge_node-1] bilateral_filter: true [kinect2_bridge_node-1] edge_aware_filter: true [kinect2_bridge_node-1] publish_tf: true [kinect2_bridge_node-1] base_name_tf: kinect2 [kinect2_bridge_node-1] worker_threads: 4 [kinect2_bridge_node-1] libva info: VA-API version 1.14.0 [kinect2_bridge_node-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so [kinect2_bridge_node-1] libva info: Found init function __vaDriverInit_1_14 [kinect2_bridge_node-1] libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed [kinect2_bridge_node-1] libva info: va_openDriver() returns 1 [kinect2_bridge_node-1] libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so [kinect2_bridge_node-1] libva info: Found init function __vaDriverInit_1_10 [kinect2_bridge_node-1] libva info: va_openDriver() returns 0 [kinect2_bridge_node-1] [Error] [VaapiRgbPacketProcessorImpl] vaQueryConfigEntrypoints(display, VAProfileJPEGBaseline, entrypoints, &num_entrypoints): the requested VAProfile is not supported [kinect2_bridge_node-1] [INFO] [1783770112.809519223] [kinect2_bridge_node]: Kinect2 devices found: [kinect2_bridge_node-1] [INFO] [1783770112.809575855] [kinect2_bridge_node]: 0: 501441643042 (selected) [kinect2_bridge_node-1] [INFO] [1783770112.916667344] [kinect2_bridge_node]: starting kinect2 [kinect2_bridge_node-1] [INFO] [1783770113.292294443] [kinect2_bridge_node]: device serial: 501441643042 [kinect2_bridge_node-1] [INFO] [1783770113.292485519] [kinect2_bridge_node]: device firmware: 4.0.3911.0 [kinect2_bridge_node-1] [WARN] [1783770113.594443755] [kinect2_bridge_node]: using sensor defaults for color intrinsic parameters. [kinect2_bridge_node-1] [WARN] [1783770113.594539640] [kinect2_bridge_node]: using sensor defaults for ir intrinsic parameters. [kinect2_bridge_node-1] [WARN] [1783770113.594581612] [kinect2_bridge_node]: using defaults for rotation and translation. [kinect2_bridge_node-1] [WARN] [1783770113.594619248] [kinect2_bridge_node]: using defaults for depth shift. [kinect2_bridge_node-1] [INFO] [1783770113.623323777] [kinect2_bridge_node]: Using CPU registration method! [kinect2_bridge_node-1] [INFO] [1783770113.623425516] [kinect2_bridge_node]: Using CPU registration method! [kinect2_bridge_node-1] [INFO] [1783770113.667011548] [kinect2_bridge_node]: waiting for clients to connect [kinect2_bridge_node-1] [INFO] [1783770114.653201749] [kinect2_bridge_node]: client connected. starting device... [kinect2_bridge_node-1] X Error of failed request: BadAccess (attempt to access private resource denied) [kinect2_bridge_node-1] Major opcode of failed request: 149 (GLX) [kinect2_bridge_node-1] Minor opcode of failed request: 5 (X_GLXMakeCurrent) [kinect2_bridge_node-1] Serial number of failed request: 179 [kinect2_bridge_node-1] Current serial number in output stream: 179 [kinect2_bridge_node-1] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError' [kinect2_bridge_node-1] what(): failed to publish message: cannot publish data, at ./src/rmw_publish.cpp:62, at ./src/rcl/publisher.c:250 [ERROR] [kinect2_bridge_node-1]: process has died [pid 5965, exit code -6, cmd '/home/minimonk/ros2_ws/install/kinect2_bridge/lib/kinect2_bridge/kinect2_bridge_node --ros-args -r __node:=kinect2_bridge_node --params-file /tmp/launch_params_1tuxpdc2 --params-file /tmp/launch_params_o70wj41n --params-file /tmp/launch_params_mx2wb0bm --params-file /tmp/launch_params_inj7yjrz --params-file /tmp/launch_params_s8nw_wo7 --params-file /tmp/launch_params_d5_82p0q --params-file /tmp/launch_params_x6_8qj8q --params-file /tmp/launch_params_ganv8ba7 --params-file /tmp/launch_params_agwupcu2 --params-file /tmp/launch_params_d1hxewmf --params-file /tmp/launch_params_7jj5knby --params-file /tmp/launch_params_rx6ige18 --params-file /tmp/launch_params_xyw011zg --params-file /tmp/launch_params_1uetu4cb'].
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT) [point_cloud_xyzrgb_node-2] [INFO] [1783770702.367083434] [rclcpp]: signal_handler(SIGINT/SIGTERM) [INFO] [point_cloud_xyzrgb_node-2]: process has finished cleanly [pid 5967]
$ mosquitto_pub --help mosquitto_pub is a simple mqtt client that will publish a message on a single topic and exit. mosquitto_pub version 2.0.11 running on libmosquitto 2.0.11.
-A : bind the outgoing socket to this host/ip address. Use to control which interface the client communicates over. -d : enable debug messages. -c : disable clean session/enable persistent client mode When this argument is used, the broker will be instructed not to clean existing sessions for the same client id when the client connects, and sessions will never expire when the client disconnects. MQTT v5 clients can change their session expiry interval with the -x argument. -D : Define MQTT v5 properties. See the documentation for more details. -f : send the contents of a file as the message. -h : mqtt host to connect to. Defaults to localhost. -i : id to use for this client. Defaults to mosquitto_pub_ appended with the process id. -I : define the client id as id_prefix appended with the process id. Useful for when the broker is using the clientid_prefixes option. -k : keep alive in seconds for this client. Defaults to 60. -L : specify user, password, hostname, port and topic as a URL in the form: mqtt(s)://[username[:password]@]host[:port]/topic -l : read messages from stdin, sending a separate message for each line. -m : message payload to send. -M : the maximum inflight messages for QoS 1/2.. -n : send a null (zero length) message. -p : network port to connect to. Defaults to 1883 for plain MQTT and 8883 for MQTT over TLS. -P : provide a password -q : quality of service level to use for all messages. Defaults to 0. -r : message should be retained. -s : read message from stdin, sending the entire input as a message. -t : mqtt topic to publish to. -u : provide a username -V : specify the version of the MQTT protocol to use when connecting. Can be mqttv5, mqttv311 or mqttv31. Defaults to mqttv311. -x : Set the session-expiry-interval property on the CONNECT packet. Applies to MQTT v5 clients only. Set to 0-4294967294 to specify the session will expire in that many seconds after the client disconnects, or use -1, 4294967295, or ∞ for a session that does not expire. Defaults to -1 if -c is also given, or 0 if -c not given. --help : display this message. --nodelay : disable Nagle's algorithm, to reduce socket sending latency at the possible expense of more packets being sent. --quiet : don't print error messages. --repeat : if publish mode is -f, -m, or -s, then repeat the publish N times. --repeat-delay : if using --repeat, wait time seconds between publishes. Defaults to 0. --unix : connect to a broker through a unix domain socket instead of a TCP socket, e.g. /tmp/mosquitto.sock --will-payload : payload for the client Will, which is sent by the broker in case of unexpected disconnection. If not given and will-topic is set, a zero length message will be sent. --will-qos : QoS level for the client Will. --will-retain : if given, make the client Will retained. --will-topic : the topic on which to publish the client Will. --cafile : path to a file containing trusted CA certificates to enable encrypted communication. --capath : path to a directory containing trusted CA certificates to enable encrypted communication. --cert : client certificate for authentication, if required by server. --key : client private key for authentication, if required by server. --keyform : keyfile type, can be either "pem" or "engine". --ciphers : openssl compatible list of TLS ciphers to support. --tls-version : TLS protocol version, can be one of tlsv1.3 tlsv1.2 or tlsv1.1. Defaults to tlsv1.2 if available. --insecure : do not check that the server certificate hostname matches the remote hostname. Using this option means that you cannot be sure that the remote host is the server you wish to connect to and so is insecure. Do not use this option in a production environment. --tls-engine : If set, enables the use of a TLS engine device. --tls-engine-kpass-sha1 : SHA1 of the key password to be used with the selected SSL engine. --tls-use-os-certs : Load and trust OS provided CA certificates. --psk : pre-shared-key in hexadecimal (no leading 0x) to enable TLS-PSK mode. --psk-identity : client identity string for TLS-PSK mode. --proxy : SOCKS5 proxy URL of the form: socks5h://[username[:password]@]hostname[:port] Only "none" and "username" authentication is supported.