Desktop environment does not start on load. I have to run startx

Please provide some more information. Could you post the output of these commands:

systemctl status lightdm.service
cat ~/.xinitrc
cat /etc/mkinitcpio.conf

If you’ve got inxi installed, the output of:
inxi -Fazy
would be nice. Please post everything as code (mark the text and use </> switch)…