On my setup, I have one monitor that has been rotated vertically, and another that is the usual horizontal orientation. I've set all the display settings in my GNOME shell so everything looks fine, however on the LightDM login screen, the two monitors work as expected, except that on the rotated monitor, the LightDM window hasn't been rotated.
I've set the display-setup-script setting in a new file (/etc/lightdm/lightdm.conf.d/90-display.setup.conf), and it is set as such:
[Seat:*]
display-setup-script=/usr/bin/dualrotation.sh
The contents of the script that is run is as follows:
#!/bin/sh
xrandr --output DVI-D-0 --off --output HDMI-0 --primary --mode 1920x1080 --pos 1080x376 --rotate normal --output DVI-I-1 --off --output DVI-I-0 --mode 1920x1080 --pos 0x0 --rotate left --output DP-1 --off --output DP-0 --off
if I change my greeter to lightdm-gtk-greeter, then the script is run correctly and the orientation is correct on both screens. From another AskUbuntu question (not sure I can find the link now) I established that Unity greeter was applying its own display settings after mine had been loaded.
I tried logging into a Unity session and set the display configuration correctly, and even though it is now correct in Unity, this hasn't affected the configuration that is loaded by the greeter.
If it's of any relevance, I'm using proprietary NVIDIA drivers, and the display configuration shown in nvidia-settings is also correct.
Where does Unity greeter get its display configuration from, and how can I change it?