如题,我折腾时后发现用黑名单把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)
离线
继续瞎折腾。发现 archlinux wiki nvidia-run 上的办法行不通,主要是bbswitch不能关闭显卡了 ,毕竟是好几年都不更新的的程序了在我的机子上它不起作用,强行用黑名单法禁止N卡,貌似不是完整禁用(我是这样理解),N卡还通电,所以节能效果不明显。wiki推荐 nvidia-xrun-pm,我再去折腾。
离线
黑名单只是不加载显卡的内核模块而已。要禁用它需要使用 bbswitch。
离线
同样的显卡配置,也是用bbswitch无法关闭。且blacklist独显后核显也不能进图形界面。
离线
我记得之前nvidia-xrun不是有一个叫做nvidia-xrun-pm或者之类的daemon可以用来开关显卡的吗,现在是什么情况了?
ecmascript是世界上最好的语言
离线
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.
高手说这个问题在哪。我似乎快成功了了,但是卡主了
离线
你贴的 X 日志不完整吧。
离线
最新进展 。我发现直接登录 openbox可以成功。
又发现 我 在F2 终端 nvidia-xrun gnome-session 可以成功,进入后N开起作用!!!不知到openbox哪里设置不对,但是至少我可以用了。
继续折腾。
离线
找到了毛病,就是在是一个免参数脚本不对。直接带参数可以成功,修改原文,给没成功的一个提示。
离线
兄dei用什么参数关闭独显?
离线
兄dei用什么参数关闭独显?
#启动nvidia-xrun.serves
systemctl enable nvidia-xrun#后面不会打了,tab补齐吧
离线
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)
离线
这个原理是启动这个服务后,会在启动时关闭独显,但是我发现独显是没了,但是耗电反而增加了!!!折腾中。。。
离线
这个原理是启动这个服务后,会在启动时关闭独显,但是我发现独显是没了,但是耗电反而增加了!!!折腾中。。。
感觉这个比黑苹果还难,用Linux的好像没几个用独显的。:lol:
最近编辑记录 need_it (2019-08-08 11:13:48)
离线
感觉这个比黑苹果还难,用Linux的好像没几个用独显的。:lol:
根据 2019 年的统计数据,Steam 用户中 Linux 系统占比大约 0.46%,根据 Steam 的用户基数,这个可以计算出一个比较大的数字。另外,现在 Steam 有了 Proton,Linux 用户的占比肯定还会有提高。
虽然不好说 Steam 用户中不用独显的有多少,但是大多数应该都是用独显的。
离线