Camera issues in Linux?

I updated everything to the latest version in Mint.
Nothing changed.
Then I decided to give Fedora a chance. Lightburn is worth it.
After fresh Fedora 30 installation same happens.
Camera is running in Cheese but not in LB.
Even after dnf update there is no camera picture in LB.

It’s built using Ubuntu 16.04, and I tested the camera myself in a VM, with no issues. Adam has tested on Ubuntu 16, 18, Fedora, and one other (I can’t recall).

I’m beginning to realize that Linux is not the “shining light” that it presents itself to be - the dependency issues make it considerably harder to support than the other platforms, so I suspect we’re just going to have to pick a couple of distributions that are known good and call it a day.

We have only 1.5% of our user base on Linux, but they’re fragmented across about 8 different distributions (Mint, Fedora, Arch, Ubuntu 14, 16, 18, Red Hat, Debian, …?)
Windows, on the other hand, is 81% of users, but only 3 platforms (Win10, Win8, and Win7) and those three don’t require specialization - only Win32 and Win64 do. MacOS at 17% is on El Capitain or Mojave, and again, “just works”.

If the Linux users can’t agree on a couple of stable platforms to congregate around, I’ll have to drop it altogether - there’s no universe it which it makes financial sense for me to pursue it otherwise. So, pick a base, I’ll install it on a VM and get it working, but if it keeps being a case of “if it works on A it won’t work on B or C” I don’t see any other way forward.

Three of the top 10 distros on distro watch are Ubuntu and it’s derivatives. I would suggest Ubuntu if you are looking to focus on one popular distro.

I’m willing to switch to any Linux which is supported.
But seems it’s not easy.

billn is running Ubuntu 18.04 and has exactly same issue.
I tried Fedora 30 with same behavior like Mint.

I wonder how Adam and Steve were able runnig the camera in LB.

@Isaac, did it run out of the box?
Is the official Lightburn camera mandatory?
Or is there any configuration (permission etc.) to do?

You don’t need the LightBurn camera on Linux. Running on Ubuntu 16.04 in VirtualBox, I can see my Logitech C920 just fine.

I don’t use a camera with LightBurn. I can’t find mine. :joy:

Ubuntu 18.04 LTS(long term support) should be one option since it’s supported for so long and doesn’t change but every 4 years. But I wonder if using the appimage format won’t get lots more distributions working since it packages up all the libraries and software needed. I run a few AppImage software packages with good results.

I did a short weekend investigation (sadly not able to spend much time :family_man_woman_boy_boy:)

The camera hardware is running by default (tested with cheese) in every distro.
Tested before and also after apt-get update && apt-get upgrade.

  • Fedora 30 - no camera in LB

  • Mint 19.2 - no camera in LB

  • Ubuntu 19.04 - no camera in LB

  • Ubuntu 18.04 - no camera in LB

  • Ubuntu 16.04 - camera working in LB

  • 16.04 is the last version which contains gstreamer 0.10.36 (end of life) beside 1.8.3 (according to documentation).

  • 18.04 doesn’t have 0.10xx and is running gstreamer 1.14.5.

I was interested in the differences of the gstreamer stuff in my fresh installed Ubuntu 16.04 and 18.04:

dpkg -l |grep gstreamer* - Ubuntu 16.04

ii gir1.2-gstreamer-1.0 1.8.3-1~ubuntu0.1 amd64 GObject introspection data for the GStreamer library
ii gstreamer1.0-alsa:amd64 1.8.3-1ubuntu0.3 amd64 GStreamer plugin for ALSA
ii gstreamer1.0-clutter-3.0 3.0.18-1 amd64 Clutter PLugin for GStreamer 1.0
ii gstreamer1.0-fluendo-mp3:amd64 0.10.32.debian-1 amd64 Fluendo mp3 decoder GStreamer 1.0 plugin
ii gstreamer1.0-libav:amd64 1.8.3-1ubuntu0.2 amd64 libav plugin for GStreamer
ii gstreamer1.0-plugins-bad:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer plugins from the “bad” set
ii gstreamer1.0-plugins-bad-faad:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer faad plugin from the “bad” set
ii gstreamer1.0-plugins-bad-videoparsers:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer videoparsers plugin from the “bad” set
ii gstreamer1.0-plugins-base:amd64 1.8.3-1ubuntu0.3 amd64 GStreamer plugins from the “base” set
ii gstreamer1.0-plugins-base-apps 1.8.3-1ubuntu0.3 amd64 GStreamer helper programs from the “base” set
ii gstreamer1.0-plugins-good:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer plugins from the “good” set
ii gstreamer1.0-plugins-ugly:amd64 1.8.3-1ubuntu0.1 amd64 GStreamer plugins from the “ugly” set
ii gstreamer1.0-plugins-ugly-amr:amd64 1.8.3-1ubuntu0.1 amd64 GStreamer plugins from the “ugly” set
ii gstreamer1.0-pulseaudio:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer plugin for PulseAudio
ii gstreamer1.0-tools 1.8.3-1~ubuntu0.1 amd64 Tools for use with GStreamer
ii gstreamer1.0-x:amd64 1.8.3-1ubuntu0.3 amd64 GStreamer plugins for X11 and Pango
ii libgstreamer-plugins-bad1.0-0:amd64 1.8.3-1ubuntu0.2 amd64 GStreamer development files for libraries from the “bad” set
ii libgstreamer-plugins-base1.0-0:amd64 1.8.3-1ubuntu0.3 amd64 GStreamer libraries from the “base” set
ii libgstreamer-plugins-good1.0-0:amd64 1.8.3-1ubuntu0.4 amd64 GStreamer development files for libraries from the “good” set
ii libgstreamer1.0-0:amd64 1.8.3-1~ubuntu0.1 amd64 Core GStreamer libraries and elements
ii libreoffice-avmedia-backend-gstreamer 1:5.1.6~rc2-0ubuntu1~xenial9 amd64 GStreamer backend for LibreOffice

dpkg -l |grep gstreamer* - Ubuntu 18.04

un gstreamer0.10- (no description available)
ii gstreamer1.0-a 1.14.5-0ubun amd64 GStreamer plugin for ALSA
un gstreamer1.0-a (no description available)
un gstreamer1.0-a (no description available)
ii gstreamer1.0-c 3.0.26-1 amd64 Clutter PLugin for GStreamer 1.0
ii gstreamer1.0-g 1.14.5-0ubun amd64 GStreamer plugins for GL
ii gstreamer1.0-g 1.14.5-0ubun amd64 GStreamer plugin for GTK+3
un gstreamer1.0-l (no description available)
ii gstreamer1.0-p 1.1.9-1ubunt amd64 GStreamer plugin to install codec
un gstreamer1.0-p (no description available)
ii gstreamer1.0-p 1.14.5-0ubun amd64 GStreamer plugins from the “base”
ii gstreamer1.0-p 1.14.5-0ubun amd64 GStreamer helper programs from th
ii gstreamer1.0-p 1.14.5-0ubun amd64 GStreamer plugins from the “good”
un gstreamer1.0-p (no description available)
ii gstreamer1.0-p 1.14.5-0ubun amd64 GStreamer plugin for PulseAudio
ii gstreamer1.0-t 1.14.5-0ubun amd64 Tools for use with GStreamer
un gstreamer1.0-v (no description available)
un gstreamer1.0-v (no description available)
un gstreamer1.0-v (no description available)
ii gstreamer1.0-x 1.14.5-0ubun amd64 GStreamer plugins for X11 and Pan

There is much less stuff in 18.04 than 16.04.
Mainly plugins are missing. I didn’t had the time to give it a try.

My personal solution at the moment:
Ubuntu 19.04 and Fedora 30 makes my system freeze and unresponsible a few times.
So I switched from my rock stable Mint 19.2 to 16.04 which is running well and it is supported perfectly by Lightburn :wink:

@Doug
An AppImage contains every library which is not included in the distro it is build.
This mean it can fail in other distro’s which has a lighter or very different setup.
There is no guarantee it will run everywhere. The Developer has to check the AppImage in every distro and add more stuff if needed.

I am new to this forum and to laser cutters, in general, but an old hat at interfacing Linux machine with USB devices like 3D printers. I got LB to work in windows but as most of the machines in our school are Linux based (Mint 19.2) I decided to give LB a try and devote a standalone machine to the job of controlling our Ruida based laser.

Out of the box with the latest copy of LB (0.9.05) I got it working with our Ruida based machine and even got a generic logicam camera to work without any problems. I haven’t run it through the calibration yet as I didn’t have a printout of the test pattern nor do I have a mount rigged up to fix the camera to the interior.

There was one small glitch I haven’t been able to suss out yet and that is that I seem to have to run the AppImage with sudo or it doesn’t see the laser on the USB bus. The user I am logged into does have plugdev and tty group as well as all the usual administrator privileges (although I do want to eventually get it running under it’s own user account ala kiosk mode). I have run the AppImage as a program with ownership as the administrator account (works great as long as I run it in terminal with sudo). I then changed the owner to root, installed it in the /opt/ directory (along with other special custom programs and built a custom desktop launcher so it is visible to all users. Again, it runs perfectly as long as I run it with sudo.

In every example when I launch the program without elevated privileges the program runs fine, it just can’t see anything on the USB busses. I have seen this problem with 3D printers, attached Arduinos and other controllers and it was always solved with messing with the udev files. I have the vendor and part id associated with our cutter and begun to tinker but was wondering if anybody has seen this problem with the linux version and if they found a solution. I’ll post anything I find on this point.

If you already have your user on the correct groups for the USB devices then yeah, it’s likely udev rules. Though that would of course be very specific to your devices and is honestly a bit out of my depth.

We seem to have a lot of people trying to use Mint though I will say that there’s been a lot of issues with it… even though 19.2 is the newest currently it uses some really old versions of libraries which has caused problems for some. Latest Ubuntu or Fedora are really the only sure thing in my experience. Definitely can make it work with others but it may be a hassle.

One other thought I just had is if selinux is enabled (run sestatus). It may be blocking access to some devices?

The Ruida controllers use a virtual com port driver over USB. You likely need to add the user account to the dialout group. Run this command and you should be good to go.

sudo adduser $USER dialout

Good thought. When I get in Monday I’ll give it a try. I can always spin up an ubuntu machine or even fall back to windows. I was just so pleasantly surprised to see it work out of the box in every other regard I thought I’d spend a little time seeing what might be up. Linux works better in our environment as we can control minute details of user accounts more easily but it isn’t a big deal either way. I’ll report back what I find. Thanks again.

Solved!
Yes, it was a udev problem. The permissions on an FTDI psuedo port were set, by default to not allow user access. Simple fix:

  • open a terminal
cd /etc/udev/rules.d/
sudo touch 90-ftdi-useraccess.rules
sudo nano 90-ftdi-useraccess.rules
  • insert the following line:

SUBSYSTEMS==“usb”, ATTRS{idVendor}==“0403”, ATTRS{idProduct}==“6001”, GROUP=“dialout”, MODE=“0666”

  • save the file, (adjust the name of the file, vendorID and productID as needed)
  • reload the rules.
sudo udevadm control --reload

unplug and re-plug your laser in (a Boss Laser with Ruida controller in my case) and away I go, full user access:

$ ls -l /dev/ttyU*
crw-rw-rw- 1 root dialout 188, 0 Sep 23 12:48 /dev/ttyUSB0

Thanks for the suggestion. Now on to calibration.

1 Like

If anyone using Ubuntu 18.04 and can’t get their camera to be recognized by LightBurn, this is what I did which is working.

I booted a live version of Lubuntu 16.04( smallish image ) and tar’ed the gstreadmers plugin directory:
cd /usr/lib/x86_64-linux-gnu && tar -czvf /tmp/gstreamer-16.04.tgz gstreamer-1.0
NOTE: or you can get it from my gdrive - https://drive.google.com/open?id=1hpIh3ubLnJ0kLoKljqq6X3_Kgq0EkBrh

copied gstreamer-16.04.tgz to my booted Ubuntu 18.04 file system( xfer the file anyway you see fit )
specifically into a directory I keep my LightBurn appImage file in and then I extract it.
tar -xf gstreamer-16.04.tgz

Now start LightBurn like this:
GST_PLUGIN_SYSTEM_PATH=./gstreamer-1.0 ./LightBurn-v0.9.07-x86_64.AppImage

or put it into a bash script so it’s run every time you run LIghtBurn.

@crparis did you figure out your problems with alignment? I’ve not mounted my camera yet but walked through the alignment on my laptop to check out the process and it seemed to work.

1 Like

@DougL that suggestion was very helpful and fixed the issue with the camera preview for me, thanks! Can’t say how grateful I am to be able to do registered cuts from Linux after so many devices that forced me to use a dual boot or a janky VirtualBox install. Unfortunately, my external camera is really buggy in Linux so I couldn’t test it out. Since my enclosure is not very tall, I was really happy to find a wide-angle low-profile camera module here that purports to work well with Linux… fingers crossed!

1 Like

Ok, not only did you post this today but a fellow LightBurn user posted how he recently setup and used his camera with LightBurn. Coincidents happen so I needed to actually finish the setup and see how this works. Having the Ortur LaserMaster 1 on the tabletop next to me, a USB camera and a yardstick to clip the camera it to so it’s holding it over the Ortur…

Voila! It does work and make alignment even easier than the 6(?) step process I posted earlier using the origin change, selection centering and framing. The Calibrate Camera Alignment was a bit tricky as it would not take the picture after the image was burned on the wood. After exiting out of the tool and going back into it, skipping the image burning part I was able to get it to work. I thought there might be some image recognition going on so I hand drew the targets on paper and got it a little bit wrong but other then being about 10mm off horizontally it seems to work well.

The Camera alignment process also asked for a 200mm x 200mm target piece of material but the work area of the Ortur LM1 is 160x150 so I scaled the image 60% and worked with that.

The design is not burned on the blank ornament, that’s the design in LightBurn positioned over the blank ornament already cutout with my 40W laser. -

This is working for me now.
I had 2 different versions of Linux Mint. One version was working fine and the other was not. The older version allows you to install the old version of Gstreamer, where the other version won’t let you do it as it says that Gstreamer is depreciated. [I seem to remember that it was depreciated by ffmpeg, but not sure].

DougL solved the problem, but the command needs to be updated for the newer versions of Lightburn Images. His “./” command runs a bash script which isn’t needed.

This worked for me =
GST_PLUGIN_SYSTEM_PATH=./gstreamer-1.0 /.local/share/LightBurn/LightBurn

Run the command from the directory where you downloaded DougL’s ‘gstreamer-1.0’ to.

One thing I noticed is that I first get a still image from the camera that doesn’t update, but when I quit out of the camera section and went back in, it had updated. I did that a few times and it then started to update the video and run just fine - weird behaviour.

Thanks DougL !

1 Like

For reference, the version of Linux MInt that worked just fine was Version 19 'Tara".
The version that I had to use Dougl’s command (modified) was Version 20 ‘Ulyana’.
I hope that info might help someone.

Correct, the script in my repository named “lightburn” really just checks to see if you have installed my repository on your computer( in your home directory ) and if not it will pull it off github and put it on your computer. It therefore creates a directory which is the name of the repository( LightBurnLibs ) and in that is the gstreamer library files you need along with the script, lightburn, which can be used to start LightBurn. I have ~/bin in my PATH variable so I copy the lightburn script to ~/bin so from any directory I can start LightBurn by just typing the command, lightburn.

You’ll notice in the script it really just sets up the GST_PLUGIN_SYSTEM_PATH environment variable for LightBurn to use.

If you want a desktop or menu icon, create a file( ~/Desktop/lightburn.desktop ) with this but add your user login ID where it says YourUserID.

#!/usr/bin/env xdg-open
[Desktop Entry]
Type=Application
Name=LightBurn 0.9.24
Comment=Better Software For Laser Cutters
/home/YourUserID/.local/share/LightBurn/LightBurn
Exec=/home/YourUserID/LightBurnLibs/lightburn
Icon=/home/YourUserID/.local/share/LightBurn/LightBurn.png
#Categories=Engineering;
Categories=Graphics;