Bug 24462

Summary: RFE: Auto calculate optimal modelines if possible.
Product: [Retired] Red Hat Linux Reporter: Need Real Name <mal>
Component: XFree86Assignee: Mike A. Harris <mharris>
Status: CLOSED NOTABUG QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: low    
Version: 7.0Keywords: FutureFeature
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-04-25 10:05:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Need Real Name 2001-01-20 18:18:27 UTC
The X11 (XFree86-4.0.1-1)
Often does not select the best mode.
An example: when setting in /etc/X11/XF86Config-4
                Modes "1024x768"
The mode 1024x768 was set at 85Hz, but the monitor
perfectly supports i1024x768 at 100Hz.
To get it to work at 100Hz I needed to put 
a "Modeline" line to Monitor section (copied from /etc/X11/XF86Config)
After that it started working OK at 1024x768 @100Hz.
I think XFree86-4 should itself select the best available frequenciy.

Comment 1 Need Real Name 2001-01-20 18:22:05 UTC
above I mant 1024x768 non-interlaced.
i before the mode is a misprint

Comment 2 Bernhard Rosenkraenzer 2001-01-23 15:11:41 UTC
I'd say generating Modelines is Xconfigurator's job rather than XFree86's...

Comment 3 Preston Brown 2001-01-29 21:15:55 UTC
Re-working Xconfigurator to provide absolutely "optimal" refresh rates is going
to be very difficult.  Remember that this tool needs to run on the widest array
of hardware available.  85 Hz is higher than most humans can detect as a refresh
rate.  Yes, 100 Hz is better.

This kind of fixup will have to remain in the domain of manual tweaking for now.

Comment 4 Need Real Name 2001-01-30 00:47:43 UTC
This should not be really hard.
You can extract all supported clock frequencies from the videocard
(X server just prints them to stderr)
You know a resolution (it 3 or 4 four possible options 640x480, 800x600, etc.)
then knowing clock frequency and resolution 
you should be able to calculate all timing options in Modeline.
The problem with current /etc/X11/XF86Config
ih has pre-set DotCloc like in the line below DotClock is 69.65
Modeline  "800x600"    69.65  800  864  928 1088   600  604  610  640 -HSync
-VSync
The problem if the videocard supports DotClock 75.0 this mode will not work.
So the right approach is to take DotClock from videocard
and generate the all modes supporthing this DotClock.

Totally you you get the most 
N_DotClock_modes * N_different_resolutions.
In effect this number is 2-3 times fewer because 
some combinations are not possible because of limited videoram.

You will end up with about the same number of modes as 
you have now in XF86Config but all of them will be supported.


Comment 5 Need Real Name 2001-01-31 01:58:59 UTC
Below are the links with the information 
how using DotClock and resolution calculate timing.
This way Xconfigurator can set the best modes which will perfectly 
fit the videocard.

http://florida.linuxusers.org/howto/hi-res/
http://www.kernelnotes.org/HOWTO/XFree86-Video-Timings-HOWTO-10.html
http://www.icewalk.com/softlib/app/app_00902.html

I think the best option is to put all 
N_DotClock_modes * N_different_resolutions.
possible Modeline and let the server itself to select
those which will work with availble videoram.

Comment 6 Need Real Name 2001-02-07 06:38:36 UTC
The first link
http://florida.linuxusers.org/howto/hi-res/
has the most clear description.
The other focus on some very special things 
(like non-standrad screen resolution and etc.)

Comment 7 Preston Brown 2001-02-08 19:53:14 UTC
*** Bug 24704 has been marked as a duplicate of this bug. ***

Comment 8 Mike A. Harris 2001-08-20 03:38:55 UTC
If there are modelines missing, they should be added directly to
XFree86 itself.  XFree86 uses whatever modelines it has built in,
and any specified in the config file.  If there are modes you'd like
added, feel free to attach the modeline to the bug report and reopen
the bug.

Comment 9 Need Real Name 2001-08-20 04:30:47 UTC
I meant that there is an easy way to create 
perfect modelaine options for every videocard.


https://bugzilla.redhat.com/bugzilla/showattachment.cgi?attach_id=9199

By extracting dot-frequencies from videocard (X server just prints them
to console) and knowing the display resolutions 1024x768, 800x600, etc
one can just generate perfect modelines for the specific videocard.
This was the whole point. Not to chose some 
pre-selected modelines, but instead generate them
based on available videocard and required display resolution(s).

See the link above for a very simple algorithm for this task.


Comment 10 Mike A. Harris 2001-08-20 05:38:00 UTC
Ok, I gotcha.  I'll check it out for future releases.
Thanks.

Comment 11 Mike A. Harris 2003-04-25 10:05:24 UTC
This is development which should be done by XFree86.org and integrated into
a future release of XFree86 upstream.  It is something they've discussed
doing, and so I'm closing this bug out since it is something that will be done
upstream and not by Red Hat.