LightBurn running on Raspberry Pi - Now working

Ditto… Linux is here because AT&T (UNIX) cost a left nut and first born for it…

I keep Tux on my table just to remind me of it all…

:smile_cat:

1 Like

Yes, this is really feasable. But the problem is Lightburn doesn’t support any kind of integration with octoprint (or other software).

When I use octoprint with prusaslicer, I have a single button to send gcode to octoprint.
If i want to use it with LB I have to save gcode, the open it in octoprint. It works, but a little annoying.

Instead to have LB running on RaspberryPI I would prefere to have some API or IPC from LB to others. But is just my 2c.

1 Like

I used usbIP to do remote control with a Raspberry Pi running the usbIP at the laser and since my desktop is also Linux, it’s running there too. I think there are Mac and Windows options like this.
And I was engraving cork outside with a diode laser with a fan on it. Running a high power laser without in-person monitoring is not recommended.

I found a USB client server that’s free for one connection, the server runs on any version of raspberry pi from 0 to 4B it’s easy to install and start.

In light burn it shows up as just another USB port. A one time sever license is $49 and gives you all the options, it’s called VirtualHereUniversal

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

@bhimio’s recent post Bringing back the raspberry pi (not finished) rekindled this subject. Thought I’d come back to this to see if things have changed to potentially improve the situation.

I’ve made some effort to update to latest current LightBurn and to provide for latest Ubuntu 2020.04.6 libraries.

This latest set of changes come with several quality of life improvements and brings this to what I would consider a perfectly usable state. Try this if it’s of any interest to you.

Basically, everything I’ve tried works with the major exception of the camera. However, the camera is detected and trying to use the camera no longer crashes LightBurn.

I believe this is due to difference in symbols provided by some native libraries in Raspberry Pi OS vs Ubuntu but not certain. Would appreciate if anyone can track this down.

Summary of changes:

  1. Updated to LightBurn 1.4.03
  2. Updated to Ubuntu 2020.04.6 for x64 libraries
  3. Online Activation now works correctly; no need for offline activation
  4. Software Update directly in LightBurn should now work

What doesn’t work:

  1. Camera fails to deliver a picture. I’ve included some of the expected gstreamer plugins but still not working

Installation and Usage:

  1. Install 64-bit Pi OS with Desktop
  2. Install box64 - GitHub - ptitSeb/box64: Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices
  3. Download 7zip version of LightBurn (1.4.03 was tested)
  4. Extract LightBurn and enter the LightBurn directory
  5. Download and extract these 7zip files into the LightBurn directory. Remove .txt extension first.
    PiLightBurn_1_4_03_libs.7z.txt (2.9 MB)
    PiLightBurn_1_4_03_libs_2of2.7z.txt (1.9 MB)
  6. Launch LightBurn with the included script: “./launch.sh”
  7. Profit

Here is a list of the Ubuntu .deb files that were extracted and included in the 7zip files:

gstreamer1.0-plugins-bad_1.16.3-0ubuntu1_amd64.deb
libgstreamer-plugins-bad1.0-0_1.16.3-0ubuntu1_amd64.deb
liborc-0.4-0_0.4.31-1_amd64.deb
libgpg-error0_1.37-1_amd64.deb
libgcrypt20_1.8.5-5ubuntu1.1_amd64.deb
libgstreamer1.0-0_1.16.3-0ubuntu1.1_amd64.deb
libwrap0_7.6.q-30_amd64.deb
libasyncns0_0.8-6_amd64.deb
libzstd1_1.4.4+dfsg-3ubuntu0.1_amd64.deb
libtirpc3_1.2.5-1ubuntu0.1_amd64.deb
libsystemd0_245.4-4ubuntu3.22_amd64.deb
libpulse-mainloop-glib0_13.99.1-1ubuntu3.13_amd64.deb
libpulse0_13.99.1-1ubuntu3.13_amd64.deb
libgstreamer-plugins-base1.0-0_1.16.3-0ubuntu1.2_amd64.deb
liblz4-1_1.9.2-2ubuntu0.20.04.1_amd64.deb
libdbus-1-3_1.12.16-2ubuntu2.3_amd64.deb
libapparmor1_2.13.3-7ubuntu5.2_amd64.deb

I would say performance is surprisingly good. I’m using the same Pi3 with 1GB RAM as in the original post. Anything newer should work much better.

[EDIT] 2023-11-25 Updated the library archives to correct packaging issue.

3 Likes

Somehow your shell script is not loading the libs it needs and cant find libzstd (which in cant even start loading whithout)

A few questions:

  1. Did you uncompress the archives inside the LightBurn folder?
  2. Can you capture all the terminal output when running the script and post here?
  3. What OS are you running?

@berainlb Having the same issue as @bhimio … Working with a RPi 4 running Debian GNU/Linux 11 (bullseye), kernel version 5.15.84-v8+. I have uncompressed the two 7z library archives to the LightBurn folder… all libs except libzstd.so.1 seem to load just fine. Here is the output:

Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Running on Cortex-A72 with 4 Cores
Params database has 30 entries
Box64 with Dynarec v0.2.5 12c40a5b built on Oct 25 2023 06:25:21
BOX64: Prefer Emulated libs
Counted 25 Env var
BOX64 LIB PATH: /home/jwebster/Downloads/LightBurn/lib_amd64/lib/x86_64-linux-gnu/:/home/jwebster/Downloads/LightBurn/lib_amd64/usr/lib/x86_64-linux-gnu/:/home/jwebster/Downloads/LightBurn/lib_amd64/usr/lib/x86_64-linux-gnu/pulseaudio/:/home/jwebster/Downloads/LightBurn/lib_amd64/usr/lib/x86_64-linux-gnu/gstreamer-1.0/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/usr/local/bin/:/usr/bin/:/bin/:/usr/games/
Looking for /home/jwebster/Downloads/LightBurn/LightBurn
Rename process to "LightBurn"
Using native(wrapped) libusb-1.0.so.0
Error loading needed lib libzstd.so.1
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5MultimediaWidgets.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5PrintSupport.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Widgets.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Multimedia.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Gui.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5SerialPort.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Network.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Xml.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Core.so.5
Using native(wrapped) libpthread.so.0
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libdl.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Error loading one of needed lib
Error: loading needed libs in elf /home/jwebster/Downloads/LightBurn/LightBurn

Since the script reports using emulated libs in /home/jwebster/Downloads/LightBurn/lib/, I also tried copying libzstd.so.1 to that folder (thinking it may be a PATH/environment issue)… same result. To ensure the environment variables were getting set properly, I added an export comand to the launch script. Here are the relevant variables printed:

declare -x BOX64_LD_LIBRARY_PATH="/home/jwebster/Downloads/LightBurn/lib_amd64/lib/x86_64-linux-gnu:/home/jwebster/Downloads/LightBurn/lib_amd64/usr/lib/x86_64-linux-gnu:/home/jwebster/Downloads/LightBurn/lib_amd64/usr/lib/x86_64-linux-gnu/pulseaudio:/home/jwebster/Downloads/LightBurn/lib_amd64/usr/lib/x86_64-linux-gnu/gstreamer-1.0"
declare -x BOX64_PREFER_EMULATED="1"

I’m very keen to get this working with BOX64, so I appreciate all of the effort you have put into this to get it working, and hope you have a few suggestions.

I haven’t attempted this with anything other than Raspberry Pi OS and a difficult attempt with Ubuntu that was impractical due to the Raspberry Pi 3 I’m running.

Can you first try this with Pi OS “September 22nd 2022” to see if things work correctly at all? I’ve done this in a bubble and have had no independent verifications that this works so would like to confirm first. I suspect this should work fine with a newer edition but I haven’t tested that way.

The balance of native and emulated libraries makes this whole affair a bit tricky. The emulated libraries I’ve controlled by bundling those libraries from Ubuntu 2020.04 but the native libraries being different can create different symbol dependencies that need to be reconciled.

@berainlb I’m happy to try… but can’t locate the image for Pi OS “September 22nd 2022”… I looked at both downloads.rasberrypi.com and releases.ubuntu.com:

image

Can you share a link (or, perhaps, it isn’t Sep 22 2022 but another release?)

Look here please. You need the 64-bit edition:
https://downloads.raspberrypi.com/raspios_arm64/images/raspios_arm64-2022-09-26/

Or for full edition:
https://downloads.raspberrypi.com/raspios_full_arm64/images/raspios_full_arm64-2022-09-26/

I can’t recall which i installed.

@berainlb OK, completely fresh install of raspios_arm64-2022-09-26… and followed your 12 Nov post “Installation and Usage:” list verbatim. Fortunately (or, unfortunately, depending on perspective), it didn’t work. Same exact error running a completely different raspi OS version. I say “fortunately” because, if it worked on your system, there is likely a small tweak to make this work on many systems. Screenshot of all of the output below:

Let me know your thoughts.

Okay. Thanks for confirming. I’ll take a closer look today and circle back.

I think I’ve resolved the problem. When I initially uploaded the library archives I had to repackage the libraries to split them into 2 files to get under the maximum file size limit on the forum. When I did that it appears I broke the symbolic links.

I’ve updated the post with corrected archives. Please test and confirm whether or not it’s working correctly.

@berainlb Well, I think we are closer! No more libzstd.so.1 error… but several other libraries seem to be missing. See output below… and note: though you updated Post 8 to include a .tgz archive, I think it is only .tar. Also, it extracts without relative paths (in other words, all the libraries decompress to the folder the archive is in, rather than with the …/libs64/… pathing you had in the original archives.). I don’t know that it is a problem per se, but it is a difference. It may be that you just need to include the libraries missing as noted from the output:

Dynarec for ARM64, with extension: ASIMD CRC32 PageSize:4096 Running on Cortex-A72 with 4 Cores
Params database has 30 entries
Box64 with Dynarec v0.2.5 12c40a5b built on Oct 25 2023 06:25:21
Counted 27 Env var
BOX64 LIB PATH: ./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/:/usr/local/games/:/usr/games/
Looking for ./LightBurn
Rename process to "LightBurn"
Using native(wrapped) libusb-1.0.so.0
Using emulated libzstd.so.1
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5MultimediaWidgets.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5PrintSupport.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Widgets.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Multimedia.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Gui.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5SerialPort.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Network.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Xml.so.5
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5Core.so.5
Using native(wrapped) libpthread.so.0
Using emulated /lib/x86_64-linux-gnu/libstdc++.so.6
Using native(wrapped) libm.so.6
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libdl.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) librt.so.1
Using emulated /home/jwebster/Downloads/LightBurn/lib/libQt5OpenGL.so.5
Using native(wrapped) libGL.so.1
Using emulated libpulse-mainloop-glib.so.0
Using native(wrapped) libpulse.so.0
Using native(wrapped) libglib-2.0.so.0
Using native(wrapped) libz.so.1
Using native(wrapped) libgssapi_krb5.so.2
Using emulated /home/jwebster/Downloads/LightBurn/lib/libicui18n.so.56
Using emulated /home/jwebster/Downloads/LightBurn/lib/libicuuc.so.56
Using emulated /home/jwebster/Downloads/LightBurn/lib/libicudata.so.56
Using native(wrapped) libgthread-2.0.so.0
Error loading needed lib libpulsecommon-13.99.so
Error loading one of needed lib
Error initializing needed lib libpulse-mainloop-glib.so.0
Error loading one of needed lib
Error initializing needed lib libQt5Multimedia.so.5
Error: Symbol pa_log_level_meta not found, cannot apply R_X86_64_JUMP_SLOT @0x104de4fb8 (0x1120) in libpulse-mainloop-glib.so.0
Error: relocating Plt symbols in elf libpulse-mainloop-glib.so.0
Error initializing needed lib libpulse-mainloop-glib.so.0
Error loading one of needed lib
Error initializing needed lib libQt5MultimediaWidgets.so.5
Error loading one of needed lib
Error: loading needed libs in elf /home/jwebster/Downloads/LightBurn/LightBurn

— UPDATE, and apologies for this addendum, LB forum won’t let me post more than 3 replies at the moment —
@berainlb Update: I had deleted the original ./LightBurn/ folder to try your latest lib archive – which didn’t work as noted above because I only extracted the libs in Post 8 to the root of the ./LightBurn/ folder. I extracted the other two lib archives from the original posts (e.g., 1of2 and 2of2, including the relative paths)… and IT WORKED. LB is now running (at least on the Sep 22 2022 version of RaspiOS). I will now try to go back to my original distro install and see if it works. Will report back shortly…

(You may just have to clean up the lib archives and edit the posts so others can follow along.)


I updated post 32, not 8. Can you review that one?

I updated your user so you should now be able to reply.

@berainlb Excellent work! Following post 32, I now have LB running on Debian GNU/Linux 11 (bullseye) with kernel version 5.15.84-v8+… which started as RaspiOS LITE and manual install of XFCE desktop on top. Though not the latest version of RaspiOS, is sufficiently convoluted to imply this method may work on multiple distro configurations. Good stuff, and hoping others chime in to confirm success with the distro configs.