PrusaSlicer 2.3.1-rc
Summary
This a release candidate of PrusaSlicer 2.3.1, introducing native builds for the new Apple Silicon MacBooks, Chrome OS support, performance improvements in G-code rendering, security fixes and new 3rd party printer profiles.
Universal OSX builds, Apple Silicon support #5179 #5124
Starting with this release, PrusaSlicer supports the new Apple Silicon MacBooks and MacMinis natively, running about 30% faster than emulated x86-64. The new Universal builds contain binaries of both x86-64 and ARM platforms, thus the distributed package is somehow larger than the previous PrusaSlicer.
Apple deprecated the multi-platform graphics API OpenGL about a year ago. Luckily MacBooks still support OpenGL, however G-code preview rendering of larger G-codes on new Apple M1 machines was extremely slow on PrusaSlicer 2.3.0 #5412 #5695 #5854, #6211. We were lucky to fix that issue through a trial and error process due to a lack of OpenGL API documentation and debugging tools from Apple.
We thank @xarbit and @obelisk for their initial work on PrusaSlicer M1 port #5179 #5313.
Chrome OS support #3392
Chromebooks are getting increasingly popular due to their low price, good usability and stability. This makes the Chromebooks the number 1 pick for the US educational institutions. Luckily Google now offers a containerized Linux on modern Chromebooks out of the box and PrusaSlicer runs in the virtualized Linux environment nicely.
Some users managed to run PrusaSlicer on Chrome OS before, see this post. We encountered the following issues when testing PrusaSlicer on Chrome OS, and we solved some of them:
- Red / Blue color channels were flipped by the OpenGL graphics virtualization. We solved that by disabling multi-sample anti-aliasing on Chrome OS and we reported the issue to Google.
- USB devices of Prusa3D printers are not being routed to Linux, thus the Firmware Updater does not work yet. We have reported that to Google and most likely the Prusa3D USB devices will be supported by some of the upcoming ChromeOS updates.
- Support of removable media detection and eject: PrusaSlicer newly detects removable media on Chrome OS. Eject of removable media is disabled in PrusaSlicer on ChromeOS, as such a function will likely never be available to Linux applications on Chrome OS due to security reasons. Please note that you have to explicitly share each removable media you plug in with Linux.
- Desktop integration: If the PrusaSlicer.desktop resp. PrusaSlicer icon is installed manually to
$HOME/.local/share/applications
resp.$HOME/ .local/share/icons/hicolor/96x96/apps
, then the PrusaSlicer application will be available at the Chrome OS application launcher. We will likely implement an automatic desktop integration into PrusaSlicer 2.4.0.
We have documented installation of PrusaSlicer on Chrome OS in our installation guide.
PrusaSlicer requires around 8 GB of RAM for processing full build plate prints, so you will be more lucky with Chromebooks that are equipped with at least 8 GB of RAM. On a 4 GB Chromebook you will be able to slice just about 4 3D Benchies and 4 Tree frogs at a 0.15 mm layer height. Please note that Chrome OS gives the Linux virtual machine 1 GB less than the physical RAM and there is no swapping enabled in the Linux virtual machine, thus a 4 GB Chromebook gives just 3 GB of RAM to Linux running PrusaSlicer, which is not much. Please note also, that on ARM Chromebooks the situation is worse: Only 3GB of RAM are given to Linux even on 8 GB chromebooks.
Also please note that the OpenGL support on ARM Chromebooks may be flaky. Current Chrome OS provides hardware OpenGL virtualization on modern devices, but the GPU performance of some ARM SOCs (for example Mediatek) is quite low, while on one ARM device we tested PrusaSlicer crashes when switching windows, which is likely a bug in ChromeOS OpenGL virtualization. Therefore we recommend Chrome OS devices with Intel CPUs for now to run PrusaSlicer.
New 3rd party printer profiles
- Multiple Creality printers profiles were added (Ender-3 Max, Ender-4, Ender-6, CR-5 Pro, CR-5 Pro H, CR-6 SE, CR-6 Max, CR-10 Max, CR-200B, CR-8), thanks @pmjdebruijn.
- Added Artillery printer profiles (Sidewinder X1, Genius), thanks @SzabolcsHornyak.
- Added INAT printer profiles, thanks @MarkINAT.
- Updated Anycubic Kossel bed texture (thanks @brunosso) and Anycubic Kossel bed STL.
Vulnerability issues fixed
The Talos Cisco Intelligence Group did a great job identifying potential security issues in loading invalid and potentially malicious AMF and 3MF files, see their vulnerability reports TALOS-2020-1222 and TALOS-2020-1218. We fixed these two potential security issues with this release of PrusaSlicer.
Bugs fixed with respect to PrusaSlicer 2.3.0
- The OpenGL changes mentioned in the "Universal OSX builds" section also fixed some OpenGL related issues on Linux #5889 #6304.
- Reduced number of hits shown by the "Find config option" dialog, fixed case insensitive search for non-Latin1 languages #5202.
- Fixed G-code preview with coloring by a tool and visualization of travels enabled #6095.
- Fixed opening of drop down menus at the bottom of the screen on multi-monitor setups #2999 #5911 #5957. This issue has been fixed by us in wxWidgets and accepted by the upstream.