Thanks to @DanielB comments I got it working.
So ... what I had to do was to downgrade to older kernel/xorg version and make sure that it sticks (despite Arch Linux being design to stay on cutting edge). But it was a bit tricky.linux-4.2.5-1
Since I was stuck in console, I manually downloaded older packages from archive (specifically: linux-4.2.5-1, linux-headers-4.2.5-1 and xorg-server-1.17.4-2). I also had to get older version of xorg-drivers package group. I placed those packages in /var/cache/pacman/pkg/
and then downgraded them with command pacman -U /path/to/package-file.pkg.tar.xz
.
And then reinstalled Crimson driver and run aticonfig --initial
to get xorg.conf generated.
To stop system update from faking it all up, I added these two lines in /etc/pacman.config
:
IgnorePkg = linux linux-headers xorg-server IgnoreGroup = xorg-drivers
These lines will generate warnings, when running pacman -Syu
... so you wont really be able to forget it. When the new AMD Crimson drivers come out, I will be able to temporary disable this temporary.
And then it blew up ...
After running pacman -Syu
and rebooting something went wrong (on reboot the initialization got stuck). I am not entirely sure what happened, but what I did was:
- boot from install-usb
- do an
arch-chroot
in my primary partition - disable sddm
- reboot
- reinstall Crimson and regenerate xorg.conf
- enable sddm
This fixed it. What I gathered from reading various logs was: after update fglrx
module was tainting kernel again, which caused Xorg to fail, which in turn made it impossible for systemd-logind to reach SDDM. And as any reasonable part of OS, systemd just went tits-up locking everything (keyboard was not responding).