Installing Linux on the New Dell XPS 15 7590

As much as I love my System76 Galago Pro, I have been wanting to
upgrade to a system with a higher screen resolution (not just the overall size)
as well as get into a rig that had a newer processor.

Sure, I could have opted to stick with System76, but the Galago Pro no longer
seems to come with a 13” HiDPI option, and the models that do offer HiDPI are
quite bulky and seem to sacrifice a bit in the way of portability.

I get it, it’s the cost of doing business if you want a system you can service
yourself without voiding your warranty. I’m hoping in the next year or two they
start offering more portable systems with the higher resolution screens, cause
I’ll certain buy from them again when that time comes.

So after two false starts with the New Dell XPS 15 with OLED screen, both
suffering from vertical banding, I opted for a system with the 4K UHD touch IPS
screen.

You are probably wondering why I kept going back to Dell even though they kept
sending me lemons.

Thing is, sure, the systems were suffering from what appeared to be
manufacturing defects and the quality control did appear to be lacking. But,
with all of the faults, the customer service had been quite exceptional.

With both systems I ended up returning, one for a replacement, one for a full
refund so I could purchase a different configuration, the customer service folks
were completely understanding of my situation and were quite helpful.

I’m not much for hold times, so I opted to email them with problems with my
orders. I submitted a video showing them the issue I was experiencing and yeah,
they were on top of it.

I’ve also had a really good run with Dell products over the years. From monitors
to desktops and laptops and even a Chromebook and peripherals like
keyboards and mice.

Guess what I’m saying is that shit happens, but over nearly 20 years, this was
one of the first times I had an issue. The customer service went a long way, so
here’s to hoping I’m not dealing with a swollen battery a few days after the
warranty lets up 😉

Now if you know me, you know that I’ve been pretty adamant about not having a
touch screen because I didn’t want to be spending extra money on a gimmick
feature that I would probably end up disabling anyway.

Turns out, I’m not really hating it thus far, but that’s for another post.

So the New Dell XPS 15 7590 came loaded with Windows 10 Home. I haven’t had a
system running Windows in a very long times, so I’m not even if or why I may
have needed to opt for the Pro version.

That said, I did want to keep Windows around so I could dual boot between that
and Linux. Linux is my daily driver (still loving Arch Linux) but for some light
gaming as well as audio work, Windows on the laptop will be replacing my need to
keep my old ass iMac, which is at end of life and not receiving anymore macOS
updates, around any longer.

So with Windows being a whole new bag for me again, and the Dell being a bit
more locked down than my System76 machine was, I did have to fumble my way
through some steps to get things up and running.

Fortunately, there’s a ton of decent documentation out there, but a lot of it
ended up needing to be stitched together and I didn’t necessarily find a solid
guide that walked me through every thing.

Figured I would go ahead and walk through all of the steps end to end for any
future travellers or for myself if I end up needing to swap this one out sooner
than later.


1. Turn off device encryption in Windows.

To ensure the Windows partition will continue to boot with the security crap
disabled in the BIOS, you need to disable the encryption.

  1. Open the Device encryption settings application.
  2. Click Turn off.
  3. Wait patiently while the system decrypts.

2. Shrink your Windows partition.

With the encryption disabled, we can go ahead and shrink our Windows partition
down to make room for Linux.

Obviously YMMV on the space available depending on your configuration. I opted
for a 1 TB drive, and shrunk the Windows partition down by 500 GB.

  1. Open the Disk Management application, which shows up as Create and format
    hard disk partitions
    when searching.
  2. Right-click on your OS (C:) drive and click Shrink Volume....
  3. Update the Enter the amount of space to shrink in MB: value, this will be
    the size of your new partition.
  4. Click Shrink.
  5. Wait patiently, but it shouldn’t take long.

3. Create a new simple volume.

We should now have a block of Unallocated space that corresponds to the amount
of space we shrunk our Windows partition by.

  1. Right-click on the Unallocated block on our disk.
  2. Click Create Simple Volume....
  3. Click Next >.
  4. The Simple volume size in MB: should already cover the entirety of the
    unallocated space, if not, update it to do so.
  5. Click Next >.
  6. Select Do not assign a drive letter or drive path.
  7. Click Next >.
  8. Select Do not format this volume.
  9. Click Next >.
  10. Review the settings and click Finish.
  11. Wait while the new partition is created, should be quick since we skipped
    formatting it.

4. Set the safeboot flag.

To get our hard drive showing up in Linux, we will need to switch the SATA
Operation
in the BIOS from RAID on to AHCI.

I’m honestly not versed enough in this one to know why we need to do this, but
I do know we must set the safeboot flag in Windows or the system will no
longer boot up into Windows.

  1. Open the Command Prompt using the Run as administrator option on the
    search menu.
  2. Run the command bcdedit /set {current} safeboot minimal.

5. Tweak your BIOS.

With the safeboot flag set, we can now reboot and mess around with the BIOS.
We’ll be disabling Secure Boot as well as changing the SATA Operation as we
discussed earlier.

  1. Reboot your computer.
  2. Rapidly tap the F2 during the boot up to get to the BIOS.
  3. Repeat steps 1 and 2 as many times as necessary.
  4. Once you’re in the BIOS settings, expand System Configuration.
  5. Click SATA Operation.
  6. Click the AHCI option.
  7. Acknowledge the change to the SATA Operation by clicking Yes.
  8. Expand the Secure Boot section.
  9. Click Secure Boot Enable.
  10. Uncheck the Secure Boot Enable check box.
  11. Acknowledge that Disabling Secure Boot will reduce the system security by
    clicking Yes.
  12. Click Apply.
  13. Click OK on the Apply Changes Confirmation.
  14. Click Exit to reboot your system.

6. Remove the safeboot flag.

If things went according to plan, you should have booted into Windows, but in
Safe Mode. Now we can remove the safeboot flag we set earlier.

  1. Open the Command Prompt using the Run as administrator option, as we did
    before.
  2. Run the command bcdedit /deletevalue {current} safeboot.
  3. Reboot again, to ensure you no longer boot into Safe Mode.

7. Install your favorite Linux distro!

At this point we’re ready to install our favorite Linux distribution on our
primed and ready New Dell XPS 15 7590.

  1. Plug in the USB stick that already contains your favorite Linux
    distribution.
  2. Reboot your system.
  3. Rapidly tap the F12 key during boot to bring up the boot menu.
  4. Repeat as necessary until you get the timing right.
  5. Select your USB device from the list of options and press Enter.
  6. After the drive boots, proceed with the install steps for your distro du
    jour.

Conclusion

Yeah, you got me, this guide doesn’t actually walk you through the actual
installation of Linux but the steps it takes to prime your New Dell XPS 15
7590 with Windows 10 to even be able to install Linux.

Fortunately, there are a ton of guides out there to walk you through the
installation steps. The Arch Linux installation guide, which I followed, worked
like a charm. Distributions like Ubuntu are user friendly enough to not need
much assistance.

Just remember to select the right partition, the one we created earlier, when
setting things up!

Josh Sherman - The Man, The Myth, The Avatar

About Josh

Husband. Father. Pug dad. Musician. Founder of Holiday API, Head of Engineering and Emoji Specialist at Mailshake, and author of the best damn Lorem Ipsum Library for PHP.


If you found this article helpful, please consider buying me a coffee.