Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove webkit as a mandatory run/build-time dependency #12968

Open
buhman opened this issue Jun 29, 2024 · 33 comments
Open

Remove webkit as a mandatory run/build-time dependency #12968

buhman opened this issue Jun 29, 2024 · 33 comments

Comments

@buhman
Copy link

buhman commented Jun 29, 2024

Is your feature request related to a problem? Please describe.
I originally bought my Prusa printers specifically because, unlike other vendors, there was no "cloud" feature.

It is unreasonable that Webkit is a mandatory build-time/run-time dependency, and it should be possible to compile PrusaSlicer such that all mention of "Prusa Connect" is removed entirely.

Describe the solution you'd like
Add a new Cmake option, for example SLIC3R_WEBKIT and/or SLIC3R_PRUSACONNECT. When cmake is given with an invocation such as cmake -DSLIC3R_WEBKIT=OFF, the compiled binaries should have no link/load dependencies on Webkit nor a wxGTK that has webview compiled-in. All buttons and menu options that refer to "Prusa Connect" should be removed if these options are OFF.

Describe alternatives you've considered
Stay on 2.7.4 forever.

@buhman buhman changed the title Remove webkit as a mandatory build-time dependency Remove webkit as a mandatory run/build-time dependency Jun 29, 2024
@gordon-quad
Copy link

Not sure what WebView is used for, but if there is an option to just turn off this functionality in full to make wxGTK webkit dependency optional - it would be great.

@l29ah
Copy link

l29ah commented Jul 4, 2024

2276ced first bad commit

@Perlovka
Copy link

Perlovka commented Jul 9, 2024

+10
Webkit also has ruby requirement, pulling a lot of unneeded crap as dependencies.

Dependency resolution took 3.52 s (backtrack: 0/20).

[ebuild  N     ] dev-util/unifdef-2.12-r1::gentoo  66 KiB
[ebuild  N     ] app-eselect/eselect-ruby-20231226::gentoo  2 KiB
[ebuild  N     ] dev-libs/hyphen-2.8.8-r2::gentoo  USE="-static-libs" 0 KiB
[ebuild  N     ] media-libs/woff2-1.0.2-r6::gentoo  39 KiB
[ebuild  N     ] sys-apps/xdg-dbus-proxy-0.1.5::gentoo  USE="-test" 122 KiB
[ebuild  N     ] dev-util/colm-0.14.7-r3::gentoo  USE="-doc" 3,038 KiB
[ebuild  N     ] dev-util/ragel-7.0.4-r3::gentoo  USE="-doc" 1,618 KiB
[ebuild  N     ] media-plugins/gst-plugins-opus-1.22.11:1.0::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] dev-lang/ruby-3.1.6:3.1::gentoo  USE="gdbm ipv6 ssl -berkdb -debug -doc -examples (-jemalloc) -jit -socks5 (-static-libs) -systemtap -tk -valgrind -xemacs" 14,916 KiB
[ebuild  N     ] dev-lang/ruby-3.2.4:3.2::gentoo  USE="gdbm ipv6 ssl -berkdb -debug -doc -examples (-jemalloc) -jit -socks5 (-static-libs) -systemtap -tk -valgrind -xemacs" 14,820 KiB
[ebuild  N     ] virtual/ruby-ssl-14::gentoo  RUBY_TARGETS="ruby31 ruby32 -ruby33" 0 KiB
[ebuild  N     ] dev-ruby/rubygems-3.5.11::gentoo  USE="-server -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 13,225 KiB
[ebuild  N     ] virtual/rubygems-20::gentoo  RUBY_TARGETS="ruby31 ruby32 -ruby33" 0 KiB
[ebuild  N     ] dev-ruby/power_assert-2.0.3::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 17 KiB
[ebuild  N     ] dev-ruby/test-unit-3.6.2:2::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 162 KiB
[ebuild  N     ] dev-ruby/bundler-2.5.11:2::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 423 KiB
[ebuild  N     ] dev-ruby/did_you_mean-1.6.3:2.6::gentoo  USE="-test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 46 KiB
[ebuild  N     ] dev-ruby/rake-13.2.1::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 122 KiB
[ebuild  N     ] dev-ruby/json-2.7.2-r1:2::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 123 KiB
[ebuild  N     ] dev-ruby/minitest-5.24.1:5::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 98 KiB
[ebuild  N     ] dev-ruby/matrix-0.4.2::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 42 KiB
[ebuild  N     ] dev-ruby/abbrev-0.1.2::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 5 KiB
[ebuild  N     ] dev-ruby/rbs-3.5.1::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 1,224 KiB
[ebuild  N     ] dev-ruby/typeprof-0.21.11::gentoo  USE="-test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 1,012 KiB
[ebuild  N     ] dev-ruby/strscan-3.1.0:3::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 27 KiB
[ebuild  N     ] dev-ruby/rexml-3.3.1:3::gentoo  USE="-test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 452 KiB
[ebuild  N     ] dev-ruby/rss-0.3.0::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 105 KiB
[ebuild  N     ] dev-ruby/date-3.3.4::gentoo  USE="-test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 97 KiB
[ebuild  N     ] dev-ruby/kpeg-1.3.3:1::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 57 KiB
[ebuild  N     ] dev-ruby/racc-1.8.0::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 447 KiB
[ebuild  N     ] dev-ruby/stringio-3.1.1::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 38 KiB
[ebuild  N     ] dev-ruby/psych-5.1.2:5::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 83 KiB
[ebuild  N     ] dev-ruby/rdoc-6.7.0::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 750 KiB
[ebuild  N     ] dev-ruby/io-console-0.7.2::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 37 KiB
[ebuild  N     ] dev-ruby/reline-0.5.9::gentoo  USE="-test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 91 KiB
[ebuild  N     ] dev-ruby/irb-1.14.0::gentoo  USE="-test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 138 KiB
[ebuild  N     ] dev-ruby/debug-1.9.2:1::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 164 KiB
[ebuild  N     ] dev-ruby/forwardable-1.3.3::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 18 KiB
[ebuild  N     ] dev-ruby/singleton-0.2.0::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 6 KiB
[ebuild  N     ] dev-ruby/prime-0.1.2-r1::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 10 KiB
[ebuild  N     ] dev-ruby/time-0.3.0::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 16 KiB
[ebuild  N     ] dev-ruby/timeout-0.4.1::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 8 KiB
[ebuild  N     ] dev-ruby/net-protocol-0.2.2::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 8 KiB
[ebuild  N     ] dev-ruby/net-ftp-0.3.7::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 30 KiB
[ebuild  N     ] dev-ruby/net-smtp-0.5.0::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 26 KiB
[ebuild  N     ] dev-ruby/net-imap-0.4.14:0.4::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 246 KiB
[ebuild  N     ] dev-ruby/net-pop-0.1.2::gentoo  USE="-doc -test" RUBY_TARGETS="ruby31 ruby32 -ruby33" 22 KiB
[ebuild  N     ] net-libs/webkit-gtk-2.44.1:4/37::gentoo  USE="X gstreamer introspection jumbo-build (seccomp) (-aqua) -avif -examples -gamepad -jpegxl -keyring -lcms -pdf -spell -systemd -wayland" 35,431 KiB
[ebuild   R    ] x11-libs/wxGTK-3.2.2.1-r4:3.2-gtk3::gentoo  USE="X gstreamer libnotify lzma opengl sdl spell tiff webkit* -curl -debug -doc -keyring (-pch) -test -wayland" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild     U  ] media-gfx/prusaslicer-2.8.0::gentoo [2.7.4::gentoo] USE="-test" 68,171 KiB

I'll better stay on 2.7

@luke-jr
Copy link

luke-jr commented Aug 12, 2024

WebKit, like all HTML/JS engines, is prone to regular security vulnerabilities, and therefore banned from most of my machines. +1 to removing the mandatory dependency.

@toomanydev
Copy link

toomanydev commented Aug 18, 2024

I'm not using Prusa Connect or anything, but I killed all the webkit instances and the slicer still works fine. It would also be nice to see these instances to only be spawned if the user has done something that requires them (logging in, clicking the login button, etc), as they some of them have a non-zero CPU usage when idle.

@SparkyBluefang
Copy link

+1 for making the webkit components optional. Though I approach this from a slightly different perspective. For source based Linux distros (Gentoo family, LFS, etc), pulling in webkit is a big compile time commitment which is exacerbated by semi-frequent security updates.

Admittedly, compile time is little more than an annoyance, but it is annoying to add hours of time to regular system updates, especially for a feature not being used. The security angle is probably more compelling, since there are unavoidable considerations of embedding web technologies and loading external content.

I did poke around in the code (it has been nearly 20 years since I've touched cmake, and I'm not a c[++] dev by trade), and it looks like this is sort of a tangled mess, and it doesn't look like it will be straightforward to #ifdef away. IMHO the complexity is kind of disappointing, considering webkit already seems like the sledge hammer solution opposed to implementing a native API based integration.

@PointyFluff
Copy link

The new webkit UI is incredibly buggy and nearly useless. I have to literally restart the app after every sliced model, or it stops updating the UI. webkit needs to go.

@jiri-jirus
Copy link

why is noone solving this problem? prusa-slicer is starting to become worst slicer of all from performance point of view and developers/maintainers are dead silent about this problem. CPU usage when doing nothing has always to be 0%

@TerPuc
Copy link
Collaborator

TerPuc commented Oct 10, 2024

Hello @buhman, thank you for your report!

Issue created: SPE 2512

@cynicalcervine
Copy link

why is noone solving this problem? prusa-slicer is starting to become worst slicer of all from performance point of view and developers/maintainers are dead silent about this problem. CPU usage when doing nothing has always to be 0%

I wrote a patch to just #if all of the webview code out a couple weeks ago that works well enough and just breaks the cloud functionality. Will take a bit more work to put all of it behind a feature gate and hide all the cloud print stuff, it's a bit messy, but it can be done.

@gordon-quad
Copy link

@cynicalcervine where I can find your patch?

@cynicalcervine
Copy link

@gordon-quad just uploaded into the optional_webkit branch on my fork. Do note that to get it to compile I had to use the Gentoo patchset and one additional patch to resolve a GTK/GTK.h not found error

--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -436,10 +479,15 @@ endif ()
 # link these libraries.
 if (UNIX AND NOT APPLE)
       find_package(GTK${SLIC3R_GTK} REQUIRED)
 +     target_include_directories(libslic3r_gui PRIVATE ${GTK${SLIC3R_GTK}_INCLUDE_DIRS})

@buhman
Copy link
Author

buhman commented Oct 31, 2024

@cynicalcervine your commit looks pretty good. Do you think it's high enough quality to submit as a pull request here?

@cynicalcervine
Copy link

@buhman maybe, but they'd probably want a bit more work done on it to make it so that none of the online functionality is enabled at all when you turn off the feature as right now it will show a login box that just does nothing. It would just involve a couple more #ifdefs sprinkled in where necessary.

@l29ah
Copy link

l29ah commented Dec 24, 2024

I've upgraded prusaslicer to 2.8.1 and now it refuses to even start when it doesn't have permission to launch the browser:

** (prusa-slicer:8423): ERROR **: 23:17:38.760: Unable to spawn a new child process: Failed to spawn child process “/usr/libexec/webkit2gtk-4.1/WebKitNetworkProcess” (Permission denied)

Thread 1 "slic3r_main" received signal SIGTRAP, Trace/breakpoint trap.
0x00007f0a071181d7 in g_log_structured_array () from /usr/lib64/libglib-2.0.so.0
(gdb) bt
#0  0x00007f0a071181d7 in g_log_structured_array () at /usr/lib64/libglib-2.0.so.0
#1  0x00007f0a07118637 in g_log_default_handler () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f0a07118950 in g_logv () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f0a07118d8b in g_log () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f0a030be1e4 in WebKit::ProcessLauncher::launchProcess() () at /usr/lib64/libwebkit2gtk-4.1.so.0
#5  0x00007f0a02f1681e in WebKit::AuxiliaryProcessProxy::connect() () at /usr/lib64/libwebkit2gtk-4.1.so.0
#6  0x00007f0a030dbf78 in WebKit::NetworkProcessProxy::NetworkProcessProxy() () at /usr/lib64/libwebkit2gtk-4.1.so.0
#7  0x00007f0a030eafc5 in WebKit::WebsiteDataStore::networkProcess() () at /usr/lib64/libwebkit2gtk-4.1.so.0
#8  0x00007f0a030fce9a in WebKit::WebsiteDataStore::setIgnoreTLSErrors(bool) () at /usr/lib64/libwebkit2gtk-4.1.so.0
#9  0x00007f0a0306efcd in webkitWebsiteDataManagerGetDataStore(_WebKitWebsiteDataManager*) () at /usr/lib64/libwebkit2gtk-4.1.so.0
#10 0x00007f0a03065f12 in webkitWebViewConstructed(_GObject*) () at /usr/lib64/libwebkit2gtk-4.1.so.0
#11 0x00007f0a07f02606 in g_object_new_internal.part () at /usr/lib64/libgobject-2.0.so.0
#12 0x00007f0a07f0448e in g_object_new_with_properties () at /usr/lib64/libgobject-2.0.so.0
#13 0x00007f0a07f05409 in g_object_new () at /usr/lib64/libgobject-2.0.so.0
#14 0x00007f0a08dda871 in wxWebViewWebKit::Create(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&) () at /usr/lib64/libwx_gtk3u_webview-3.2-gtk3.so.0
#15 0x0000561df043cb9a in WebView::CreateWebView (parent=parent@entry=0x561e116b9610, url=..., message_handlers=std::vector of length 1, capacity 1 = {...})
    at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/slic3r/GUI/WebView.cpp:37
#16 0x0000561df0438a85 in Slic3r::GUI::WebViewPanel::WebViewPanel
    (this=this@entry=0x561e116b9610, parent=parent@entry=0x561e0f5798e0, default_url=..., message_handler_names=std::vector of length 1, capacity 1 = {...}, loading_html="connect_loading")
    at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/slic3r/GUI/WebViewDialog.cpp:112
#17 0x0000561df0438fa4 in Slic3r::GUI::ConnectWebViewPanel::ConnectWebViewPanel (this=this@entry=0x561e116b9610, parent=0x561e0f5798e0)
    at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/slic3r/GUI/WebViewDialog.cpp:596
#18 0x0000561defffe71f in Slic3r::GUI::MainFrame::create_preset_tabs (this=0x561e0f87c6e0) at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/slic3r/GUI/MainFrame.cpp:804
#19 0x0000561defffee80 in Slic3r::GUI::MainFrame::init_tabpanel (this=this@entry=0x561e0f87c6e0) at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/slic3r/GUI/MainFrame.cpp:722
#20 0x0000561df0002828 in Slic3r::GUI::MainFrame::MainFrame (this=this@entry=0x561e0f87c6e0, font_point_size=<optimized out>)
    at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/slic3r/GUI/MainFrame.cpp:179
#21 0x0000561deffd16f0 in Slic3r::GUI::GUI_App::on_init_inner (this=<optimized out>) at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/slic3r/GUI/GUI_App.cpp:1501
#22 0x0000561deffd314d in Slic3r::GUI::GUI_App::OnInit (this=<optimized out>) at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/slic3r/GUI/GUI_App.cpp:1170
#23 0x00007f0a08b2ae72 in wxEntry(int&, wchar_t**) () at /usr/lib64/libwx_baseu-3.2-gtk3.so.0
#24 0x0000561deffa8ac8 in Slic3r::GUI::GUI_Run (params=...) at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/slic3r/GUI/GUI_Init.cpp:71
#25 0x0000561def50e1b1 in Slic3r::CLI::run (this=this@entry=0x7ffc8f985460, argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/PrusaSlicer.cpp:764
#26 0x0000561def4e006f in main (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/media-gfx/prusaslicer-2.8.1-r1/work/PrusaSlicer-version_2.8.1/src/PrusaSlicer.cpp:1159

@luke-jr
Copy link

luke-jr commented Dec 29, 2024

@cynicalcervine Sadly, your patch does not work with 2.8.1.

@sithlord48
Copy link

sithlord48 commented Jan 1, 2025

+1 Local only, Web browsers are a thing YOUR better than them stop trying to be them

@codefaux
Copy link

codefaux commented Jan 1, 2025

Installing a web browser inside your 3D model slicer is insane.

I have a web browser, if I need it I'll use it, I promise.

Is it within scope to add a compiler and infrastructure to download, configure and compile firmware?
Why not bundle in a bunch of search platform toolbars instead, like the good old days? I feel like they pay better.
Why not build a kernel and make it bootable, compile in Xorg and GCC?
Can I use the slicer to make coffee and a bagel yet?
The spell checker built into the text tool isn't very good, better add OpenOffice.
HEY why not add AI? Pytorch is only a few GBs, a good conversational model is only a few more GBs, nobody will mind, and most people have modest GPUs right?

Seriously. It's a slicer. It doesn't need a food processor attachment. Stop spending your time on the shoe polisher. This is beyond feature creep.

If this isn't addressed, I'll stop using PrusaSlicer. I haven't used another slicer since Skeinforge, and if I leave I won't look back. No big loss, but I'm not alone.

Most of the compelling features in this slicer have come from outside this project recently anyway.

@CRCinAU
Copy link

CRCinAU commented Jan 1, 2025

Agreed. This added a hell of a lot of issues with distribution, building, compiling and operation of a slicer.

Rip out the web browser completely from PrusaSlicer and bring it back to what it actually is - a slicer.

Time to reverse the enshittification of PrusaSlicer before it gets even more out of hand.

@sithlord48
Copy link

If you must keep the tabs for printables and local printer how about just having them open in my browser. Tons of other apps do this for opening web content. This is even how most of the item in the help menu work already so the code is even here todo it.

The only "web" thing i want to be able todo from the slicer is upload gcode to my printer.

@luke-jr
Copy link

luke-jr commented Jan 1, 2025

@cynicalcervine Sadly, your patch does not work with 2.8.1.

Looks like this is a bug in unpatched 2.8.1. Fixed with:

--- a/src/slic3r/CMakeLists.txt
+++ b/src/slic3r/CMakeLists.txt
@@ -487,6 +487,8 @@
     else ()
         target_link_libraries(libslic3r_gui PUBLIC ${GTK${SLIC3R_GTK}_LIBRARIES} fontconfig)
     endif ()
+    include_directories(${GTK${SLIC3R_GTK}_INCLUDE_DIRS})
+    add_definitions(${GTK${SLIC3R_GTK}_CFLAGS_OTHER})
 endif ()
 
 # Add a definition so that we can tell we are compiling slic3r.

@strayr
Copy link

strayr commented Jan 6, 2025

Can we please, please, please have at least an options level toggle to NOT have printables and physical printer tabs in the slicer. My web browser is very good at managing system-hog pages that I'm not currently engaged with. I'm quite happy to alt-tab between prusaslicer and and a web browser and close the browser when i don't need to poke my printer. I also have about 20 printables tabs open.

I don't need that in my slicer. I just need my slicer to not fall over on my i7-8565U laptop with only 16GiB of ram. It should be plenty for this.

A "fix" for kilpper users is to specify the moonraker port, so I set fastprinter.local:7125 as the URL and the physical printer page shows a very minimal moonraker info page.

@codefaux
Copy link

codefaux commented Jan 6, 2025

@cynicalcervine @luke-jr -- they closed #13635 as "completed" because they fully intend to continue to chase profits at the expense of an acknowledged but unvalued portion of their userbase. Are either of you going to / willing to keep a repo up to date for this? If I need to change slicers, I'd rather start now.

@codefaux
Copy link

codefaux commented Jan 6, 2025

Can we please, please, please have at least an options level toggle to NOT have printables and physical printer tabs in the slicer.

@strayr -- The answer is a definitive hard no. #13635 was just closed, asking for specifically that.

I don't need that in my slicer. I just need my slicer to not fall over on my i7-8565U laptop with only 16GiB of ram. It should be plenty for this.

But what about PrusaSlicer's profits? Those poor profits.

A "fix" for kilpper users is to specify the moonraker port, so I set fastprinter.local:7125 as the URL and the physical printer page shows a very minimal moonraker info page.

Thank you for this, I'll be implementing it until I find a replacement slicer.

Does anyone have any suggestions? I'm guessing OrcaSlicer is where PrusaSlicer got the idiot idea of integrating a browser in the first place, what else is there?

@strayr
Copy link

strayr commented Jan 6, 2025 via email

@cynicalcervine
Copy link

@cynicalcervine @luke-jr -- they closed #13635 as "completed" because they fully intend to continue to chase profits at the expense of an acknowledged but unvalued portion of their userbase. Are either of you going to / willing to keep a repo up to date for this? If I need to change slicers, I'd rather start now.

Sadly that's probably not something I'll do into the future. I'll likely update my fork if I really have to, but it's good on features for now and there's nothing I really need out of it. Eventually there probably will be, I'll chase some feature I really want (like variable print height with organic supports or something), and then if this is the direction the prusa team is going down I'll probably just end up picking a different slicer myself when I really need it :(

Sad to see them doing this in such a sloppy way. It was like 2 hours of work to just put everything behind a build flag. It's not even that it would be super hard to maintain just this one patch, but it looks like they plan on integrating even more with web stuff going forward.

@CRCinAU
Copy link

CRCinAU commented Jan 10, 2025

Enshittification rarely is reversed once its started.

I would strongly suggest to the community to start looking at alternatives, or coordinate to maintain a fork.

@codefaux
Copy link

Sadly that's probably not something I'll do into the future. I'll likely update my fork if I really have to [...] I'll probably just end up picking a different slicer myself when I really need it :(

Thanks for the update. I figured this was likely the case. Between Prusa and a few other apps recently shittifying themselves and the EOL/update pressure/shittifying direction of Win10, I recently abandoned it (NEVER Windows 11) and moved to main Linux. I'm forced to use the PrusaSlicer Flatpak while I look for a new solution, as I'm not prepared to just shut down in the mean time. The flatpak shits the bed and freezes any time I accidentally click either the Physical Printer or Printables tabs, and it can't access my /mnt/win folder where all the models live for now because it's a flatpak and not an actual application which means everyone ELSE gets to decide what permissions I have with it, so I'm beyond doubly driven to find a replacement. Do you have thoughts on candidates?

Sad to see them doing this in such a sloppy way. It was like 2 hours of work to just put everything behind a build flag. It's not even that it would be super hard to maintain just this one patch, but it looks like they plan on integrating even more with web stuff going forward.

Yeah, that's pretty much the one. Their reply to the other read as "shareholders agree that this is the way moving forward but I can't say that out loud" and it just fully made me lose interest. The good features come from other slicers, the shit comes from above. The main thing they're worried with is digesting it and making the profit needle move.

There will soon be no Prusa community; they're viewed as just a pool of consumers.

@l29ah
Copy link

l29ah commented Jan 10, 2025

Please tell if there's a PrusaSlicer ←→ SuperSlicer configuration directory converter.

@CRCinAU
Copy link

CRCinAU commented Jan 10, 2025

For what its worth, the PrusaSlicer 2.7.5 AppImage works just fine in all respects.

There's very little added since that is a 'must have' to force an upgrade.

@codefaux
Copy link

For what its worth, the PrusaSlicer 2.7.5 AppImage works just fine in all respects.

Yeah thanks for the tip. I actually recently found out about AppImage with my CAD software. I'm impressed with it. It makes it really obvious how much bloated BS you add to an app though, so I can see why PrusaSlicer would want to hide that set of holiday photos, so to speak.

Wait..did they remove 2.7.5 from Github? All I see is 2.7.5-rc1 presently.

There's very little added since that is a 'must have' to force an upgrade.

Disagree. Multiple bed / bulk export is a small bonus for me.

Scarf Seams has made a -HUGE- improvement in print visual quality. Came from OrcaSlicer, but OrcaSlicer embraces a lot of things I don't want too. No corporate [censored] going on, so that's a plus, but it's almost a lateral move in "unwanted extras" to me.

@codefaux
Copy link

codefaux commented Jan 10, 2025

Please tell if there's a PrusaSlicer ←→ SuperSlicer configuration directory converter.

@l29ah -- My understanding is they're the same except the new features, so the expected practice is to copy the settings folders from PrusaSlicer into SuperSlicer and it should just work. This may help;
supermerill#3628

@Equidamoid
Copy link

One more +1 to this.
Saving 2 clicks to download & open is not worth adding such a monstrous dependency and a potential security risk.

Runtime switch would be okay. Compile-time switch would be perfect.

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

No branches or pull requests