If you find that your X Server display is shifted about an inch to the right when you start up in text mode, here is a workaround that's a bit involved, but not impossible.
Create a new entry in your lilo.conf file, with all the same options as your “normal” boot up, with two additional lines. Here's an example from my own lilo.conf:
image=/vmlinuz label=linux root=/dev/hda2 read-only vga=770 append=5 image=/vmlinuz label=linuxtext root=/dev/hda2 read-only
As you can see, “linux” and “linuxtext” are similar, but “linux” (my default) has extra stuff.
Vga=770 tells the kernel to switch to a graphics mode from the beginning. This has the unfortunate result that it becomes impossible to interact with Linux without an X server (or presumably some other graphical application) running. All boot up messages are lost, and virtual console switching gives you blank screens.
The second additional line, append=5, is actually a message to the init daemon and assumes that /etc/inittab contains text like the following near the end:
# Run xdm in runlevel 5 x:5:respawn:/usr/bin/X11/xdm
Red Hat comes with this line commented out by default. Slackware has a 4 instead of a 5. Some distributions may not include the line at all, but you can add it yourself. This line, combined with the modifications to lilo.conf, will start up X automatically at the end of the boot up process and run the X Display Manager, allowing you to log in via a dialog box.
And finally, if that isn't enough, there's one last file you have to configure before these changes will work. As shipped, XDM does not know that it's allowed to manage the local screen. You need to add a line like the following to /usr/X11R6/lib/X11/xdm/Xservers:
:0 Fishbait local /usr/X11R6/bin/X :0
Note that Fishbait can be any single word you like, but the rest of the line must appear more or less the way it does here.