User:NTia89/My XPS System Installation

From ArchWiki
Jump to navigation Jump to search
Note: First, this page is for my XPS 9343 only.
Note: Second, treat it as a recap-page only. Rely on main ArchWiki pages instead.
Note: Third, treat backed-up configuration files on Dropbox as example/reminder. Don't substitute them entirely, rather use them as help for editing original/system files.

Things to do BEFORE formatting

  • Save Firefox stuff:
  1. Backup manually bookmarks into both .html and .json files.
  2. Backup manually uBlock Origin settings.
  3. Stop PSD daemon and only then save Firefox file: userChrome.css.
  • Update every backups!
  1. /boot
  2. /etc
  3. $HOME
Note: For point 1. This is done for emergency-case only because Firefox Sync already saves bookmarks and retrieve them automatically when I log-in in Firefox.
Note: For point 2. This is done for emergency-case only because uBlock Origin already saves settings using the Firefox Sync cloud storage; they have to be retrieved manually from the uBlock Origin interface.

Getting and installing Arch

Prepare the system

  • Disable Secure boot feature from the EFI interface (press F2 during the boot)
Note: Because worthless on a such system.

Installation guide

  • Install the system, with this Partition layout:
UEFI with GPT
Device Partition type File system Size Mount point
/dev/sda1 EFI System FAT32 1 GiB /boot
/dev/sda2 Linux swap linux-swap 8 GiB ---
/dev/sda3 Linux filesystem ext4 40 GiB /
/dev/sda4 Linux filesystem ext4 185 GiB /home
unallocated space --- --- remaining space (4.49 GiB) ---
Note: Leave unallocated space at the end of the SSD was a good practice to lower wearing. NEED SOURCE
  • Configure the SSD
Note: Despite many suggestions[1] to use periodic TRIM over continuous TRIM due to firmware bugs and more, I have never had problems with my hardware, thus I continue prefer this option.
  • Install base software sudo pacman -S base linux-lts linux-lts-headers nano
Note: New `base` metapackage does not provide neither a kernel nor a text editor.
  • Install first bunch of extra software sudo pacman -S base-devel broadcom-wl-dkms efibootmgr intel-ucode
Warning: I have dropped xf86-video-intel in favour of the modesetting driver (source) already included in mesa, thus no other package needed.
Note: Since Intel is developing a brand-new driver called Iris and it will be the default (see Tip below). It is included in Mesa just like modesetting.
Note: You have to add a temporary entry (just follow the wiki) because you have to reboot the system and Dropbox/Linux-ck are not yet ready.
  • Clean-up EFI boot entries with efibootmgr
Warning: An UEFI firmware bug makes impossible to delete boot entries (if you delete them, they will be recreated automatically on next boot).
Workaround: set them as inactive with sudo efibootmgr -v -b N -A where N={4,3,2,1}.

GNOME

  • first, install basic GNOME software to have a graphical & internet connected environment:
sudo pacman -S firefox gdm gnome-control-center gnome-keyring gnome-terminal nautilus networkmanager

Configure GDM, GNOME, NetworkManager and reboot.

Note: Now you have a basic graphical DE.
  • second, complete GNOME packages installation:
sudo pacman -S baobab cheese dconf-editor drawing eog eog-plugins evince file-roller gedit gedit-plugins gnome-backgrounds gnome-calculator gnome-characters gnome-clocks gnome-disk-utility gnome-font-viewer gnome-logs gnome-mines gnome-nettool gnome-screenshot gnome-shell-extensions gnome-sound-recorder gnome-system-log gnome-system-monitor gnome-tweaks gnome-user-docs gnome-user-share gnome-video-effects gpaste grilo-plugins gst-libav gst-plugins-ugly gstreamer-vaapi gvfs-mtp libcanberra-gstreamer net-tools nmap p7zip pavucontrol pulseaudio-jack python-pyudev rygel system-config-printer texlive-bin texlive-core unrar unace xdg-user-dirs yelp
  • finally tweak it:
    • set Search as recursive in Downloads and Dropbox folders with dconf-editor:
org.freedesktop.Tracker.Miner.Files;index-recursive-directories;['&DOWNLOAD', 'Dropbox']

Software, software and fonts

  • install software packages from official repo:
sudo pacman -S 0ad android-tools android-udev aspell-en aspell-it atomicparsley audacity bash-completion beanshell bwm-ng ccid chromium clonezilla clinfo coin-or-mp colord-sane cpupower crda cups darktable dialog dmidecode dnsmasq easytag ed exfat-utils extundelete f2fs-tools filezilla firefox-i18n-en-gb firefox-i18n-it flashplugin geeqie gimp gimp-dbp gparted grsync gsmartcontrol gthumb gtranslator java-rhino handbrake hugin hunspell-en_GB hunspell-it hyphen-en hwinfo intel-compute-runtime intel-gpu-tools iotop libdvdcss libmythes libreoffice-fresh libreoffice-fresh-en-gb libreoffice-fresh-it libva-intel-driver libva-mesa-driver libva-utils libvdpau-va-gl lostfiles lsb-release lynx mariadb-libs mediainfo-gui meld mesa-demos mkvtoolnix-gui mpv mtools mythes-en nethogs nfoview openblas opensc otf-cormorant pacman-contrib pcsc-tools pdfsam pepper-flash perl-file-mimeinfo picard postgresql-libs powertop profile-sync-daemon pstoedit python-libevdev python-pycryptodome python-pyopenssl python-pysmbc python-pysocks qt5-svg realtime-privileges reflector rmlint rmlint-shredder rkhunter stress supertuxkart systemd-swap tlp transmission-gtk ttf-linux-libertine udftools unhide unixodbc vdpauinfo vulkan-intel vulkan-mesa-layer vulkan-tools workrave x86_energy_perf_policy youtube-dl
Note: Yaourt is not maintained anymore![2] and removed from AUR, as well. I have switched to pikaur[3]. All commands stay the same due to my aliases.
  • install software from AUR:
  1. First, let's install pikaur from scratch:
  2. Install git package
  3. Move to /tmp
  4. Download snapshot git clone https://aur.archlinux.org/pikaur.git
  5. Enter in its directory cd pikaur
  6. Compile and install it makepkg -fsi
Note: Remember to install asp for ABS support; it is listed as optional dependency for pikaur.
  • continue with installation of dropbox
  1. pikaur dropbox
  2. execute and sync
  3. change Dropbox folder icon, using SVG icon from /usr/share/pixmaps/ folder
  4. and copy/use every files backed up in arch-xps.
    Warning: Prior to compile any of the following packages.
  5. Create and own BUILDDIR and PKGDEST directories
sudo mkdir -p /var/cache/pacman/pkg/{pikaur-sources,pikaur-packages}
sudo chown mattia:mattia /var/cache/pacman/pkg/{pikaur-sources,pikaur-packages}
  • now disable Password timeout for Sudo by adding the following lines using visudo
# This disable the timeout of password request by sudo:
# once Sudo asks you for the password, it will wait for it, endless
# in this way, long processes like kernel compilation and installation with `pikaur` doesn't fail
# without any trick (see `sudoloopinterval` from `man pikaur`)
# [https://wiki.archlinux.org/index.php/Sudo#Disable_password_prompt_timeout]

Defaults passwd_timeout=0
  • conclude by installing all remaining AUR packages:
    • yy fonts-meta-base
    • yy fonts-meta-extended-lt
    • yy ttf-impallari-libre-baskerville
    • yy otf-latin-modern
    • yy otf-latinmodern-math
    • yy mei-amt-check-git
    • yy mpv-mpris-git
    • yy phantomjs-bin
    • yy iscan
    • yy iscan-plugin-network
    • yy masterpdfeditor
    • yy memtest86-efi
    • yy pulseaudio-modules-bt-git
    • yy powerstat-git
    • yy systemd-boot-pacman-hook
    • yy tor-browser
    • yy diffpdf
    • yy spectre-meltdown-checker
    • yy epson-inkjet-printer-escpr
    • yy gnome-shell-extension-sound-output-device-chooser-git
    • yy gnome-shell-extension-topicons-plus-git
    • yy gnome-shell-extension-system-monitor-git
    • yy unigine-superposition
    • yy linux-ck
Warning: Now you should remove pikaur cache in $HOME.
rm ~/.cache/pikaur/
rm ~/.local/share/pikaur/
Warning: Now you should recompile and reinstall pikaur due to customized configuration files added later, which includes pikaur 's configuration file.

Further steps

  • Check Java environment (installed as opt dep of some previously installed package):
archlinux-java status
  • Install pre-compiled (by me!) packages (directly from my Dropbox folder):
    • font ttf-weblysleekui
    • Roccat driver roccat-tools-common and roccat-tools-kovaplus
    • Bluetooth firmware bcm20702a1-firmware
  • Install SystemRescueCd 5.3.2 directly in /boot
    • Download ISO[4] and check its hash.
    • Mount the .iso file and copy isolinux/{rescue64,initram.igz} files into /boot/SRCD as well as the entire ISO systemrescuecd-x86-5.3.2.iso
    • Add menu entry placing .conf file in the /boot/loader/entries folder; the interested file it's backed up in Dropbox, thus already placed there
Note: Current version 6.x is based on Arch Linux, in place of Debian; this led me huge problems that makes me decide to skip new version and stay with the legacy one.
Anyway, version 5.3.2 fits perfectly for me and my XPS.

Sources & other things

Warning:

WIP, official Intel page[5] states: [...]The intel-vaapi-driver will not be actively maintained. From BDW and SKL+, intel-media-driver for VAAPI is recommended.[...]. I do not exclude in the future I have to/I opt to switch to new driver! At the moment, (I personally tried them) the old one is better (wider format support)). Maybe Arch will drop the old one or when IRIS driver will be the default... I do not know. This is only a placeholder.

  • Da oggi (17 gennaio 2020) oltrettutto è dipendenza di `ffmepg` quindi già installato sul sistema...* .
  • Da oggi (18 gennaio 2020) `libva` ha questa dicitura nelle dipendenze opzionali:

New optional dependencies for libva

   intel-media-driver: backend for Intel GPUs (major or equal Broadwell) [installed]
   libva-intel-driver: backend for Intel GPUs (minor or equal Haswell) [installed]
   libva-vdpau-driver: backend for Nvidia and AMD GPUs

... .*

WIP2, switch to Wayland. Mainly I am waiting for official Firefox (the "foreign"/not-GNOME application I use the most) support because GNOME is in good shape, now!

WIP3, switch to Iris the newest Intel driver, since xf86 and modesetting are both no more actively developed (see above note).

WIP4, this laptop with Linux has only one serious problem: resume from suspend often doesn't work! (a very common issue in Linux...) I tried to find a workaround but with no luck. Because this is a laptop is an not-under-valuable issue. Honestly for me and my actual use (not a proper laptop...) this is not much a problem also because cold boot is very fast.