Manjaro linux (xfce) on a framework laptop

Function Lock
Function lock will throw you off if you are not aware of it. There is no keyboard indicator to represent it being on. The default state has function lock off, meaning the media keys are used if pressed without Fn. Enabling function lock will make the function keys report F1-F12.

Toggle: Fn+Esc. This persists across reboots. If you can’t get into boot-time menus, this is likely why.

AMT
If you have the pro model, disable AMT if you are not using it. See these instructions.

BIOS
Press F2 to get into the BIOS menu. Fn+F2 if function lock (Fn+Esc) is not enabled.

  • Disable secure boot [arch does not support secure boot out of box] (Security > Secure Boot > Disable)
  • Enable PS/2 Mouse [required for mouse support during live/install] (Advanced > PS2 Mouse emulation > Auto)
  • Set appropriate hardware clock time

Install
Press F12 during boot to bring up boot devices. Fn+F12 if function lock (Fn+Esc) is not enabled.

Go through the standard USB install; I included non-free but both firmware options should work.

Set X11 Clock
The X11 clock may appear different from the hardware clock; this will sync the X11 clock to the hardware clock.

Super > Manjaro Settings Manager > time and date

  • on: hardware clock in local time

Sync X11 clock to hardware clock (e.g. set X11 time w/ locale to hardware clock):

timedatectl set-local-rtc 1 --adjust-system-clock

Greeter
The default lightdm GTK+ greeter does not work well on high DPI displays. Switch to lightdm-slick to make login screens more readable.

pacman -S lightdm-slick-greeter lightdm-settings

Ensure new greeter is set:
/etc/lightdm/lightdm.conf

greeter-session=lightdm-slick-greeter

Reboot the machine to confirm the new greeter is working, then remove the old greeter:

pacman -R lightdm-gtk-greeter lightdm-gtk-greeter-settings

Remap Capslock
Traditional methods to set keys are no longer honored. Use localectl. This sets the capslock key to control. (example in US, look into command for specifics):

localectl set-x11-keymap us pc105 ,query ctrl:nocaps

Disable Middle-click paste
The trackpad has three regions for left, middle, and right clicks. The middle click takes up a majority of the trackpad and leads to a lot of mis-pasting of text when attempting to left click. This disables middle mouse button to prevent this (middle mouse can still be used via other tricks, if needed):

Disable the middle-mouse button:
~/.Xmodmap

pointer = 1 0 3 4 5 6 7 8 9 10

Reboot to pickup the changes. These can be immediately tested using

xmodmap -e “pointer = 1 0 3 4 5 6 7 8 9 10”

But will not survive reboots. The default pointer configuration is pointer = 1 2 3 4 5 6 7 8 9 10.

Steam
Currently out of the box, steam will appear blank, with black windows. This is a library issue which is likely to be fixed in the future.

To fix install the native steam libraries:

pacman -S steam-native linux-steam-integration

Launch steam via LSI Steam (steam via linux steam integration)

High DPI / Fonts
I’ve found that scaling (2x, etc) doesn’t look very good. Alternatively, I’ve found that manually adjusting font sizes without using scaling easier to use.

Super > Appearance > Fonts

  • custom DPI: 120 (to preference with the fonts you are using)
  • default font: 12 (increased to 12 point, to taste)

Super > Appearance > Settings

  • window scaling: 1x (no scaling)

Super > Window Manager > Style

  • title font: 14 (increased to 14 point, to taste)
5 Likes

I cannot seem to edit this post anymore. Clock instructions update to prevent NTP sync wonkiness.

Set X11 Clock
Set the Hardware clock to UTC, and use ntp, timezones to set clock in Manjaro.

Super > Manjaro Settings Manager > time and date

on: set time and date automatically

Set RTC (realtime clock) to UTC, use NTP with timezone

timedatectl set-local-rtc 0
systemctl enable --now systemd-timesyncd
ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime

FYI I was able to setup secure boot by using manjaro-architect to prep my installation, and then mostly following the steps here: https://gist.github.com/umbernhard/d1f4a44430d6d21b3881652c7a7c9ae5

My sbupdate.conf looks like this:

ESP_DIR="/boot"
OUT_DIR="EFI/Linux"
SPLASH="/usr/share/systemd/bootctl/splash-manjaro.bmp"
EXTRA_SIGN=('/boot/EFI/BOOT/BOOTX64.EFI' '/boot/EFI/systemd/systemd-bootx64.efi')
CMDLINE_DEFAULT="initrd=\amd-ucode.img initrd=\intel-ucode.img initrd=\initramfs-5.14-x86_64.img root=UUID=692da64a-1de3-4554-ac67-2ac60e5107b3 rw rootflags=subvol=/@ cryptdevice=UUID=afff539f-cc12-4fbc-988e-d616b8776fa0:defloofed quiet mem_sleep_default=deep"

(you’ll need to change the CMDLINE_DEFAULT to match your settings. I’m using btrfs + luks encryption