My new HP desktop arrived today with a brand new 23″ monitor that is full-HD capable. Unfortunately, it took me a while to set up the monitor for use with my OS because of some issues with the drivers. So, I shall document some of my endeavours here. Firstly, the new fglrx driver no longer supports the X1250 graphics card. So, I decided not to use it. This left my choices between the radeon and radeonhd display drivers. Of the two, I only managed to get the radeonhd driver to work properly with xrandr.
This is my xorg.conf. Hope it helps someone else who may be facing similar problems.
Section "Device"
Identifier "X1250"
Driver "radeonhd"
Busid "PCI:1:5:0"
Option "Monitor-PANEL" "HP6715"
Option "Monitor-VGA_1" "HP2309"
Option "RROutputOrder" "VGA,PANEL"
Option "UseConfiguredMonitor" "on"
EndSection
Section "Monitor"
Identifier "HP2309"
HorizSync 24-94
VertRefresh 50-76
Option "Enable" "true"
Option "DPMS" "on"
Option "PreferredMode" "1920x1080"
# 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
#Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
EndSection
Section "Monitor"
Identifier "HP6715"
Option "Enable" "false"
Option "DPMS" "on"
Option "PreferredMode" "1680x1050"
EndSection
Section "Screen"
Identifier "External"
Monitor "HP2309"
Device "X1250"
DefaultDepth 16
SubSection "Display"
Modes "1920x1080_60.00"
# Set our virtual size to 2*1920 x 1200
Virtual 3840 1200
EndSubSection
EndSection
Section "Screen"
Identifier "Internal"
Monitor "HP6715"
Device "X1250"
DefaultDepth 16
SubSection "Display"
Modes "1920x1080Scaled"
# Set our virtual size to 2*1920 x 1200
Virtual 3840 1200
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Layout"
Screen 0 "External" 0 0
EndSection
In order to perform the automatic mode switch and to turn off the laptop monitor automatically, I used the following script in /etc/X11/Xsession.d/45custom_xrandr-settings
EXTERNAL_OUTPUT="VGA_1"
INTERNAL_OUTPUT="PANEL"
xrandr | grep $EXTERNAL_OUTPUT | grep " connected "
if [ $? -eq 0 ]; then
xrandr --output $INTERNAL_OUTPUT --off --output $EXTERNAL_OUTPUT --mode 1920x1080_60.00
else
xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --off
fi