Archwiki (https://wiki.archlinux.org/index.php/xprofile) I should use .xprofile for loading software and execute scripts at startup.
I am not using archlinux (I use debian, jessie) ~/.xprofile is ignored, I think.
How Debian handles the Xsession startup is summarized e.g. here.
I would first try to put what you have in your
~/.xprofile into an
~/.xsessionrc (you might have to create it). This should not interfere with however the rest of your startup is working.
However, from the same page:
Also note that because ~/.xsessionrc is read very early, any settings you place here may be overridden by your window manager or desktop environment, later in the login sequence.