Skip to content

BambuStudio automatically overwrites the plugin on start #35

@IDVert3X

Description

@IDVert3X

After installing open-bambu-networking and starting Bambu Studio, a dialog shows up:

|------------------------------------------------|
| Downloading Bambu Network Plug-in              |
|------------------------------------------------|
|                                                |
| Install succesfully.                           |
| [================---------------] 50% [Cancel] |
|                                                |
|------------------------------------------------|

The program freezes for a while and then recovers into horrendously laggy state.
It appears the studio overwrites this patch.

I originally tried to install this plugin over an existing installation of Bambu Studio (with OEM networking plugin installed).
That did not work, yielding the result mentioned above.
Then I tried uninstallig, deleting ~/.var/app/com.bambulab.BambuStudio/config/BambuStudio/, reinstalling, avoiding OEM plugin, installing this one, same result.

Steps to reproduce:

  • Install Bambu Studio's official flatpak package, version 2.6.0.
  • Start Bambu Studio.
  • In setup wizard, uncheck networking plugin install.
  • Observe Bambu Studio running smoothly, no lags.
  • Close Bambu Studio.
  • Clone open-bambu-networking (commit b9675c3, which is the latest one in master as of writing this)
  • In open-bamboo-networking directory, run ./configure, followed by make install.
  • Observe successful install.
  • Open Bambu Studio.
  • Observe the dialog mentioned above, i.e. what looks like Bambu Studio overwriting the plugin with the OEM one.
  • Observe Bambu Studio becoming extremely laggy.

Log from ./configure:

$ ./configure
configure: detected Flatpak Bambu Studio install at /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio
configure: detected Bambu Studio plugin baseline 02.06.00.51 in /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio/BambuStudio.conf
configure: plugin version set to 02.06.00.99 (override with --with-version=...)
configure: cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio -DOBN_VERSION=02.06.00.99 -DOBN_CLIENT_TYPE=bambu_studio -DOBN_ENABLE_WORKAROUNDS=ON -DOBN_BUILD_TESTS=OFF -DOBN_PATCH_CLIENT_CONF=ON
-- The CXX compiler identification is GNU 16.1.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- obn: ABI_VERSION=0x020600 (from OBN_VERSION=02.06.00.99)
-- obn: git commit=b9675c3e
-- obn: client=bambu_studio plugin=libbambu_networking.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.5.1")
-- Found OpenSSL: /usr/lib/libcrypto.so (found version "3.6.2") found components: SSL
-- Found ZLIB: /usr/lib/libz.so (found version "1.3.2")
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
CMake Deprecation Warning at build/_deps/cjson-src/CMakeLists.txt:2 (cmake_minimum_required):
  Compatibility with CMake < 3.10 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
  to tell CMake that the project requires at least <min> but has been updated
  to work with policies introduced by <max> or earlier.


-- The C compiler identification is GNU 16.1.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test FLAG_SUPPORTED_fvisibilityhidden
-- Performing Test FLAG_SUPPORTED_fvisibilityhidden - Success
-- obn: using vendored cJSON static (v1.7.18)
-- Found OpenSSL: /usr/lib/libcrypto.so (found version "3.6.2")
-- WITH_DLT = OFF
-- Found argon2: /usr/include
-- obn: using vendored libmosquitto_static (v2.1.2)
-- Checking for module 'libcurl'
--   Found libcurl, version 8.20.0
-- Configuring done (4.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/pato/repos/3d-printing/open-bamboo-networking/build

configure: done.

Selected client: bambu_studio
Install prefix : /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio
Plugin version : 02.06.00.99

Next steps:
  make             # build   (delegates to: cmake --build build)
  make install     # install (delegates to: cmake --install build)
                   # also patches:
                   #   /home/pato/.config/BambuStudio/BambuStudio.conf
                   # when OBN_PATCH_CLIENT_CONF is enabled and the patch
                   # script runs (see CMakeLists.txt)
  make test        # run the smoke tests

Re-run './configure --help' for the full list of options.

Log from make install:

$ make install
make[1]: Entering directory '/home/pato/repos/3d-printing/open-bamboo-networking/build'
[  1%] Built target cjson
[  4%] Built target live555
[ 13%] Built target BambuSource
[ 25%] Built target libmosquitto_common
[ 62%] Built target libmosquitto_static
[100%] Built target bambu_networking
make[1]: Leaving directory '/home/pato/repos/3d-printing/open-bamboo-networking/build'
-- Install configuration: "Release"
-- Installing: /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio/plugins/libBambuSource.so
-- obn: installing live555 stub to /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio/plugins/liblive555.so
-- Installing: /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio/plugins/liblive555.so
-- Installing: /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio/plugins/libbambu_networking.so
-- Installing: /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio/ota/plugins/network_plugins.json
-- obn: patched /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio/BambuStudio.conf (backup saved to /home/pato/.var/app/com.bambulab.BambuStudio/config/BambuStudio/BambuStudio.conf.obn-bak)

Original BambuStudio.conf
Patched BambuStudio.conf

I tried making these files read-only (chattr +i): libbambu_networking.so, libBambuSource.so, liblive555.so, which yielded the following dialog when starting Bambu Studio:

|-----------------------------------------------------------|
| Downloading Bambu Network Plug-in                         |
|-----------------------------------------------------------|
|                                                           |
| Failed to install the plug-in. Please check whether it is |
| blocked or has been deleted by anti-virus software.       |
|                                                           |
|                click here to see more info                |
|                                                           |
|-----------------------------------------------------------|

Networking is not working, and there is a Network Plug-in is not detected ... message in the lower right corner.

Note that no obn.log gets created in ~/.var/app/com.bambulab.BambuStudio/config/BambuStudio/.

Platform details:

Operating System: Arch Linux 
KDE Plasma Version: 6.6.5
KDE Frameworks Version: 6.26.0
Qt Version: 6.11.1
Kernel Version: 7.0.10-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 22 × Intel® Core™ Ultra 9 185H
Memory: 32 GiB of RAM (30.9 GiB usable)
Graphics Processor: Mesa Intel® Arc

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions