尝试在 Dell XPS 15 (9570) 上安装 Ubuntu

尝试在 Dell XPS 15 (9570) 上安装 Ubuntu

我一直尝试在新笔记本电脑上安装 Ubuntu:

  • 戴尔XPS 15 (9570)
  • Windows 10 家庭版 64位 英文版
  • 第 8 代英特尔® 酷睿™ i7-8750H 处理器(9M 缓存,最高 4.1 GHz,6 核)
  • 16GB,2x8GB,DDR4,2666MHz
  • 256GB M.2 2280 PCIe 固态硬盘
  • NVIDIA(R) GeForce(R) GTX 1050Ti,配备 4GB GDDR5

我首先尝试使用 8GB USB 驱动器安装 Ubuntu 18.04 LTS。我遇到的第一个问题是启动屏幕上的第四个点被冻结。经过几次尝试,我插入显示器(通过 HDMI),它突然停止卡住。

接下来,我尝试完成安装,当我单击立即重新启动时,我的计算机冻结了,我不得不手动关闭它并重新启动它。此时我进入登录屏幕并登录,但输入密码后,它卡在紫色屏幕上,鼠标指针(冻结)也卡住了。此时我能够进入 shell(使用 + ctrl+ altf4并尝试运行,sudo apt-get install nvidia-390但进入时冻结了building initial module for 4.15.0-22-generic,重新启动后我不得不运行sudo dpkg --remove -a

我无法解决这个问题,所以我尝试安装 Ubuntu 16.04,我只能通过添加acpi=off到启动配置来实现(顺便说一句,我遇到了很多麻烦,因为 GRUB 通常会闪现然后立即消失,并且只有偶尔才会停留足够长的时间供我使用)。但是当我现在尝试启动时,我永远无法到达带有五个点的屏幕,而是立即卡在紫色屏幕上(没有鼠标指针)。

我重新安装了 Ubuntu 18.04 但又卡在登录屏幕。

我应该怎么办?

答案1

我把所有这些总结成了一篇博文https://medium.com/@pwaterz/how-to-dual-boot-windows-10-and-ubuntu-18-04-on-the-15-inch-dell-xps-9570-with-nvidia-1050ti-gpu-4b9a2901493d

我也为此苦苦挣扎。最终对我有用的方法如下,请注意,我安装的是 Ubuntu 18.04:

  • 遵循本文档的第一部分 -https://github.com/rcasero/doc/wiki/Ubuntu-linux-on-Dell-XPS-15-(9560)关于 bios 设置和将 windows 分区从 raid 更改为 ahci。这将允许您启动 live CD。请注意,我最终不得不输入我的 windows 密钥来解锁驱动器,然后我才能重新进入 windows。

  • 正常安装 Ubuntu。

  • JackJack96 出色地编写了所有设置和软件包安装步骤的脚本https://github.com/JackHack96/dell-xps-9570-ubuntu-respin。这些脚本的主要目的是生成已安装软件包的映像,但他确实提供了一个脚本来在现有安装上进行设置。首次启动后,打开终端并运行以下命令:

    sudo apt install curl
    sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/JackHack96/dell-xps-9570-ubuntu-respin/master/xps-tweaks.sh)"
    sudo prime-select intel
    

这会强制使用英特尔集成显卡,无需浪费电池。我还没有测试过运行 nvidia 卡。如果你想,请运行:

sudo prime-select nvidia
  • 我遇到的最后一个问题是屏幕开始闪烁。我通过将分辨率更改为 2048 x 1152 并将刷新率设置为 59.91 解决了这个问题。起初我确实将其设置为 3840 x 1152,刷新率最低,但仍然有点不稳定,所以我降低了分辨率。这基本上与运行 4k 并缩放到 250%(这是默认值)相同。附注,我 10 年前拥有一台 XPS,遇到了同样的问题...为什么它仍然发生?

我已经运行这个设置几天了,它基本上可以正常工作。当我插入电源时,屏幕偶尔会异常,仍然需要解决这个问题。

最后,锦上添花的一个调整是安装https://github.com/bulletmark/libinput-gestures

最后但同样重要的一点是,备份你的图像,这样如果你破坏了某些东西,你可以恢复它:

sudo dd if=/dev/nvme0n1p2 conv=sync,noerror bs=64K status=progress |  gzip -c  > backup.img.gz

确保用正确的分区替换 nvme0n1p2。您可以通过运行以下命令进行检查:

df -h  

我的建议是在全新安装时执行此操作。在尝试使一切正常运行时,您最终会安装和配置许多不同的东西,这将确保您不会遇到任何问题。

更新 1:

屏幕闪烁/崩溃仍在继续。经过一番研究,这似乎是 Linux 内核的一个错误。我通过执行以下操作将内核更新为 4.17.12-041712-generic:

git clone [email protected]:mtompkins/linux-kernel-utilities.git
cd linux-kernel-utilities
sudo ./update_ubuntu_kernel.sh --latest

请注意,运行此命令时,您可能会安装比我安装的更新的内核版本。目前情况似乎有所好转,不过才过了几个小时。如果情况保持稳定,稍后会更新。

更新 2:

整天使用电脑,没有闪烁。内核更新似乎起了作用。

更新 3 内核更新后不再闪烁。我确实注意到在挂起笔记本电脑时出现一个问题,笔记本电脑变得非常热,并且无法完全关闭。我将其追溯到 nouveau 驱动程序中的一个错误:

Aug 08 19:20:26 hermes kernel: Hardware name: Dell Inc. XPS 15 
9570/02MJVY, BIOS 1.3.0 07/12/2018
Aug 08 19:20:26 hermes kernel: Workqueue: events_unbound async_run_entry_fn
Aug 08 19:20:26 hermes kernel: RIP: 0010:gf100_vmm_flush_+0x15c/0x1a0 [nouveau]
Aug 08 19:20:26 hermes kernel: RSP: 0018:ffffa9fc0782f5c8 EFLAGS: 00010282
Aug 08 19:20:26 hermes kernel: RAX: 0000000000000000 RBX: ffff969a575e0050 RCX: ffffffffaf061dc8
Aug 08 19:20:26 hermes kernel: RDX: 0000000000000000 RSI: 0000000000000096 RDI: 0000000000000246
Aug 08 19:20:26 hermes kernel: RBP: ffffa9fc0782f600 R08: 0000086da855788c R09: 000000000000001d
Aug 08 19:20:26 hermes kernel: R10: 0000000000000766 R11: 00000000000158a8 R12: ffff969a49d08c00
Aug 08 19:20:26 hermes kernel: R13: ffff969a2b5d0f00 R14: 000003cbc7bc6800 R15: ffff969a494a5000
Aug 08 19:20:26 hermes kernel: FS:  0000000000000000(0000) GS:ffff969a5bcc0000(0000) knlGS:0000000000000000
Aug 08 19:20:26 hermes kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 08 19:20:26 hermes kernel: CR2: 00007f15f4007036 CR3: 00000001b960a004 CR4: 00000000003606e0
Aug 08 19:20:26 hermes kernel: Call Trace:
Aug 08 19:20:26 hermes kernel:  gp100_vmm_flush+0x17/0x20 [nouveau]
Aug 08 19:20:26 hermes kernel:  nvkm_vmm_iter.constprop.14+0x323/0x810 [nouveau]
Aug 08 19:20:26 hermes kernel:  ? gp100_vmm_pd0_pde+0x1a0/0x1a0 [nouveau]
Aug 08 19:20:26 hermes kernel:  ? __switch_to_asm+0x40/0x70
Aug 08 19:20:26 hermes kernel:  ? __switch_to_asm+0x40/0x70
Aug 08 19:20:26 hermes kernel:  ? native_sched_clock+0x37/0x90
Aug 08 19:20:26 hermes kernel:  nvkm_vmm_map+0x148/0x400 [nouveau]
Aug 08 19:20:26 hermes kernel:  ? gp100_vmm_pd0_pde+0x1a0/0x1a0 [nouveau]
Aug 08 19:20:26 hermes kernel:  ? __switch_to_asm+0x40/0x70
Aug 08 19:20:26 hermes kernel:  ? __switch_to_asm+0x34/0x70
Aug 08 19:20:26 hermes kernel:  nvkm_vram_map+0x57/0x80 [nouveau]
Aug 08 19:20:26 hermes kernel:  nvkm_uvmm_mthd+0x5ff/0x8d0 [nouveau]
Aug 08 19:20:26 hermes kernel:  nvkm_object_mthd+0x1a/0x30 [nouveau]
Aug 08 19:20:26 hermes kernel:  nvkm_ioctl_mthd+0x65/0x70 [nouveau]
Aug 08 19:20:26 hermes kernel:  nvkm_ioctl+0xe2/0x180 [nouveau]
Aug 08 19:20:26 hermes kernel:  nvkm_client_ioctl+0x12/0x20 [nouveau]
Aug 08 19:20:26 hermes kernel:  nvif_object_ioctl+0x47/0x50 [nouveau]
Aug 08 19:20:26 hermes kernel:  nvif_object_mthd+0x129/0x150 [nouveau]
Aug 08 19:20:26 hermes kernel:  ? _cond_resched+0x19/0x30
Aug 08 19:20:26 hermes kernel:  ? __kmalloc+0x19b/0x230
Aug 08 19:20:26 hermes kernel:  ? nvif_vmm_map+0x3f/0xb0 [nouveau]
Aug 08 19:20:26 hermes kernel:  nvif_vmm_map+0x88/0xb0 [nouveau]
Aug 08 19:20:26 hermes kernel:  nouveau_mem_map+0x82/0xf0 [nouveau]
Aug 08 19:20:26 hermes kernel:  nouveau_vma_map+0x48/0x70 [nouveau]
Aug 08 19:20:26 hermes kernel:  nouveau_bo_move_ntfy+0x77/0xe0 [nouveau]
Aug 08 19:20:26 hermes kernel:  ttm_bo_handle_move_mem+0x2d2/0x520 [ttm]
Aug 08 19:20:26 hermes kernel:  ttm_bo_evict+0x142/0x1c0 [ttm]
Aug 08 19:20:26 hermes kernel:  ? drm_edid_to_sad+0x194/0x1d0 [drm]
Aug 08 19:20:26 hermes kernel:  ttm_mem_evict_first+0x19a/0x220 [ttm]
Aug 08 19:20:26 hermes kernel:  ttm_bo_force_list_clean+0xa1/0x170 [ttm]
Aug 08 19:20:26 hermes kernel:  ttm_bo_evict_mm+0x2e/0x30 [ttm]
Aug 08 19:20:26 hermes kernel:  nouveau_do_suspend+0x85/0x2d0 [nouveau]
Aug 08 19:20:26 hermes kernel:  nouveau_pmops_suspend+0x39/0x80 [nouveau]
Aug 08 19:20:26 hermes kernel:  pci_pm_suspend+0x76/0x130
Aug 08 19:20:26 hermes kernel:  ? pci_pm_freeze+0xf0/0xf0
Aug 08 19:20:26 hermes kernel:  dpm_run_callback+0x5b/0x130
Aug 08 19:20:26 hermes kernel:  __device_suspend+0x109/0x450
Aug 08 19:20:26 hermes kernel:  async_suspend+0x1f/0x90
Aug 08 19:20:26 hermes kernel:  async_run_entry_fn+0x3c/0x150
Aug 08 19:20:26 hermes kernel:  process_one_work+0x1f5/0x3c0
Aug 08 19:20:26 hermes kernel:  worker_thread+0x32/0x400
Aug 08 19:20:26 hermes kernel:  kthread+0x120/0x140
Aug 08 19:20:26 hermes kernel:  ? pwq_unbound_release_workfn+0xd0/0xd0
Aug 08 19:20:26 hermes kernel:  ? kthread_bind+0x40/0x40
Aug 08 19:20:26 hermes kernel:  ret_from_fork+0x35/0x40
Aug 08 19:20:26 hermes kernel: Code: 41 5e 41 5f 5d c3 49 8b 7c 24 10 48 8b 5f 50 48 85 db 74 4d e8 56 4a 3c ed 48 89 da 48 c7 c7 9c a8 f9 c0 48 89 c6 e8 b6 79 de ec <0f> 0b eb bf 49 8b 7c 24 10 48 8b 5f 50 48 85 db 74 1e e8 2d 4a 
Aug 08 19:20:26 hermes kernel: ---[ end trace ff7d3fd86666433f ]---

为了修复此问题,我完全切换到了 nvidia 卡。

sudo prime-select nvidia

现在看来暂停和唤醒都更加顺畅了!

更新 4: 我修复了使用英特尔 GPU 时无法睡眠的问题。我所要做的就是将 nouveau.modeset=0 添加到我的 grub 中,现在一切都正常了!我打算尽快在 Medium 帖子中写出这一切!

答案2

我有一个非常相似的设置。XPS 15 9570- i7,32GB。我已成功设置了 Ubuntu 18.04 和 Windows 10 的双启动。
我直接从戴尔安装了 BIOS 更新。
然后我按照这些说明由 Ramón Casero 提供

希望这可以帮助。

答案3

我的 9570 也遇到了和你一样的问题,你需要做的是修改启动参数。更具体地说,就是添加nouveau.modeset=0启动选项。

以下 2 个链接可能对您有帮助:

答案4

在恢复模式下启动然后安装 nvidia 驱动程序对我来说是可行的(至少目前是这样 ^^)。

要安装 nvidia 驱动程序,请转到“软件和更新”->“其他驱动程序”,让其加载列表,然后选择 nvidia 驱动程序并“应用更改”。您可能不需要重新启动,但我还是这样做了。

相关内容