您尚未登录。

#1 2019-07-26 17:24:57

bfdddp
会员
注册时间: 2019-07-26
帖子: 10

关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

如题,我折腾时后发现用黑名单把N卡禁掉了,系统会使用intel集成显卡,关闭黑名单会继续用N!

现在我的nvidia-xrun不知怎的出了问题。但是我发现通过打开黑名单和关闭黑名单就可以切换显卡,还有必要用xrun么?这样做有什么弊端。自己测试空跑待机 ,电池win比 arch集成显卡待机长20min-30min ,arch集成比独显长20min左右。
想知道这样切换显卡可行不?还有必要折腾xrun不?高手指点


###########################################################################################
自己折腾明白了,系统启动后双显卡都会启动,一起耗电。N起作用,笔记本电池受不了。用黑名单法可以让集成Intel显卡起作用,但是N卡还是耗电。
解决办法有
1 bumblebee 和bbswitch一起,但是这个程序陈旧,它开启的N卡利用率低,不推荐。
2 nvidia-xrun-git 和 bbswitch一起,bbswitch负责关闭N卡,nvidia-xrun openbox-session 启动N卡,使用完成后关闭N卡,在省电和效率间愉快切换,但是较新的机子bbswitch不起作用。这个方案就不行了,比如我。
3 nvidia-xrun-pm 利用pm不需要bbswitch就可以直接关闭N卡,lspci都看不到。在终端nvidia-xrun openbox-session 使用N卡运行。这个比上一个简单,bbswitch不行的推荐使用。

具体做法;
首先删除nvidia-xrun-git 和bbswitch。,因为我的显卡不能够使用bbswitch关闭,特点是是执行 tee /proc/acpi/bbswitch <<<OFF,执行cat /proc/acpi/bbswitch时结果仍然ON,所以必须删除此项和bbswitch,以便安装nvidia-xrun-pm-git
sudo pacman -Rsn bbswitch
yaourt -Rsn nvidia-xrun-git

删除/etc/modules-load.d/bbswitch.conf
删除/etc/modprobe.d/bbswitch.conf
##以上设置bbswitch时手工配置。
删除/etc/modprobe.d/nvidia.conf这是配置xrun-git时生成的黑名单文件。他不删除后面不会成功,显卡开源驱动黑名单一般在/usr/lib/modprobe.d/nvidia-xrun.conf里面确保blacklist nouveau还在。

###如果你没折腾过上面的事情不用办。#########################

#####################################################################
##安装nvidia-xrun-pm-git 这个是最稳定版本,据说有了 0.4版,在github上,高手尝试吧。同时保证你已经安装了NVIDIA的闭源驱动,正常可以运行。

yaourt -S nvidia-xrun-pm-git

##安装openbox据说这个节省资源。你也可以使用gnome登录详见后面。
sudo pacman -S openbox
##设置
nano /etc/X11/nvidia-xorg.conf.d/30-nvidia.conf中加入一下


Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
EndSection

##BusID 一般是这个看看复制过去就好。
$ lspci | grep -i nvidia | awk '{print $1}'

##注意 01:00.0. Then create a file (for example /etc/X11/nvidia-xorg.conf.d/30-nvidia.conf) to set the proper bus id:01:00.0.,把这个码改为 1:0:0,ps一般自己好了,看看确认就行。

如果有问题再加入这个,没问题就不要管了。


Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    #  Option "AllowEmptyInitialConfiguration" "Yes"
    #  Option "UseDisplayDevice" "none"
EndSection

##官方readme上面建议加入一个脚本
nano ~/.nvidia-xinitrc


if [ $# -gt 0 ]; then
    $*
else
    openbox-session
#   startkde
fi

##作用是使用不带参数的nvidia-xrun 开启openbox,我看这个脚本没什么问题,但是在我的机子上他就不能成功。带参数就没事。不带参数就失败,就是下面提到贴出来的情况,高手看看他有什么毛病,建议老实使用参数。
nvidia-xrun openbox-session
##开启openbox
nvidia-xrun gnome-session
##可以开启gnome

##~/.Xresources (~/.Xdefaults)里加入加大字体。

Xft.dpi: 196
#启动nvidia-xrun.serves
systemctl enable nvidia-xrun#后面不会打了,tab补齐吧

##愉快使用

最近编辑记录 bfdddp (2019-07-27 14:28:58)

离线

#2 2019-07-26 23:10:48

bfdddp
会员
注册时间: 2019-07-26
帖子: 10

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

继续瞎折腾。发现 archlinux wiki   nvidia-run 上的办法行不通,主要是bbswitch不能关闭显卡了 ,毕竟是好几年都不更新的的程序了在我的机子上它不起作用,强行用黑名单法禁止N卡,貌似不是完整禁用(我是这样理解),N卡还通电,所以节能效果不明显。wiki推荐 nvidia-xrun-pm,我再去折腾。

离线

#3 2019-07-26 23:47:53

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

黑名单只是不加载显卡的内核模块而已。要禁用它需要使用 bbswitch。

离线

#4 2019-07-27 00:38:07

need_it
会员
注册时间: 2019-07-24
帖子: 36

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

同样的显卡配置,也是用bbswitch无法关闭。且blacklist独显后核显也不能进图形界面。

离线

#5 2019-07-27 09:04:22

yw662
大会员
所在地: localhost
注册时间: 2018-10-10
帖子: 424

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

我记得之前nvidia-xrun不是有一个叫做nvidia-xrun-pm或者之类的daemon可以用来开关显卡的吗,现在是什么情况了?


ecmascript是世界上最好的语言

离线

#6 2019-07-27 10:07:56

bfdddp
会员
注册时间: 2019-07-26
帖子: 10

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

bbswitch根本关闭不了我的显卡,确实使用黑名单只是不用N卡,但是它仍然在耗电。我放弃bbswitch,改用 nvidia-xrun-pm-git 这该是最新稳定版。现在的情况是 systemctl disabile nvidia-xrun.servers 后 N卡关闭了!!!
但是在虚拟终端 运行nvidia-run 失败
Turning the PCIe controller on to allow card rescan
on
Waiting 1 second
Rescanning PCI devices
1
Waiting 1 second for rescan
Turning the card on
on
Loading module nvidia
Loading module nvidia_uvm
Loading module nvidia_modeset
Loading module nvidia_drm modeset=1
Unloading module nvidia_drm
Unloading module nvidia_modeset
Unloading module nvidia_uvm
Unloading module nvidia
Removing Nvidia bus from the kernel
1
Enabling powersave for the PCIe controller
auto
2019 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=61040dfa-d561-4dec-b9bd-c835404c6a02 rw audit=0 loglevel=3
Build Date: 30 June 2019  09:52:01AM

Current version of pixman: 0.38.4
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Jul 27 09:22:26 2019
(++) Using config file: "/etc/X11/nvidia-xorg.conf"
(++) Using config directory: "/etc/X11/nvidia-xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) modeset(G0): Initializing kms color map for depth 24, 8 bpc.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported high keycode 372 for name <I372> ignored
>                   X11 cannot support keycodes above 255.
>                   This warning only shows for the first high keycode.
> Internal error:   Could not resolve keysym XF86MonBrightnessCycle
> Internal error:   Could not resolve keysym XF86RotationLockToggle
Errors from xkbcomp are not fatal to the X server
randr: falling back to unsynchronized pixmap sharing
xinit: connection to X server lost

waiting for X server to shut down (II) Server terminated successfully (0). Closing log file.

高手说这个问题在哪。我似乎快成功了了,但是卡主了

离线

#7 2019-07-27 12:37:47

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

你贴的 X 日志不完整吧。

离线

#8 2019-07-27 13:11:23

bfdddp
会员
注册时间: 2019-07-26
帖子: 10

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

最新进展 。我发现直接登录 openbox可以成功。
又发现 我 在F2 终端 nvidia-xrun gnome-session 可以成功,进入后N开起作用!!!不知到openbox哪里设置不对,但是至少我可以用了。
继续折腾。

离线

#9 2019-07-27 13:59:42

bfdddp
会员
注册时间: 2019-07-26
帖子: 10

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

找到了毛病,就是在是一个免参数脚本不对。直接带参数可以成功,修改原文,给没成功的一个提示。

离线

#10 2019-07-27 14:20:36

need_it
会员
注册时间: 2019-07-24
帖子: 36

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

兄dei用什么参数关闭独显?

离线

#11 2019-07-27 14:30:06

bfdddp
会员
注册时间: 2019-07-26
帖子: 10

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

need_it 说:

兄dei用什么参数关闭独显?

#启动nvidia-xrun.serves
systemctl enable nvidia-xrun#后面不会打了,tab补齐吧

离线

#12 2019-07-31 14:07:33

need_it
会员
注册时间: 2019-07-24
帖子: 36

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

bfdddp 说:
need_it 说:

兄dei用什么参数关闭独显?

#启动nvidia-xrun.serves
systemctl enable nvidia-xrun#后面不会打了,tab补齐吧

安装完成这个nvidia-xrun-pm.service 是active吗?我装完后,独显不显示了。但是这个进程是inactive,nvidia-xrun还不能启动。

● nvidia-xrun-pm.service - "Remove Nvidia GPU from kernel devices list and enable PM"
Loaded: loaded (/usr/lib/systemd/system/nvidia-xrun-pm.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Wed 2019-07-31 21:53:27 CST; 7min ago
Process: 659 ExecStart=/usr/bin/nvidia-xrun (code=exited, status=0/SUCCESS)
Main PID: 659 (code=exited, status=0/SUCCESS)

最近编辑记录 need_it (2019-07-31 14:09:14)

离线

#13 2019-08-02 21:54:38

bfdddp
会员
注册时间: 2019-07-26
帖子: 10

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

这个原理是启动这个服务后,会在启动时关闭独显,但是我发现独显是没了,但是耗电反而增加了!!!折腾中。。。

离线

#14 2019-08-07 19:20:20

need_it
会员
注册时间: 2019-07-24
帖子: 36

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

bfdddp 说:

这个原理是启动这个服务后,会在启动时关闭独显,但是我发现独显是没了,但是耗电反而增加了!!!折腾中。。。

感觉这个比黑苹果还难,用Linux的好像没几个用独显的。:lol:

最近编辑记录 need_it (2019-08-08 11:13:48)

离线

#15 2019-08-08 09:31:55

Mr.I
路人丙
所在地: Kerbal
注册时间: 2015-08-29
帖子: 308

Re: 关于笔记本双显卡我是 NVIDIA1060 和集成的Intel630, 折腾NVIDIA-xrun的问题,完美切换显卡。

need_it 说:

感觉这个比黑苹果还难,用Linux的好像没几个用独显的。:lol:

根据 2019 年的统计数据,Steam 用户中 Linux 系统占比大约 0.46%,根据 Steam 的用户基数,这个可以计算出一个比较大的数字。另外,现在 Steam 有了 Proton,Linux 用户的占比肯定还会有提高。

虽然不好说 Steam 用户中不用独显的有多少,但是大多数应该都是用独显的。

离线

页脚