Ray
linux 2
linux 2
linux 2.0
prepared new OSE Linux distro
== OSE Linux 2.0 ==
Researched many Linux base distros. Started with CAE Linux, which seemed to be "almost OSE Linux" at first, but was too heavy. Then found that a range of "lightweight" distros such as Puppy Linux come with built-in ISO respin/remastering tools and are "designed" to be respun. Considered several, but "lightweight" distros typically have spartan window manager UIs.
Then I considered Arch-based distributions such as Manjaro. There is a certain appeal to the "reproducible build" aspect of Arch, but it seemed a bit too "bleeding edge" for this use case, and Debian is much more familiar territory. In my past personal experience I have used Ubuntu, Elementary OS, and Pop! OS as my Linux desktops, all of which are Debian-based.
Discovered MX Linux. Currently #1 most popular distro on Distrowatch. A "midweight" distro (great for keeping to the 4GB USB drive constraint) with built-in, documented ISO remastering tools just like the lightweights. MX also has what I consider to be a best-in-class package installer interface and I found this much easier to use for customizing the ISO to the specific needs of OSE (such as two versions of FreeCAD running side by side) than I did Ubuntu or CAE in my past experiments.
Results:
Customized MX Linux 19 and produced "Release Candidate 1" ISO for OSE Linux 2.0 as per spec spreadsheet at https://docs.google.com/spreadsheets/d/1hk1Tec4tkEDe47sEtRu7wySa8U4zYWBEat_dWZezQa0/ and shared with key stakeholders
All requirements were met, with two exceptions tied to the modern distro, Debian 10 (Buster), underlying. This distro was chosen to meet the requirement of out-of-the-box compatibility with the maximum amount of different computers and wifi hardware, etc.
The exceptions were:
1) The Three.js Blender Export is decommissioned by the maintainers and they recommend a new open standard for JSON-based 3D asset interchange format called glTF (GLTF) instead. glTF import/export is built-in to Blender 2.80, the installed version. The last commit of the Three.js lib including it (`r92`) is not supported under Blender 2.80 because of multiple backwards-incompatible changes between Blender 2.7X and Blender 2.8X Addon syntax.
2) LulzBot Cura does not seem to be supported under Debian 10, although they misleadingly offer a .deb package targeted to Debian 10, which is broken. This is due to (at least) a dependency on `libgfortran3` which cannot be satisfied under Debian 10 (`libgfortran4` is the earliest supported version of that lib). LulzBot hosts their own Git repo according to their GitHub page, but that LulzBot-hosted repo is down, and they appear to be going through tumultuous times as a company, so not sure what to expect out of this whole situation vis-à-vis their version of Cura going forward. So, having learned that Ultimaker Cura has replaced their Skeinforge Python-based slicing engine with a C++ solution, CuraEngine, and knowing that C++ can be orders of magnitude faster than pure Python, I am hoping Ultimaker's Cura offers better performance on Linux now than it has in the past. Acceptance testers, please give it a try.
=== Links ===
Why MX Linux? https://mxlinux.org/current-release-features/
Three.js Blender Export decommissioning: https://github.com/mrdoob/three.js/tree/dev/utils/exporters/blender
glTF spec: https://github.com/KhronosGroup/glTF/blob/master/README.md
LulzBot news: https://hackaday.com/2019/11/12/the-past-present-and-uncertain-future-of-lulzbot
CuraEngine: https://github.com/Ultimaker/CuraEngine