BeagleBone Black Debian 13 Graphical Image Very Slow with USB Camera on HDMI

Hi everyone,

I’m currently working on a BeagleBone Black Rev C and have encountered a performance issue with the Debian 13 graphical image.

My Setup

  • Board: BeagleBone Black Rev C

  • OS: Debian 13 (Graphical Image)

  • Kernel: 6.18.x

  • Display: HDMI Monitor

  • Camera: Logitech C270 USB Webcam

  • Application: USB camera streaming using V4L2 and ffplay

Issue

The non-graphical Debian 13 image boots and runs well, but since it doesn’t provide a desktop environment, I’m unable to display the camera output on the HDMI monitor. Therefore, I’m using the graphical Debian 13 image and starting the desktop manually:

sudo systemctl start lightdm

However, after the desktop loads, the system becomes extremely slow.

Examples:

  • Opening the File Manager can take 1–2 minutes.

  • Launching the camera stream with:

DISPLAY=:0 ffplay -f v4l2 -video_size 320x240 /dev/video0

takes around 1–2 minutes before the video appears.

  • The video eventually displays, but the entire desktop remains sluggish.

Resource Usage

Using htop while the camera is running shows approximately:

  • CPU Usage: ~90%

  • Memory Usage: Nearly 100%

This makes me wonder whether the graphical Debian 13 image is simply too heavy for the BeagleBone Black’s 512 MB RAM, or if there is something misconfigured.

Questions

  1. Is this level of performance expected on the Debian 13 graphical image?

  2. Has anyone successfully used the graphical image for HDMI applications with acceptable performance?

  3. Are there recommended optimizations to reduce the desktop’s memory footprint?

  4. Has anyone experienced similar performance with USB webcams such as the Logitech C270?

I’d appreciate any suggestions or recommendations from anyone who has worked with recent Debian 13 images on the BeagleBone Black.

Thanks!

None of the Desktop images are zippy. Even the smaller older images which are a little faster, feel slow to use.

Is it possible to use an IoT image, without a Desktop (that won’t be visible anyway), and just manually start the driver (or X or Wayland?) and send what ever images you like to the HMDI port?

Yes, the am335x on the BBB seems to not be “powerful” enough to handle larger fs types like with OS and GUI.

I did run a Linux CNC versioning years ago to test the capabilities of the am335x. @muddassir_AZMI , you are right. It is a bit slow at times. I think the single core of the am335x with systemd, OS, and graphical displays is too much at times for the processor to handle.

Oh and the Linux CNC testing was sluggish on the HDMI. For full blown OS with GUI, I suggest more cores on the processor and this is for most SBCs. I would love to see it differently. I would like Linux CNC or another heavy loaded GUI on my HDMI to be handled swiftly and with a not-so-slow output.

There was once a SPI device application I remember that resembled quick action from camera to HDMI display.

Good luck with the testing. If you ever figure it out, report back. I am still, at times, trying to get good reception on device to device processing speeds.

Update

I just remembered something. I think Buildroot or Poky had a build environment for a GUI. For some reason, I cannot remember which one. If you know your way around those build suites, it may be venturous to test them for the BBB. Bootlin has their ideas posted on the Buildroot site under documentation for testing…

I would need to see about the build for the am335x supported BBB for yocto/poky again. Oh and I see another routine here: Debian: Getting Started with the BeagleBone Black - Linux Guides - DigiKey TechForum - An Electronic Component and Engineering Solution Forum

before working on BBB i was working on the STM32MP257f-dk board … obviously it has 4 GB of RAM, on that i developed heavy graphic gui using Qt so similar kind of thing im trying to developed on BBB board also.

You can try this idea for setting up a small window manager. It is an older post, e.g. there may be a few changes needing to be made.