-
Notifications
You must be signed in to change notification settings - Fork 311
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
🐧 Build for Linux #12
Comments
This is kinda deal breaker. There are lots of linux users in the maker space. Could we at least get a roadmap or official plan on linux support? |
Getting What am I doing wrong?
Full build log: Workflow (based on SuperSlicer): Related? Any help appreciated. |
Having no Linux build is pretty bad. Worse yet, no road map for one. A piece of software based on code that runs on a Linux, shouldn't be that hard to engineer. |
Any update? This is a pretty huge bug, leaving Linux users out. Sitting here with a very expensive paperweight at this point! |
I had a go at building, but got stuck at wxWidgets trying to link against Since building bambu-studio seems to require building virtually all the dependencies from source in the Under wine (GE-proton7-28):
|
Under Wine doesn't work... Can't get past the issues I saw before, no option to login, nor does it detect the printer. I spent a LOT of time the past two days and finally got bambuStudio to compile and link, unfortunately it core dumps immediately after the first dialog box. 😞
|
The build work is now basically done with my PR. We need someone with access to the bambu labs private repo to build and integrate the Without it we'll be stuck unable to communicate with the printer...
|
great anyway, without the plugins, the software should work except the networking operations |
@lhwei120 above error message suggests otherwise. It might be a good idea to have libbambu_networking.so as optional to be able to still use the slicer |
No I think he's right... I think it's seg faulting after that, like when it's trying to paint the UI or something... Gdb said in combobox::setfont and somewhere else when I commented out that function... I didn't do a debug-symbol build and I'd need to figure out how to get VS Code to step a C++ program. Unfortunately, I have some happy IRL stuff to deal with for a couple of days. I'll try to push up a podman |
Not having a Linux build, preferably as an applimage to be distribution agnostic, is in my opinion criminal as it ignores the fact that there are hundreds if not thousands of Linux users in the maker space. And without access to a usable Linux build of the Studio software makes the X1 little more than a very expensive paperweight! Bambu Lab should at least provide access to any missing deps so someone in the community could successfully create a Linux build of the Bambu Studio software. |
@deftdawg any chance we get a docker image to build it? |
There is now a podman Containerfile (might also work as a Dockerfile if you rename it) in my branch, it can build the binary but packaging to AppImage fails due to wanting a kernel module that I don't think can be loaded inside a podman container (libfuse -- error see bottom). @probonopd I saw you're on some AppImage threads about the libfuse thing, if you have a solution for inside podman, please let me know. sudo podman build . -t bambu-studio # This will build, but app image creation fails on libfuse If we can resolve the AppImage fuse problem and complete the build, we should be able to get the appImage off the podman container with something like this: sudo podman run --rm localhost/bambu-studio /bin/bash \
-c 'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv Alternatively, if you run the commands listed inside the Containerfile locally on an Ubuntu or Debian based-OS you should get an appImage file. The AppImage file produced will crash (at least it does on my system) when trying to render UI stuff, hopefully someone (@tapir? @gihad ?) can figure out how to get things to build with debug symbols, then run with GDB to see where the crashes are occurring in the rendering pipeline and troubleshoot it. Unfortunately, I don't have any more time to work on this a bit because of IRL stuff. libfuse errror (fails same spot if libfuse is installed through apt with
|
Use But it would be nice if a GitHub Actions workflow could be made that would generate the AppImage there, intead of relying on additional locally running tools like Podman. Reference: |
Thanks @probonopd, I added some tweaks to the build_image.sh script to make it run with that arg under podman, worked. Here's how to build it with Podman: # clone my branch and go into the dir
rm -rf build; sudo podman build . -t bambu-studio && \
sudo podman run --rm localhost/bambu-studio /bin/bash -c \
'tar -c $(find build | grep ubu64.AppImage | head -1)' | tar -xv It will put the AppImage into As for GitHub actions, I'm open to using it, but not sure if will work on forks. |
Yes, it does work on forks. This might get you started: |
Looks like I also need to figure out how to make AppImageKit bundle the following libraries to make it runable on a SteamDeck (Arch fork):
Update Extended list:
Update #2: Crashes the same as on Kubuntu, at least I can rule out the issue being related to the intel GPU on my laptop (steamdeck has an AMD APU). |
All the missing libraries should be bundled from the system on which the BambuStudio AppImage is made. In fact, all required libraries except those blacklisted in https://github.com/AppImage/pkg2appimage/blob/master/excludelist should be bundled. |
Eh? So I'm supposed to bundle everything in I feel like there should be a flag to have AppImageKit do that automatically without me needing to sort through all the system libs and cross reference them manually in a random 3rd app (we're not using |
Here's a basic setup to at least be able to use print models using multi-colours via the SD card from Linux... It sucks but it should at least let you get stuff printed. It leverages Steam to avoid needing to deal with wine directly and because it's what's available on a Steam Deck (where the root FS is read-only):
Under Proton/Wine the hosts file system is mapped as a network drive under You can load stl and 3mf files from |
Of course only the ones which the application actually uses, and the ones they depend on, and so on (recursively).
There are various tools like the ones on |
Any news from Bambulab for an approximate release date for linux ? |
Hello we have started the work of linux version we will submit the patches as soon as we finished. |
Hey @raupulus , thank you for the fast answer :-) I tried libopenh264-6 (-7 or above isnt available) but to no avail. After also installing libopenh264-cisco6 (now having the codec three times on my machine), the error still persists, but doesnt go into an endless loop any more :-) so, at least, I can close my files properly. |
installing gstreamer1.0-plugins-bad did the trick. Someone knows what '-bad' means in this context? |
Don't worry, I actually use those and they haven't given me any problems in years. GStreamer Bad is a set of plugins that are not properly reviewed. They may be close to being good quality, but they're missing something, whether it's a good code review, some documentation, a test suite, an actual live maintainer, or some actual broad usage. |
I was under the impression that the "bad" plugins were actually those that
were considered not OSS friendly. I remember MP3 (lame, to be precise)
being there a long time because it was not free.
…On Fri, 10 Nov 2023, 13:31 Raúl Caro Pastorino, ***@***.***> wrote:
installing gstreamer1.0-plugins-bad did the trick. Someone knows what
'-bad' means in this context?
Don't worry, I actually use those and they haven't given me any problems
in years. GStreamer Bad is a set of plugins that are not properly reviewed.
They may be close to being good quality, but they're missing something,
whether it's a good code review, some documentation, a test suite, an
actual live maintainer, or some actual broad usage.
You shouldn't have any problems.
—
Reply to this email directly, view it on GitHub
<#12 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABPBEDUCETSES4YMIEZFED3YDYNBJAVCNFSM53YDYKG2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBQGU3DKMZVGI4A>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Wanted to try out the app before committing to buying P1P printer... On MX Linux 23 (Debian based) I get the SSL_CERT_FILE error as reported above, but clicking OK just crashes and can't even start the (ubuntu) app image.. If I run from command line this is the output [2023-11-21 23:52:26.297758] [0x00007fe9c75c5d40] [trace] Initializing StaticPrintConfigs (bambu-studio:503870): GLib-GObject-WARNING **: 23:52:27.944: invalid cast from 'wxPizza' to 'GtkCellLayout' (bambu-studio:503870): Gtk-CRITICAL **: 23:52:27.944: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (bambu-studio:503870): GLib-GObject-WARNING **: 23:52:27.945: invalid cast from 'wxPizza' to 'GtkCellLayout' (bambu-studio:503870): Gtk-CRITICAL **: 23:52:27.945: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (bambu-studio:503870): GLib-GObject-WARNING **: 23:52:27.946: invalid cast from 'wxPizza' to 'GtkCellLayout' (bambu-studio:503870): Gtk-CRITICAL **: 23:52:27.946: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (bambu-studio:503870): GLib-GObject-WARNING **: 23:52:27.946: invalid cast from 'wxPizza' to 'GtkCellLayout' (bambu-studio:503870): Gtk-CRITICAL **: 23:52:27.946: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (bambu-studio:503870): GLib-GObject-WARNING **: 23:52:27.951: invalid cast from 'wxPizza' to 'GtkCellLayout' (bambu-studio:503870): Gtk-CRITICAL **: 23:52:27.951: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (bambu-studio:503870): GLib-GObject-WARNING **: 23:52:27.952: invalid cast from 'wxPizza' to 'GtkCellLayout' (bambu-studio:503870): Gtk-CRITICAL **: 23:52:27.952: gtk_cell_layout_get_cells: assertion 'GTK_IS_CELL_LAYOUT (cell_layout)' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.040: gtk_window_resize: assertion 'height > 0' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.042: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.043: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.043: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.043: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.043: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.043: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.043: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.043: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.048: gtk_window_resize: assertion 'height > 0' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.049: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.049: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.144: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.144: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.152: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.152: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.157: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.157: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.162: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.162: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.167: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.167: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.173: gtk_widget_set_size_request: assertion 'width >= -1' failed (bambu-studio:503870): Gtk-CRITICAL **: 23:52:28.173: gtk_widget_set_size_request: assertion 'width >= -1' failed |
I'm getting the same issue as @JoeleJB here. I pretty much only use linux unless I'm absolutely forced to. I'd rather not run this ins a windows VM but it seems like that is my only option. I get gtk errors with the app images and I get compiler errors when I do it myself. |
what is your linux version? @Szu-Szu |
I'm using rhino Linux which is just a fork of Ubuntu. I did try Ubuntu proper though. Same issue. |
I would like to have a Linux version of Bambu Studio too. |
@ikabod The issue is closed because it's done. You can find the Linux executable https://github.com/bambulab/BambuStudio/releases https://itsfoss.com/use-appimage-linux/#step-1-download-the-appimage-package |
Yay! |
Makes me wonder why there is a version for Ubuntu and one for Fedora. Is "Linux" splintered so badly nowadays that it's not possible to make one version that can run on both? I'd be interested to hear about the concrete technical challenges there. |
The AppImage are only half-containing the libraries needed by the software - some libraries (like libc) are still retrieved from the operating system. So at a given point in time, you may have / need some AppImage for various systems, depending of the current state of installation of some of the low level libraries. Regarding Bambu Lab :
And yes, AppImage is a bad solution (personal opinion), there are tons of issues with them over time, and everything related to distributing images is just a mess in linux (there are way too many packages managers & distribution mechanizms (at OS level - apk, apt, pacman, ...) or through (supposedely) "packaged application" (AppImage, Snap, ...). |
Well, the whole idea behind AppImage is that application developers don't have to deal with the various package managers, and that by making one AppImage (usually for the oldest still-supported Linux distribution LTS release), that AppImage should run on all still-supported releases of Linux distributions. I was just curious what is the technical reason for the Ubuntu version of BambuStudio not running on Fedora. |
That would be fine if BambuStudio AppImage was actually tested & was fixed to work on majority of distros, which it isn't. It seems to work quite well on distros that are more conservative, but on one that are faster to adopt new versions of software, like Arch or Fedora, wheels fall off on pretty much every major release with app failing to start, crashing or missing features (with camera video being the most commonly broken). Very often it's not even possible to build BambuStudio on the distro you are using and because of AppImage excuse nobody at Bambu Labs is trying to so it goes undetected and unfixed until community does that. I would know - I've fixed building with GCC13 when Fedora and Arch switched to that version. I'm sure Bambu would have eventually fixed that, but it would have remained broken for 4+ months - until release of Ubuntu 23.10 forced their hand to look at this. |
Well, my question is, why wouldn't the binary built on an older Ubuntu run on the latest Fedora? I am looking for the technical reason. |
Alrerady answered (and after that i'll stop answering to you) : because not all libraries are included in AppImage and some are coming from the OS itself. |
That doesn't answer what the actual problem is. (Many AppImages don't ship all libraries, especially not those that can reasonably expected to be part of all commonly used desktop Linux distributions. While authors can ship all libraries, down to and including libc, some people would consider that as "bloated" and choose to only privately bundle those libraries that cannot reasonably be expected to be part of all commonly used desktop Linux distributions. If Fedora doesn't somehow break binary compatibility, then an AppImage made on Ubuntu should still work nicely on Fedora.) And why is someone downvoting my questions? As the original inventor of the AppImage file format, I'd like to help where I can but that doesn't make me feel welcome here... |
@probonopd This is more of a BambuStudio problem than AppImage problem. When AppImage made on Ubuntu fails to work on e.g. Arch it pretty much always either segfaults on start or shortly after - when interacting with Bambu network lib. The problem is that vendored/pinned dependencies are often quite out of date and explode in a spectacular way when interacting with never versions of libs. This is why Arch and Fedora are most often broken - both distros update things faster than Ubuntu. |
Got my printer (p1p) and yeah same issues I posted above, cannot start Bambu Studio, though I have prusar slicer working perfectly (no tweaking required, through flatpak). Sucks having to use windows VM to print, hope they can sort this out, I have never had issues with app images not working, before discovering Bambu Studio... |
The camera feature is broken on Linux! |
OK Could never get this working, but if you are also having issues check out the flatpak now available from a kind fellow user.. Works without issue regardless of which distro you are using, like a packaged app should... ;-) |
I have the following errors:
It's on Ubuntu 22.04 headless, so the gui related errors I assume are normal. I have installed 'xvfb' |
Concerning the I'm able to receive an output file, with Also make sure you have a working Did you consider using https://github.com/linuxserver/docker-bambustudio/? They've bundled the AppImage in a docker image with the necessary dependencies. docker run --rm -it \
--name=bambustudio \
-e LC_ALL=C \
-e TZ=Etc/UTC \
--entrypoint="" \
lscr.io/linuxserver/bambustudio:latest /bin/bash -l and then |
@norpol Same thing, I get the output file, the errors are still there with all the solutions I tried. I wanted to make sure that regardless of the errors, the result is correct and it appears that way. Thank you so much |
Linux is officially working
@mdimitrovg Open another issue if you're encountering problems. @lanewei120 Please lock this ticket, there are 64 participants and potentially many of them will receive an e-mail on comments here. |
Since BambuStudio is based on PrusaSlicer, could it be built for Linux (and FreeBSD) like PrusaSlicer can?
https://github.com/bambulab/BambuStudio/blob/master/doc/How%20to%20build%20-%20Linux%20et%20al.md
Maybe we could use https://github.com/supermerill/SuperSlicer/blob/master/BuildLinux.sh to build AppImage files for Linux?
The text was updated successfully, but these errors were encountered: