libam7xxx-0.1.7 released

The libam7xxx-0.1.7 release is out; it's a maintenance release with no big new features.

libam7xxx is a library to communicate with USB pico-projectors like, for instance, the Philips/Sagemcom PicoPix devices; you can read more about it in some of the previous stories:

One notable change in this release is that FFMpeg 3.1+ is now required to build one of the example programs.

Building for Windows has also been improved.

Here is an overview from the NEWS file of the changes accumulated since the previous release:

News for v0.1.7:

  * Fix FFMpeg deprecation warnings, the code now depends on FFMpeg 3.1+ 
  * Fix compilation on Windows
  * Update the Windows build instructions in HACKING.asciidoc
  * Add a HOWTO for new users in contrib/howto-picopix.asciidoc
  * Add a patch to contrib/ to allow compiling libam7xxx on Ubuntu 14.04 LTS
  * Make sure am7xxx_get_device_info() always returns sensible values
  * Fix warnings about _BSD_SOURCE deprecation
  * Misc code and build system cleanups

The Debian packages have been kindly uploaded to Unstable by Gregor Herrmann.

CommentsSyndicate content

Hi Antonio, First of all

Bastien's picture

Hi Antonio,

First of all thank you very much for the work you' ve done writing this driver!

I have an Acer C120 and I'm trying to use it on my PC with Ubuntu 16.04 LTS.

I didn't really know how to proceed with your code, so I followed the instructions from this page:

I've installed the driver with: sudo apt-get install libam7xxx0.1-bin

Then I plugged my Acer C120 and I ran the following comand:
am7xxx-play -f x11grab -i :0.0

But I got this message:
scan_devices[919]: Cannot find any device to open
am7xxx_open_device: No such device

Did I do something wrong, did I miss something?

Thank you very much for your help :)

Hi Bastien, the Acer C120 is

ao2's picture

Hi Bastien,

the Acer C120 is not based on the AM7XXX chip so it won't work with libam7xxx.

The good news is that there is a kernel driver written by Hans de Goede for it, see

Having a kernel driver means that the Acer C120 will work even better than AM7XXX projectors.

I think Hans also tried to submit the driver for inclusion into the mainline linux tree, but I am not sure what the status is, you can ask him.

Ciao, Antonio

Hi Antonio, Thanks for your

Bastien's picture

Hi Antonio,

Thanks for your response. I didn't realize your code wasn't conceived for the Acer120, my mistake.

I tried the kernel driver from Hans. I have a problem during the compilation so I'll try to contact him directly.

Anyway, thank you very much.


Do you know how/where I could

Bastien's picture

Do you know how/where I could contact him?

If you look at any of the

ao2's picture

If you look at any of the commits in the gm12u320-kms git repository you can find his e-mail address.

Thank you for the update. I

Rickyx's picture

Thank you for the update.
I have installed in Debian Buster libam7xxx (0.1.7-1) from the standard sources but I have some troubles:
trying the command "am7xxx-play -f x11grab -i :0.0 -o video_size=800x480" I display only my mouse cursor (correctly) on a black background: what is on my desktop does not show ...

Do you have any suggestion?
Thank you,

Hi Rickyx, IIRC the

ao2's picture

Hi Rickyx,

IIRC the video_size=800x480 option does not rescale the input, so it might be that you are projecting only a portion of the screen.

Try without the option, or change the screen resolution.

Ciao, Antonio

Grazie Antonio, I tried

Rickyx's picture

Grazie Antonio,

I tried without the option but is the whole screen black:
I done a video demonstrating the problem (sorry for the low quality):

On the left you can see the projected mouse on a black background: I'm for sure missing some option.
I'm using Gnome with Wayland, don't know if it is interesting...

Grazie ancora,

Ah, the x11grab input format

ao2's picture

Ah, the x11grab input format assumes a full X11 setup, using it under Wayland may capture Xwayland which is used only for backwards compatibility with some applications and does not manage the whole screen.

Capturing the screen under Wayland is trickier (see here for some info) and ffmpeg, which am7xxx-play is based on, does not support it.

You may try different solutions:

  • using GNOME in an Xorg session. Debian makes it very easy, look at the GDM login screen;
  • try the kmsgrab input format but that does not work with some drivers;
  • write something Gnome-specific, it looks like the org.gnome.Shell.Screencast service relies on GStreamer, so using gst-am7xxxsink should not be too hard. I looked at green-recorder and the code is easy to follow, that could be the base for an experiment.

Ciao, Antonio

GNOME in an Xorg session

Rickyx's picture

GNOME in an Xorg session works perfectly!

Thank you for the software and the help,

strange.. I'm having a "no

Felipe Marschall's picture

strange.. I'm having a "no such device" for my PicoPix 2055

scan_devices: am7xxx device found, index: 0, name: Philips/Sagemcom PicoPix 2055
am7xxx_open_device: No such device

Hello Antonio, I also sent

Drin Kurtishi's picture

Hello Antonio, I also sent you an email about my issue, but I dont know if it has gone through, so ill post it here as well.

I have a picopix 2055 and need Ubuntu to work with it. I installed libam7xxx1.7 but when I try to project my desktop (by running "am7xxx-play -f x11grab -i :0.0" I get the error: "[swscaler @ 0x55f2ecb70080] deprecated pixel format used, make sure you did set the range correctly"

Now I dont know how i can even start to fix this, im new to Linux, so I really hope you can help me, I really love the work that youve done.

I tried googling about this issue and some linux users also had this problem (but for usb cams) and they fixed it by launching their usb_cam ROS node with pixel_format="yuyv". (i have no idea what that means and I dont know what to do with that info).

I hope to hear from you,
with respect, Drin

Heres a copy paste from the

Drin Kurtishi's picture

Heres a copy paste from the terminal (this also happens if the file is a movie from my pc) :

drin@drin-HP-ProBook-455-G8-Notebook-PC:~$ am7xxx-play -i
scan_devices: am7xxx device found, index: 0, name: Philips/Sagemcom PicoPix 2055
^[[AInput #0, mov,mp4,m4a,3gp,3g2,mj2, from '':
major_brand : M4V
minor_version : 1
compatible_brands: M4V M4A mp42isom
creation_time : 2008-06-03T05:23:28.000000Z
copyright : © 2008 Blender Foundation |
title : Big Buck Bunny
artist : Peach Open Movie Team
composer : Sacha Goedegebure / Ton Roosendaal
date : 2008
Duration: 00:09:56.46, start: 0.000000, bitrate: 1626 kb/s
Stream #0:0(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
creation_time : 2008-06-03T05:23:28.000000Z
handler_name : Apple Sound Media Handler
vendor_id : [0][0][0][0]
Stream #0:1(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 640x359, 1495 kb/s, 24 fps, 24 tbr, 2400 tbn, 4800 tbc (default)
creation_time : 2008-06-03T05:23:28.000000Z
handler_name : Apple Video Media Handler
vendor_id : [0][0][0][0]
[swscaler @ 0x55be9975fec0] deprecated pixel format used, make sure you did set range correctly

Also here's what happens when

Drin Kurtishi's picture

Also here's what happens when i try to project desktop:

drin@drin-HP-ProBook-455-G8-Notebook-PC:~$ am7xxx-play -f x11grab -i :0
scan_devices: am7xxx device found, index: 0, name: Philips/Sagemcom PicoPix 2055
[x11grab @ 0x55cec4c37100] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from ':0':
Duration: N/A, start: 1709160836.041820, bitrate: 8847360 kb/s
Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 3840x1200, 8847360 kb/s, 60 fps, 1000k tbr, 1000k tbn, 1000k tbc
[swscaler @ 0x55cec4c66a40] deprecated pixel format used, make sure you did set range correctly

Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account associated with the e-mail address you provide, it will be used to display your avatar.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Enter the code without spaces.