## Summary Adds end-to-end Creality K-series (K2 / K2 Plus / K2 Pro) host support to OrcaSlicer in a single bundle, per [@SoftFever's request to consolidate](https://github.com/OrcaSlicer/OrcaSlicer/pull/13752#issuecomment-4560837450) the previously stacked PRs. Three logically separable features, all gated on `host_type=crealityprint`: 1. **LAN auto-discovery** — `Browse...` in the Physical Printer dialog now finds K-series printers on the local network via a DNS-SD meta-browser (per-device-unique service names `_Creality-<MAC>._udp.local.`). Other host types unchanged. 2. **CFS filament sync** — `CrealityPrintAgent` (inheriting `MoonrakerPrinterAgent`) queries the K-series WebSocket on `:9999` for `boxsInfo`, maps loaded CFS slots to Orca filament presets, and populates the Sidebar via the standard `fetch_filament_info` → `build_ams_payload` path. Matches the shape of `MoonrakerPrinterAgent` / `QidiPrinterAgent` / `SnapmakerPrinterAgent` per [the earlier review feedback](https://github.com/OrcaSlicer/OrcaSlicer/pull/13752#discussion_r3278574545). 3. **K-series filament profiles** — system profiles for CR-PLA / CR-PETG / CR-ABS / CR-Silk / CR-TPU / CR-Nylon / CR-Wood / Hyper PLA / etc. on K2 / K2 Plus / K2 Pro nozzle sizes (imported from CrealityPrint v7.1.0+, normalised to OrcaSlicer profile conventions). The previous stack base (#13291, *CrealityPrint as host type*, by @imammedo) is **also bundled into this PR** since it's currently conflicting with main and not moving. Happy to extract it back out if @imammedo's PR is preferred to land first for attribution — let me know. ## What this PR is *not* - **No new UI surfaces.** All three features hook into existing UI (Browse button, Sidebar sync icon, filament dropdowns). - **No phone-home / telemetry.** No Hark Tech endpoints, no licence checks, no opt-in dialogs. Pure upstream feature work. - **No K-series-specific Device tab.** Embedded WebView falls back to Fluidd/Mainsail on `:4408`, same shape as the existing Moonraker integration. ## Screenshots Captured against a K2 Combo (F021, firmware v1.1.260206) on the v4 test build: | | | |---|---| |  | **Discovery dialog** — `Browse...` flow on a `host_type=crealityprint` printer. Click → ~5–10 s LAN scan → K2 found with model + hostname + IP. | |  | **CFS filament sync** — Sidebar after clicking the sync icon: 4 slots populate with the real loaded CFS spools (3× Hyper PLA + 1× CR-Silk). | |  | **Device tab** — Mainsail loaded into the embedded WebView for `host_type=crealityprint`, mid-print state visible. | ## What's added ### LAN discovery - **`deps_src/mdns/`** — vendors [mjansson/mdns](https://github.com/mjansson/mdns) (public domain) plus Creality's `cxmdns` C++ wrapper from CrealityPrint v7.1.1 (AGPL-3.0, compatible with OrcaSlicer's AGPL-3.0). Attribution in `deps_src/mdns/NOTICE.md`. - **`Utils/CrealityHostDiscovery.{hpp,cpp}`** — synchronous DNS-SD scan + per-host `GET /info` probe. Maps model codes `F008` / `F012` / `F021` → K2 Plus / K2 Pro / K2. - **`GUI/CrealityDiscoveryDialog.{hpp,cpp}`** — modal `wxDialog` showing Model / Hostname / IP for each discovered host. - **`src/slic3r/CMakeLists.txt`** — adds `Iphlpapi.lib` and `Ws2_32.lib` to `libslic3r_gui`'s MSVC link line (needed by `GetAdaptersAddresses` + Winsock2 calls in vendored `mdns.c`). ### CFS filament sync - **`Utils/CrealityPrintAgent.{hpp,cpp}`** — inherits `MoonrakerPrinterAgent`, overrides `fetch_filament_info()` to query the K-series WS protocol on `:9999`, build `AmsTrayData`, and call inherited `build_ams_payload()`. No printer-specific code lives outside the agent. - K2 Plus slot-state parser handles the three documented slot states (`0` empty / `1` manually entered / `2` RFID-tagged) per [DaviBe92's reverse-engineering docs](https://github.com/DaviBe92/k2-websocket-re). ### K-series filament profiles - ~110 profile JSONs under `resources/profiles/Creality/filament/` covering K2 / K2 Plus / K2 Pro × 0.2 / 0.4 / 0.6 / 0.8 nozzle combos × CR-PLA / CR-PETG / CR-ABS / CR-Silk / CR-TPU / CR-Nylon / CR-Wood / Hyper PLA / Hyper PETG-GF / Hyper PLA-CF / etc. - Imported from CrealityPrint v7.1.0; normalised to OrcaSlicer profile conventions (tabs not spaces, no `{if !multicolor_method}` wrappers, `filament_vendor: ["Creality"]` on Creality Generic profiles). ## Tester confirmations on the v4 test build | Printer | Firmware | Result | Reporter | |---|---|---|---| | K2 Pro | v1.1.5.5 / CFS v1.4.2 | ✅ LAN discovery on #13752 test build | [@Requiem-MH](https://github.com/OrcaSlicer/OrcaSlicer/pull/13752#issuecomment-4495235225) | | K2 Pro | v1.1.5.5 / CFS v1.4.2 | ✅ CFS sync across 1-CFS, 2-CFS, partial, full configurations | [@Requiem-MH](https://github.com/OrcaSlicer/OrcaSlicer/pull/13744#issuecomment-4495230061) | | K2 Plus | v1.1.5.2 / CFS v1.2.2 | ✅ Slot-state fix resolves the partial-sync regression | [@DaviBe92](https://github.com/OrcaSlicer/OrcaSlicer/pull/13744#issuecomment-4499425852) | | K2 Plus | v1.1.5.5 / CFS v1.4.2 | ✅ All slots syncing correctly after fix | [@swilsonnc](https://github.com/OrcaSlicer/OrcaSlicer/pull/13744#issuecomment-4503273127) | | K2 Plus | (Reddit u/TrainAss) | ✅ Both PLA + PETG slots populated correctly | [@TrainAss](https://github.com/OrcaSlicer/OrcaSlicer/pull/13744#issuecomment-4503401664) | | K1C | (latest stock) | ✅ `boxsInfo` payload format compatible (4 slots of generic PETG) | [@JoveYu](https://github.com/OrcaSlicer/OrcaSlicer/pull/13744#issuecomment-4519036448) | ## Known follow-ups (out of scope) - **Snapmaker U1 regression** ([@TrainAss](https://github.com/OrcaSlicer/OrcaSlicer/pull/13744#issuecomment-4529350262)): the v3 build also happened to sync filament from his U1; v4 regressed this. The refactor only touches `htCrealityPrint`-gated code so this is likely incidental — needs his config + logs to diagnose. Will follow up in a separate issue once this lands. - **Native Device tab for K-series**: deferred. Current Mainsail WebView shim covers the common case. - **#13581 (@hamham999) profile overlap**: confirmed minimal code conflict (zero), profile-file overlap of ~204 files. Whichever PR lands second rebases off the other. ## Test plan - [x] Linux build clean on commit `<UPDATED AFTER BUILD>` (LXC 104, GCC 12, cmake) - [x] MSVC link clean (manual VS 2026 / MSVC 14.51 build) - [x] End-to-end on real hardware: K2 Combo, K2 Pro, K2 Plus, K1C - [x] `host_type ≠ htCrealityPrint` paths unchanged — Bonjour fires for OctoPrint, Flashforge picker fires for Flashforge, Moonraker / Qidi / Snapmaker agents unchanged - [x] Profile-validation CI green (was a separate Elegoo test-fixture failure on main, not introduced by this PR) Signed-off-by: Igor Mammedov <niallain@gmail.com> Co-authored-by: Igor Mammedov <niallain@gmail.com> Co-authored-by: grant0013 <grant@harktech.co.uk> Co-authored-by: SoftFever <softfeverever@gmail.com> Co-authored-by: hamham999 <hamham999@users.noreply.github.com> Co-authored-by: Alys Andreollo <3528187+alysandreollo@users.noreply.github.com>
OrcaSlicer: an open source Next-Gen Slicing Software for Precision 3D Prints.
Optimize your prints with ultra-fast slicing, intelligent support generation, and seamless printer compatibility—engineered for perfection.
Official links and community
Official Website:
Github Repository:
Follow us:
Join our Discord community:
|
⚠️ CAUTION: Several clickbait and malicious websites, such as orca-slicer[.]com and orcaslicer[.]net, are pretending to be the official OrcaSlicer site. These sites may redirect you to dangerous downloads or contain misleading information. Our only official website is www.orcaslicer.com. If you come across any of these in search results, please report them as unsafe or phishing to help keep the community secure with: - Google Safe Browsing - Microsoft Security Intelligence - IPThreat |
Main features
- Advanced Calibration Tools
Comprehensive suite: temperature towers, flow rate, retraction & more for optimal performance. - Precise Wall and Seam Control
Adjust outer wall spacing and apply scarf seams to enhance print accuracy. - Sandwich Mode and Polyholes Support
Use varied infill patterns and accurate hole shapes for improved clarity. - Overhang and Support Optimization
Modify geometry for printable overhangs with precise support placement. - Granular Controls and Customization
Fine-tune print speed, layer height, pressure, and temperature with precision. - Network Printer Support
Seamless integration with Klipper, PrusaLink, and OctoPrint for remote control. - Mouse Ear Brims & Adaptive Bed Mesh
Automatic brims and adaptive mesh calibration ensure consistent adhesion. - User-Friendly Interface
Intuitive drag-and-drop design with pre-made profiles for popular printers. - Open-Source & Community Driven
Regular updates fueled by continuous community contributions. - Wide Printer Compatibility
Supports a broad range of printers: Bambu Lab, Prusa, Creality, Voron, and more. - Additional features can be found in the change notes.
Wiki
The wiki aims to provide a detailed explanation of the slicer settings, including how to maximize their use and how to calibrate and set up your printer.
Download
Stable Release
📥 Download the Latest Stable Release
Visit our GitHub Releases page for the latest stable version of OrcaSlicer, recommended for most users.
Nightly Builds
🌙 Download the Latest Nightly Build
Explore the latest developments in OrcaSlicer with our nightly builds. Feedback on these versions is highly appreciated.
How to install
Windows
Download the Windows Installer exe for your preferred version from the releases page.
-
For convenience there is also a portable build available.
Troubleshooting
- If you have troubles to run the build, you might need to install following runtimes:
- MicrosoftEdgeWebView2RuntimeInstallerX64
- vcredist2019_x64
- Alternative Download Link Hosted by Microsoft
- This file may already be available on your computer if you've installed visual studio. Check the following location:
%VCINSTALLDIR%Redist\MSVC\v142
Windows Package Manager
winget install --id=SoftFever.OrcaSlicer -e
Mac
-
Download the DMG for your computer:
arm64version for Apple Silicon andx86_64for Intel CPU. -
Drag OrcaSlicer.app to Application folder.
-
If you want to run a build from a PR, you also need to follow the instructions below:
Quarantine
-
Option 1 (You only need to do this once. After that the app can be opened normally.):
- Step 1: Hold cmd and right click the app, from the context menu choose Open.
- Step 2: A warning window will pop up, click Open
-
Option 2: Execute this command in terminal:
xattr -dr com.apple.quarantine /Applications/OrcaSlicer.app -
Option 3:
-
Linux
Flathub (Recommended)
OrcaSlicer is available through FlatHub:
Install from the command line:
flatpak install flathub com.orcaslicer.OrcaSlicer
flatpak run com.orcaslicer.OrcaSlicer
It can also be installed through graphical software managers (KDE Discover, GNOME Software, etc.) when Flathub is enabled. Search for OrcaSlicer in your software center.
AppImage
-
Download App image from the releases page.
-
Double click the downloaded file to run it.
-
If you run into trouble executing it, try this command in the terminal:
chmod +x /path_to_appimage/OrcaSlicer_Linux.AppImage
How to Compile
All updated build instructions for Windows, macOS, and Linux are now available on the official OrcaSlicer Wiki - How to build page.
Please refer to the wiki to ensure you're following the latest and most accurate steps for your platform.
Klipper Note
If you're running Klipper, it's recommended to add the following configuration to your printer.cfg file.
# Enable object exclusion
[exclude_object]
# Enable arcs support
[gcode_arcs]
resolution: 0.1
Supports
OrcaSlicer is an open-source project and I'm deeply grateful to all my sponsors and backers.
Their generous support enables me to purchase filaments and other essential 3D printing materials for the project.
Thank you! :)
Sponsors
|
|
Backers:
Ko-fi supporters ☕: Backers list
Support me
Some Background
Open-source slicing has always been built on a tradition of collaboration and attribution. Slic3r, created by Alessandro Ranellucci and the RepRap community, laid the foundation. PrusaSlicer by Prusa Research built on Slic3r and acknowledged that heritage. Bambu Studio in turn forked from PrusaSlicer, and SuperSlicer by @supermerill extended PrusaSlicer with community-driven enhancements. Each project carried the work of its predecessors forward, crediting those who came before.
OrcaSlicer began in that same spirit, drawing from BambuStudio, PrusaSlicer, and ideas inspired by CuraSlicer and SuperSlicer. But it has since grown far beyond its origins. Through relentless innovation — introducing advanced calibration tools, precise wall and seam control, tree supports, adaptive slicing, and hundreds of other features — OrcaSlicer has become the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry.
The OrcaSlicer logo was designed by community member Justin Levine.
License
- OrcaSlicer is licensed under the GNU Affero General Public License, version 3.
- 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.
- OrcaSlicer includes a pressure advance calibration pattern test adapted from Andrew Ellis' generator, which is licensed under GNU General Public License, version 3. Ellis' generator is itself adapted from a generator developed by Sineos for Marlin, which is licensed under GNU General Public License, version 3.
- The Bambu networking plugin is based on non-free libraries from BambuLab. It is optional to the OrcaSlicer and provides extended functionalities for Bambulab printer users.


