As for the distribution, I choose archlinux.
Installation and Post-Installation
follow archlinux’s official website: https://wiki.archlinux.org/title/installation_guide
My only one disk devided into two parts: one 2G UEFI partion and the remains are root LVM2 partion with GPT. The LVM partion is devided into one 20G SWAP volume and the remains are /root volume with EXT4 fs.
For network management, I choose NetworkManager
System maintenance
Regularly run
systemctl --failed
and fix.tty font size too small - https://wiki.archlinux.org/title/HiDPI#Linux_console_(tty)
systemd unit modify: https://wiki.archlinux.org/title/Systemd#Editing_provided_units
Display server - Wayland with Hyprland
- Issue:
terminate called after throwing an instance of 'std::runtime_error' what(): wlr_backend_autocreate() failed! pcilib: Error reading /sys/bus/pci/devices/0000:00:08.3/label: Operation not permitted terminate called recursively Aborted (core dumped)
- fix:
pacman -S polkit
- Issue:
System bar - Waybar
IM - fcitx
pulseaudio
systemctl --user enable pipewire
with pamixerResolve hyprland cannot resume after hibernate: add
resume
afterudev
in/etc/mkinitcpio.conf
’sHOOKS
clash-meta authorization -
sudo /usr/bin/setcap 'cap_net_admin,cap_net_bind_service=+ep' /usr/bin/clash-meta
Fix flickering on screen - https://wiki.archlinux.org/title/AMDGPU#Screen_artifacts_and_frequency_problem Set the udev.
obs - screen-record:
pipewire-v4l2
, virtual camera:v4l2loopback-dkms
.
Pipewire
PipeWire is a new low-level multimedia framework. can offer capture and playback for both audio and video for PulseAudio,JACK,ALSA and GStreamer-based applitcations.
- PulseAudio: General sound server, also offers easy network streaming using Avahi(A zeroconf multicast DNS/DNS-SD service discovery)
- JACK: Audio Connect Kit, A sound server daemon for audio and MIDI data
- ALSA: Advanced Linux Sound Architecture, provides kernel driven sound card drivers, which replaces the OSS
- GStreamer: A pipeline-based multimedia framework, can offer meadia-handling for audio playback, audio and video playback, recording, streaming and editing, and cross-platform.
The daemon based on pipewire, can be configured to be both audio and video capture server.
It doesn’t rely on audio or video user group, instead, it uses polkit-like security policy, asking Flatpak or Wayland for permission to record screen or audio.
It supports bluetooth by default. Just need to install bluez and bluez-util
Pipewire can be used as audio server, similar to PulseAudio and JACK, it aims to replace both.
Pirewire doesn’t implements connection logic, So we need Session Manager - WirePlumber
Polkit
An App-level tookit for defining and handling the policy that allows unprivileged processes to speak to privileged processes.
Fcitx
Fix fcitx on wayland with config: https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#TL.3BDR_Do_we_still_need_XMODIFIERS.2C_GTK_IM_MODULE_and_QT_IM_MODULE.3F
HiDPI
Don’t use Hyprland monitor scale, though you can rescale xwayland apps with force_zero_scaling=true
and set QT
or GTK
SCALE env, it will still cause some issues like when using satty to annotation pictures, the blur function will resolved to be weird.
LazyVim
MarkdownPreview Error: Cannot find module ’tslib’: https://github.com/iamcco/markdown-preview.nvim/issues/188#issuecomment-841356921
z ~/.local/share/LazyVim/lazy/markdown-preview.nvim/app && npm install
Clash verge conflict with ssh
Add this - DST-PORT,22,DIRECT
to clash profile.