0%

linux使用vmware虚拟机玩LOL

  自从入坑linux系统,便越陷越深,操作起来确实方便很多。不过linux系统有一个致命的问题,那就是没法玩游戏!

  平常也有罢了,不玩也就算了。不过这一阵子,恰逢春节,却又赶上疫情不能出门,几乎排行榜所有的电影都扫遍了,无可奈何又想起了早就删除了的英雄联盟。
  但是现在系统已经是Deepin系统了。用起来很简洁,也比较方便,桌面也很漂亮,给大家看看桌面哈~
在这里插入图片描述

vmware

  言归正传,我们需要安装一个window的虚拟机。因为本地已有vmware,所以直接用vmware创建。
  没有安装vmware的去官网下载一个linux版本的,网上找一个个激化码就可以正常使用了。链接为https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-15.5.1-15018445.x86_64.bundle。可以用迅雷或者谷歌自带下载工具下载,也可以用命令行wget命令下载。
  这是一个可执行程序文件,在命令行中对此文件,加执行权限,执行

1
./VMware-Workstation-Full-15.5.1-15018445.x86_64.bundle

  安装完毕VMware后,找到window的iso镜像包(要是没有,提前去下载一个)正常安装window系统即可。至少分配4个G内存,开启3D选项(一般是默认开启的)。

可能遇到的问题

3D支持

  开机之后很有可能会vmware的又下角会报错,提示3D不可用
在这里插入图片描述
  需要我们进入虚拟机的安装目录,找到vmx文件,vim打开编辑,在最后加一行mks.gl.allowBlacklistedDrivers = "TRUE"来强制开启3D加速。再开启虚拟机,就不会报No 3D support is available from host了。如果报mks.gl.allowBlacklistedDrivers之类的错误,可能是引号格式不正确,重新检查修改一下引号就可以了。

game_error_directx

  当我下载好wegame,安装好英雄联盟客户端,也能正常组队及开始游戏时,载入进度条到100%后,意外给我弹一个这个报错。
在这里插入图片描述
  然后游戏也无法重连了,一直报错game_error_directx
在这里插入图片描述
  这上来就坑队友了啊,我也很无奈。赶紧用directx修复工具修复一下directx,果然可以进入游戏了。(首先确保第一步的3D支持已开启,否则单独用修复工具修复是无效的)

卡顿

  进入游戏后,我发现虽然可以流畅游戏,也没有延迟,问题是每隔几分钟就会有个10秒钟左右的画面卡顿,甚至掉线,然后屏幕就黑了。。。这谁顶得住啊。只能停下,赶紧排查原因。
  开始以为是网络卡顿,不过检查了下,发现虚拟机的网络一直没有掉,于是猜测是虚拟机的CPU不响应,于是检测了下CPU的使用率,发现果然在卡顿的几秒钟内,宿主机的CPU使用率很高,难道是有进程占用了CPU,导致虚拟机的程序无法得到响应?
  于是查找CPU优化,初步拟定方向是,将CPU核心绑定至虚拟机进程,修改虚拟机优先级等等。不过linux版的VMware没法设置优先级,并不像window版本的可以设置优先级。
在这里插入图片描述
  于是,可优化选项,只有设置预留内存,以及不使用交换分区了。这时我注意到,默认是使用交换分区的,可能导致我不时卡顿的元凶就是这里了。不过无法直接修改内存选项,提示You must be running Workstation as root to change these preferences.
  于是,只能从命令行切换root用户权限执行vmware,修改后(将默认的Allow some virtual machine memory to be swapped改为第一个),在用普通用户启动vmware,发现果然是继续生效的。在这里插入图片描述
  再次启动虚拟机,进入游戏之后,果然再也没有出现卡顿了。

关闭工具条

  在虚拟机中全屏之后,上面还隐藏一个白色的工具条,打游戏偶尔会点到就会切出去,很影响游戏体验。于是我们要想办法将他去掉。
  在Edit,Preferences选项下的Display标签中,将全屏显示选项栏这个选项勾选取消。
在这里插入图片描述
在这里插入图片描述
  现在就可以愉快的进行游戏了,你们能看出来我是在虚拟机中游戏吗
在这里插入图片描述

------------------------------- The End -------------------------------
It's very nice of you to support me.