当我将显示器插入显卡时,启动失败并显示“无法分配 usb_device”

当我将显示器插入显卡时,启动失败并显示“无法分配 usb_device”

我有一个具有以下规格的系统:

一切都很好,直到我订购了 NVIDIA 显卡并安装了它。当尝试使用插入 NVIDIA 卡的一台或两台显示器进行启动时(甚至启动到实时 USB 映像以安装新发行版),启动会失败并显示以下输出:

无法分配USB设备

无论如何,我正在安装 Linux Mint,但我们也无法让其他发行版正常工作,但每个发行版的错误消息都不同。在这种情况下,我可以启动到实时USB映像,选择我要启动Linux Mint,Mint徽标出现一段时间,然后出现此错误。

我可以用集成显卡的显示器启动,然后切换它们,但是当我点击鼠标或按键盘上的按键时,会有大约5-10秒的延迟,所以计算机基本上无法使用。

基本上,我不知道为什么将显示器插入显卡会产生“无法分配 usb_device”错误。似乎认为插入的 USB 设备超过 127 个,这绝对不是事实。

答案1

事实证明,解决方案是添加amd_iommu=off到内核的启动参数。

为了在启动实时 USB 映像时执行此操作,我在启动菜单中点击了“e”,找到了以“linux”开头的行,并添加到该行末尾的最后amd_iommu=off一个之前(紧接在 后面)。--quiet splash

安装 Mint 后,我​​重新启动,但出现了相同的错误,因为该修复对于该单一启动来说只是暂时的。为了使修复永久有效,我在重新启动电源后反复按 Esc 键,直到出现 grub 提示符。我键入normal加载 grub 菜单,然后重复上述步骤以暂时禁用 amd_iommu。一旦启动,我通过编辑/etc/default/grub和修改顶部附近的一行GRUB_CMDLINE_LINUX_DEFAULT将其永久化GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=off"(每这些说明)。

我听说这有一些安全隐患。然而,设置amd_iommu=fullflush导致启动挂起并最终失败。

这永久解决了这个问题;显示器仍插入 NVIDIA 卡。

(为自己记录其余部分,以防我稍后需要再次执行此操作,但问题略有不同......)但是:我有两台 LG 4K 显示器,只有 1 台以 60Hz 运行;另一种是 30Hz,没有可用的 60Hz 选项 ( xrandr),尽管显卡有能力。一个位于 DisplayPort 上,另一个位于 HDMI 上。 HDMI 显示器卡在 30Hz。我通过使用显示器的控件进入“菜单”->“快速设置”->“比率”并将其设置为“原始”而不是“宽”来解决此问题。下次我跑步时xrandr,可以使用 60Hz 选项。我通过运行启用了该速率xrandr --output HDMI-O --mode 3840x2160 --rate 60。但由于这只是一个临时修复,我修改了~/.config/monitors.xml它的字段并将其更改<rate>为 60。现在每次启动时它都会变为 60Hz。

呼。我被打败了——花了一周时间才弄清楚这一点。感谢耐心帮助的同事。

相关内容