Skip to content

Commit 5ef51f6

Browse files
committed
Merge branch 'master-remote' into feature/1.5
Signed-off-by: SoftFever <[email protected]> # Conflicts: # bbl/i18n/BambuStudio.pot # bbl/i18n/de/BambuStudio_de.po # bbl/i18n/en/BambuStudio_en.po # bbl/i18n/es/BambuStudio_es.po # bbl/i18n/fr/BambuStudio_fr.po # bbl/i18n/hu/BambuStudio_hu.po # bbl/i18n/it/BambuStudio_it.po # bbl/i18n/nl/BambuStudio_nl.po # bbl/i18n/sv/BambuStudio_sv.po # bbl/i18n/zh_cn/BambuStudio_zh_CN.po # deps/Boost/Boost.cmake # deps/wxWidgets/wxWidgets.cmake # resources/config.json # resources/i18n/de/BambuStudio.mo # resources/i18n/en/BambuStudio.mo # resources/i18n/es/BambuStudio.mo # resources/i18n/fr/BambuStudio.mo # resources/i18n/hu/BambuStudio.mo # resources/i18n/it/BambuStudio.mo # resources/i18n/nl/BambuStudio.mo # resources/i18n/sv/BambuStudio.mo # resources/i18n/zh_cn/BambuStudio.mo # resources/images/tips_arrow.svg # resources/profiles/Anycubic.json # resources/profiles/Anycubic/filament/Anycubic Generic ABS.json # resources/profiles/Anycubic/filament/Anycubic Generic ASA.json # resources/profiles/Anycubic/filament/Anycubic Generic PA-CF.json # resources/profiles/Anycubic/filament/Anycubic Generic PA.json # resources/profiles/Anycubic/filament/Anycubic Generic PC.json # resources/profiles/Anycubic/filament/Anycubic Generic PETG.json # resources/profiles/Anycubic/filament/Anycubic Generic PLA-CF.json # resources/profiles/Anycubic/filament/Anycubic Generic PLA.json # resources/profiles/Anycubic/filament/Anycubic Generic PVA.json # resources/profiles/Anycubic/filament/Anycubic Generic TPU.json # resources/profiles/Anycubic/filament/fdm_filament_common.json # resources/profiles/Anycubic/machine/Anycubic 4Max Pro 0.4 nozzle.json # resources/profiles/Anycubic/machine/Anycubic 4Max Pro.json # resources/profiles/Anycubic/process/0.20mm Standard @4MaxPro.json # resources/profiles/Anycubic/process/fdm_process_common.json # resources/profiles/BBL.json # resources/profiles/BBL/machine/Bambu Lab P1P 0.2 nozzle.json # resources/profiles/BBL/machine/Bambu Lab P1P 0.4 nozzle.json # resources/profiles/BBL/machine/Bambu Lab P1P 0.6 nozzle.json # resources/profiles/BBL/machine/Bambu Lab P1P 0.8 nozzle.json # resources/profiles/BBL/machine/Bambu Lab X1 0.2 nozzle.json # resources/profiles/BBL/machine/Bambu Lab X1 0.4 nozzle.json # resources/profiles/BBL/machine/Bambu Lab X1 0.6 nozzle.json # resources/profiles/BBL/machine/Bambu Lab X1 0.8 nozzle.json # resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.2 nozzle.json # resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.4 nozzle.json # resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.6 nozzle.json # resources/profiles/BBL/machine/Bambu Lab X1 Carbon 0.8 nozzle.json # resources/profiles/BBL/machine/fdm_bbl_3dp_001_common.json # resources/profiles/Voron.json # resources/web/data/text.js # resources/web/image/printer/Anycubic 4Max Pro_cover.png # src/BambuStudio.cpp # src/libslic3r/GCode.cpp # src/libslic3r/GCode.hpp # src/libslic3r/GCode/GCodeProcessor.cpp # src/libslic3r/GCodeWriter.hpp # src/libslic3r/PerimeterGenerator.cpp # src/libslic3r/PresetBundle.cpp # src/libslic3r/Print.cpp # src/libslic3r/Print.hpp # src/libslic3r/PrintConfig.cpp # src/libslic3r/PrintConfig.hpp # src/libslic3r/PrintObject.cpp # src/slic3r/GUI/AMSMaterialsSetting.cpp # src/slic3r/GUI/AMSMaterialsSetting.hpp # src/slic3r/GUI/AmsMappingPopup.cpp # src/slic3r/GUI/AmsMappingPopup.hpp # src/slic3r/GUI/Auxiliary.cpp # src/slic3r/GUI/BackgroundSlicingProcess.cpp # src/slic3r/GUI/ConfigManipulation.cpp # src/slic3r/GUI/DeviceManager.cpp # src/slic3r/GUI/DeviceManager.hpp # src/slic3r/GUI/ExtrusionCalibration.cpp # src/slic3r/GUI/GCodeViewer.cpp # src/slic3r/GUI/GCodeViewer.hpp # src/slic3r/GUI/GUI_App.cpp # src/slic3r/GUI/IMSlider.cpp # src/slic3r/GUI/Jobs/PrintJob.cpp # src/slic3r/GUI/Jobs/PrintJob.hpp # src/slic3r/GUI/Jobs/SendJob.cpp # src/slic3r/GUI/Jobs/SendJob.hpp # src/slic3r/GUI/MainFrame.cpp # src/slic3r/GUI/MainFrame.hpp # src/slic3r/GUI/MediaPlayCtrl.cpp # src/slic3r/GUI/OptionsGroup.cpp # src/slic3r/GUI/PhysicalPrinterDialog.cpp # src/slic3r/GUI/Plater.cpp # src/slic3r/GUI/PrintHostDialogs.cpp # src/slic3r/GUI/Printer/BambuTunnel.h # src/slic3r/GUI/Printer/PrinterFileSystem.cpp # src/slic3r/GUI/Printer/gstbambusrc.c # src/slic3r/GUI/Printer/gstbambusrc.h # src/slic3r/GUI/ReleaseNote.cpp # src/slic3r/GUI/ReleaseNote.hpp # src/slic3r/GUI/SelectMachine.cpp # src/slic3r/GUI/SendToPrinter.cpp # src/slic3r/GUI/SetBedTypeDialog.cpp # src/slic3r/GUI/StatusPanel.cpp # src/slic3r/GUI/StatusPanel.hpp # src/slic3r/GUI/Tab.cpp # src/slic3r/GUI/Widgets/AMSControl.cpp # src/slic3r/GUI/Widgets/AMSControl.hpp # src/slic3r/GUI/Widgets/ImageSwitchButton.cpp # src/slic3r/GUI/Widgets/Label.cpp # src/slic3r/GUI/WipeTowerDialog.cpp # src/slic3r/Utils/Process.cpp # src/slic3r/Utils/bambu_networking.hpp # version.inc
2 parents 939b43a + 0d6778a commit 5ef51f6

File tree

339 files changed

+45295
-13571
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

339 files changed

+45295
-13571
lines changed

.dockerignore

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
Build
2+
Build.bat
3+
/build/
4+
deps/build
5+
MYMETA.json
6+
MYMETA.yml
7+
_build
8+
blib
9+
xs/buildtmp
10+
*.o
11+
*.log
12+
MANIFEST.bak
13+
xs/MANIFEST.bak
14+
xs/assertlib*
15+
.init_bundle.ini
16+
.vs/*
17+
local-lib
18+
/src/TAGS
19+
/.vscode/
20+
build-linux/*
21+
deps/build-linux/*
22+
**/.DS_Store
23+
install_*
24+
build_*/
25+
SVG
26+
Dockerfile
27+
DockerBuild.sh
28+
DockerRun.sh

.github/workflows/build_ubuntu.yml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Build Linux
2+
3+
on: [pull_request]
4+
5+
jobs:
6+
appimage-builder:
7+
name: Linux AppImage Build
8+
9+
runs-on: ubuntu-20.04
10+
11+
steps:
12+
- uses: actions/checkout@v3
13+
- name: Install dependencies
14+
run: |
15+
sudo apt-get update
16+
sudo apt-get install cmake libgl1-mesa-dev libgtk-3-dev libxkbcommon-dev libunwind-dev libfuse2 -y
17+
- name: Install dependencies from BuildLinux.sh
18+
shell: bash
19+
run: sudo ./BuildLinux.sh -ur
20+
- name: Fix permissions
21+
shell: bash
22+
run: sudo chown $USER -R ./
23+
- name: Build deps
24+
id: cache_deps
25+
uses: actions/cache@v3
26+
env:
27+
cache-name: ${{ runner.os }}-cache-bambustudio_deps_x64
28+
with:
29+
path: ${{ github.workspace }}/deps/build/destdir
30+
key: build-${{ env.cache-name }}
31+
32+
- if: ${{ steps.cache_deps.outputs.cache-hit != 'true' }}
33+
name: Build deps
34+
working-directory: ${{ github.workspace }}
35+
continue-on-error: true
36+
run: ./BuildLinux.sh -dsr
37+
38+
- name: Build Studio
39+
shell: bash
40+
run: ./BuildLinux.sh -ir
41+
- uses: actions/upload-artifact@v3
42+
with:
43+
name: BambuStudio_Linux
44+
path: './build/BambuStudio_ubu64.AppImage'

.gitignore

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@ local-lib
2020
build-linux/*
2121
deps/build-linux/*
2222
**/.DS_Store
23-
install_dir
24-
install_release
23+
install_*
24+
build_*/
2525
SVG

DockerBuild.sh

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
PROJECT_ROOT=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
3+
4+
set -x
5+
6+
# Wishlist hint: For developers, creating a Docker Compose
7+
# setup with persistent volumes for the build & deps directories
8+
# would speed up recompile times significantly. For end users,
9+
# the simplicity of a single Docker image and a one-time compilation
10+
# seems better.
11+
docker build -t bambustudio \
12+
--build-arg USER=$USER \
13+
--build-arg UID=$(id -u) \
14+
--build-arg GID=$(id -g) \
15+
$PROJECT_ROOT

DockerRun.sh

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#!/bin/bash
2+
set -x
3+
# Just in case, here's some other things that might help:
4+
# Force the container's hostname to be the same as your workstation
5+
# -h $HOSTNAME \
6+
# If there's problems with the X display, try this
7+
# -v /tmp/.X11-unix:/tmp/.X11-unix \
8+
docker run \
9+
`# Use the hosts networking. Printer wifi and also dbus communication` \
10+
--net=host \
11+
`# Run as your workstations username to keep permissions the same` \
12+
-u $USER \
13+
`# Bind mount your home directory into the container for loading/saving files` \
14+
-v $HOME:/home/$USER \
15+
`# Pass the X display number to the container` \
16+
-e DISPLAY=$DISPLAY \
17+
`# It seems that libGL and dbus things need privileged mode` \
18+
--privileged=true \
19+
`# Attach tty for running bambu with command line things` \
20+
-ti \
21+
`# Pass all parameters from this script to the bambu ENTRYPOINT binary` \
22+
bambustudio $*
23+

Dockerfile

+92
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
FROM docker.io/ubuntu:20.04
2+
LABEL maintainer "DeftDawg <[email protected]>"
3+
4+
# Disable interactive package configuration
5+
RUN apt-get update && \
6+
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
7+
8+
# Add a deb-src
9+
RUN echo deb-src http://archive.ubuntu.com/ubuntu \
10+
$(cat /etc/*release | grep VERSION_CODENAME | cut -d= -f2) main universe>> /etc/apt/sources.list
11+
12+
RUN apt-get update && apt-get install -y \
13+
autoconf \
14+
build-essential \
15+
cmake \
16+
curl \
17+
eglexternalplatform-dev \
18+
extra-cmake-modules \
19+
file \
20+
git \
21+
libcairo2-dev \
22+
libcurl4-openssl-dev \
23+
libdbus-1-dev \
24+
libglew-dev \
25+
libglu1-mesa-dev \
26+
libglu1-mesa-dev \
27+
libgstreamer1.0-dev \
28+
libgstreamerd-3-dev \
29+
libgstreamer-plugins-base1.0-dev \
30+
libgstreamer-plugins-good1.0-dev \
31+
libgtk-3-dev \
32+
libgtk-3-dev \
33+
libmspack-dev \
34+
libosmesa6-dev \
35+
libsecret-1-dev \
36+
libsoup2.4-dev \
37+
libssl-dev \
38+
libudev-dev \
39+
libwayland-dev \
40+
libwebkit2gtk-4.0-dev \
41+
libxkbcommon-dev \
42+
locales \
43+
locales-all \
44+
m4 \
45+
pkgconf \
46+
sudo \
47+
wayland-protocols \
48+
wget
49+
50+
# Change your locale here if you want. See the output
51+
# of `locale -a` to pick the correct string formatting.
52+
ENV LC_ALL=en_US.utf8
53+
RUN locale-gen $LC_ALL
54+
55+
# Set this so that Bambu Studio doesn't complain about
56+
# the CA cert path on every startup
57+
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
58+
59+
COPY ./ BambuStudio
60+
61+
WORKDIR BambuStudio
62+
63+
# These can run together, but we run them seperate for podman caching
64+
# Update System dependencies
65+
RUN ./BuildLinux.sh -u
66+
67+
# Build dependencies in ./deps
68+
RUN ./BuildLinux.sh -d
69+
70+
# Build slic3r
71+
RUN ./BuildLinux.sh -s
72+
73+
# Build AppImage
74+
ENV container podman
75+
RUN ./BuildLinux.sh -i
76+
77+
# It's easier to run Bambu Studio as the same username,
78+
# UID and GID as your workstation. Since we bind mount
79+
# your home directory into the container, it's handy
80+
# to keep permissions the same. Just in case, defaults
81+
# are root.
82+
SHELL ["/bin/bash", "-l", "-c"]
83+
ARG USER=root
84+
ARG UID=0
85+
ARG GID=0
86+
RUN [[ "$UID" != "0" ]] \
87+
&& groupadd -g $GID $USER \
88+
&& useradd -u $UID -g $GID $USER
89+
90+
# Using an entrypoint instead of CMD because the binary
91+
# accepts several command line arguments.
92+
ENTRYPOINT ["/BambuStudio/build/package/bin/bambu-studio"]

0 commit comments

Comments
 (0)