This how-to is based on a German wiki, the man page of randr and some own experiments. It addresses some projector detection and configuration problems in Karmic:
I just upgraded a first generation Atom netbook from Jaunty to Karmic. It has the ordinary Intel GMA950 integrated graphics,
lspci | -grep VGA gave me:
Using a projector on the external VGA port was no problem and worked "out-of-the-box" in Jaunty, though both the internal display (native resolution 1024x600) and the projector (native resolution 1024x768) would only display at a resolution of 800x600 in mirrored mode, so the picture quality wasn't the best. But at least the projectors were reliably detected and auto-configured.Code:00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03)
After the upgrade, more often than not the projectors were not detected at all and showed "no signal" at their VGA inputs. I don't know if it is because some of these projectors are rather old and maybe don't send any information of what resolutions they are capable so auto-configure fails or because of regressions in Intel's drivers not detecting them properly or because of something entirely different.
As the projector output wasn't working reliably out of the box, I googled around a bit and came to the following solution, witch I'd like to share here: I use scripts to manually set the display modes via randr. The following ONLY sets the projector as a clone of the internal screen, for desktop enlargement you would have to make different scripts.
Step by step guide:
1. First, edit your /etc/X11/xorg.conf
(e.g. with ALT+F2 -> gksu gedit /etc/X11/xorg.conf) and add the following lines in the screen section:
Afterwards, you xorg probably looks like this:Code:SubSection "Display" Virtual 1024 768 EndSubSection
This is necessary to have the option of using resolutions larger than 1024x600 up to 1024x768 even if the projector is not connected and detected at the start of the xserver. If you want resolutions greater 1024x768 replace that value with e.g. 1920x1080 for home cinema projectors.Code:#comment lines are removed Section "Device" Identifier "Configured Video Device" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" SubSection "Display" Virtual 1024 768 EndSubSection EndSection
2. Use one or more of the following scripts:
The following scripts can be used to set the desired video output. You can use only one or multiple scripts depending on situations and your preferences. I think they are pretty much self explanatory. Just copy+paste them to a new file, name that somescript.sh and place it in a convenient place like /home/yourusername/scripts. Make them executable with
and finally you can make application menu shortcuts or desktop shortcuts to them for easy access.Code:chmod +x /home/yourusername/*.sh
Script 1: Sets VGA output to 1024x768 (native resolution for most projectors) and sets internal display to scale the same image to 1024x600. I mostly use this script, it gives me crystal sharp projector images at native resolution and I still have the ability to see the whole picture on the netbook, though it looks a little weired there because of the scaling.
Code:#!/bin/bash # ~/Scripts/1024scale.sh # change display settings to clone mode, 1024x768 pix for VGA (projector) and scales it to the resolution of 1024x600 of the internal display xrandr --newmode "1024x768" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync xrandr --addmode VGA1 1024x768 xrandr --fb 1024x768 xrandr --output VGA1 --mode 1024x768 xrandr --fb 1024x768 --output LVDS1 --mode 1024x600 --scale 1x1.28 --panning 0x0
Script 2: Sets VGA output to 1024x768 (native resolution for most projectors) and sets internal display to off
Code:#!/bin/bash # ~/Scripts/1024off.sh # Sets VGA output to 1024x768 (native resolution for most projectors) and sets internal display to off xrandr --newmode "1024x768" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync xrandr --addmode VGA1 1024x768 xrandr --fb 1024x768 --output VGA1 --mode 1024x768 xrandr --output LVDS1 --off
Script 3: Sets VGA output to 1024x768 (native resolution for most projectors) and sets internal display to diplay an 1024x600 part of it with panning.
Script 4: Change display settings to clone mode, 800x600 pix for VGA (projector) and internal display. This is my fallback option.Code:#!/bin/bash # ~/Scripts/1024scale.sh # sets VGA output to 1024x768 and sets internal display to diplay an 1024x600 part of it with panning. xrandr --newmode "1024x768" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync xrandr --addmode VGA1 1024x768 xrandr --output VGA1 --mode 1024x768 xrandr --fb 1024x768 --output LVDS1 --mode 1024x600 --panning 0x768 --scale 1x1
Code:#!/bin/bash # ~/Scripts/800clone.sh # change display settings to clone mode, 800x600 pix for VGA and projector xrandr --output VGA1 --off xrandr --output LVDS1 --off xrandr --fb 800x600 xrandr --output VGA1 --mode 800x600 --rate 60 xrandr --output LVDS1 --mode 800x600 --same-as VGA1 --auto --scale 1x1 --panning 0x0
I hope this will be useful to some and may save a couple presentations from technical problems :-)



Adv Reply





Bookmarks