nvidia-persistenced 无法正常工作的问题

nvidia-persistenced 无法正常工作的问题

我遇到了一个问题,我认为我已经将其范围缩小到 nvidia 持久守护进程。

问题:我的 HTPC 已连接到 Onkyo 接收器。当我关闭接收器并重新打开时,我没有收到来自 HTPC 的信号。我可以按Ctrl+ Alt+然后F1运行。一旦我这样做,我就会回到常规屏幕。但这不是一个长期的解决方案,因为sudo stop lightdmsudo start lightdm

  1. 这很痛苦
  2. 我会遇到其他想要看电视但又不知道该做什么的用户。

通过我的 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 驱动程序失败和登录循环问题

相关内容