Linux下Bottles无法创建容器问题求助
问题描述
创建Bottle容器时失败,日志显示卡在安装Microsoft d3dcompiler_43.dll,且因系统提示“存在保留软件包”无法安装wine32,目标是运行Windows 10游戏。
错误日志
Generating bottle configuration… The Wine config is being updated… Wine config updated! Running as Flatpak, sandboxing userdir… Setting Windows version… Apply CMD default settings… Optimizing environment… Applying environment: gaming… Installing DXVK… Installing VKD3D… Installing dependency: Microsoft d3dx9 DLLs from DirectX 9 redistributable … Installing dependency: Microsoft Line Services … Installing dependency: Microsoft Arial Font … Installing dependency: Microsoft Times New Roman Font … Installing dependency: Microsoft Courier New Font … Installing dependency: Microsoft d3dcompiler_43.dll … Failed to install dependency: Microsoft d3dcompiler_43.dll
解决方案
手动注入dll文件
- 打开Bottles,找到未创建完成的Bottle,进入「管理」标签页
- 点击「打开C:\驱动器」,进入Bottle模拟的Windows文件系统
- 将对应版本的
d3dcompiler_43.dll放入C:\Windows\System32目录(若游戏为32位,可放入C:\Windows\SysWOW64) - 返回Bottles,重新初始化Bottle或直接尝试安装游戏
修复Flatpak沙箱权限
- 终端执行命令调整Bottles的文件系统权限:
flatpak override com.usebottles.bottles --filesystem=home - 或使用Flatseal工具,找到Bottles并授予完整的home目录访问权限
- 重启Bottles后重新创建容器
- 终端执行命令调整Bottles的文件系统权限:
跳过自动依赖,手动安装组件
- 创建Bottle时选择「自定义」环境,取消勾选自动安装依赖选项
- 容器创建完成后,进入「依赖」标签页单独尝试安装
d3dcompiler_43.dll - 若仍失败,用winetricks手动安装:
flatpak run com.usebottles.bottles winetricks d3dcompiler_43
解决wine32安装的保留包问题
- 终端添加32位架构支持:
sudo dpkg --add-architecture i386 sudo apt update - 执行全量升级解决依赖冲突:
sudo apt full-upgrade - 再次尝试安装wine32:
sudo apt install wine32
完成后重新创建Bottle容器
- 终端添加32位架构支持:
内容的提问来源于stack exchange,提问作者Aydiniyom
相关产品推荐
相关产品推荐

