To give you specific answers:
Either the kernel or the X video driver (for most modern machines the kernel) queries your monitor to find out what resolutions it supports, tries to figure out which one is preferred (most of the time the highest resolution the monitor says it will do, for most modern graphics devices using kernel mode switching, this is done in driver/gpu/drm/drm_edid.c). The kernel or X then sets that mode as the default. You see the rest of the modes in the output from xrandr. Most people prefer the highest resolution their device will do.
This EDID communications is a two way transaction over a couple of the wires of most modern video cables, including HDMI. It doesn't work for hookups using only composite video cables, for example.
So the quick answer to your title question is that your monitor says it can do 1440x900 and both the kernel and X tell it to do so. I don't know why Windows chooses a lower resolution mode.
Assuming your xrandr output says you have a mode called "1024x768" you can do the following:
Modify the grub linux line you boot from to add video=1024x768@60
. That overrides the kernel's choice. You may also have to delete the "gfxmode" line in grub, or modify it to 1024x768
. You should interrupt the boot process at the grub menu and press e
to edit the choice you want to use. I got this working on my test system (which sets gfxmode to "text" because I don't use the splash screen). You only need to change this if you really care about the resolution of those shutdown messages.
Add the following to /etc/X11/xorg.conf.d/10-resol.conf:
Section "Screen"
Identifier "Default Screen"
SubSection "Display"
Modes "1024x768"
EndSubSection
EndSection
You can use gksudo gedit /etc/X11/xorg.conf.d/10-resol.conf
to do this.
That will restricts lightdm and the desktop from start with any but the mode you want. lightdm will start X which respects the mode this file specifies.
Once you have all this working you can add "video=1024x768@60" to the GRUB_CMDLINE_LINUX line in /etc/default/grub. You may need to uncomment and set the GRUB_GFXMODE line to "1024x768" as well. After making changes to /etc/default/grub you need to run sudo update-grub
to put them into effect for the next boot.
Again, this isn't needed for lightdm or the desktop, only for the shutdown messages, so you may only want to go through with item 2.
If you are trying to get larger, more readable text there are probably better options available.