作为64位linux上的nvidia optimus受害者,一直没能跑起来几个常玩的「跨平台」的3d游戏。不过,感谢bumblebee,终于能成功的跑起来了。
话说bumblebee进到了arch的官方源,而nvidia的驱动也不需要单独的bumblebee版,所以对于64位的系统,只需要用官方源安装几个包
pacman -S bbswitch bumblebee nvidia nvidia-utils lib32-nvidia-utils primus lib32-primus virtualgl lib32-virtualgl
但是因为nvidia的驱动变成了二进制包,所以如果用ck内核的话还是要换成ck源中的相应驱动,不然在ck内核下就跑不起来。而bumblebee的配置文件也要相应调整,把/usr/lib/nvidia-bumblebee/
改为/usr/lib/nvidia/
装了几个常玩的3d游戏,flightgear,x plane 10和regnum online。之前flightgear就能跑,而且很顺畅,所以一直玩这个游戏。但是bumblebee新推出的primus似乎不是很配flightgear,画面会一直闪,所以还是用的optirun。
这不是重点,重点是我vps上开了个flightgear的multiplayer server,可以联机飞,地址:vik.im
端口:5000
。暂时没有和其他服务器互通,所以看不到其他服务器上的用户,也没有track,所以所有的飞行不会被记录下。等以后有时间我会做一个web页面,显示在线飞机和地理位置。web地图在这里 https://vik.im/flightgear/ 我的呼号:xjpvictor
而x plane 10之前一直无法成功运行,现在bumblebee更新后似乎没有问题了,而且laminar推出了10.20版,有了64位版本,所以又尝试安装,终于能装上了。安装文件需要用optirun ./X-Plane\ 10\ Installer\ Linux
来运行,而且是32位的,所以需要安装lib32-nvidia-utils
和lib32-virtualgl
。安装后会看见X-Plane-i386
和X-Plane-x86_64
两个文件,用optirun -b primus ./X-Plane-x86_64
来运行64位版本的程序。需要用primus运行,如果只是用optirun和virtualgl的话无法全屏,会错位。游戏占用cpu较多,注意散热。安装时候会检查磁盘空间,可以在一个较大的磁盘安装,然后再移动到其他地方,甚至只是移动scenery目录,然后做软链接。但是要修改~/.x-plane/x-plane_install_10.txt
中的目录到相应的安装目录,不然更新的时候无法找到安装目录。因为这个游戏需要挂载DVD1,所以可以安装fuseiso,然后用
fuseiso DVD1.iso ~/mnt_dir
fusermount -u ~/mnt_dir
来挂载卸载,就不需要sudo输密码了。
regnum-online的运行比较麻烦。安装倒简单,aur里有,虽然orphan了,但还是可以用。安装完后建立启动器,需要用optirun -b primus regnum-online
运行,或者如果不想使用primus的话,就新建一个脚本
#!/bin/bash
"$@"
if [ -x /usr/bin/zenity ]; then
zenity --info --text "Press OK to quit $*"
else
kdialog --msgbox "Press OK to quit $*"
fi
然后启动器里用optirun /path/to/script regnum-online
运行。
A software developer ,focus on flightgear these days,would like to be a frend of urs.谢谢
@lidl: 向开发者致敬