prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.78k stars 1.94k forks source link

Both Physical Printer Tab and Prusa Connect Login Popup are Blank #12969

Open mlgold opened 4 months ago

mlgold commented 4 months ago

Description of the bug

On updated RHEL8, both the Physical Printer Tab and Prusa Connect Login Popup are Blank. They worked once, but after closing and opening Prusa Slicer again, they are blank. Prusa Link to the printer and Prusa Connect work on a browser.

Project file & How to reproduce

Open Prusa Slicer. Click on Physical Printer Tab or the Login icon at top right.

Checklist of files included above

Version of PrusaSlicer

Physical Printer Tab and Prusa Connect Login Popup are Blank

Operating system

RHEL 8

Printer model

Mini

PatB42 commented 4 months ago

Yes exactly that I was afraid , each time you close the slicer then you have to re write the name and password !! that why mozilla is best for such reminding.. and hope you find solution that not forced user to log in prusa acc !! for my all customer it's not good ..

mlgold commented 4 months ago

Yes exactly that I was afraid , each time you close the slicer then you have to re write the name and password !! that why mozilla is best for such reminding.. and hope you find solution that not forced user to log in prusa acc !! for my all customer it's not good ..

That is not my issue. I cannot enter the login password into the slicer at all, as the dialog box pops up blank and never fills in. The same happens with the Physical Printer tab. My guess is the Webkit integration is not working correctly. There are no error messages related to the popup or page selection, but lots of error messages when started on the command line.

$ /usr/local/bin/PrusaSlicer-2.8.0+linux-x64-GTK3-202406270929.AppImage

(prusa-slicer:75526): Gtk-WARNING **: 13:12:36.820: Theme parsing error: gtk-contained.css:2848:13: Expected a length

(prusa-slicer:75526): Gtk-WARNING **: 13:12:36.820: Theme parsing error: gtk-contained.css:2880:37: The :prelight pseudo-class is deprecated. Use :hover instead.

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.473: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.473: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.473: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.473: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.474: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.474: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.475: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.475: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.476: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.476: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.478: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.478: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.481: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.481: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.481: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.481: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.497: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.497: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.500: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.500: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.703: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.703: gtk_widget_set_size_request: assertion 'width >= -1' failed

(WebKitWebProcess:75566): Gtk-WARNING **: 13:12:37.884: Theme parsing error: gtk-contained.css:2848:13: Expected a length

(WebKitWebProcess:75566): Gtk-WARNING **: 13:12:37.884: Theme parsing error: gtk-contained.css:2880:37: The :prelight pseudo-class is deprecated. Use :hover instead.

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.908: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.908: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.909: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.909: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.910: gtk_widget_set_size_request: assertion 'width >= -1' failed

(WebKitWebProcess:75570): Gtk-WARNING **: 13:12:37.932: Theme parsing error: gtk-contained.css:2848:13: Expected a length

(WebKitWebProcess:75570): Gtk-WARNING **: 13:12:37.932: Theme parsing error: gtk-contained.css:2880:37: The :prelight pseudo-class is deprecated. Use :hover instead.

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.933: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.933: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.955: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.955: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.956: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.956: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.956: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.957: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.957: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.959: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.959: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.959: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.960: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.960: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.960: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.960: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.960: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.960: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.961: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.961: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.961: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.961: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:12:37.961: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:12:37.961: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(WebKitWebProcess:75570): Gtk-WARNING **: 13:12:38.080: Theme parsing error: gtk-contained.css:2848:13: Expected a length

(WebKitWebProcess:75570): Gtk-WARNING **: 13:12:38.080: Theme parsing error: gtk-contained.css:2880:37: The :prelight pseudo-class is deprecated. Use :hover instead.

(WebKitWebProcess:75566): Gtk-WARNING **: 13:12:38.080: Theme parsing error: gtk-contained.css:2848:13: Expected a length

(WebKitWebProcess:75566): Gtk-WARNING **: 13:12:38.081: Theme parsing error: gtk-contained.css:2880:37: The :prelight pseudo-class is deprecated. Use :hover instead.
13:12:38: Debug: window wxTreeCtrl@0xc418b60 ("treeCtrl") lost focus even though it didn't have it
13:12:38: Debug: window wxTreeCtrl@0xc418b60 ("treeCtrl") lost focus even though it didn't have it
13:12:38: Debug: window wxTreeCtrl@0xc418b60 ("treeCtrl") lost focus even though it didn't have it
13:12:38: Debug: window wxTreeCtrl@0xc418b60 ("treeCtrl") lost focus even though it didn't have it

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:13:49.811: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.811: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:13:49.811: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.811: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:13:49.813: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.813: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:13:49.813: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.813: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.815: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.815: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:13:49.815: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.815: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:13:49.815: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.815: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.815: gtk_widget_set_size_request: assertion 'width >= -1' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:13:49.815: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.815: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed

(prusa-slicer:75526): GLib-GObject-WARNING **: 13:13:49.815: invalid cast from 'wxPizza' to 'GtkCellLayout'

(prusa-slicer:75526): Gtk-CRITICAL **: 13:13:49.815: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed
13:13:53: Debug: window wxTreeCtrl@0xc418b60 ("treeCtrl") lost focus even though it didn't have it
13:13:53: Debug: window wxTreeCtrl@0xc418b60 ("treeCtrl") lost focus even though it didn't have it
13:13:53: Debug: window wxTreeCtrl@0xc418b60 ("treeCtrl") lost focus even though it didn't have it
13:13:53: Debug: window wxTreeCtrl@0xc418b60 ("treeCtrl") lost focus even though it didn't have it

(WebKitWebProcess:76094): Gtk-WARNING **: 13:14:00.646: Theme parsing error: gtk-contained.css:2848:13: Expected a length

(WebKitWebProcess:76094): Gtk-WARNING **: 13:14:00.646: Theme parsing error: gtk-contained.css:2880:37: The :prelight pseudo-class is deprecated. Use :hover instead.

(WebKitWebProcess:76094): Gtk-WARNING **: 13:14:00.762: Theme parsing error: gtk-contained.css:2848:13: Expected a length

(WebKitWebProcess:76094): Gtk-WARNING **: 13:14:00.762: Theme parsing error: gtk-contained.css:2880:37: The :prelight pseudo-class is deprecated. Use :hover instead.
PatB42 commented 4 months ago

oulla are you sure is not missing 1 files !!!!!!!!!!!! haha so much.....

ThomasBoettcherHolschen commented 4 months ago

Just installed the Slicer Version 2.8.0 via Flatpack on Linux Mint 21.3. This is what happens when I click Login:

MissingLoginDialog

I can see changes in the Cursor when hovering the Form. I can click on something, but I don't know what happens ;-) Let me know when you need more info.

snhirsch commented 4 months ago

I'm having the same issue: Version 2.8.0+linux-x64-GTK3 running on Kubuntu (KDE desktop) 18.04. Everything in the slicer works fine, but it doesn't show anything but a blank screen under 'Prusa Connect'. I should add that the Prusa Link interface is working fine (after figuring out that I needed to specify login information).

grndkntrl commented 4 months ago

Same problem on v2.8.0 on Win 11 x64:

image

I just updated from v2.6.4 which was fine,

Completely uninstalling & reinstalling from scratch doesn't fix it.

Rose-David commented 3 months ago

Same issue on NixOS 24.11 Vicuna. I attached a log snippet of what happens when I attempt to open the login window.

failed to bind extensions
Failed to create GBM device for render device: /dev/dri/renderD128: No such file or directory
Failed to get GBM device
[2024-08-09 14:06:22.223435] [0x00007fa2257c1d80] [error]   WebViewDialog error: wxWEBVIEW_NAV_ERR_OTHER
Failed to get GBM device
Failed to get GBM device
Failed to get GBM device
Rose-David commented 3 months ago

I can see changes in the Cursor when hovering the Form.

I tried to see if I could interact with anything, by selecting all and dragging, and I got this: Screenshot_20240811_195209 It says "Connection failed, Something went wrong."

There doesn't appear to be anything else hidden as far as I can tell.

Rose-David commented 3 months ago

So, @30350n found out that these invisible messages briefly tell you to install glib-networking, and once we rebuilt the package with that in the buildInputs, it worked flawlessly!

Can someone on another OS try this to see if it works?

snhirsch commented 3 months ago

I'd love a fix for my Linux installation and would be interested in building here. However, I'm not an expert on cmake and you have not provided quite enough detail for me to proceed.

30350n commented 3 months ago

(In theory you shouldn't have to mess with cmake at all, but just install glib-networking. I'm guessing it's automatically detecting whether or not it's present.)

snhirsch commented 3 months ago

I do have it installed. I'm still running Ubuntu 18.04 LTS since upgrades break too many things. I extracted the contents of the release Appimage and checked all compiled objects with 'ldd'. The slicer itself is dynamically linked to libglib.so.blah, but that's the extent of obvious glib references.

I guess I don't understand the "..once we rebuilt the package with that in the buildInputs.." statement above.

30350n commented 3 months ago

Ah, if you are using the AppImage then this is probably not going to be helpful. The buildInputs thing it NixOS specific, basically a way to declare build dependencies (NixOS is building PrusaSlicer from source).

snhirsch commented 3 months ago

I cannot build from source on Ubuntu 18.04 LTS. The available Boost library is one minor version too old, apparently. One of these days I'll upgrade my system... For now it's the end of the line.

jmickelin commented 3 months ago

So, @30350n found out that these invisible messages briefly tell you to install glib-networking, and once we rebuilt the package with that in the buildInputs, it worked flawlessly!

Can someone on another OS try this to see if it works?

Curiously, I am also running NixOS, and encountered the bug even after your nixpkgs patch was merged.

I managed to solve it by disabling Webkit's hardware acceleration, done by running the program with WEBKIT_DISABLE_COMPOSITING_MODE=1. For reference, see this ticket for another program displaying the same issue: https://github.com/tauri-apps/tauri/issues/8254

$ WEBKIT_DISABLE_COMPOSITING_MODE=1 prusa-slicer 

Apparently, at least for one person in that thread, the problem was caused by a version mismatch between the system's Mesa libraries and those used by webkitgtk. Now, that might be completely NixOS specific (in my case, since the majority of my system is running on 24.05 and only a few programs, PrusaSlicer included, on unstable), but it wouldn't be entirely out of the question to investigate for other bundled releases, like Flatpak, mentioned above...

I'll have to get back to you after trying the more proper fix of building webkitgtk with the right Mesa version (also described in that other issue).

For reference, the stderr in my case has a few more error messages compared to the ones posted above:

PrusaSlicer output ``` (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:10.759: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:10.760: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:10.764: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:10.766: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:10.769: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:10.770: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.032: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.032: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.034: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.034: gtk_widget_set_size_request: assertion 'width >= -1' failed [2024-08-16 16:24:11.086052] [0x00007fcebd416d80] [error] UserAccount: Failed to read token - no datafile found. (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.194: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.194: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.286: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.286: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.288: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.288: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.290: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.321: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.321: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.342: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.343: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.343: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.345: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.346: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.349: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.349: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.349: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.349: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.349: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.349: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.350: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.350: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.350: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.350: gtk_widget_set_size_request: assertion 'width >= -1' failed (prusa-slicer:58033): Gtk-CRITICAL **: 16:24:11.350: gtk_widget_set_size_request: assertion 'width >= -1' failed 04:24:12 PM: Debug: window wxTreeCtrl@0x5594d309aeb0 ("treeCtrl") lost focus even though it didn't have it 04:24:12 PM: Debug: window wxTreeCtrl@0x5594d309aeb0 ("treeCtrl") lost focus even though it didn't have it did not find extension DRI_Mesa version 2 did not find extension DRI_IMAGE_DRIVER version 2 failed to bind extensions did not find extension DRI_Mesa version 2 did not find extension DRI_IMAGE_DRIVER version 2 failed to bind extensions did not find extension DRI_Mesa version 2 did not find extension DRI_SWRast version 5 failed to bind extensions Failed to create GBM device for render device: /dev/dri/renderD128: Illegal seek did not find extension DRI_Mesa version 2 did not find extension DRI_IMAGE_DRIVER version 2 failed to bind extensions did not find extension DRI_Mesa version 2 did not find extension DRI_IMAGE_DRIVER version 2 failed to bind extensions did not find extension DRI_Mesa version 2 did not find extension DRI_SWRast version 5 failed to bind extensions Failed to create GBM device for render device: /dev/dri/renderD128: Illegal seek ```
30350n commented 3 months ago

a version mismatch between the system's Mesa libraries and those used by webkitgtk only a few programs, PrusaSlicer included, on unstable

Yeah I also noticed this while testing the patch. You could probably get that setup to work though by using an override on the unstable prusa-slicer package to set the relevant GFX libraries to their stable version.

snhirsch commented 3 months ago

That environment variable did not change the misbehavior on my system. When I login to my Prusa account and select the Prusa Connect tab I get an immediate system notification that Webkit has crashed along with a blank window.

jmickelin commented 3 months ago

a version mismatch between the system's Mesa libraries and those used by webkitgtk only a few programs, PrusaSlicer included, on unstable

Yeah I also noticed this while testing the patch. You could probably get that setup to work though by using an override on the unstable prusa-slicer package to set the relevant GFX libraries to their stable version.

Thanks! For reference (and now I'll stop hijacking this ticket with NixOS specifics) the following did the trick:

unstable.prusa-slicer.override { 
  wxGTK-override = lib.lists.findSingle (p: p.pname == "wxwidgets-prusa3d-patched") null null pkgs.prusa-slicer.buildInputs;
}

(where unstable is the unstable nixpkgs, and pkgs is the stable one; a bit hacky since the "wxwidgets-prusa-patched" derivation was just defined in a let-binding).

That environment variable did not change the misbehavior on my system. When I login to my Prusa account and select the Prusa Connect tab I get an immediate system notification that Webkit has crashed along with a blank window.

Dang, sorry to hear that! I guess there are several issues masquerading as similar ones at play. I definitely think upgrading your system would be the right way to go, as you noted. Until then, my suggestion from a general troubleshooting perspective would be to try to run PrusaSlicer from a Live CD for a newer Ubuntu version, just to confirm whether or not upgrading your distro would solve it. Or in a virtual machine.

rkiddy commented 3 months ago

Just FYI, I am able to build on Ubuntu 22.04.4 LTS. I actually pulled the source and built on Aug 13, in case that makes a difference. I was able to build with the directions, with no problems at all. And the Login window works. It is not empty.

snhirsch commented 3 months ago

It doesn't even come close to building on Ubuntu 18.04 LTS. Many pre-reqs missing and despite verbiage in the build instructions it makes no attempt to get them. I'm hoping to install 24.04 LTS soon.

bkerler commented 2 months ago

I can also confirm on Ubuntu 24.04 LTS that the window login and connect are blank. Running with WEBKIT_DISABLE_COMPOSITING_MODE=1 works, but only for regular deb and appimage for both 2.8.0 and 2.8.1.

bkerler commented 2 months ago

I just figured out it is related to webkit using dma mode (especially for nvidia graphic cards) being introduced with 2.41.1. Running WEBKIT_DISABLE_DMABUF_RENDERER=1 seems to be the proper solution instead of WEBKIT_DISABLE_COMPOSITING_MODE=1. See related details here, here and bug report related to nvidia drivers (and recommendations): here

snhirsch commented 2 months ago

Interesting! I spun up a VMware guest running Debian Bookworm and the Connect tab are working correctly in that environment. I did note that Prusa is distributing (2) different versions of the slicer and it appears that Ubuntu 24.04 requires a different build from what I used. The "Ubuntu" build requires a newer GLIBC version than Bookworm.

kocikdav commented 2 months ago

Hello. Thank you all for testing and proposed solution. We are going to add setting either WEBKIT_DISABLE_DMABUF_RENDERER or WEBKIT_DISABLE_COMPOSITING_MODE during startup of PS. Please let us know if there are any users whose problem is solved only by WEBKIT_DISABLE_DMABUF_RENDERER=1 or WEBKIT_DISABLE_COMPOSITING_MODE=1. Thanks!

ahdinosaur commented 1 month ago

Hi, I can confirm on Debian "bookworm", using proprietary Nvidia graphics drivers, using PrusaSlicer installed via flatpak, the window login and connect tab are blank. Fixed using either WEBKIT_DISABLE_DMABUF_RENDERER=1 or WEBKIT_DISABLE_COMPOSITING_MODE=1. Thanks for the help!

snhirsch commented 1 month ago

Neither of those parameters work on Ubuntu 18.04 LTS. I'm planning to upgrade my base install to Debian Bookworm in the near future and brought it up on a VM for testing. So far it does seem to work properly in that environment.

miquelbeltran commented 1 month ago

For anyone using flatpak, you can set the environment variable permanently with:

sudo flatpak override --env=WEBKIT_DISABLE_COMPOSITING_MODE=1 com.prusa3d.PrusaSlicer

Then you can launch the app as usual.

You can run the same command with --unset-env=WEBKIT_DISABLE_COMPOSITING_MODE when you don't need this anymore.

snhirsch commented 1 month ago

I've found that the environment setting is required on Ubuntu 24.04 but not on the upstream Debian Bookworm. Probably down to the version of Webkit. It has never worked on Ubuntu 18.04, but that's getting long in tooth.

BallieBall commented 1 month ago

For anyone using flatpak, you can set the environment variable the setting permanently with:

sudo flatpak override --env=WEBKIT_DISABLE_COMPOSITING_MODE=1 com.prusa3d.PrusaSlicer

Then you can launch the app as usual. You can run the same command with --unset-env=WEBKIT_DISABLE_COMPOSITING_MODE when you don't need this anymore.

This worked perfectly for me, thank you

guiweber commented 1 week ago

I can confirm that on CachyOS (Arch Linux) using proprietary Nvidia graphics drivers, using either WEBKIT_DISABLE_DMABUF_RENDERER=1 or WEBKIT_DISABLE_COMPOSITING_MODE=1 fixes the issue.

lukasmatena commented 3 days ago

Can you guys please retest this in 2.9.0-alpha1? Thanks.

miquelbeltran commented 3 days ago

Can you guys please retest this in 2.9.0-alpha1? Thanks.

I can confirm it works with the alpha1 as available on flatpak beta, I have also disabled the env var:

flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
flatpak install flathub-beta com.prusa3d.PrusaSlicer
sudo flatpak override --unset-env=WEBKIT_DISABLE_COMPOSITING_MODE
flatpak run com.prusa3d.PrusaSlicer//beta

image

lukasmatena commented 3 days ago

@miquelbeltran Thanks for getting back. Do you need to set the env var explicitly? It should no longer be needed with 2.9.0-alpha1.

miquelbeltran commented 3 days ago

@miquelbeltran Thanks for getting back. Do you need to set the env var explicitly? It should no longer be needed with 2.9.0-alpha1.

Nope, I have already removed it from my flatpak setup, to ensure I ran --reset to remove any env overrides:

sudo flatpak override --reset 

Running --show returns empty:

sudo flatpak override --show
lukasmatena commented 3 days ago

@miquelbeltran Sorry, I misread your first post and thought that you set the variable, when you really unset it. I'm glad that it works for you now.