如何在Ubuntu上玩Diablo III?

在Ubuntu上玩Diablo 3有可能吗?

要安装什么才能以良好的图形效果玩D3?

如何使Nvidia显卡与Diablo III良好兼容?


  1. 是的
  2. 定义"好"是什么意思?
  3. 它运行得不好吗?你的卡型号是什么?有什么问题吗?
- Braiam
4个回答

昨天我成功地在我的笔记本电脑Asus Zenbook UX32VD上安装了暗黑破坏神3。但是我认为我所做的步骤可以在任何其他电脑上完成。我的配置如下:
Linux 3.8.6-030806-generic
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=13.04
DISTRIB_CODENAME=raring
DISTRIB_DESCRIPTION="Ubuntu 13.04"

这个教程也适用于以下情况:
3.13.0-24-generic
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04 LTS"
lspci:
00:00.0 Host bridge: Intel Corporation 3rd Gen Core processor DRAM Controller (rev 09)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port (rev 09)
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
00:04.0 Signal processing controller: Intel Corporation 3rd Gen Core Processor Thermal Subsystem (rev 09)
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation 7 Series/C210 Series Chipset Family High Definition Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 1 (rev c4)
00:1c.1 PCI bridge: Intel Corporation 7 Series/C210 Series Chipset Family PCI Express Root Port 2 (rev c4)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation HM76 Express Chipset LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 7 Series Chipset Family 6-port SATA Controller [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 7 Series/C210 Series Chipset Family SMBus Controller (rev 04)
00:1f.6 Signal processing controller: Intel Corporation 7 Series/C210 Series Chipset Family Thermal Management Controller (rev 04)
01:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M / GT 620M/625M/630M/720M] (rev ff)
03:00.0 Network controller: Intel Corporation Centrino Advanced-N 6235 jev 24)

我会尝试解释我做了什么。

1. 安装最新版本的PlayOnLinux。

目前是4.2.2(也已经测试过4.2.5)

可以通过从官方网站下载或按照以下步骤完成:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E0F72778C4676186

添加ppa并安装。
sudo wget http://deb.playonlinux.com/playonlinux_saucy.list -O /etc/apt/sources.list.d/playonlinux.list
sudo apt-get update
sudo apt-get install playonlinux

2. 从暴雪官方网站下载《暗黑破坏神3》客户端。
3. 使用PlayOnLinux安装暗黑破坏神3
打开playonlinux,点击“安装”按钮。

enter image description here

搜索Diablo 3,然后点击安装。

enter image description here

然后选择“从我的计算机中选择安装文件”,并选择在第2步中下载的文件。

enter image description here

现在按照通常的方式安装暗黑破坏神3,在战网上登录并下载D3游戏。
PlayOnLinux会自动下载wine并进行配置。
我不知道为什么,但我只有在第三次尝试时才成功。我在第三步做了同样的事情,但它崩溃了两次。第一次是在暗黑破坏神3客户端安装完成后,它加载了但无法连接到战网。我只是删除了一切然后重新进行了第三步。
在进行第四步之前,尝试启动暗黑破坏神3。如果它可以运行并且你可以玩,但图形质量较低,请继续下一步。

4. 安装和配置bumblebee

现在,在成功安装D3之后,您需要告诉PlayOnLinux使用您的显卡。在我的情况下,它是GeForce GT 620M。什么是bumblebee

许多最近的笔记本电脑配备了一张独立的nVidia显卡和一颗i3/i5/i7处理器,使用nVidia Optimus技术来提高电池续航时间。不幸的是,这个软件解决方案只适用于Windows 7及更高版本。

Bumblebee项目是由一群人开发的一套工具,旨在为Linux提供Optimus支持(同时也支持传统的nVidia混合图形),以期待内核和驱动程序能够支持这些笔记本电脑。

我们将使用实用程序primusrun来运行支持nvidia显卡的D3。要安装bumblebee和primus,请执行以下操作。

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia primus

64位系统:您还需要安装“primus-libs-ia32:i386”软件包。
sudo apt-get install primus-libs-ia32:i386

要为您的显卡配置Bumblebee,请检查this


5. 检查bumblebee

vblank_mode=0 primusrun glxspheres64

或者32位系统使用:

vblank_mode=0 primusrun glxspheres

这样应该能够给你提供120帧每秒或更多。

作为替代方案,你也可以使用

optirun glxspheres。

由于primusrun在暗黑破坏神3中的帧率仍然不稳定,导致卡顿,我更倾向于选择optirun而不是primusrun。


6. 使用primusrun运行D3
在第3步之后,PlayOnLinux应该会在您的桌面上添加Diablo3的启动图标。如果没有,请在~/Desktop文件夹中自己创建一个。将其命名为"Diablo III.desktop",并用您的编辑器打开。它应该看起来像这样:
[Desktop Entry]
Encoding=UTF-8
Name=Diablo III
Comment=PlayOnLinux
Type=Application
Exec=primusrun /usr/share/playonlinux/playonlinux --run "Diablo III" %F
Icon=/home/c0rp/.PlayOnLinux//icones/full_size/Diablo III
Name[fr_FR]=Diablo III
StartupWMClass=Diablo III Launcher.exe
Categories=

注意,我改变了Exec。它之前只是/usr/share/playonlinux/playonlinux --run "Diablo III" %F。我添加了primusrun以获得我的显卡能提供的最佳图形效果。 7. 解决问题。 我还遇到了分辨率的问题。游戏总是以800x600的配置启动。我在我的主目录中找到了配置文件。/$HOME/Diablo III/有一个名为D3Prefs.txt的文件,我在其中设置了我的分辨率:
DisplayModeWinWidth "1400"
DisplayModeWinHeight "1050"
DisplayModeUIOptWidth "1920"
DisplayModeUIOptHeight "1080"
DisplayModeWidth "1920"
DisplayModeHeight "1080"

感谢之前所有帮助过我的人,我在互联网上找到了一切。这是我使用的链接:

9+1 请提供原文以便翻译。 - Thomas
太棒了!谢谢你分享你的经验! - streppel
太棒了!:) - Jo-Erlend Schinstad
注意:Ubuntu 13.04已经到了终止支持(End Of Life)的阶段。 - blade19899
我们必须使用大黄蜂吗?我有GTX 580。 - Snowfish
@Snowfish 如果你想的话,可以不用bumblebee来运行Diablo。只需按照1-3步骤来运行Diablo,还要注意第7步。 - c0rp
不使用bumblebee运行Diablo意味着我是在使用CPU来运行它吗? - Snowfish
@Snowfish 你也可能有“集成显卡”,但一般来说,这意味着大部分渲染计算是在CPU上进行的。 - c0rp
@c0rp 有没有可能使用nvidia-prime而不是bumblebee?我在配置bumblebee方面遇到了一些麻烦。 - Snowfish
是的,应该可以。但我没有测试过。无论如何,你可以运行sudo apt-get purge bumblebee* && sudo apt-get install nvidia-prime来移除bumblebee并安装prime,然后进行测试。 - c0rp
很好的操作指南,谢谢。如果Nvidia+Ubuntu用户在全屏模式下遇到问题:在Play on Linux中,配置Wine -> 图形 -> 不要允许窗口管理器装饰窗口。 - BurninLeo

对于那些在playonlinux上玩Diablo III遇到问题的人来说,另一种方法是在Windows 8.1虚拟机中安装D3。
1. 前往官方网站下载vmplayer,对我来说是VMware-Player-6.0.1-1379776.x86_64.bundle
将其设置为可执行文件。
chmod +x VMware-Player-6.0.1-1379776.x86_64.bundle

安装运行此Bundle文件。
sudo sh VMware-Player-6.0.1-1379776.x86_64.bundle

2. 下载并安装 Windows 8.1 镜像。

在某个地方获取最新的 Windows 8.1 镜像。

运行 vmplayer。选择 创建新的虚拟机

enter image description here

然后选择使用ISO镜像并选择下载的W8.1镜像。

enter image description here

按照通常的方式安装Windows。安装完成后,关闭虚拟机,进入虚拟机设置,并确认W8.1的3D加速已开启。

enter image description here

打开虚拟机
3. 解决警告 硬件图形加速不可用 如果您没有看到此消息,请跳过此步骤。 关闭虚拟机。进入 $HOME/vmware/you_windows_install_folder,对于我来说是 /home/c0rp/vmware/Windows 8 x64/。找到 *.vmx 文件,使用任何编辑器打开它,并添加此行:

mks.gl.allowBlacklistedDrivers = TRUE

还需要下载 libtxc 库:
sudo apt-get install libtxc-dxtn-s2tc0

运行虚拟机并检查警告是否消失。

4. 增加 SVGA VRAM 大小

关闭您的虚拟机。转到$HOME/vmware/you_windows_install_folder,对于我来说是/home/c0rp/vmware/Windows 8 x64/。找到文件 *.vmx,使用任何编辑器打开它,并添加以下一行:

svga.vramSize = 1073741824

我的显卡有1GB的显存,所以我添加了svga.vramSize = 1073741824,1073741824字节=1GB。根据您的显卡更改此值。

启动虚拟机并检查一切是否正常。按下Win + R,输入dxdiag并按Run。转到显示选项卡,检查显存是否足够。


5. 安装暗黑破坏神III。
前往官方网站,下载暗黑破坏神III客户端。安装并运行。如果没有任何问题,尽情享受吧!
6. 空白屏幕问题。
如果你按下“播放”按钮,只看到一个白色的空白屏幕,那么关闭Diablo III,并退出战网客户端。进入你的主文件夹C:\Users\user_name\Documents\Diablo III,找到文件D3Prefs.txt并打开它。将参数DisplayModeWindowMode从“0”改为“1”。或者如果该参数不存在,只需在文件末尾添加以下内容:
DisplayModeWindowMode "1"
感谢之前所有帮助过我的人,我在互联网上找到了一切。以下是我使用的链接: 如何解决3D加速问题 空白屏幕问题 不支持的显卡解决方法

在VMware Player下的Windows 8可能有更好的图形性能


这是一个为2017年准备的简化版本。我最终会重新编写它,不使用playwithlinux,但我认为这是现在加载暗黑破坏神最简单的方法。


首先,请确保您正在使用正确的驱动程序。要查看您的视频驱动程序,请运行lspci -k | grep -A 2 -i "VGA"。如果您正在使用集成显卡并看到Intel驱动程序,则没问题。如果您应该使用nvidia驱动程序但在那里没有看到它,请从他们的网站直接下载驱动程序(并购买止痛药),或使用Ubuntu repo

安装暗黑破坏神3

  1. 安装playonlinux: sudo apt-get install playonlinux
  2. 安装最新版本的wine-staging: 工具 > 管理Wine版本

    管理Wine版本选择版本

  3. 创建一个新的虚拟驱动器: 配置 > 新建 > 32位安装 > 选择刚才选择的staging版本 > 输入任意名称(我输入了"D3")
  4. 在配置菜单中选择此驱动器(应该与默认驱动器并列),然后切换到"Wine"选项卡,点击"配置Wine" 配置Wine
  5. 将会弹出一个"Wine配置"窗口。 转到"库"选项卡并添加以下库: api-ms-win-crt-runtime-l1-1-0, d3dcompiler_47, msvcp140, vcruntime140。点击应用/确定。

    Wine配置

  6. 从Battle.net下载Windows D3安装程序直接链接
  7. 回到"PlayOnLinux配置"中,切换到"其他"选项卡并点击"在此虚拟驱动器中运行.exe文件"。选择刚刚下载的安装程序,然后开始安装。如果您有非标准配置,可能需要搜索特定的修复方法(或者重新检查驱动程序检查,如果您在上面跳过了它)。否则,您应该可以顺利进行!
  8. (可选) 返回到playonlinux配置窗口的"常规"选项卡,点击"从此虚拟驱动器创建新快捷方式",然后选择"Diablo III launcher.exe"以便以后更方便地访问。
希望这些修复最终能够包含在默认的PlayOnLinux向导安装中。

或者你可以直接访问Lutris.net,在他们的在线逐步简单易懂的指南下安装Lutris,然后安装他们的战网启动器或者暗黑破坏神III启动器,两者都非常好用。