Bug 102345 - Refresh rate used by X after installation is way too low
Summary: Refresh rate used by X after installation is way too low
Status: VERIFIED FIXED
Alias: None
Product: SUSE LINUX 10.0
Classification: openSUSE
Component: X.Org (show other bugs)
Version: Preview 4
Hardware: Other All
: P2 - High : Normal
Target Milestone: ---
Assignee: Stefan Dirsch
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-05 12:00 UTC by Gernot Payer
Modified: 2005-09-08 12:51 UTC (History)
2 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Xorg.0.log (48.09 KB, text/plain)
2005-08-05 12:01 UTC, Gernot Payer
Details
SaX.log (104.46 KB, text/plain)
2005-08-11 14:12 UTC, Gernot Payer
Details
xorg.conf (4.72 KB, text/plain)
2005-08-11 14:13 UTC, Gernot Payer
Details
New driver for testing (215.61 KB, application/octet-stream)
2005-08-26 11:10 UTC, Stefan Dirsch
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gernot Payer 2005-08-05 12:00:24 UTC
First the hardware description:

11: PCI 02.0: 0300 VGA compatible controller (VGA)
  [Created at pci.271]
  Unique ID: _Znp.vjfpxvdr+7C
  SysFS ID: /devices/pci0000:00/0000:00:02.0
  SysFS BusID: 0000:00:02.0
  Hardware Class: graphics card
  Model: "GVC/BCM Advanced i845"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0x2562 "i845"
  SubVendor: pci 0x14a4 "GVC/BCM Advanced Research"
  SubDevice: pci 0x2179
  Revision: 0x03
  Driver: "i810_smbus"
  Memory Range: 0xd0000000-0xd7ffffff (rw,prefetchable)
  Memory Range: 0xdff80000-0xdfffffff (rw,non-prefetchable)
  IRQ: 185 (no events)
  I/O Ports: 0x3c0-0x3df (rw)
  Driver Info #0:
    XFree86 v4 Server Module: i810
    XF86Config Entry: Option "NoDDC"
  Driver Info #1:
    XFree86 v4 Server Module: i810
    3D Support: yes
    Extensions: dri
    XF86Config Entry: Option "NoDDC"
  Config Status: cfg=new, avail=yes, need=no, active=unknown

Primary display adapter: #11

22: None 00.0: 10000 Monitor
  [Created at monitor.87]
  Unique ID: rdCR.1DnICw8plv0
  Hardware Class: monitor
  Model: "IIYAMA Monitor"
  Vendor: IVM "IIYAMA"
  Device: eisa 0x1910
  Size: 36x27 cm
  Resolution: 720x400@70Hz
  Resolution: 640x480@60Hz
  Resolution: 640x480@67Hz
  Resolution: 640x480@72Hz
  Resolution: 640x480@75Hz
  Resolution: 800x600@56Hz
  Resolution: 800x600@60Hz
  Resolution: 800x600@72Hz
  Resolution: 800x600@75Hz
  Resolution: 832x624@75Hz
  Resolution: 1024x768@60Hz
  Resolution: 1024x768@70Hz
  Resolution: 1024x768@75Hz
  Resolution: 1280x1024@75Hz
  Resolution: 1600x1200@85Hz
  Resolution: 1856x1392@75Hz
  Resolution: 1920x1440@75Hz
  Config Status: cfg=new, avail=yes, need=no, active=unknown

For some reason these refresh rates are lower than what the monitor can actually 
handle (seperate bug?), but I'm used to circumvent this by manually selecting 
"VESA, 1024x768@85Hz". Up to 9.3 this worked, but now I get a maximum of 63 Hz 
(!) with this selection.

I just now tried the default selection by sax2 with preview4 and sax2 chose 
1280x1024@58Hz. Noone can work with such a low refresh rate. Interestingly when 
I switched to 1024x768 I suddenly (and quite unexpectedly) got 85Hz.

sax2 really should make sure that the user gets a refresh rate of more than 
80Hz, if that is possible. Furthermore if the user selects a monitor type 
manually, than sax2 (and the X system) should simply obey and use the selected 
values.
Comment 1 Gernot Payer 2005-08-05 12:01:20 UTC
Created attachment 44971 [details]
Xorg.0.log
Comment 2 Marcus Schaefer 2005-08-09 13:15:14 UTC
please call from runlevel 3 as user root: 
 
  sax2 -r 
  --> what kind of monitor has been detected (name) ? 
 
  --> setup the monitor and run a test, is the sync range 
      appropriate to your selection ? 
 
  --> save the configuration and send me the following files 
 
    /var/log/SaX.log 
    /etc/X11/xorg.conf 
 
thanks 
Comment 3 Marcus Schaefer 2005-08-11 13:18:13 UTC
any information ? 
Comment 4 Gernot Payer 2005-08-11 14:12:22 UTC
Monitor detected: Ilyama Vision Master  451 (correct)

The suggested screen resolution is fine (1280x1024), but the 58Hz refresh rate 
simply is WAY to low. What test should I run btw.?
Comment 5 Gernot Payer 2005-08-11 14:12:51 UTC
Created attachment 45763 [details]
SaX.log
Comment 6 Gernot Payer 2005-08-11 14:13:11 UTC
Created attachment 45764 [details]
xorg.conf
Comment 7 Marcus Schaefer 2005-08-12 09:20:40 UTC
Ah I see intel crapware ;) 
 
---snip--- 
(WW) I810(0): config file hsync range 30-115kHz not within DDC hsync ranges. 
	(WW) I810(0): config file vrefresh range 50-160Hz not within DDC 
vrefresh ranges. 
	(II) I810(0): Monitor[0]: Using hsync range of 30.00-115.00 kHz 
	(II) I810(0): Monitor[0]: Using vrefresh range of 50.00-160.00 Hz 
	(II) I810(0): Not using built-in mode "1600x1200" (width too large for 
virtual size) 
	(II) I810(0): Increasing the scanline pitch to allow tiling mode (1280 
-> 2048). 
	(--) I810(0): Virtual size is 1280x1024 (pitch 2048) 
	(**) I810(0): *Built-in mode "1280x1024" 
	(**) I810(0):  Built-in mode "1024x768" 
	(**) I810(0):  Built-in mode "800x600" 
	(**) I810(0):  Built-in mode "640x480" 
	(II) I810(0): Attempting to use 58.00Hz refresh for mode 
"1280x1024" (858) 
	(II) I810(0): Attempting to use 85.00Hz refresh for mode 
"1024x768" (854) 
	(II) I810(0): Attempting to use 85.14Hz refresh for mode 
"800x600" (852) 
	(II) I810(0): Attempting to use 85.01Hz refresh for mode 
"640x480" (850) 
---snap--- 
 
the i810 driver is bound to the BIOS because there are no open specs 
for the hardware from Intel. This means you can only use the BIOS 
modes nothing else. As you can see the driver selects the low mode itself 
I cannot do anything here 
 
assigning to Stefan, maybe the i810 driver is broken here or your BIOS 
does not offer a higher mode. Stefan feel free to close if you think this 
is not a driver bug 
 
 
Comment 8 Stefan Dirsch 2005-08-12 09:36:38 UTC
Since it still worked with 9.3 this sounds like a regression in the i810 driver.
Please try 

  Option "NoDDC"

in 'Section "Device"' of /etc/X11/xorg.conf as workaround for now.
Comment 9 Gernot Payer 2005-08-16 13:48:06 UTC
This improves the situation slightly. Now I get 68Hz at 1280x1024. However when 
I now switch to 1024x768 in KDE, I only get 68Hz as well instead of 85Hz as 
before. And when I run sax2 from within KDE and try to choose 1024x768 I get 
again only 58Hz, which is completely unusable.

As there does not seem to be any system behind this all, that I can figure out, 
you might want to have a look at the system in person.
Comment 10 Stefan Dirsch 2005-08-17 14:06:46 UTC
Yes, I think it would be the best to fetch this machine. Would this be possible?
Probably for a longer time. Will you need a replacement. What kind of a machine
would you need?
Comment 11 Stefan Dirsch 2005-08-21 01:45:50 UTC
Gernot? 
Comment 12 Egbert Eich 2005-08-22 13:13:39 UTC
Stefan, are we using the patch that I once made for cs's problem? I forgot the
number.
Since we have upgraded the driver I assume it doesn't apply any more.
Comment 13 Stefan Dirsch 2005-08-22 13:37:07 UTC
No, we don't. I thought it has already been integrated into CVS. Hopefully we'll
the bugreport again ...
Comment 14 Stefan Dirsch 2005-08-22 14:20:30 UTC
I found it again (#71198).
Comment 15 Stefan Dirsch 2005-08-22 14:24:33 UTC
You mean Attachment id=37312, right?
Comment 16 Rainer Klier 2005-08-22 14:28:16 UTC
i experienced the same bug:
i have an Intel(r)865G Graphics Controller and an hp p930 19" monitor i
only get 74hz@1600*1200 whereas with 6.8.2rc2 (and all former releases)
i get 85hz@1600*1200 with the same hardware.

up to suse9.2 with x.org 6.8.2rc2 it worked!

currently i am using suse9.3 with the 6.8.2rc2 packages made for suse9.2 and
that works.
but this is only a workaround.
Comment 17 Egbert Eich 2005-08-22 14:52:35 UTC
Stefan, yes it's 37312. The changes to i830_driver.c may make a difference.
Comment 18 Stefan Dirsch 2005-08-22 15:44:39 UTC
Ok. I think we should try to integrate this patch.
Comment 19 Egbert Eich 2005-08-22 16:56:37 UTC
Who is 'we'? ;-)
I may give it a shot tomorrow - if nothing else pops up.
Comment 20 Stefan Dirsch 2005-08-22 16:58:13 UTC
Thanks!
Comment 21 Stefan Dirsch 2005-08-22 19:51:46 UTC
Looks not that bad. 
 
# patch -p0 < ../i810.diff  
patching file programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c 
Reversed (or previously applied) patch detected!  Assume -R? [n]  
Apply anyway? [n]  
Skipping patch. 
11 out of 11 hunks ignored -- saving rejects to file 
programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c.rej 
patching file programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c 
Hunk #1 succeeded at 1 with fuzz 2. 
Hunk #2 succeeded at 69 (offset 4 lines). 
Hunk #3 succeeded at 99 (offset 4 lines). 
Hunk #4 succeeded at 350 with fuzz 2 (offset 4 lines). 
Hunk #5 succeeded at 359 (offset 4 lines). 
Hunk #6 succeeded at 607 (offset 65 lines). 
Hunk #7 FAILED at 683. 
Hunk #8 FAILED at 766. 
Hunk #9 succeeded at 866 with fuzz 2 (offset 29 lines). 
Hunk #10 FAILED at 880. 
3 out of 10 hunks FAILED -- saving rejects to file 
programs/Xserver/hw/xfree86/drivers/i810/i830_modes.c.rej 
 
Comment 22 Stefan Dirsch 2005-08-22 21:33:39 UTC
The hunks for i830_driver.c need be applied -->  5 out of 11 hunks FAILED  
Comment 23 Stefan Dirsch 2005-08-22 21:39:38 UTC
I took a short look at the failed hunks, but some of them I don't know how to 
adjust to the new CVS sources. Therefore I think it would be the best, if the 
original author (that's you, Egbert ;-)) of the patch would adjust it to the 
new CVS sources. 
Comment 24 Stefan Dirsch 2005-08-26 11:10:15 UTC
Created attachment 47749 [details]
New driver for testing
Comment 25 Gernot Payer 2005-08-26 11:45:58 UTC
The new driver fixed it. Now I have 1280x1024 @ 98Hz.
Comment 26 Stefan Dirsch 2005-08-26 12:21:45 UTC
Thanks for testing! Package submitted. Fixed for Beta4.
Comment 27 Rainer Klier 2005-08-29 08:52:19 UTC
THANKS!
the new driver also fixed it for me!
it also works for suse9.3! :-D

since the release of xorg 6.8.2rc3 for suse9.2 i am waiting for this fix.
(Stefan, you know ;-)

THANKS again!

BUT i noticed one new problem:
when i start glxgears, the following error occurs:

ERROR: line 114, Function intelInitDriver, File intel_screen.c
libGL error: InitDriver failed
libGL error: reverting to (slow) indirect rendering

and the fps go down from about 720 to 468.
Comment 28 Stefan Dirsch 2005-08-29 09:16:35 UTC
Thanks for the feedback. The DRI problem should already been fixed with Beta3.
Comment 29 Rainer Klier 2005-08-29 13:57:21 UTC
thanks again stefan.

as you told me, i replaced the i915_dri.so file.
and it worked! :-D

so, to get rid of the refresh-bug under suse9.3 (where it still exists) you have
to do the following:
1. install xorg 6.8.2-30 for suse9.3
2. copy the file i810_drv.o from
https://bugzilla.novell.com/attachment.cgi?id=47749 to  
/usr/X11R6/lib/modules/drivers/
3. copy the file i915_dri.so from xorg-x11-Mesa-6.8.2-92.i586.rpm for opensuse
beta3 to /usr/X11R6/lib/modules/dri/
4. restart X
Comment 30 Gernot Payer 2005-09-08 12:51:49 UTC
Fix verified.