Xorg.conf monitor bug.

Please post any bugs you have found
Post Reply
Message
Author
wyzguy
Posts: 37
Joined: Sun 14 Oct 2012, 01:20

Xorg.conf monitor bug.

#1 Post by wyzguy »

Please run the following commands.

1. ddcprobe | grep -i range
2. cat /var/log/Xorg.0.log | grep -i ranges
3. cat /etc/X11/xorg.conf | egrep -i 'horiz|vert'

The horizontal and vertical min-max ranges are different for each monitor.
The ddcprobe output and .log output on mine match fine.
The vertrefresh range from xorg.conf is not correct.
Important. Xorg.conf info overrides the correct info in the .log file!
Mine shows 59-76 which does match the comment dated 111029 at the top
of the xorg.conf file. Check out your specs on your computer.

This was on Upup 3.8.4.2, but applies to most (all?) recent distros.
It is probably a xorgwizard bug. This should be confirmable by others.
Thanks

User avatar
darkcity
Posts: 2534
Joined: Sun 23 May 2010, 19:16
Location: near here
Contact:

#2 Post by darkcity »

this is what I get on Slacko 5.3.1. Guess this confirms it used to work.

Code: Select all

# ddcprobe | grep -i range 
# cat /var/log/Xorg.0.log | grep -i ranges 
# cat /etc/X11/xorg.conf | egrep -i 'horiz|vert' 
	HorizSync    31.5-48.5
	VertRefresh  56-72
# X -version

X.Org X Server 1.9.5
Release Date: 2011-03-17
X Protocol Version 11, Revision 0
Build Operating System: Slackware 13.37 Slackware Linux Project
Current Operating System: Linux puppypc18935 2.6.37.6 #1 SMP Sun Jul 10 08:27:28 EST 2011 i686
Kernel command line: root=/dev/sda1 ro vga=normal psubdir=slacko531
Build Date: 18 March 2011  12:08:03AM
 
Current version of pixman: 0.20.2
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
# 

User avatar
L18L
Posts: 3479
Joined: Sat 19 Jun 2010, 18:56
Location: www.eussenheim.de/

Re: Xorg.conf monitor bug.

#3 Post by L18L »

wyzguy wrote:... This should be confirmable by others.

Code: Select all

#  ddcprobe | grep -i range 
monitorrange: 28-82, 50-76
# 
# cat /var/log/Xorg.0.log | grep -i ranges 
[    24.698] (II) CHROME(0): Ranges: V min: 50 V max: 76 Hz, H min: 28 H max: 82 kHz, PixClock max 175 MHz
[    24.698] (II) CHROME(0): Using hsync ranges from config file
[    24.698] (II) CHROME(0): Using vrefresh ranges from config file
# 
# cat /etc/X11/xorg.conf | egrep -i 'horiz|vert' 
#111029 Terryphi reported 1cm screen displacement, changed vert freq range from 56-76 to 59-76.
HorizSync 35-81
VertRefresh 59-76
# 
Confirm
precise 5.5
0.5cm screen displacement

-------
edited

After having changed xorg.conf manually without success I have used xorwizard and now screen is without displacement

Code: Select all

# ddcprobe | grep -i range 
monitorrange: 28-82, 50-76
# 
# cat /etc/X11/xorg.conf | egrep -i 'horiz|vert' 
	HorizSync    28-82
	VertRefresh  50-72
# 
Confused?
I don't care.
I like my no more displaced screen.
Thank you :)

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#4 Post by Karl Godt »

Code: Select all

bash-3.2# ddcprobe | grep -i range
monitorrange: 30-81, 56-75

bash-3.2# cat /var/log/Xorg.0.log | grep -i ranges
(II) Addressable bus resource ranges are
(II) OS-reported resource ranges:
(II) Active PCI resource ranges:
(II) Active PCI resource ranges after removing overlaps:
(II) OS-reported resource ranges after removing overlaps with PCI:
(II) All system resource ranges:
(II) resource ranges after xf86ClaimFixedResources() call:
(II) resource ranges after probing:
(II) VESA(0): Ranges: V min: 56  V max: 75 Hz, H min: 30  H max: 81 kHz, PixClock max 170 MHz
(II) VESA(0): Using hsync ranges from config file
(II) VESA(0): Using vrefresh ranges from config file
(II) resource ranges after preInit:

bash-3.2# cat /etc/X11/xorg.conf | egrep -i 'horiz|vert'
        HorizSync    30-81
        VertRefresh  56-71

Code: Select all

sh-3.2# uname -r
2.6.37.4-KRG-Pentium-Classic-LowLatency-TmpDevFs-1
sh-3.2# grep -E 'VERSION|NAME' /etc/DISTRO_SPECS
DISTRO_NAME='Puppy'
DISTRO_VERSION=431
DISTRO_COMPAT_VERSION='4'
sh-3.2# Xorg -version

X Window System Version 1.3.0
Release Date: 19 April 2007
Have a newish widescreen monitor at the moment, which already has some little displacements in the bootconsole very likely because of the kernel and not only Xorg. The other much older LCD monitor i have does not even work with ddcprobe sometimes on 3.x kernels . Additionally, ddcprobe many times has to be run twice, as the xorgwizard and xwin scripts do it, to present output.
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#5 Post by Karl Godt »

Now :

Code: Select all

bash-3.00# uname -r
2.6.30.9-i586-dpup005-Celeron2G
bash-3.00# . /etc/DISTRO_SPECS ; echo $DISTRO_NAME $DISTRO_VERSION
Puppy 430
Here Xorg-1.3.0 xorgwizard auto selects the intel Xorg driver though both times i915.ko is blacklisted and not loaded.

Code: Select all

bash-3.00# ddcprobe | grep -i range
monitorrange: 30-81, 56-75
bash-3.00# cat /var/log/Xorg.0.log | grep -i ranges
(II) Addressable bus resource ranges are
(II) OS-reported resource ranges:
(II) Active PCI resource ranges:
(II) Active PCI resource ranges after removing overlaps:
(II) OS-reported resource ranges after removing overlaps with PCI:
(II) All system resource ranges:
(II) resource ranges after xf86ClaimFixedResources() call:
(II) resource ranges after probing:
(II) intel(0): Ranges: V min: 56  V max: 75 Hz, H min: 30  H max: 81 kHz, PixClock max 170 MHz
(II) intel(0): Using hsync ranges from config file
(II) intel(0): Using vrefresh ranges from config file
(II) resource ranges after preInit:
bash-3.00# cat /etc/X11/xorg.conf | egrep -i 'horiz|vert'
	### Comment all HorizSync and VertRefresh values to use DDC:
    HorizSync    30.0-81.0
    VertRefresh  56.0-71.0

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#6 Post by Karl Godt »

This is also a pre 2011 :

Code: Select all

bash-3.00# uname -r
2.6.37.4-KRG-p4_1
bash-3.00# source /etc/DISTRO_SPECS; echo $DISTRO_NAME $DISTRO_VERSION
Lucid Puppy 218

Code: Select all

bash-3.00# ddcprobe | grep -i range
monitorrange: 30-81, 56-75
bash-3.00# grep -i ranges /var/log/Xorg.0.log
(II) intel(0): Ranges: V min: 56 V max: 75 Hz, H min: 30 H max: 81 kHz, PixClock max 170 MHz
(II) intel(0): Using hsync ranges from config file
(II) intel(0): Using vrefresh ranges from config file
bash-3.00# egrep -i 'horiz|vert' /etc/X11/xorg.conf
        HorizSync    30-81
        VertRefresh  56-71
bash-3.00# Xorg -version
X.Org X Server 1.7.6
Release Date: 2010-03-17
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

User avatar
`f00
Posts: 807
Joined: Thu 06 Nov 2008, 19:13
Location: the Western Reserve

#7 Post by `f00 »

on precise 5.3.96

Code: Select all

# ddcprobe | grep -i range
monitorrange: 30-97, 50-150
# cat /var/log/Xorg.0.log | grep -i ranges
# cat /etc/X11/xorg.conf | egrep -i 'horiz|vert'
#111029 Terryphi reported 1cm screen displacement, changed vert freq range from 56-76 to 59-76.
	HorizSync    43-53
	VertRefresh  59-69
#  X -version

X.Org X Server 1.11.3
Release Date: 2011-12-16
X Protocol Version 11, Revision 0
Build Operating System: Linux 2.6.42-26-generic i686 Ubuntu
Current Operating System: Linux puppypc25410 3.2.29 #1 SMP Thu Sep 13 20:33:02 GMT-8 2012 i686
Kernel command line: video=640x480 initrd=initrd.gz pmedia=cd BOOT_IMAGE=vmlinuz 
Build Date: 04 August 2012  01:51:24AM
xorg-server 2:1.11.4-0ubuntu10.7 (For technical support please see http://www.ubuntu.com/support) 
Current version of pixman: 0.24.4
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
# uname -r
3.2.29
#
..and..

Code: Select all

  Report Video 1.3 - Mon 8 Apr 2013 on Precise Puppy 5.3.96 - Linux 3.2.29 i686
   
  Chip description:
    9.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200 SE] (rev 01)  0.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI RV280 [Radeon 9200] (rev 01)  
    oem: ATI RADEON 9200
   
  X Server: Xorg  Driver used: radeon
  X.Org version: 1.11.3
    dimensions:    1024x768 pixels (270x203 millimeters)
    depth of root window:    24 planes 
..as well as manual edit of xorg.conf with the help of xvidtune(ModeLine) to correct offset at preferred res..

Code: Select all

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "___"
	ModelName    "CM1997PF"
	HorizSync    43-53
	VertRefresh  59-69
	UseModes     "Modes0" #monitor0usemodes
	Option      "PreferredMode" "1024x768" #monitor0prefmode
	EndSection
	
Section "Modes"
	Identifier "Modes0"
	ModeLine "1024x768" 63.50 1024 1048 1152 1340 768 771 775 798 -hsync +vsync # modes0modeline0
EndSection
..this modeline almost gives edge-to-edge display on my CRT (it's shy maybe 5 pixels both sides horizontally). The next step to reduce width (1340->1344) throws my display to ~75% screenwidth with an inverted h-pincushion effect.

On less recent pups I never had to correct display offset with a custom modeline (racy 5.4.91 is another with offset issue on my hwr).

wyzguy
Posts: 37
Joined: Sun 14 Oct 2012, 01:20

#8 Post by wyzguy »

I would next try commenting out HorizSync and VertRefresh in xorg.conf, save it and reboot. I just found out that changes made to xorg.conf are persistent. They didnt use to be.

Oh, do a xrandr >1.txt from the terminal command line before, and after rebooting do a xrandr >2.txt. Then they then can be compared.

I gained 1 new resolution line and 3 new refresh rates.

Karl,
The request I made on Feb. 25 in the REQUESTS subsection gets its edid from the kernel at boot time. In other words, it does not use the edid from get-edid (won't run on mine) or ddcprobe which does not create an edid file.
I think it needs checked out to see if is a more reliable solution. Could you create a tiny bash script to scan that directory structure and if the file named "status" shows "connected", then redirect the file "edid" into edid-decode for output. Also edid-decode would need compiling, removing debug info, creating links?, and making it a pet. You would need to print out the card number and output connector name from the next higher up directory also.

Thanks

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#9 Post by Karl Godt »

wixguy, I think that ddcprobe could work, at least it does for me in sakura/vte terminal -
BUT NOT in the kernel console nor in traditional xterm console . And the kernel console is the one that is needed.

I have no idea why .
Thats why there is 'xorg.conf.' :
one of my xorg.conf wrote: #PuppyHardwareProfile=
/usr/sbin/xorgwizard wrote:

Code: Select all

#v2.13 want a hardware profile so can bootup on different PCs...
PROFILECHIP=`grep -m1 '^oem: ' /tmp/ddcprobe.txt | cut -f 2-4 -d ' ' | tr ' ' '_' | sed -e 's/[^0-9a-zA-Z]/_/g'`
## Dougal: maybe add "^monitorname: "??
#PROFILEMONITOR=`grep -E -m1 '^monitorrange: |^monitorid: |^eisa: ' /tmp/ddcprobe.txt | cut -f 2 -d ':' | tr -d ' ' | sed -e 's/[^0-9a-zA-Z]/_/g'`
#v3.95 'eisa:' and 'id:' return fluctuating values on some PCs, so search in this order...
PROFILEMONITOR=`grep '^monitorid: ' /tmp/ddcprobe.txt | head -n 1 | cut -f 2 -d ':' | tr -d ' ' | sed -e 's/[^0-9a-zA-Z]/_/g'`
[ "$PROFILEMONITOR" = "" ] && PROFILEMONITOR=`grep '^monitorname: ' /tmp/ddcprobe.txt | head -n 1 | cut -f 2 -d ':' | tr -d ' ' | sed -e 's/[^0-9a-zA-Z]/_/g'`
[ "$PROFILEMONITOR" = "" ] && PROFILEMONITOR=`grep '^monitorrange: ' /tmp/ddcprobe.txt | head -n 1 | cut -f 2 -d ':' | tr -d ' ' | sed -e 's/[^0-9a-zA-Z]/_/g'`
#[ "$PROFILEMONITOR" = "" ] && PROFILEMONITOR=`grep '^dtiming: ' /tmp/ddcprobe.txt | tail -n 1 | cut -f 2 -d ':' | tr -d ' ' | sed -e 's/[^0-9a-zA-Z]/_/g'`
[ "$PROFILEMONITOR" = "" ] && PROFILEMONITOR=`grep '^manufacture: ' /tmp/ddcprobe.txt | tail -n 1 | cut -f 2 -d ':' | tr -d ' ' | sed -e 's/[^0-9a-zA-Z]/_/g'`
#[ "$PROFILEMONITOR" = "" ] && PROFILEMONITOR=`grep '^eisa: ' /tmp/ddcprobe.txt | head -n 1 | cut -f 2 -d ':' | tr -d ' ' | sed -e 's/[^0-9a-zA-Z]/_/g'`
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#10 Post by Karl Godt »

ddcprobe >/tmp/ddcprobe.txt
#weird (ddcprobe is very weird), on some hardware, edid monitor probe fails
#every alternate run of ddcprobe...
case "`cat /tmp/ddcprobe.txt`" in *edidfail*)
sleep 1
ddcprobe >/tmp/ddcprobe.txt
;;
esac

Code: Select all

  get_edid_func(){  ##+++2013-04-11
      which get-edid || return 0
      which edid-decode || return 0
  if [ ! -s /tmp/ddcprobe.txt ]; then
      get-edid 1>/tmp/get-edid.out 2>/tmp/get-edit.txt
      sleep 1s
      [ -s /tmp/get-edid.out ] || return 0
      edid-decode /tmp/get-edid.out >/tmp/ddcprobe.txt
  fi
  }
  get_edid_func
if get-edid and edid-decode are installed in both xwin and xorgwizard ( + xorgwizard-automatic ? ) .

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#11 Post by Karl Godt »

Short snap about the displaced bootscreen of mine.
Sometimes half a letter is beyond the left edge, this time two letters swallowed.
( will attach better one once upon a time )
Attachments
PICT0025.JPG
(108.8 KiB) Downloaded 264 times

Post Reply