大路朝天勇往直前 發表於 2025-12-27 16:16:00

fedora下解决nvidia闭源驱动无法进行S3睡眠导致的“睡死”问题

<h1 id="fedora下解决nvidia闭源驱动无法进行s3睡眠导致的睡死问题">fedora下解决nvidia闭源驱动无法进行S3睡眠导致的“睡死”问题</h1>
<h2 id="〇操作环境及问题描述">〇、操作环境及问题描述</h2>
<h3 id="1操作环境">1、操作环境:</h3>
<pre><code class="language-bash">❯ fastfetch
             .',;::::;,'.               datong@fedora
         .';:cccccccccccc:;,.             -------------
      .;cccccccccccccccccccccc;.          OS: Fedora Linux 43 (Workstation Edition) x86_64
    .:cccccccccccccccccccccccccc:.      Host: MS-7996 Reborn by dsanke (1.0)
.;ccccccccccccc;.:dddl:.;ccccccc;.      Kernel: Linux 6.17.12-300.fc43.x86_64
.:ccccccccccccc;OWMKOOXMWd;ccccccc:.   Uptime: 12 mins
.:ccccccccccccc;KMMc;cc;xMMc;ccccccc:.    Packages: 2762 (rpm), 19 (flatpak), 5 (snap)
,cccccccccccccc;MMM.;cc;;WW:;cccccccc,    Shell: zsh 5.9
:cccccccccccccc;MMM.;cccccccccccccccc:    Display (L20W): 1680x1050 @ 60 Hz in 22"
:ccccccc;oxOOOo;MMM000k.;cccccccccccc:    DE: GNOME 49.2
cccccc;0MMKxdd:;MMMkddc.;cccccccccccc;    WM: Mutter (Wayland)
ccccc;XMO';cccc;MMM.;cccccccccccccccc'    WM Theme: Mojave-Dark-solid-alt
ccccc;MMo;ccccc;MMW.;ccccccccccccccc;   Theme: Adwaita
ccccc;0MNc.ccc.xMMd;ccccccccccccccc;      Icons: Adwaita
cccccc;dNMWXXXWM0:;cccccccccccccc:,       Font: Adwaita Sans (11pt)
cccccccc;.:odl:.;cccccccccccccc:,.      Cursor: Adwaita (24px)
ccccccccccccccccccccccccccccc:'.          Terminal: Ptyxis 49.2
:ccccccccccccccccccccccc:;,..             Terminal Font: MesloLGS Nerd Font (10pt)
':cccccccccccccccc::;,.                  CPU: Intel(R) Core(TM) i5-7600K (4) @ 4.20 GHz
                                          GPU: NVIDIA GeForce GTX 960
                                          Memory: 3.03 GiB / 11.63 GiB (26%)
                                          Swap: 0 B / 8.00 GiB (0%)
                                          Disk (/): 22.45 GiB / 110.20 GiB (20%) - btrfs
                                          Local IP (enp2s0): 192.168.1.108/24
                                          Locale: zh_CN.UTF-8
</code></pre>
<p>nvidia 驱动版本:<code>580.119.02</code>.</p>
<h3 id="2问题描述">2、问题描述</h3>
<p>本人在安装 nvidia 显卡之前一直使用 S3 睡眠模式,并且之前使用的是 i5-7600k 自带的 hd610 核显进行显示输出。但在使用 gtx960 显卡并按照fedora 官方文档正确安装 nvidia 闭源驱动后,无法进行之前的正常 S3 睡眠。经常睡死,表现为鼠标键盘都显示正常连接,电脑也还在运行状态,但是显卡输出无信号,并且鼠标键盘等外设都无法唤醒电脑进入正常的工作模式,无法将 GPU 恢复至正常状态。</p>
<p>Linux 支持多种睡眠状态(Suspend-to-RAM / S3, Suspend-to-Disk / Hibernate, Suspend-to-Idle / s2idle)。以上原因在于 nvidia 对传统的睡眠模式 S3 的兼容比较差,对现代待机模式(s2idle)支持较好。</p>
<h2 id="二检查睡眠模式">二、检查睡眠模式</h2>
<p>查看当前系统支持的睡眠模式:</p>
<pre><code class="language-bash">cat /sys/power/mem_sleep
</code></pre>
<p>输出:</p>
<pre><code class="language-bash"> deep
# OR
s2idle
</code></pre>
<p><code></code> 表示当前默认使用的是 s2idle(较安全)。</p>
<p><code></code> 表示当前使用 S3(传统睡眠,NVIDIA 容易出问题)。</p>
<p>其中,<code>s2idle</code> 是 Linux 内核中一种 <strong>低功耗空闲状态(suspend-to-idle)</strong>,也称为 <strong>“现代待机”(Modern Standby)</strong> 它是 ACPI(高级配置与电源接口)规范中定义的睡眠模式之一,属于 <strong>轻量级睡眠</strong>,与传统的 S3(suspend-to-RAM)有显著区别,同时也更加耗电。</p>
<table>
<thead>
<tr>
<th>对比</th>
<th><strong>s2idle</strong></th>
<th><strong>S3</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>系统状态</td>
<td>CPU 停止,但内核调度器仍“逻辑运行”</td>
<td>整个系统挂起,仅 RAM 供电</td>
</tr>
<tr>
<td>唤醒方式</td>
<td>任意中断(键盘、鼠标、网络等)</td>
<td>需要特定唤醒事件(如电源键)</td>
</tr>
<tr>
<td>功耗</td>
<td>中等(比运行低,比 S3 高)</td>
<td>很低(接近关机)</td>
</tr>
<tr>
<td>NVIDIA 驱动支持</td>
<td>较好(闭源驱动可工作)</td>
<td>经常失败(驱动无法恢复 GPU 状态)</td>
</tr>
<tr>
<td>Windows 对应</td>
<td>“Modern Standby”</td>
<td>“Sleep (S3)”</td>
</tr>
</tbody>
</table>
<h2 id="三更改睡眠模式为-s2idle">三、更改睡眠模式为 s2idle</h2>
<p>编辑 <code>GRUB</code> 配置,添加内核参数:</p>
<pre><code class="language-bash">sudo nano /etc/default/grub
</code></pre>
<p>找到 <code>GRUB_CMDLINE_LINUX</code> 行,在引号内添加:</p>
<pre><code class="language-bash">mem_sleep_default=s2idle
</code></pre>
<p>如:</p>
<pre><code class="language-bash">GRUB_CMDLINE_LINUX="rhgb quiet rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core,mem_sleep_default=s2idle"
</code></pre>
<p>然后更新 GRUB 配置:</p>
<pre><code class="language-bash">sudo grub2-mkconfig -o /boot/grub2/grub.cfg
</code></pre>
<p>重启,应用更改:</p>
<pre><code class="language-bash">sudo reboot
</code></pre>
<h2 id="四检验睡眠">四、检验睡眠</h2>
<p>使用命令手动进入睡眠:</p>
<pre><code class="language-bash">sudo systemctl suspend
</code></pre>
<p>查看是否成功睡眠。</p>
<hr>
<blockquote>
<p><strong>版权声明:</strong> 本文为博主「张火火isgudi」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。<br>
<strong>原文链接:</strong> https://www.cnblogs.com/zbyisgudi/p/19409359</p>
</blockquote><br><br>
来源:https://www.cnblogs.com/zbyisgudi/p/19409359
頁: [1]
查看完整版本: fedora下解决nvidia闭源驱动无法进行S3睡眠导致的“睡死”问题