I have been playing Whac-A-Mole with Arch Linux issues on my early-2015 Macbook Pro with Retina display since moving to it from Ubuntu-GNOME a month ago. That is not to say I’m complaining about this distro. A lot of these fires have been put out for good and I’m enjoying Arch. I’ll just be summarizing most of what I’ve come across as solutions to these issues in addition to providing my own notes.
You need either an ethernet-thunderbolt adapter or a tethered mobile network to jumpstart connectivity in order to download the necessary drivers for your network card. Once you have that, thankfully, you only need the single
brcmfmac driver which you can get via
sudo pacman -S brcm80211.
You can use a variety of programs at this point to handle network detection and configuration. I started out using
wicd-curses, but found that
NetworkManager was the most robust service. You can install it via
sudo pacman -S networkmanager and configure your network via the gui nmtui.
Afterwards, the following script at startup takes care of everything.
#! /bin/sh sudo modprobe brcmfmac sudo NetworkManager
HiDPI works out of the box. I have been experimenting with
i3WM, both window managers for X. As such, I have to fiddle with
XRandR often and I find that
ARandR makes life easier. I work with
2560x1600 by default and
1920x1200 when my old-man eyes get tired.
xinput disable "Apple Inc. Apple Internal Keyboard / Trackpad"
sudo xinput set-prop bcm5974 275 1
I like not having to type in passwords, not having to type in exact package names, and auto-compilation. Install
yaourt via adding
[archlinuxfr] SigLevel = Never Server = http://repo.archlinux.fr/$arch
sudo pacman -Sy yaourt. Afterwards, you can
yaourt -s <vague-package-name or some-keyword> to install things stress free.
yaourt -s bluez and use
blueman-manager for out-of-the-box success. Use
bluetoothctl cli as a fallback solution for finnicky devices. Works flawlessly with my custom keyboards and my bluetooth LSTN Bolt earphones.
High Fidelity Playback (A2DP) on Bluetooth
Bluetooth audio sounds like shit for the first time on any pair of headphones/earphones. It’s most likely that the device sink is set to HSP/HFP (Headset Head Unit). To get around this, use
bluetoothctl cli and
connect <mac-address> instead of going through something like
blueman-manager. If you use
pavucontrol, the device will auto-appear afterwards and you can select A2DP for the sink.
Play/Pause and Next/Prev don’t magically work without binding them to commands in your environment. I don’t know of any popular CLIs, but playerctl has worked very well for me. I use it with Spotify and QMPlay2. Example of usage:
playerctl play-pause playerctl next playerctl previous
Nope, doesn’t work out of the box. This experimental driver works pretty well for me. Make sure you unload
bdc_pci before inserting the kernel module via
modprobe -r bdc_pci.
Urxvt and Ranger
Images can’t be previewed if
preview_images_method is set in addition to
preview_images. I keep my config a one-liner:
set preview_images true
Urxvt vs Vim Colors
If you are facing this common issue (which has a million misleading solutions online) you can fix all your problems by adhering to the community that uses base16. So far, I default to using
.Xresources with base16-xresources and vim reads its colors from that as well. If you stick with base16, you won’t end up with unexpected colors that result from mixed offsets. I currently use the Base16 Material Theme which looks like:
You can demo a bunch of base16 themes here.
My Dotfiles and Autosetup
You can find my configs here.
Basic setup for new machines:
pacman -S git htop fzf fd-rs bc ntfs-3g sudo tmux zsh zsh-syntax-highlighting rofi feh firefox awesome imagemagick networkmanager rsync scrot thunar ranger