Setting up an external monitor to work with Ubuntu (Oneiric/11.10)

Summary: This post details a relatively simple way I got my external monitor (ASUS VH242H) to work with Ubuntu-powered notebook (HP dv7-3080us). Check out my xorg.conf or see the gallery of images if you are having trouble getting your setup to work.

Update: A video of the experience has been uploaded to my YouTube channel! Did you know I had one?

I started my new year with a sick husband and installing Ubuntu 11.10 on my notebook. This isn’t my first time around this OS-switching rodeo but this time, there is more than just curiosity driving my switch i.e. *cough*grades*cough*. I’ve never really gone “all the way” with the Linux distributions I’ve tried for a host of reasons but with each version of my favorite distro (Ubuntu), a lot of my reasons for not staying have evaporated. One of those things is a pain-free external monitor setup. Well, I am here to report that, with a little trial-and-error, I now have my external monitor connected to my laptop!

Here are the steps I took to get my external monitor working on my Ubuntu laptop:

First, backup your xorg.conf file by typing this command into your terminal:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.bak{add-a-date}. That way, if you accidentally screw things up, you can go back to a working xorg configuration file.

Next, connect your external monitor with the HDMI cable (I guess you can use whatever cord you have but I don’t know if these same instructions will apply). At your terminal prompt, type: sudo nvidia-settings. Ignore the bunch of messagesyou’ll get in the terminal.

Click “Detect Displays” and your new monitor should show up as “Disabled”. Then, click on the discovered monitor and select “TwinView”. Your screen should temporarily flicker and/or display garbled output. You will be prompted to save your new settings (save them). Click on “Save to X Configuration File” and back this configuration up like in step 1.

Settings after Ubuntu detects the external monitor
Nvidia X Server Setting for Disabled Monitor
Nvidia X Server Setting for Disabled Monitor

You may have noticed that before you added the external monitor, your laptop’s monitor configuration was set to “Separate X Server”. However, after adding the new monitor and saving the new configuration, my laptop’s monitor was automatically set to TwinView as well.

Open terminal again (Ctrl-Alt-T) and type sudo nvidia-settings again to get back in to the Nvidia X Server Settings application. The formerly disabled monitor should now display the max. resolution of the new monitor. Click on the new monitor and make sure TwinView is still the configuration selection for both monitors.

NVIDIA X Server Settings Laptop Monitor
New X Server settings for the laptop monitor
New settings for the external monitor

Click on the rectangle representing your laptop monitor and confirm that the position for your laptop monitor is now “Absolute” with the value of “+0+0”. Then, click on the newly added monitor’s rectangle and make sure that the position for that monitor is what you want it to be i.e. to the right of your laptop monitor, to the left, etc.

I’m a bit leery of messing around too much with my Nvidia X Server settings but I’m glad I finally discovered a combination that works for my laptop + external monitor set up (even after rebooting :)). Check out my current xorg.conf file on Pastebin.

Now for the bad part, if you are like me and tried other options like Separate X server or whatnot, be prepared to restart your computer to find your computer unusable i.e. graphics gone wild. The good news is since the problems were brought about by editing xorg.conf, if you have a backup of xorg.conf that works, you can simply drop to the text console instead of graphically logging in. Then, you can overwrite the bad xorg.conf. I believe the command to drop to the text console is: Ctrl-Alt-F2.

Let me know your experiences and workarounds to getting an external monitor setup in the comments!