引言
如果你也是 ArchLinux的忠实用户,并且正好拥有一台拓竹3D打印机,那么你大概率经历过这种绝望:好不容易在 Wayland 环境下跑通了所有依赖,打开Bambu Studio准备切片,却发现模型预览区像黑洞一样深邃(什么都看不见😅)
在 Linux + Wayland + NVIDIA 这套 “折腾三剑客”的组合中,3D软件的预览失败几乎是必须经历的洗礼。虽然 Github Issue 上有很多关于 XWayland 的临时解决方案,但是针对于双显卡的笔记本用户,其实有一个更加优雅、更加底层的暴力解法。不需要切回 X11,也不需要折腾复杂的补丁,只需要一行环境变量,就可以让模型重新出现在屏幕上
解决方案
演示环境
ArchlinuxNiri 25.11 (Wayland)GPU 1 NVIDIA GeForce RTX 4060 Max-Q / MobileGPU 2 Intel Iris Xe GraphicsBambu Studio 2.5.0.66 (AUR bambu-studio-bin)
本文方法主要适用于拥有 NVIDIA 独显 + Intel/AMD 核显 的双显卡用户
使用自定义环境变量来运行BambuStudio
__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json bambu-studio
前面这里指定了使用 mesa驱动(使用 Intel 核显)来运行 BambuStudio。不出意外的话模型预览已经可以正常使用了。不过感觉整个软件还是没有在Windows下那么流畅......不知道是不是软件优化的问题。秉持着“能跑就行”的原则,这里就先不管了吧(
虽然在终端输入命令很酷,但是每次需要使用的时候都需要打开终端。这显然不太符合“优雅”的定义,那么接下来我们可以通过修改 .desktop 文件来让系统每次启动 BambuStudio 的时候都可以自动带上这个参数
大部分程序启动器(比如KDE的Application Laucher)应该都支持直接在软件上右键修改环境变量的。如果你的系统支持的话,理论上在环境变量文本框中填上
__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json也是可以的
第一步:拷贝配置文件
为了防止在系统更新的时候把配置覆盖掉,这里可以将全局配置拷贝到用户目录下
mkdir -p ~/.local/share/applications/
cp /usr/share/applications/BambuStudio.desktop ~/.local/share/applications/
第二步:编辑 Exec 启动项
vim ~/.local/share/applications/BambuStudio.desktop
找到 Exec=这一行,将后面改成如下内容
Exec=env __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json /usr/bin/bambu-studio %U
完成编辑后使用命令 wq退出
第三步:保存并加载配置
接下来你可以使用桌面环境重新加载一下配置(注销重新登录也可以)
update-desktop-database ~/.local/share/applications/
现在从系统的应用启动器启动BambuStudio就不会出现预览黑屏的情况了
参考来源
https://github.com/bambulab/BambuStudio/issues/2595
https://gemini.google.com/