我遇到了一个问题,我认为我已经将其范围缩小到 nvidia 持久守护进程。
问题:我的 HTPC 已连接到 Onkyo 接收器。当我关闭接收器并重新打开时,我没有收到来自 HTPC 的信号。我可以按Ctrl+ Alt+然后F1运行。一旦我这样做,我就会回到常规屏幕。但这不是一个长期的解决方案,因为sudo stop lightdm
sudo start lightdm
- 这很痛苦
- 我会遇到其他想要看电视但又不知道该做什么的用户。
通过我的 googlefu,我发现我需要将 persistence-mode 设置为 on,尽管这会消失。我尝试过这种方法,sudo "nvidia-smi -pm 1"
它会将其设置为 on,但它似乎不起作用,因为问题会再次出现。
我也尝试运行sudo nvidia-persistenced --user [user] --persistence-mode
,可以看到进程启动。但是当我关闭接收器时,也发生了同样的事情。
具有syslog
以下内容:
... nvidia-persistenced: Failed to open PID file: File exists
... nvidia-persistenced: Shutdown (5232)
我已确保我运行的用户nvidia-persistenced
是该nvidia-persistenced
组的一部分。我还将/var/run/nvidia-persistenced/
文件夹的权限设置为 777。
我快要疯了,想解决这个问题。我希望能够关闭接收器,然后当我重新打开它时,屏幕会回到我离开时的那个状态。
- 运行 Ubuntu 14.04(Mythbuntu 安装)
- 显卡是 Nvidia GT 730,使用驱动程序 352.63
此外,一旦我让nvidia-persistenced
守护进程运行起来,我需要将其设置为在系统启动时启动。我该怎么做呢?
答案1
2019 年 5 月
关于错误:
... nvidia-persistenced: Failed to open PID file: File exists
... nvidia-persistenced: Shutdown (5232)
在安装 CUDA 工具包 (10.0) 并尝试按照推荐的安装后操作后,我在 Ubuntu 18.04.02 LTS 上收到此错误。我按照指南通过 nvidia 存储库进行安装。
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#install-persistenced
对我来说问题是守护进程实际上已经在运行了。
验证运行:
ps aux | grep persistenced
你应该得到类似的东西
root 714 0.0 0.0 8864 1396 ? Ss 19:44 0:00 /usr/bin/nvidia-persistenced --verbose
root 6723 0.0 0.0 22000 1112 pts/0 S+ 20:25 0:00 grep --color=auto persistenced
进程 714(在您的情况下,pid 可能会有所不同)是已经运行的守护进程,这就是为什么当我再次执行命令时它失败了。
因此,该服务实际上已由 cuda 包安装。要确认此操作,请运行:
systemctl list-units --type service --all | grep nvidia
你应该得到如下结果:
nvidia-persistenced.service loaded active running NVIDIA Persistence Daemon
这确认服务已启动并正在运行。
答案2
在另一个论坛的帮助下,我能够解决这个问题,但如果有人感兴趣的话,这里是解决方案。
基本上按照此链接中的说明进行操作:https://www.mythtv.org/wiki/Nvidia-cards_and_no_picture_when_box_is_on_before_the_TV
如果该链接被删除,以下是我所做操作的要点:
- 在本地 X-Server 上运行“nvidia-settings”
- 单击与您的电视相对应的条目(例如 DFP-0)单击“获取
- EDID' 并将 'edid.bin' 文件保存在安全的地方,例如
'/etc/X11/tv-edid.bin' - 打开现有的配置文件,通常在 /etc/X11/xorg.conf
- 找到您的视频卡的“设备”部分。
- 添加一行来强制存储的 EDID:
Option "CustomEDID" "DFP-0:/etc/X11/edid.bin"
- 重启
我最终还添加了以下几行,但不确定是否需要它们:
Option "ModeValidation" "NoDFPNativeResolutionCheck"
Option "ExactModeTimingsDVI" "True"
Option "UseDisplayDevice" "DFP-0"
Option "ConnectedMonitor" "DFP-0" `
现在我可以关闭接收器和/或更改输入,并且可以返回到我离开时的 HTPC 位置。
答案3
尝试安装 libcupti,它对我有帮助。
sudo apt-get install libcupti-dev
我不知道这有什么用。但这是 Tensorflow 的一个库安装过程中要求。具体来说,它在“运行支持 GPU 的 TensorFlow 的 NVIDIA 要求”下列出:
libcupti-dev 库,即 NVIDIA CUDA 配置文件工具接口。此库提供高级配置文件支持。
另外,我发现内核也可能存在问题,并已在此处修复:Nvidia 驱动程序失败和登录循环问题