Commit Graph

783 Commits

Author SHA1 Message Date
Adam Jackson a8f9936f55 Prefer driver-provided modes when matching name strings to modelines.
Well, kinda.  Strictly we prefer M_T_BUILTIN strongest since those are modes
where the driver has said it absolutely can't do anything else (VBE).  Then
we look for user-defined modes, ie, modelines from the config file.  Then
we consider modes reported by the monitor via EDID.  Finally if nothing has
matched yet we consider the default mode pool.

Within each of the above-mentioned classes, modes with the M_T_PREFERRED bit
take priority over other modes in the same class.

This logic ensures that the timings sent to the monitor exactly match the
timings it reported as supported, which occasionally don't match the numbers
you might get for that mode from CVT or GTF.
2006-09-14 19:24:41 -04:00
Adam Jackson 81ef1b6d60 Mark EDID modes as driver modes. Infer virtual size from driver modes.
This allows the server to guess an appropriate initial virtual size and
resolution.  The heuristic is to select the largest driver-reported mode
that matches the monitor's physical aspect ratio.  We revalidate this
estimate after mode validation, since we may have filtered away all
modes that would fill that size.

Also, the EDID preferred timing is now marked as M_T_PREFERRED as well.
2006-09-14 19:18:58 -04:00
Adam Jackson 43d9edd31e Attempt to add the 'mouse' driver in more situations.
Always add a mouse driver instance configured to send core events, unless
a core pointer already exists using either the mouse or void drivers.  This
handles the laptop case where the config file only specifies, say,
synaptics, which causes the touchpad to work but not the pointing stick.
We don't double-instantiate the mouse driver to avoid the mouse moving twice
as fast, and we skip this logic when the user asked for a void core pointer
since that probably means they want to run with no pointer at all.
2006-09-14 19:09:02 -04:00
Adam Jackson 739224d05e Load the default module set when no Module section is given in the config.
Also, synchronize that list with the list for the pseudoconfig file used
when starting with no config file.  These really need to be better unified.
2006-09-14 19:03:32 -04:00
Adam Jackson beac2bf1e4 Expand the default sync ranges to be large enough for 800x600@60. 2006-09-14 19:01:13 -04:00
Adam Jackson 71a15a7d57 Publish the raw EDID block as a property on the root window.
This was removed in the patch for bug #5386, but is still useful.
2006-09-14 19:00:10 -04:00
Adam Jackson 7939c8dfb7 Bump the default pixel depth to 24, and default bpp to 32. 2006-09-14 18:57:57 -04:00
Adam Jackson 72af975f9c Fix up EDID blocks where the max pixclock exceeds the preferred mode clock.
Base EDID only lets you specify the maximum dotclock in tens of MHz, which
is too fuzzy for some monitors.  1600x1200@60 is just over 160MHz, but if
the monitor really can't handle any mode at 170MHz, then 160 is more
correct.  Fix up the EDID block before the driver can see it in this case,
so we don't spuriously reject modes.
2006-09-14 18:56:34 -04:00
Adam Jackson 334f7db9f6 Allow hsync and vsync ranges to be overridden independently again. 2006-09-14 18:46:10 -04:00
Adam Jackson ced46e1777 Record all standard timings from EDID as modes, instead of just the first five. 2006-09-14 18:41:59 -04:00
Adam Jackson d89fee68d0 Record the maximum dot clock of the monitor, and filter by it. 2006-09-14 18:41:15 -04:00
Adam Jackson fa8ef71668 Don't translate monitor gamma to X gamma.
The X gamma is used to set the output ramp of the card.  Setting a 2.2 output
gamma going into a 2.2 monitor gives an effective gamma of 4.84, which is
very much not what you want.
2006-09-14 18:33:00 -04:00
Luc Verhaegen 511c60bc73 Bug #5386: Synthesize modelines from EDID data. 2006-09-14 18:30:36 -04:00
Bill Nottingham 0a62840e2c Bug 7641: fix comment written to Xorg.conf (s/VertSync/VertRefresh/)
X.Org Bugzilla #7641 <https://bugs.freedesktop.org/show_bug.cgi?id=7641>
Patch #6349 <https://bugs.freedesktop.org/attachment.cgi?id=6349>
2006-09-13 15:40:23 -07:00
Donnie Berkholz 2b357e9a2f If we're installing libxf86config, install headers needed to build against it. 2006-09-10 22:17:20 -07:00
Jesse Barnes b3a3020fd0 the new PCI mapping routines are broken on sparc64 (in fact they look
broken for any 32 bit X server running on a 64 bit kernel) so #ifdef
them out for now.  the PCI rework tree will make all this crap go away,
so I think we can tolerate the extra #ifdef for the next release.
2006-09-10 11:13:18 -07:00
Michel Dänzer 8356be492c Make sure _XSERVER64 is defined when it should be and gets tested. 2006-09-06 15:20:55 +02:00
Adam Jackson ebbdc1342a Remove calls to LoaderCheckUnresolved(), since it's now a stub. 2006-08-28 18:17:32 -04:00
Adam Jackson b879356ce9 More #ifdef USE_DEPRECATED_KEYBOARD_DRIVER. 2006-08-24 15:50:15 -04:00
Matthias Hopf 4ed311cf1c Merge branch 'master' of git://anongit.freedesktop.org/git/xorg/xserver 2006-08-24 20:17:10 +02:00
David Nusinow 733c4beb16 Add xorg.conf IgnoreABI option which does the same thing as -ignoreABI 2006-08-23 22:39:42 +00:00
Adam Jackson ee5e2cbd2b Un-cut-and-paste the mode rejection message. 2006-08-17 17:29:32 -04:00
Adam Jackson 43e42eef1f Fix default mouse device on Linux, again.
It would be really nice if we only did this in one place instead of 40.
2006-08-17 16:22:07 -04:00
Matthias Hopf 73e58adda9 Fixed segfault w/ broken Xinerama configs. 2006-08-16 18:18:51 +02:00
Bastian Blank f7919c2879 xfree86: don't do legacy IO on ARM or S/390 (Debian #362641)
Don't attempt to poke legacy IO ranges on ARM or S/390.
2006-08-12 20:43:25 +03:00
Samuel Thibault e641000b98 xfree86: add Hurd support (#5613)
Add support for GNU/Hurd.
2006-08-12 19:41:59 +03:00
Adam Jackson c4951e0a6b Fix a mode sanity check to not break reduced-blanking setups (LCDs). 2006-08-10 20:49:06 -04:00
Adam Jackson e1921f014b Rename some mode tokens to better reflect their use.
Per #5386, M_T_EDID -> M_T_DRIVER, since it's really for any driver-detected
mode.  Also add M_T_PREFERRED bit, to select a 'best' mode out of a set.
2006-08-10 20:43:15 -04:00
Adam Jackson db82e12fac Remove TargetRefresh option from the autoconfig logic.
The default target of 75Hz is almost always wrong for LCDs.
2006-08-09 14:55:17 -04:00
Daniel Stone 12dbd8a02f remove optional R3 backwards compatibility
Remove the permitOldBugs flag, which enabled backwards compatbility with
broken R2/R3 era clients.
2006-08-07 23:43:40 +03:00
David Nusinow f54b71b772 Document enable/disable flag for AIGLX in xorg.conf manpage. 2006-08-06 18:11:00 +00:00
Ian Romanick 3112a6c4f2 Noting uses libdummy.a, so don't build it. Only libdummy-nonserver.a
is actually used.
2006-07-31 10:25:31 -07:00
Daniel Stone ecb7d43a76 add sym.h to sources 2006-07-30 11:52:41 +03:00
Daniel Stone a68dc013a3 remove README (which doesn't exist) from EXTRA_DIST 2006-07-30 11:08:47 +03:00
Luc Verhaegen 79016d4036 Bug #5386 (partial): Move CVT mode generator from cvt(1) to server core, and
export it from the X server to modules.
2006-07-28 16:02:02 -04:00
Adam Jackson 2a4ceb09ed Remove dead function prototypes. 2006-07-26 19:39:17 -04:00
Adam Jackson 990a400905 Remove getconfig horrorshow. Replace with a static built-in rule list for now. 2006-07-26 19:03:39 -04:00
Adam Jackson 39158e98ac Remove another latent PowerMAX hunk.
All your favorite running jokes of 2005, today!
2006-07-26 18:39:28 -04:00
Adam Jackson 70869fc677 Yet more dead code. 2006-07-21 23:39:37 -04:00
Adam Jackson 7c1b2ee7a8 static markup, more dead code. 2006-07-21 23:35:13 -04:00
Adam Jackson 1c4f90b1d0 Open-coded path checks make baby Jesus cry. 2006-07-21 23:03:21 -04:00
Adam Jackson 114264584c Remove a useless open() of the module we're about to load. 2006-07-21 22:55:41 -04:00
Daniel Stone 6cf844ab69 loader: walk directory paths with readdir(), don't stat() everything
Walk the directories with readdir, and don't stat everything we can
find.  Thanks to davej for the public humiliation reminding me to go back
and re-fix this one.
2006-07-21 19:58:15 -04:00
Adam Jackson 63dfaa1d5b Delete internal usage of the symbol ref/req lists. 2006-07-21 18:47:18 -04:00
Adam Jackson bca9364f3f Remove the loader's required and referenced symbol lists, dead code. 2006-07-21 18:41:46 -04:00
Adam Jackson aff404f293 Detach xf4bpp from cfb. 2006-07-21 18:24:37 -04:00
Adam Jackson 0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Aaron Plattner eeaad0e956 Fix the RandR failure path for rotated screens. 2006-07-21 15:20:40 -07:00
Ian Romanick 22db3fdb54 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver 2006-07-21 13:55:37 -07:00
Ian Romanick 2f98841fde Remove unused variable. 2006-07-20 16:08:27 -07:00