Das stimmt (leider). Die standardmäßig in den Druckern verbaute Firmware ist hundsmiserabel. Jedenfalls im Preissegment bis etwa 1000€ scheinen die Hersteller sich nicht wirklich zu bemühen, die Hardware und Software ihrer Geräte sinnvoll auszunutzen. Das ändert aber nichts daran, dass Marlin in der Qualität durchaus mit Klipper mithalten kann. Nur nicht unbedingt Outofthe Box. Wenn man aber einmal eine vernünftige Config hat, dann hält die in praktisch allen Belangen mit Klipper mit. Mit dem Vorteil, dass es Teil des Druckers ist und nicht ein externes Gerät benötigt. Meinen Drucker kannst du notfalls mit einer SD-Karte bestücken. Und der wird, ohne irgendwelche Anpassungen, die GCode-Datei so gut wie möglich drucken. Die externen Geräte (egal ob sie Klipper, Mainsail oder SonicPad heißen) sind alle toll von der Idee her. Und sind nicht Teil des Druckers. Ich kann nicht so recht erkennen, wo der Vorteil eines Klippers (gesteuert von einem Raspi mit Python) gegenüber einem 32Bit-Mainboards gesteuert mit C++ sein soll. Wenn mir jemand erzählt, dass die Kombination von Python mit einem abgespeckten Mainboard-OS einer vollständig in C++ geschriebenen Firmware überlegen sein soll, dann ist verdammt noch mal derjenige beweispflichtig. Ich habe diverse Projekte mit Python gemacht. Keins davon, weil Python so unglaublich schnell sein sollte. Weil es das nicht ist. Python ist, ohne externe Hilfen, grottig lahmarschig. Die Vorzüge von Python liegen ALLE außerhalb der Geschwindigkeit. Selbst die "Argumentation" vieler Klipper-Befürworter ist ja (ohne dass sie es wissen), gegen sie selber. Sie argumentieren, dass OctoPi so schlimm lahm und Oldschool ist. Octopi ist in Python geschrieben. Klipper ist eine Python-Abwendung (noch dazu erst seit kurzer Zeit in Python3. Python3 ist 15 Jahre alt!!!). Ich bin wegen der Argumentation der Klipper-Fans angewidert, weil sie wissentlich (das ist besonders schlimm) oder unwissentlich technisch gesehen kompletten Blödsinn von sich geben
Wenn ich davon spreche, dass Klipper für mich viele Vorteile hat, dann heißt das ja nicht, dass ich irgendjemanden zwingen will auf Klipper zu wechseln. Wenn, dann ist das nur als Empfehlung, gut gemeinter Rat oder Erfahrungsbericht zu verstehen. Jeder darf und soll so viel Marlin und Octoprint verwenden, wie er mag. Dafür kann es ja viele gute Gründe geben.
Ich habe auch nie behauptet, dass man mit Marlin nicht auch schön drucken kann. Ich hab neben meinem Klipper-Zoo ja noch einen Prusa-MK3S Clone, dessen Marlin auf dem 8 Bit Board ist tatsächlich erstaunlich gut. Und es hat natürlich auch etwas, wenn der Drucker autonom ist und nur mit SD-Karte drucken kann ohne dass man nach dem Einschalten warten muss, bis der RasPi gebootet hat.
Die Marlins meiner heute geklipperten Drucker waren Stock alle relativ mehr oder weniger bescheiden und haben das Potential von Marlin nicht annähernd ausgeschöpft. Also kein Vergleich zum Prusa-Marlin und zudem ist das auch schon eine Weile her. Und spätestens mit den ersten Modifikationen wie einen anderen Hotend oder TMC-Treibern mit UART war ich gezwungen mit das Marlin selbst anzupassen. Das selbst erstellte Marlin war besser als Stock, aber das Anpassen und Erstellen von Marlin empfand ich immer als recht umständlich und zudem kamen einige Bugs zum Vorschein, die ich mit Klipper so nie hatte. Auch den Marlin Code, in den ich mich als Entwickler stellenweise recht tief eingelesen habe, sah man schon deutlich an, dass er recht "gewachsen" ist und die "Handschrift" vieler unterschiedlicher Entwickler trägt. Ich will nicht undankbar sein, Marlin hat sehr viel für die 3D-Druck Community getan, aber es kommt auch auf 32-Bit Boards an seine Grenzen.
Was Python und die Geschwindigkeit angeht, hast Du insofern recht, dass auf der gleichen Plattform compiliertes C/C++ natürlich schneller ist. Das wird aufgrund der üpigern Resourcen (Speicher, CPU und OS-Möglichkeiten) auf dem RasPi gegenüber einem Board-Microcontroller aber recht gut kompensiert. Zudem ist Python, wenn es um die Implementierung komplexer Algorithmen wie das GCode-Parsing, Bewegungsplanung und -Optimierung usw. geht, die deutlich abstraktere und angenehmere Sprache. Vielleicht macht das beim Durchschnitts-Benchy auf einem Ender 3 noch keinen großen Unterschied, aber wenn man z.B. eine überdetailiert geslicte GCode-Datei (in der die Bewegungen in sehr viele kleine Schritte unterteilt wird) mit Marlin druckt, kann man oft Zwangspausen beobachten, die in Pickeln resultieren, was ich bei Klipper so noch nicht gesehen habe.
Weiter kann Klipper durch den größernen Speicher auf RasPi einen umfangreicheren "lookahead" für die Bewegungsplanung durchführen und läuft deshalb oft "geschmeidiger" bei gleichem GCode.
So eine Diskussion Low-Level Programmiersprache vs. Hochsprache gab es vor einigen Jahrzehnten schon mal. Da waren viele Programmierr der festen Meinung ein Betriebssystem könnte man nur in Assembler schreiben und eine Hochsprache wie C sei dafür viel zu langsam (die Compiler zu dieser Zeit haben tatsächlich vergleichsweise schlechten Code erzeugt, den jeder halbwegs erfahrene Assembler-Programmierer besser gemacht hat). Zur Überraschung vieler war dann die Implementierung des Betriebssystems in C (jedenfalls großer Teile davon) trotz des schlechteren Codes deutlich schneller. Der Grund dafür war, dass man aufgrund des höheren Abstraktionsgrades bessere Algorithmen und Datenstrukturen umgesetzt hat (und die Implementierung zudem relativ leicht auf eine neue Maschinenarchitektur portieren konnte). Ich bin wirklich kein Python-Freund, da mir compilierte Sprachen mit einem statischen Typsystem lieber sind, das Fehler zur Compile-Zeit finden statt zur Laufzeit. Aber Python ist in der Tat sehr praktisch und bietet zudem eine unglaubliche Fülle von fertigen Bibliotheken, Frameworks und Modulen, derer man sich bedienen kann. Zudem kann man die geschwindigkeitskritischen Teile in C schreiben, was in Python sogar relativ häufig gemacht wird (bei Klipper aber gar nicht nötig ist). Klipper ist komplett in Python bis auf den in C geschriebenen Kern, der auf dem Drucker-Board läuft und nur die Aufgabe hat Motoren anzusteuern und Sensoren auszulesen.
Einen Beweis für irgendwelche von mir genannten Klipper-Vorteile muss ich gar nicht erbringen, siehe erster Abschnitt. Mit Marlin kann man auch schön drucken, was anderes habe ich nie behauptet. Aber wenn ich mir z.B. den Testbericht vom FLSUN 400 durchlese, den der eingefleischter Marlin-Veteran Uwe geschrieben hat (und dem Stefan in seiner Zweitmeinung zustimmt), dann behaupte ich mal, dass die out-of-the-box Performance des FLSUN 400 mit Marlin so nicht möglich wäre.
Perfekt ist weder Klipper noch Marlin, beide haben Vor- und Nachteile. Außerdem sind die Geschmäcker, Anforderungen und der Erfahrungshintergrund nun mal verschieden, also kann ich nur für mich sprechen... Finde ich Klipper hat viele Vorteile? Ja! Empfehle ich Klipper? Ja, unbedingt! Behaupte ich mit Marlin könne man nicht auch schön drucken? Nein! Zwinge ich jemanden sein Marlin gegen Klipper zu tauschen? Nein! Jedem Tierchen sein pläsierchen... Das Basteln und 3D-Drucken ist für mich ein Hobby und soll Spaß machen, da liegt es mir fern mich mit gleichgesinnten zu streiten, auch wenn ich den Austausch von Erfahrungen, Meinungen und Fakten in einem Forum für sinnvoll halte und gerne eine fruchtbare Diskussion führe.