Go to file
Joshua Wise 43a7f88c6c Add support for Bambu Lab X1 series live video stream on Linux.
wxWidgets on Linux uses GStreamer as its back-end for wxMediaCtrl, which
doesn't have a bambu: URI handler.  On Windows, this is handled by a Windows
Media subsystem plugin, and on Mac, this is handled with a BambuPlayer
class.  Luckily, the libBambuSource.so binary that is distributed with the
network plugin package already contains support for receiving h.264 data
from the network, and the API is the same as is used by the tiny
bambusource.exe binary on Windows; we glue this into a GStreamer source
plugin that registers a URI handler for bambu:.

To make this work, we make a few additional changes elsewhere.  GStreamer
seems to have trouble rendering an Xv overlay onto a 32bpp X visual, but
Bambu Slicer seems to request a 32bpp visual for some background
transparency in the Notebook; it doesn't seem to use it in an interesting
way on Linux, though, so we remove that request for transparency to allow
Bambu Studio to render to a 24bpp visual.  The media controller
infrastructure also makes a few assumptions about when sizing information
can be queried from a wxMediaCtrl backend that do not hold true on Linux; we
either fix those assumptions, or fake them out, as needed.  We also make a
few changes needed to successfully compile C.

This has only been tested with the GStreamer backend for wxWidgets --
notably, not the GStreamer-play backend (these are, astonishingly, two
different things!).  If you find that this seems not to work, consider
*un*installing the libgstreamer-plugins-bad1.0-dev package and then
rebuilding wxWidgets.
2023-01-12 14:56:04 +08:00
.github/ISSUE_TEMPLATE Update issue templates 2022-11-23 22:58:48 +08:00
bbl/i18n ENH: translate support setting suggestions 2023-01-10 19:08:26 +08:00
bbs_test_tools ENH: gcodechecker updare 2022-12-15 04:33:48 -05:00
cmake Linux: update GLEW to 2.2.0, and enable EGL support in GLEW to match wxWidgets 2023-01-12 12:29:59 +08:00
deps deps/wxWidgets: avoid patching too many times 2023-01-12 14:23:37 +08:00
doc add release notes files for current version 2022-09-14 17:39:11 +08:00
lib Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
resources FIX: [STUDIO-1752] remove background of tips_arrow 2023-01-10 19:08:26 +08:00
sandboxes Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
src Add support for Bambu Lab X1 series live video stream on Linux. 2023-01-12 14:56:04 +08:00
t Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
tests Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
xs Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
.gitignore add the gitignore of BambuStudio 2022-07-15 23:20:04 +08:00
BambuStudio.mo Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BambuStudio.sublime-project Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
Build.PL Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
BuildLinux.sh Add check_available_memory_and_disk to BuildLinux.sh 2022-12-09 09:42:41 +08:00
CMakeLists.txt Linux: update GLEW to 2.2.0, and enable EGL support in GLEW to match wxWidgets 2023-01-12 12:29:59 +08:00
Containerfile Update Containerfile to make it Docker compatible 2022-12-09 09:42:41 +08:00
LICENSE Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
README.md Update README.md 2022-07-18 09:39:34 +08:00
Readme.txt Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
build_win.bat Add the full source of BambuStudio 2022-07-15 23:42:08 +08:00
localazy.json ENH: modify diff for github 2022-12-15 04:38:15 -05:00
version.inc ci: update build version to 01.04.01.52 2022-12-26 05:31:54 -05:00

README.md

image

BambuStudio

Bambu Studio is a cutting-edge, feature-rich slicing software.
It contains project-based workflows, systematically optimized slicing algorithms, and an easy-to-use graphic interface, bringing users an incredibly smooth printing experience.

Prebuilt Windows, macOS 64-bit releases are available through the github releases page.
Linux version currently is not supported.

Bambu Studio is based on PrusaSlicer by Prusa Research, which is from Slic3r by Alessandro Ranellucci and the RepRap community.

See the wiki and the documentation directory for more informations.

What are Bambu Studio's main features?

Key features are:

  • Basic slicing features & GCode viewer
  • Multiple plates management
  • Remote control & monitoring
  • Auto-arrange objects
  • Auto-orient objects
  • Hybrid/Tree/Normal support types, Customized support
  • multi-material printing and rich painting tools
  • multi-platform (Win/Mac/Linux) support
  • Global/Object/Part level slicing parameters

Other major features are:

  • Advanced cooling logic controlling fan speed and dynamic print speed
  • Auto brim according to mechanical analysis
  • Support arc path(G2/G3)
  • Support STEP format
  • Assembly & explosion view
  • Flushing transition-filament into infill/object during filament change

How to compile

Following platforms are currently supported to compile:

Report issue

You can add an issue to the github tracker if it isn't already present.

License

Bambu Studio is licensed under the GNU Affero General Public License, version 3. Bambu Studio is based on PrusaSlicer by PrusaResearch.

PrusaSlicer is licensed under the GNU Affero General Public License, version 3. PrusaSlicer is owned by Prusa Research. PrusaSlicer is originally based on Slic3r by Alessandro Ranellucci.

Slic3r is licensed under the GNU Affero General Public License, version 3. Slic3r was created by Alessandro Ranellucci with the help of many other contributors.

The GNU Affero General Public License, version 3 ensures that if you use any part of this software in any way (even behind a web server), your software must be released under the same license.

The bambu networking plugin is based on non-free libraries. It is optional to the Bambu Studio and provides extended functionalities for users.