Archlinux Install
Laptop HW·
- ASUS R556L
- CPU/GPU
- CPU is I5-4210U(Haswell) which equipped with HD Graphics 4400 (Gen 7.5) according to lscpu
- Nvidia GF117M(Fermi/NVC0), GeForce 820M
- Screen
- 15.6inch display and resolution is 1366x768.
basic installation
- download iso and boot it.
- install according to installation guideline
- close secure boot from laptop bios.
- connect wifi with iwctl
- partition
- partition the disk with fdisk and EFI(UEFI) partition is mandatory
- format partitions
- mount disk to /mnt, update pacman mirrolist
- nstall essential package: pacstrap -K /mnt base linux linux-firmware vim iwd
- genfstab -U /mnt » /mnt/etc/fstab
- arch-chroot /mnt
- ln -sf /usr/share/zoneinfo/Area/Location /etc/localtime
- hwclock –systohc
- locale-gen
- mkinitcpio -P
- passwd
- install boot loader, see UEFI
- necessory package: sudo, openssh, less, fzf, mesa
network
- systemd_networkd + iwd + systemd_resolved
- if only configure wifi with iwctl, there is no dhcp to assign IP. Need to update /etc/iwd.config to enable iwd dhcp.
UEFI
Bios + MBR is setup on 1981 by IBM and many limitation. UEFI + GPT is new boot procedure.
- support more big hard disk
- speed up boot
- secure boot
- more flexaible to develope new function with C, GUI and more function
EFI applicaiton
UEFI is like system and all EFI appplication (kernel or boot loader) could be run. It means we coudl skip boot loader and use Unified_kernel_image
EFP system partition
EFI partition is mandatory for UEFI, see link
boot loader
Grub or systemd_boot, see link
secure boot
Secure boot is part of UEFI and we could use UEI without secure boot. Secure boot could be configured with CA (use your own key) or shim (Using a signed boot loader by Microsoft).
GPU driver
Intel
- Intel driver is mesa even mesa-amber could also work.
- my laptop GPU is Gen 6.5
- mesa includes the modern Gallium3D drivers for Gen 3 hardware and later. This is the recommended choice.
- mesa-amber is the legacy Mesa package which includes the classic (non-Gallium3D) drivers from Gen 2 to Gen 11 hardware. This driver might have better performance or stability for Gen 7 and older hardware, but is unmaintained.
Nvidia
- nouveau
- need to “modprobe nouveau” and this driver is not loaded automatically.
- nouveau shoudl support KMS according to featureMatrix.
- nouveau not support Vulkan on Fermi since nouveau support Vulkan from Kepler
- nouveau + Fermi suport OpenGl, not support Vulkan, but no webpage to descrbiel support on GBM and EGL.
- but not work with sway, why?
- Nvidia properity driver
- Sway not have good support on Nvidia driver , skip it
EGL/GBM/OpenGL/Vulkan
- Rending API: OpenGL, OpenGL ES and Vulkan
- EGL: connect Waylan/X11 with rendering API(OpenGL/OpenGl ES/Vulkan)
- Vulkan could connect with Wayland without EGL
- GLX: connect X11 with OpenGL rendering API
- GBM
- wayland requires GBM support from the driver
- others
- wlroots enviroment variables
- WLR_DRM_DEVICES=’/dev/dri/card1:/dev/dri/card2:/dev/dri/card0'
- WLR_RENDERER=gles2 sway # default: OpenGL ES 2.0
- WLR_RENDERER=vulkan sway # Vulkan
- WLR_RENDERER=pixman sway # SW rendering
- eglinfo | grep Platform
- vulkaninfo | grep wayland
Sway
sway configuration
seat
- Seat is used to manage HW like keyboard. Xorg use SUID root to get HW access, but wayland need seat for security reason.
- systemd-logind + polkit or seatd
- LIBSEAT_BACKEND=logind
sway-bar
sway-bar is used to display text only and key/mouse action is for whole bar. Way-bar is more advanced bar and display/action per area.
idle manager
swayidle is idle manager. Idle manager take action like lock screen, black screen.
other
- swaylock
- swaybg