supermerill / SuperSlicer

G-code generator for 3D printers (Prusa, Voron, Creality, etc.)
4.13k stars 520 forks source link

Compatibility with wxWidgets 3.1.5 #1093

Open gkatev opened 3 years ago

gkatev commented 3 years ago

Hi, I'd like to give heads up on the new Wx 3.1.5 release: https://github.com/wxWidgets/wxWidgets/releases

When compiling and running superslicer with Wx 3.1.5, the Plater and the 3D View, Sliced Preview, GCode Preview are "blank", and a bunch of these errors spew out:

[0x00007f6655c64080] [error]   Unable to init glew library

What I mean by "blank" (the image you see is my desktop's background): superslicer-wx_3 1 5-plater

Platform: Arch Linux Version(s): 2.3.55.5 and git-master

Furthermore, on master this assertion fails as soon as superslicer w/ wx 3.1.5 opens (and not with 3.1.4):

ASSERT INFO:
/tmp/makepkg/superslicer-git/src/SuperSlicer/src/slic3r/GUI/ConfigWizard.cpp(2595): assert ""prusa_it != p->bundles.cend()"" failed in ConfigWizard(): Vendor PrusaResearch not found

BACKTRACE:
[1] wxEvtHandler::TryHereOnly(wxEvent&)
[2] wxEvtHandler::ProcessEventLocally(wxEvent&)
[3] wxEvtHandler::ProcessEvent(wxEvent&)
[4] wxEvtHandler::ProcessPendingEvents()
[5] wxAppConsoleBase::ProcessPendingEvents()
[6] wxApp::DoIdle()
[7] g_main_context_dispatch
[8] g_main_loop_run
[9] gtk_main
[10] wxGUIEventLoop::DoRun()
[11] wxEventLoopBase::Run()
[12] wxAppConsoleBase::MainLoop()
[13] wxEntry(int&, wchar_t**)
[14] __libc_start_main

I hope not to overwhelm you with bugs, just putting this out here, as I can only suppose it will come up sooner or later!

Noticed you are asking for verifications if bugs also exist on slic3r-dev (not even sure how slic3r interacts with perl-wx/wx, or if slic3r supports wx-3.1.x). If necessary/useful, I can try to build slic3r-dev with wx-3.1.5 and see what comes up.

Thank you, and let me know if I can be of further help.

sl1pkn07 commented 3 years ago

EDITED: seems my problem

greetings

EDIT2: working for me with 2.2.54.2 and wxwidgets-dev-light 3.1.5 [AUR] (unreleased)

supermerill commented 3 years ago

As it can't init the glew (opengl) , then it can't draw the 3D view, hence the transparent panel. I don't know why it isn't working, maybe wxwidget 3.1.5 need a newer version of glew or something else? Imo, i don't see the point, and prusa will fix it when they will move to the wxwidget 3.1.5

Furthermore, on master this assertion fails as soon as superslicer w/ wx 3.1.5 opens (and not with 3.1.4):

Prusa put its settings in front, and has some code for prusa -specific wizard. I deactivated most of it, but sometimes i forgot to disable new portions. Like here. Nothing to do with your issue.

I hope not to overwhelm you with bugs

no problem.

Noticed you are asking for verifications if bugs also exist on slic3r-dev (not even sure how slic3r interacts with perl-wx/wx, or if slic3r supports wx-3.1.x). If necessary/useful, I can try to build slic3r-dev with wx-3.1.5 and see what comes up.

nah, it's just that i forgot to change the github file, as i merge things with the slic3r repo, and i forgot to re-personalize this for my repo. Don't bother

fiechr commented 3 years ago

Just FYI, I'm having the same issue with Pursaslicer: https://github.com/prusa3d/PrusaSlicer/issues/6396

wavexx commented 2 years ago

FIY, looks like by default wxWidgets 3.1.5 enables EGL support, which also needs to be enabled in GLEW. GLEW 2.2.0 EGL support seems partial, so it's not enabled by default so far (at least on debian, but it seems that some distros have this non-matching settings too).

Since I wanted to have a few fixes from wx 3.1.5, the easiest way is to build wxwidgets with --disable-glcanvasegl at the moment. This works with the default GLEW 2.2.0 and/or with the bundled GLEW.

jwise commented 1 year ago

GLEW 2.2.0 works for me in Bambu Studio: https://github.com/bambulab/BambuStudio/pull/1053