In my head I imagine this scenario: A geek comes home after a long day at work contemplating the switch to linux. She downloads the latest Fedora ISO, and pops it in the drive and hits REBOOT. As soon as she boots, she is dumped in a barren, 800×600 wasteland, last seen in 1995.. She goes to the settings, and the highest res is 800×600, and her video card isn’t detected.
Suddenly all her beautiful Windows 7 memories start coming back and she is wondering if she has made the right decision.. Too late now, your partition table is wrecked.
Lets make this shit work.
What resolution would you like? Today we are going to choose 1920×1200 so you can watch a 1080p flick with some room to spare.
Note: Your mileage my vary if you are attempting this from inside a virtual machine such as VirtualBox or VMWare. If you are inside VirtualBox, I suggest installing the ‘Virtualbox Addons” or whatever they are calling it these days. It will enable a few different viewing modes to allow you to view the operating system in your native fullscreen resolution.
First, we need to know the name of your video device, and what mode lines it already possesses by issuing the xrandr command in the terminal.
Remember the ‘$’ or ‘#’ is the prompt, so you don’t actually type that part; if you get asked to be root, go ahead and be root by typing in ‘su root’ or ‘sudo su’ and authenticating with your root password.
$ xrandr -q
Hop in the terminal, and issue this command to the program CVT so that you can calculate a new modeline..
$ cvt 1920 1200
This should calculate and spit out a new modeline for you. The modeline is a group of familiar settings for your video card.
Next, we are going to take the output, which is:
# 1920×1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz
Modeline “1920x1200_60.00″ 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync
REMEMBER: do not include the ‘#’ or the ‘$’ in your commands!
Next, we copy everything that came after the word Modeline and then type this command into the terminal.
xrandr –newmode ”1920x1200_60.00″ 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync
This will add in a new mode for your video card. Now that we have showed the video card the instructions, we need to tell it how to find them by adding the mode to the list of accepted display modes, like this. *please remember to substitute the name for your video device, whether it be VGA or DVI-0 or LVDS, etc. Mine, in this case is VGA1.
$ xrandr –addmode VGA1 ”1920x1200_60.00″
Now that we have done everything the video card requires, we can tell it to display a certain resolution, and it will just ‘trust us’ on it. If you did something wrong along the way, and you end up with a black screen or an error from your monitor, just reboot, and everything will be back to normal and you can try a different resolution that your monitor allows.
However, monitors mostly support a few different of the following ratios, 4:3, 16:10 and 16:9, so you should not have a problem.
xrandr –output VGA1 –mode “1920x1200_60.00″
NOTE: You may notice that this is not permanent. If you want this to be your dedicated resolution, copy each command you typed on its own line in a text file, and name it ‘something.sh’ so that it can be a shell script and drop it in your startup.
Thanks for your time guys! Any questions or comments are welcome!