open up (with a text editor) XFree's configuration file, which usually is /etc/X11/XF86Config and from within the file, look for "Screen sections" or "Section screen" (can't remember the exact term...but you'll see
just look)
there you have listed the resolutions for different colour depths, like the following example:
Subsection "Display"
Depth 8
Modes "800x600" "640x480"
ViewPort 0 0
Virtual 1600 1280
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 1280 1024
(it almost surely differs from those, but looks a bit like the ones above..)
now the line Modes is what is interesting. if you know what depth you use (16, for example) just change it's Mode -line, or all if you wish to do so: if there is no "1024x768" (yes, you see that all the resolutions are given in a WIDTHxHEIGHT -style) on the line, add it (remember to put space between two resolutions, and remember the quotes) there. if there is one, but it's not the first, move it to the first in the line (because that's the one that's loaded when X starts, and others have to be changed manually).
so, if you have a line like this:
"800x600" "640x480"
add a new entry, so that it looks like this:
"1024x768" "800x600" "640x480"
or, if you have a line like this (I don't think..but if you do)
"800x600" "640x480" "1024x768"
just move the last entry to the first place:
"1024x768" "800x600" "640x480"
then just save the file and restart your X
that should do. the line (or lines, depending how many colour depths there are set) tells X that the first entry is the resolution that is used if possible, and it's given as "screen width X screen height".
if X for some reason can't use that resolution (it's written wrong or X can't handle it, monitor doesn't support it or something...) then the next one is tried until a working one is found.
hopefully this helped...it's the "raw" way
but also the one which works.