Linux系统下彻底禁用Nouveau驱动:原理、步骤与疑难排查
1. 项目概述为什么我们要和Nouveau驱动“说再见”如果你在Linux系统上折腾过NVIDIA的显卡尤其是准备安装官方的闭源驱动时大概率会碰到一个叫“Nouveau”的家伙。它就像显卡世界里一位热心但技术有限的开源志愿者初衷是好的但当你需要跑CUDA做深度学习、或者用显卡玩大型游戏时它往往力不从心甚至会成为你安装官方驱动的“拦路虎”。今天要聊的就是如何干净利落地禁用这个Nouveau驱动。简单来说Nouveau是一个由社区逆向工程开发的开源NVIDIA显卡驱动。它的存在对于追求纯开源环境的用户、或者只是想点亮屏幕进入桌面系统的用户来说是有价值的。然而它的局限性也非常明显性能通常远不如官方驱动对较新显卡的支持滞后并且最关键的是它会与NVIDIA官方发布的专有驱动我们常说的NVIDIA Driver产生冲突。在安装官方驱动时如果系统内核已经加载了Nouveau安装程序往往会报错失败。因此在安装NVIDIA驱动之前禁用Nouveau几乎是一个必须完成的预备步骤。这个过程并不复杂但涉及对Linux系统启动流程和内核模块管理的理解。你需要做的就是告诉系统“在启动时不要加载Nouveau这个内核模块并且如果它试图自己加载也要阻止它。” 这通常通过修改内核启动参数和黑名单配置文件来实现。无论你是刚入门Linux的新手还是在服务器上配置深度学习环境的老手掌握这个方法都能让你在管理NVIDIA显卡时更加得心应手。接下来我会带你一步步拆解这个操作并分享一些我踩过坑后才明白的细节。2. 核心原理与操作前准备在动手之前我们得先搞清楚两件事Nouveau驱动是什么以及我们禁用它的原理是什么。这能帮你理解每一步操作的目的即使后续遇到问题也能自己排查。2.1 Nouveau驱动的“功”与“过”Nouveau项目始于2005年目标是为NVIDIA显卡提供一个完全开源、无需二进制Blob的驱动。它的“功”在于为开源社区和某些特定发行版如一些默认禁用非自由软件的发行版提供了基础的图形显示支持。在开源理念上它值得尊敬。但其“过”对于大多数实用主义者来说更为突出性能低下由于缺乏NVIDIA官方的硬件文档和固件支持Nouveau通常无法实现显卡的全部性能3D加速、CUDA计算等功能要么缺失要么效率很低。电源管理不佳这可能导致显卡无法降频在桌面待机时也持续高功耗运行笔记本用户会明显感觉到发热和续航缩短。与新硬件兼容性差新型号显卡的支持需要社区花大量时间逆向工程等待周期长。与官方驱动冲突这是我们要禁用它的直接原因。Linux内核在启动时会自动加载匹配的驱动模块。如果Nouveau被加载它就“占用”了显卡设备。后续安装的NVIDIA驱动无法“夺回”控制权导致安装失败或系统无法正常使用显卡。2.2 禁用原理内核模块的黑名单机制Linux系统通过modprobe命令和/etc/modprobe.d/目录下的配置文件来管理内核模块的加载。禁用一个驱动模块最标准的方法就是将其加入“黑名单”。黑名单blacklist的作用当一个模块被列入黑名单后系统在自动加载模块例如在启动时根据硬件检测加载时就会跳过它。但请注意黑名单不能阻止模块被手动使用modprobe命令加载也不能阻止内核在启动早期、读取黑名单文件之前就加载该模块如果该模块被编译进内核或者被initramfs镜像包含。因此为了彻底禁用我们通常需要“双管齐下”添加内核启动参数在引导加载器如GRUB的配置中为内核命令行添加nouveau.modeset0或rd.driver.blacklistnouveau等参数在系统启动的最早期就告知内核不要使用Nouveau进行显示模式设置或直接将其列入黑名单。创建黑名单配置文件在/etc/modprobe.d/目录下创建一个文件例如blacklist-nouveau.conf明确将nouveau模块加入黑名单。2.3 操作前的重要检查与备份在修改任何系统核心配置之前做好检查和备份是专业习惯能避免你陷入无法启动系统的窘境。1. 确认当前使用的驱动打开终端输入以下命令lsmod | grep nouveau如果没有任何输出说明Nouveau当前未被加载。如果有输出例如显示nouveau及其相关模块则说明它正在运行。再输入lspci -k | grep -A 2 -i vga\|3d这个命令会列出你的显卡信息并显示其正在使用的内核驱动。如果你看到“Kernel driver in use: nouveau”那就确认了。2. 备份关键配置文件我们将要修改GRUB配置和modprobe配置。虽然操作不复杂但备份是好习惯。sudo cp /etc/default/grub /etc/default/grub.backup.$(date %Y%m%d) sudo cp -r /etc/modprobe.d/ /etc/modprobe.d.backup.$(date %Y%m%d)这样万一出现问题你可以轻松地恢复备份。3. 确保你有备用访问方式禁用Nouveau后如果你的系统没有其他显卡如集成显卡并且NVIDIA驱动尚未安装重启后可能会遇到图形界面无法启动屏幕黑屏或低分辨率的情况。这不是系统坏了只是没有可用的显卡驱动。重要提示请确保你知道如何在你当前的Linux发行版上进入文本终端TTY。通常的快捷键是Ctrl Alt F2到F6。在图形界面出问题时你可以通过TTY继续操作完成NVIDIA驱动的安装。对于服务器用户这通常不是问题因为你们本就通过SSH操作。3. 分步操作指南彻底禁用Nouveau现在我们进入实操环节。我会以最常见的、使用GRUB2引导器和systemd的现代Linux发行版如Ubuntu, CentOS, Fedora等为例进行说明。整个过程可以分为三个主要步骤。3.1 步骤一将Nouveau模块加入黑名单首先我们需要创建一个配置文件告诉系统不要自动加载Nouveau模块。打开终端使用root权限或sudo创建一个新的黑名单配置文件。文件名可以自定义但通常以blacklist-开头并以.conf结尾。sudo nano /etc/modprobe.d/blacklist-nouveau.conf你也可以使用vim或gedit等你喜欢的编辑器。在打开的文件中输入以下内容blacklist nouveau options nouveau modeset0blacklist nouveau这是标准的黑名单指令阻止modprobe自动加载名为nouveau的模块。options nouveau modeset0这是一个模块参数。即使模块因为某些原因被加载了这个参数也会告诉Nouveau驱动不要进行内核模式设置Kernel Mode Setting, KMS。禁用KMS对于后续安装NVIDIA驱动非常重要可以避免冲突。保存并退出编辑器在nano中按CtrlX然后按Y确认再按Enter。3.2 步骤二更新初始RAM文件系统initramfs初始RAM文件系统是一个临时的根文件系统它在系统真正挂载根分区之前被加载到内存中。它包含了启动早期阶段所必需的内核模块和驱动。由于我们刚刚黑名单了Nouveau但旧的initramfs镜像里可能已经包含了这个模块所以需要重新生成一个不包含Nouveau的镜像。执行以下命令来更新initramfssudo update-initramfs -u对于使用dracut的系统如RHEL, CentOS, Fedora命令是sudo dracut --force这个命令会读取当前所有的模块配置包括我们刚创建的黑名单文件生成一个新的initramfs镜像。-u参数表示更新当前内核对应的镜像。3.3 步骤三修改GRUB引导参数这是最关键的一步目的是在系统启动的最早期即内核刚开始引导时就传递禁用Nouveau的参数。编辑GRUB配置文件sudo nano /etc/default/grub找到以GRUB_CMDLINE_LINUX_DEFAULT开头的行。这行定义了默认的、面向桌面用户的、相对“安静”的启动参数。通常它看起来像这样GRUB_CMDLINE_LINUX_DEFAULTquiet splash我们需要在这行引号内的参数列表末尾添加nouveau.modeset0。修改后可能像这样GRUB_CMDLINE_LINUX_DEFAULTquiet splash nouveau.modeset0参数解释nouveau.modeset0是直接传递给内核的Nouveau驱动参数强制禁用其模式设置功能。这是一个非常强力的禁用手段。另一种更通用的做法你也可以修改GRUB_CMDLINE_LINUX这个变量定义的参数会同时应用于常规启动和恢复模式。对于服务器环境通常修改这个变量更稳妥。GRUB_CMDLINE_LINUXnouveau.modeset0 # 或者如果它已有内容就追加 GRUB_CMDLINE_LINUX原有参数 nouveau.modeset0为了确保万无一失我个人的习惯是两个都加上在GRUB_CMDLINE_LINUX_DEFAULT里加确保桌面启动生效同时也在GRUB_CMDLINE_LINUX里加覆盖所有启动场景。保存并退出编辑器。更新GRUB配置使修改生效sudo update-grub对于使用GRUB2的RHEL/CentOS/Fedora等系统命令是sudo grub2-mkconfig -o /boot/grub2/grub.cfg或者取决于你的EFI设置sudo grub2-mkconfig -o /boot/efi/EFI/[你的发行版]/grub.cfg3.4 步骤四重启并验证完成以上所有步骤后重启你的系统。sudo reboot系统重启后你需要验证Nouveau是否已被成功禁用。验证方法一检查内核模块打开终端再次运行lsmod | grep nouveau此时应该没有任何输出。这是最直接的证据表明Nouveau模块没有被加载到正在运行的内核中。验证方法二检查显卡驱动运行lspci -k | grep -A 2 -i vga\|3d在输出中你应该看到你的NVIDIA显卡信息但“Kernel driver in use:”这一行应该是空的或者显示为vfio-pci如果你使用了PCI passthrough等其他驱动而不再是nouveau。验证方法三检查系统日志可以查看内核启动日志搜索Nouveau相关的信息dmesg | grep -i nouveau如果禁用成功你可能会看到一些关于“nouveau”被忽略或黑名单的记录但不会看到它成功初始化的消息。如果以上验证都通过恭喜你Nouveau驱动已经被成功禁用。现在你的系统已经为安装NVIDIA官方驱动扫清了障碍。你可以去NVIDIA官网下载对应的驱动.run文件或者使用发行版的包管理器如apt、dnf来安装驱动包了。4. 不同发行版与特殊场景的注意事项Linux世界丰富多彩不同的发行版在细节上可能有差异。此外一些特殊的使用场景也需要额外关注。4.1 主要发行版的细微差别Ubuntu / Debian 及其衍生版上述流程是标准流程。它们使用update-initramfs和update-grub。在较旧的版本中黑名单文件可能位于/etc/modprobe.d/或/etc/modprobe.d/blacklist.conf中原理相同。RHEL / CentOS / Rocky Linux / AlmaLinux这些发行版使用dracut生成initramfs使用grub2-mkconfig更新GRUB。此外在RHEL系中有时需要额外确认nouveau的RPM包是否被安装。你可以用rpm -qa | grep nouveau查看。虽然黑名单能阻止加载但更彻底的做法是移除这个包sudo yum remove xorg-x11-drv-nouveau但这通常不是必须的。Fedora与RHEL系类似。Fedora Workstation版本对Nouveau的依赖可能更强因为它是默认驱动。禁用后重启进入GNOME时可能会自动进入“软件渲染”模式使用LLVMpipe这是一种CPU模拟的、性能很低的图形模式界面会卡顿。这是正常现象安装完NVIDIA驱动后就会恢复。Arch LinuxArch用户通常更熟悉手动配置。流程类似编辑/etc/modprobe.d/下的黑名单文件然后使用sudo mkinitcpio -P重新生成initramfs。GRUB配置文件的路径通常是/etc/default/grub更新命令是sudo grub-mkconfig -o /boot/grub/grub.cfg。4.2 使用第三方驱动仓库的情况很多用户为了方便会使用像Ubuntu的graphics-drivers/ppa这样的PPA或者RHEL的EPEL、ELRepo仓库来安装NVIDIA驱动。这些仓库提供的安装包如nvidia-driver-xxx通常已经包含了自动禁用Nouveau的步骤。例如在Ubuntu上添加PPA后运行sudo apt install nvidia-driver-550安装脚本可能会自动为你创建黑名单文件和更新initramfs。但根据我的经验依赖自动化脚本有时会出问题。我仍然建议先手动执行禁用Nouveau的步骤然后再通过包管理器安装驱动。这样能确保环境干净减少安装失败的概率。4.3 双显卡Optimus笔记本的特殊处理对于搭载NVIDIA Optimus技术即Intel集成显卡 NVIDIA独立显卡混合的笔记本电脑情况更复杂一些。你的显示器通常直接连接在Intel核显上NVIDIA独显作为一块“计算卡”在需要时被调用。在这种架构下Nouveau可能只控制着NVIDIA独显而显示输出由Intel驱动负责。因此禁用Nouveau可能不会导致黑屏图形界面依然可以正常显示通过核显。验证时你用lspci -k可能会看到两个显卡设备NVIDIA卡的状态可能是“Kernel driver in use: nouveau”而Intel卡是“Kernel driver in use: i915”。禁用Nouveau后NVIDIA卡的驱动状态会变为空。对于Optimus笔记本后续安装NVIDIA驱动后你还需要配置像prime-selectUbuntu、bumblebee旧方案或optimus-managerArch等工具来管理显卡切换。禁用Nouveau是这一切的前提。4.4 服务器无头模式安装在服务器上通常没有图形界面无头模式甚至没有显示器。禁用Nouveau的流程完全一样。因为服务器通常通过SSH管理所以即使禁用后导致与显卡相关的输出异常也不会影响你的远程连接。这是最安全的操作环境。在服务器上安装NVIDIA驱动通常是为了使用GPU进行CUDA计算如AI训练、科学计算。安装完驱动后还需要安装CUDA Toolkit和cuDNN等软件栈。确保Nouveau被禁用是保证CUDA环境稳定性的第一步。5. 疑难排查与常见问题即使按照步骤操作你也可能会遇到一些问题。这里我总结了一些常见的情况和解决方法。5.1 重启后黑屏或卡在启动界面这是最常见的问题通常发生在只有一张NVIDIA显卡的台式机上。症状重启后在GRUB选择菜单之后屏幕黑屏或者卡在显示内核日志的界面无法进入图形登录界面。原因系统在启动图形界面如GDM, LightDM, SDDM时找不到可用的显卡驱动。Nouveau被禁用了而NVIDIA官方驱动还没安装。解决方案不要慌张系统并没有坏。你需要进入文本终端TTY。在卡住的黑屏界面尝试按Ctrl Alt F2或F3, F4等。多按几次直到你看到一个要求输入用户名和密码的纯文本登录界面。用你的普通用户账号登录。登录后你现在就在命令行环境了。你可以继续执行安装NVIDIA驱动的操作。安装完成后重启 (sudo reboot)应该就能正常进入图形界面了。如何预防对于只有独显的机器在操作前可以事先在NVIDIA官网下载好对应显卡型号和系统版本的驱动.run文件放在家目录下。这样一旦进入TTY就可以直接运行安装脚本无需再下载。5.2 更新内核后Nouveau“复活”了症状成功禁用Nouveau并安装好NVIDIA驱动后系统运行正常。但某次系统更新尤其是内核升级后重启发现又回到了低分辨率或者NVIDIA驱动失效了。原因系统升级内核时会自动为新的内核重新生成initramfs镜像。如果生成脚本没有正确读取你的黑名单配置或者黑名单配置在更新过程中被覆盖/重置那么新的initramfs里就可能再次包含Nouveau模块。解决方案进入系统如果图形界面挂了就按上述方法进TTY。重新执行一遍步骤一检查黑名单文件是否存在且内容正确和步骤二更新initramfs。sudo nano /etc/modprobe.d/blacklist-nouveau.conf # 确认内容 sudo update-initramfs -u # 或 sudo dracut --force通常不需要再次修改GRUB除非GRUB配置也被更新覆盖了。重启系统。预防建议将你创建的blacklist-nouveau.conf文件标记为“重要配置文件”在系统进行大版本升级后养成习惯检查一下显卡驱动状态。5.3 安装NVIDIA驱动时提示“Nouveau正在运行”症状运行NVIDIA官方.run安装程序时提示“You appear to be running an X server; please exit X before installing...” 或者 “ERROR: The Nouveau kernel driver is currently in use by your system...”。原因这说明我们的禁用操作没有完全生效Nouveau模块仍然被加载着或者X Window图形服务器正在运行它可能正使用着Nouveau。解决方案彻底退出图形界面如果你在图形桌面环境运行安装程序需要先切换到文本模式。对于使用lightdm、gdm3等显示管理器的系统可以运行sudo systemctl stop display-manager或者直接切换到TTYCtrlAltF2然后关闭图形服务。确保Nouveau未被加载在TTY中再次运行lsmod | grep nouveau确认。如果还有输出说明黑名单或内核参数未生效。你需要回到步骤三仔细检查GRUB配置是否正确并确保更新了GRUB (sudo update-grub)然后重启。仅仅更新initramfs而不重启有时无法卸载已加载的模块。使用安装程序的“高级选项”NVIDIA的.run安装程序提供了一些强制参数。例如你可以尝试sudo ./NVIDIA-Linux-x86_64-xxx.xx.run --no-opengl-files --no-x-check --no-nouveau-check其中--no-nouveau-check会跳过对Nouveau的检查但这是一种“绕过”而非“解决”可能留下隐患不推荐作为首选方案。5.4 禁用后系统性能异常或出现其他问题症状禁用Nouveau后系统运行变得卡顿或者某些硬件如触摸板、键盘背光功能异常。原因极其罕见但有可能。有些笔记本的硬件特别是某些品牌的“功能键”的驱动可能与Nouveau有某种间接的依赖或关联。禁用Nouveau后这些功能所需的ACPI事件或底层接口可能受到影响。排查与解决首先确认是否是心理作用或巧合。可以尝试重新启用Nouveau反向操作删除黑名单文件、移除GRUB参数、更新initramfs和GRUB并重启看问题是否消失。如果问题确实与禁用Nouveau强相关去你的笔记本品牌或主板品牌的Linux社区论坛搜索看是否有其他用户遇到类似问题。通常的解决方案不是重新启用Nouveau而是寻找替代的驱动或配置。例如某些功能可能需要特定的内核模块或用户空间工具。安装NVIDIA官方驱动后这些问题大多会随之解决因为官方驱动提供了更完整的硬件接口支持。6. 进阶话题内核参数详解与替代方案对于想深入了解的读者我们再来深入聊聊内核参数和一种更“干净”的替代方案。6.1 内核参数nouveau.modeset0vsmodprobe.blacklistnouveau我们之前使用了nouveau.modeset0。其实还有另一个常用的参数modprobe.blacklistnouveau。nouveau.modeset0这是一个驱动特定的参数。它告诉Nouveau驱动本身“不要启用内核模式设置KMS”。没有KMS驱动就无法接管显示控制从而使其失效。这是一种“从内部使其瘫痪”的方法。modprobe.blacklistnouveau这是一个内核通用的模块黑名单参数。它通过内核命令行在系统启动的早期阶段就将nouveau加入黑名单。其效果与在/etc/modprobe.d/中创建黑名单文件类似但优先级可能更高、更早生效。哪个更好在实践中两者都使用是最保险的。我在GRUB的GRUB_CMDLINE_LINUX行里经常这样写GRUB_CMDLINE_LINUXquiet splash nouveau.modeset0 modprobe.blacklistnouveau双管齐下确保在内核加载驱动的任何阶段Nouveau都被排除在外。6.2 完全卸载Nouveau激进但彻底我们之前做的“禁用”是阻止系统加载Nouveau模块。但它的源代码包或二进制包仍然存在于你的系统中。对于有“洁癖”或者追求绝对稳定的用户可以考虑完全卸载它。警告此操作有风险特别是对于严重依赖开源驱动的发行版如Fedora。请确保你有备用驱动如即将安装的NVIDIA驱动或恢复方法。对于基于Debian/Ubuntu的系统# 查找所有与nouveau相关的包 dpkg -l | grep nouveau # 通常可能是 xserver-xorg-video-nouveau sudo apt purge xserver-xorg-video-nouveau卸载后同样需要更新initramfs(sudo update-initramfs -u)因为旧的initramfs镜像里可能还有该驱动的残留文件。对于基于RHEL/Fedora的系统rpm -qa | grep nouveau sudo dnf remove xorg-x11-drv-nouveau # 更新initramfs sudo dracut --force完全卸载的好处是根除了任何因包更新或脚本误操作而重新启用Nouveau的可能性。缺点是如果你的NVIDIA驱动安装失败系统将没有任何可用的显卡驱动恢复起来会更麻烦。因此对于大多数用户我建议采用“禁用”而非“卸载”保留一个可以紧急回退的选项。7. 后续步骤安装NVIDIA驱动成功禁用Nouveau后你的系统就像一块干净的白板可以开始绘制NVIDIA驱动的蓝图了。这里简要提一下主要方法不作为本文重点但给出方向。方法A使用发行版仓库推荐给新手Ubuntu添加官方显卡驱动PPA或使用“软件和更新”附加驱动页面。sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo apt install nvidia-driver-550 # 安装特定版本例如550RHEL/CentOS启用ELRepo仓库。sudo yum install epel-release sudo yum install elrepo-release sudo yum install kmod-nvidia # 安装最新稳定版方法B使用NVIDIA官方.run文件推荐给需要特定版本或高级用户从NVIDIA官网下载对应显卡型号和系统架构的驱动。赋予执行权限chmod x NVIDIA-Linux-*.run务必先退出图形界面到TTY并关闭显示管理器。运行安装sudo ./NVIDIA-Linux-*.run跟随图形化或命令行提示安装。安装程序通常会尝试编译内核模块需要提前安装gcc,make,kernel-headers等开发工具。无论哪种方法安装完成后重启系统运行nvidia-smi命令。如果能看到显卡信息表格说明驱动安装成功。此时你的系统将充分发挥NVIDIA显卡的性能无论是用于图形设计、游戏还是加速计算。整个从禁用Nouveau到安装官方驱动的过程虽然步骤不少但每一步都有其明确的目的。理解背后的原理能让你在遇到问题时不再迷茫从容应对。

相关新闻

基于卫星影像缝合的架空地图生成:Python实战与算法解析

基于卫星影像缝合的架空地图生成:Python实战与算法解析

最近在尝试构建一个架空世界的地图时,我遇到了一个有趣的挑战:如何让想象中的大陆、山川与河流,看起来像真实卫星照片一样具有质感?直接手绘缺乏真实感,而使用纯地理生成工具又难以完全控制地形轮廓。于是,…

2026/8/6 9:03:20 阅读更多 →
Unity与Web技术融合:NGUI/GUI架构下的HTML UI集成与性能优化

Unity与Web技术融合:NGUI/GUI架构下的HTML UI集成与性能优化

1. 项目概述:当Unity UI遇见Web技术 如果你是一个Unity开发者,尤其是做过一些需要复杂UI或者需要与Web服务深度交互的项目,你大概率经历过这样的纠结:游戏内的UI用UGUI(Unity原生的UI系统)做起来很顺手&…

2026/8/6 9:03:20 阅读更多 →
彻底解决Python ModuleNotFoundError:PyQt5环境配置与深度排查指南

彻底解决Python ModuleNotFoundError:PyQt5环境配置与深度排查指南

1. 问题定位与根源剖析 “ModuleNotFoundError: No module named ‘PyQt5’”这个错误,对于任何使用Python进行桌面应用开发或者需要图形界面的开发者来说,都堪称“入门第一课”。它表面上看是一个简单的包缺失问题,但背后牵扯到的环境管理、…

2026/8/6 9:03:20 阅读更多 →

最新新闻

【云原生实战】K8s 集群高可用与中间件灾备平台全流程实践

【云原生实战】K8s 集群高可用与中间件灾备平台全流程实践

📌 创作灵感 记录云原生运维项目完整实践复盘整理 K8s 高可用、中间件灾备、故障切换技术笔记将个人原创实操项目文档搬运发布于此 📖 目录 一、项目概述二、整体架构设计三、环境规划四、入口层高可用(HAProxy Keepalived) 4.1…

2026/8/6 17:06:15 阅读更多 →
Shopify 店长,别再被“订单去哪了”困住——用 BestTrack 轻松追踪物流

Shopify 店长,别再被“订单去哪了”困住——用 BestTrack 轻松追踪物流

别再猜订单去哪了,让每一次物流查询都创造价值。 BestTrack 帮你把所有包裹动态集中到一个看板,并为顾客提供品牌化的自助查询体验。 万单物流,一屏掌控:集中管理海量订单,物流状态一目了然。顾客自助查询&#xff0…

2026/8/6 17:06:15 阅读更多 →
天气丹代加工源头工厂:韩方发酵霜的车间公差,才是老板该盯的死角

天气丹代加工源头工厂:韩方发酵霜的车间公差,才是老板该盯的死角

做私域的老板一上来就问“某韩系头部品牌经典发酵霜 / 韩系高端发酵抗老霜你们能不能做”,我一般不急着回话,先反问一句:你要的是瓶身上那排韩文,还是打开盖子那股淡药草发酵香?这一个问题,能筛掉一半只会比…

2026/8/6 17:06:15 阅读更多 →
别被“大牌同款料体”忽悠了!口红一件代发的水深在哪?车间主任跟你唠透

别被“大牌同款料体”忽悠了!口红一件代发的水深在哪?车间主任跟你唠透

各位老板,我是常年蹲在口红灌装车间里跟色粉、蜡基打交道的老师傅。最近好多做私域、开实体店的老板来找我,开口第一句就是“有没有大牌同款口红料体?能一件代发那种”。我先把话撂这儿:所谓“大牌同款”,在化工厂里就…

2026/8/6 17:06:15 阅读更多 →
大牌同款OEM代工厂:进货验货与源头对接的车间内参

大牌同款OEM代工厂:进货验货与源头对接的车间内参

拿着大牌正装图片跑到广州、上海一堆代工厂问“能不能做”,十个业务员九个说能。但真正能把料体肤感、防腐体系、包材公差全部拉到同一水平线的工厂,掰着手指头数得过来。▼ 源头车间质检备案与合作授权说明 ▼配方框架决定同源深度入行这么多年&#xf…

2026/8/6 17:06:14 阅读更多 →
AI-Shoujo HF Patch终极指南:5步快速解锁完整游戏体验

AI-Shoujo HF Patch终极指南:5步快速解锁完整游戏体验

AI-Shoujo HF Patch终极指南:5步快速解锁完整游戏体验 【免费下载链接】AI-HF_Patch Automatically translate, uncensor and update AI-Shoujo! 项目地址: https://gitcode.com/gh_mirrors/ai/AI-HF_Patch AI-Shoujo HF Patch是一款专为AI-Shoujo游戏设计的…

2026/8/6 17:05:14 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →