Skip to content

feat(darwin): Bambu へ直接送れる Orca のフォークを併設する - #547

Open
gapul wants to merge 1 commit into
mainfrom
feat/orcaslicer-bambulab
Open

feat(darwin): Bambu へ直接送れる Orca のフォークを併設する#547
gapul wants to merge 1 commit into
mainfrom
feat/orcaslicer-bambulab

Conversation

@gapul

@gapul gapul commented Sep 1, 2026

Copy link
Copy Markdown
Owner

なにを

pkgs/orcaslicer-bambulab.nix を足して、pkgs.brewCasks.orcaslicer の隣に置いた。バンドル名は OrcaSlicer Bambu.app、datadir は ~/Library/Application Support/OrcaSlicerBambu に分けてある。

なぜ

Bambu の Authorization Control で、サードパーティのスライサーから印刷を開始する経路が塞がれている。実機 (A1 mini) で切り分けた結果はこう:

  • FTPS (990) は通る。SD カードのルートに .gcode.3mf を置けるし、一覧も読める
  • MQTT (8883) も繋がる。project_file を publish するとプリンタはエコーを返す
  • ただし印刷は始まらない。直後に pushall で問い合わせても gcode_state: FINISH / print_type: idle のまま。/sdcard/mnt/sdcard の両方で同じ

本家 Orca は Bambu Connect 経由の実装を拒否しているので、cask 版はスライスと書き出ししかできない。フォークは bambu_networking を独自実装 (libpjarczak_bambu_networking_bridge.dylib) に差し替えて直接送る。

確認したこと

  • nix build が通る (ローカル。macmini へのリモートビルドは SSH master が張れず落ちたが、そちらは別件)
  • nix eval .#darwinConfigurations.gapul.system.drvPath が通る
  • just fmt / pre-commit (deadnix, gitleaks, nixfmt, shellcheck) 通過
  • バンドル内にラッパーが入り、--datadir が渡ることを確認

確認していないこと

実際に送信できるかはまだ試していない。darwin-rebuild switch して起動するまで分からない。

承知しておくこと

macOS 版は Lima の VM で Linux 側のネットワークホストを走らせる構成で (install_runtime_macos.sh~/Library/Application Support/OrcaSlicer/macos-bridge/lima に Lima を落とす)、その実体は初回起動時に $HOME へ落ちる。宣言できているのは .app までで、ランタイムは宣言管理の外に出る。

軽い代替として、プリンタ本体で LAN Only Mode + Developer Mode を有効にすると MQTT が認証なしで開き、既存の CLI 一式 (curl で FTPS、paho で MQTT) がそのまま動くようになる。そちらで足りるならこの PR は不要になる。

由来

Paweł Jarczak が公開 → Bambu の C&D で取り下げ → SFC が AGPLv3 違反を認定して Bambu が撤回 → SFC が baltobu として引き継ぎ。baltobu はまだソースのみなので、macOS バイナリを配っている FULU Foundation 版を包んでいる。baltobu がビルドを出したらそちらへ移るのが筋。

Bambu の Authorization Control で、サードパーティのスライサーから印刷を
開始する経路が塞がれている。FTPS でのファイル転送は今も通るが、MQTT の
project_file はエコーだけ返って無視される (A1 mini で実際に確認した。
gcode_state は FINISH のまま動かない)。本家 Orca は Bambu Connect 経由の
実装を拒否しているので、cask 版はスライスと書き出ししかできない。

FULU Foundation のフォークは bambu_networking を独自実装に差し替えて直接
送る。元は Paweł Jarczak が公開して Bambu の C&D で取り下げたもので、その後
SFC が AGPLv3 違反を認定して baltobu として引き継いだ。baltobu はまだソース
のみなので、macOS のバイナリを配っている FULU 版を包んでいる。

cask を置き換えず併存させる。フォークは 2.4.0-dev で cask は 2.4.2 なので、
設定ディレクトリを共有させると古い方がプリセットを書き戻して壊す。バンドル名
と datadir を分けた。

macOS 版は Lima の VM で Linux 側のネットワークホストを走らせる構成で、その
実体は初回起動時に $HOME へ落ちる。宣言できているのは .app までで、そこから
先は宣言管理の外に出る。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant