Below is a list of how I configured my laptop. Most is personal preference, some settings might affect more users. Maybe someone find it useful.

My device

I use the XPS 15 9550 in the maxed-out configuration.

  • Intel i7-6700HQ
  • 32 GB DDR4-2133MHz
  • 4K (Ultra-HD) Display
  • 1 TB SSD (Toshiba)


Previously, I’ve had Linux Mint 18.3 installed, together with Windows 7 in a dual-boot configuration. I’ve made a mistake during the Manjaro setup and accidentally overwritten my /boot partition.

So after the installation finished I couldn’t boot Windows anymore, but that could be fixed by calling some Windows repair commands. Unfortunately, they can only be called from the Windows Setup. So you need a bootable USB stick with Windows 7 setup files. Windows 7 can only be installed when your disk is set to AHCI mode in the BIOS. I’ve created my USB stick via Rufus. Make sure you choose “GPT partition for UEFI”. Afterwards, I also needed some drivers for the SSD, in my case Toshiba OCZ. They need to be integrated into the setup files before continuing (I’ve used DISM GUI to do it), otherwise Windows Setup won’t find your disk.

When Windows setup is started, execute these commands:

Bootrec /fixmbr
Bootrec /fixboot
Bootrec /rebuildbcd

For some reason I had to call them a couple of tries until the files in /boot/efi/EFI/Microsoft/Boot/ were recovered, not sure why.

Important: You need to boot from the USB stick via EFI. If you boot in legacy mode, Windows Setup will complain that the installed version is not compatible.

Post Installation


Linux is still a big pain when it comes to out-of-the-box support for HiDPI displays, which are too common nowadays to not care about them. Linux is lacking behind in this regard and I don’t understand why I have to run any of the commands below manually. :(


Grub is really old and has 1500ms reaction time when used on a 4K screen. :/ However, until I get EFISTUB to work I have to use it. Fonts are too small by default, this can be fixed by calling:

sudo grub-mkfont --output=/boot/grub/fonts/DroidSansMono32.pf2 --size=32 /usr/share/fonts/TTF/DroidSansMono.ttf

Then, edit or create an entry in /etc/default/grub:



Open Settings Manager → Appearance → Fonts (in German it’s Einstellungen → Erscheinungsbild → Schriften) and overwrite the DPI value (I set mine to 192).

Gnome, GTK+

Add to ~/.profile:

export GDK_SCALE=2
export GDK_DPI_SCALE=0.5


You can open the Linux console if you press CTRL+ALT+F2 (go back to graphical UI: CTRL+ALT+F7). To make fonts bigger here as well, make sure you have the font inside /usr/share/kbd/consolefonts/ and edit or create the file /etc/vconsole.conf:


(Choose your own Keymap of course.)


By default, Manjaro has this weird collapsible terminal. I don’t like it too much, so I’ve decided to change it back to classic mode. Therefore, I’ve rebound the CTRL+ALT+T shortcut to xfce4-terminal.

Unfortunately, the old xfce4-terminal works poorly with GDK_SCALE and GDK_DPI_SCALE. Fonts looks blurred, and I hate it. I’ve managed to work around that by creating a file at ~/

GDK_SCALE=1 GDK_DPI_SCALE=1 xfce4-terminal

chmod +x ~/ and bind the shortcut to the This way, the GDK variables are set for all other programs but xfce4-terminal. It’s super-ugly, but it works well for me.

Fish Shell

Fish is my favorite shell. I love the autocompletion features. To install it, run:

pacman -S fish
chsh -s /usr/bin/fish

To install custom themes and much more, I use Oh-My-Fish:

curl -L | fish

My favorite theme is eclm, it shows a success flag of the last command, the current git branch and if there’s any changes on your current branch: omf theme eclm


pacman -S autojump

Edit ~/.config/fish/ and append:

    set --local AUTOJUMP_PATH /usr/share/autojump/
    if test -e $AUTOJUMP_PATH
        source $AUTOJUMP_PATH


Bluetooth was enabled by default on each boot, which I don’t like. To disable it, append the following line to /etc/rc.local

rfkill block bluetooth

Check it worked by calling rfkill list, which should state hci0 is soft-blocked.

Graphic card drivers, ACPI

Block Nouveau (Nvidia driver)

Create a file /etc/modprobe.d/blacklist-nouveau.conf with the content:

blacklist nouveau
options nouveau modeset=0

Disable the Nvidia GPU completely (this will save power, see below), create two services:


Description=Power-off dGPU

ExecStart=/bin/sh -c "echo '\\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call; cat /proc/acpi/call > /tmp/nvidia-off"



Description=Power-off dGPU after resume from suspend

ExecStart=/bin/sh -c "echo '\\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call; cat /proc/acpi/call > /tmp/nvidia-off"


Lock screen

I personally like i3lock-color, called with these settings:

i3lock --clock --blur=15 --radius=400 --timesize=100 --datesize=100 --timepos="w/2:h/2+70" --datepos="w/2:h/2-80" --datestr="%Y-%M-%d" --datecolor=ffffffff --timecolor=ffffffff --ring-width=20 -i /home/neonew/i3lock/lockscreen.png -t -n

lockscreen.png is just a one-pixel file, which has the alpha value set to 0.75 (to darken the screen).


Don’t really know what it is, but Visual Studio Code and IntelliJ needs this value increased in /etc/security/limits.conf (add these lines):

*       soft    nofile  380180
*       hard    nofile  380180


Power consumption

When the laptop was idling, I had a power consumption of ~13 W.
(According to /sys/class/power_supply/BAT0/current_now)

With the Nvidia GPU disabled, it was reduced to 6.5 W.
(In both cases connected to WiFi, lowest brightness).

Boot time

$ systemd-analyze
Startup finished in 7.796s (firmware) + 3.584s (loader) + 1.312s (kernel) + 2.324s (userspace) = 15.017s reached after 2.140s in userspace