之前一直以为prime和bumblebee是一个东西,直到我看到了这个bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771928
目前linux下有三种optimus的实现:
1,nouveau-only: PRIME GPU offloading using nouveau
2,nvidia-only: nvidia's more recent implementation, also packaged as nvidia-prime in Ubuntu
3,nouveau or nvidia: bumblebee
ubuntu采用的是第二种,debian只打包了第三种bumblebee
ubuntu的nvidia-prime如果要切换显卡,必须要重启X session,因为在X启动的时候nvidia的驱动模块就已经加载了,也就是说独显是一直在工作的。
而debian采用bumblebee,开机加载的是intel的驱动,程序默认也都是用intel的集显,如果需要用独显要用optirun运行程序,这样能做到最大程度的提高电池续航能力。
目前debian的nvidia-driver,nvidia-legacy-driver都是默认bumblebee解决双显卡,X启动时,驱动是intel,glx是mesa的glx,但是有些硬件可能会出现驱动是intel,glx却是nvidia的情况,这就会导致opengl的程序跑不起来,需要手动执行sudo update-alternatives --config glx来选择。
两种实现其实各有利弊,debian当前也没有打包prime的打算。
现在源里面的nvidia-358反馈的问题很多,大家还是慎用,装debian的nvidia-driver风险要小一些。