Commit Graph

2681 Commits

Author SHA1 Message Date
Adam Jackson 27e7dacbf7 Make xf86InitialConfiguration slightly smarter.
Old heuristic was to find the first monitor that expressed a preference,
then attempt to get all other monitors to agree.  This doesn't work
particularly well when the two sets of modes don't precisely intersect,
you get overlapping-but-not-identical output geometry and things go wrong.

New heuristic is:
- Exact user preference, if given
- Exact output preference, if the same for all outputs
- Best (largest) mode of modes common to all outputs:
  - with the same aspect ratio as all outputs (may be NULL)
  - with 4:3 aspect ratio
- Then the old heuristic to try to get something lit

Note that it is simply not doable to have a reliable initial output guess if
you insist on trying to clone all outputs together.  It's far too easy to
end up with displays that simply don't have modes in common.  We need to
switch to right-of placement someday, once we're not limited to CRTC size
limits and we have working multi-GPU in RANDR.
2008-03-04 11:38:34 -05:00
Adam Jackson 95df04b744 Remove all mention of the vga driver from the config logic. 2008-03-04 10:59:24 -05:00
James Cloos 613852ce6a Fix some documentation typos 2008-03-03 16:11:05 -05:00
Adam Jackson 708f07753f RANDR 1.2: Inherit PreferredMode from the global configuration, if any.
If you don't do this, then Modes "800x600" in the Display subsection will
be dutifully ignored and the driver will start at whatever resolution it
feels like.
2008-03-03 15:49:48 -05:00
Adam Jackson 605e6764df Fix Motif menu drawing in Xnest.
See also Red Hat bug #229350, OpenSolaris bug #6366490.
2008-03-03 15:45:17 -05:00
Adam Jackson 3b73d62791 xf86DDCMonitorSet: Honor the DisplaySize from the config file.
We honor sync ranges and pixel clock settings from the config here, no
reason to ignore DisplaySize.
2008-03-03 15:43:22 -05:00
David Nusinow f7ab2d3821 Add missing file from previous commit. 2008-03-02 18:36:25 -05:00
David Nusinow b5ce0e1d0b Bug #13860: Ensure that the DRI mode is in octal format. 2008-03-02 17:12:02 -05:00
Matthieu Herrb c934366424 use UTILS_SYS_LIBS to pass SYS_LIBS to utils/ioports correctly 2008-03-02 19:32:01 +01:00
David Nusinow 2bb9c1f36f bug #10008: Make Xvfb.1 document the correct default depth 2008-03-01 18:45:46 -05:00
George Sapountzis 3d64290547 clean some "unused" warnings 2008-03-01 19:49:24 +02:00
Maarten Maathuis 8af2c39bcc Fix big mistake in commit fd41f46ac6.
- When a mode is deleted, the name pointer is also free()'ed.
- This leaves other modes with an invalid pointer.
2008-03-01 16:54:01 +01:00
Eamon Walsh ef60632e20 dix: Modify callers of property and selection API to use new interfaces. 2008-02-29 18:01:37 -05:00
Eamon Walsh 34bf308a9e dix: Refactoring of selection code to allow for polyinstantiation.
Introduces dixLookupSelection() API.
Removes NumCurrentSelections from API.
2008-02-29 18:01:37 -05:00
Eamon Walsh d5715f7bea dix: Refactoring of property code to allow for polyinstantiation.
Introduces dixLookupProperty() API.
2008-02-29 18:01:37 -05:00
Adam Jackson b7eb92774a EDID 1.4: Print additional CVT support data in the log. 2008-02-29 16:01:15 -05:00
Adam Jackson 31014d88af EDID 1.4: Decode additional CVT support information.
Table 3.28: Display Range Limits & CVT Support Definition
2008-02-29 16:01:15 -05:00
Adam Jackson d1c48955f8 Fix CVT abuse in DDCModesFromStandardTiming.
CVT is enough different from GTF that it should not be used on monitors
that aren't expecting it.  This brings us closer to what the spec says
the correct behaviour is.
2008-02-29 16:01:15 -05:00
Adam Jackson 26c2e95fa5 Nuke a duplicate SYMFUNC(xf86CVTMode) 2008-02-29 16:01:15 -05:00
Adam Jackson ca5625b911 Add xf86GTFMode().
This should probably be shared like xf86CVTMode().
2008-02-29 16:01:15 -05:00
Adam Jackson 4cb4817c10 Remove the duplicate copy of xf86cvt.c 2008-02-29 16:01:15 -05:00
Adam Jackson e65e51a99b Constify the built-in mode tables. 2008-02-29 16:01:14 -05:00
Adam Jackson 6828d8fc2b Clean up DisplayModeRec handling in many places.
Use xf86DuplicateMode() instead of rolling our own, and change
malloc+memset to calloc.
2008-02-29 16:01:14 -05:00
Adam Jackson 85617b56e5 Remove some #if 0 guarding code duplicated in xf86Modes.c 2008-02-29 16:01:14 -05:00
Adam Jackson fd41f46ac6 Allow xf86DuplicateMode() to work correctly on read-only modes.
Before this it was meaningless to try to mark DisplayModeRec tables
const, since the mode name would be emitted as a pointer to an
anonymous string constant, and therefore would have to be fixed up by
ld.so and so couldn't live in .rodata.  With this change the standard
mode lists can live in .rodata, and modes duplicated from them will
have their names filled in on the fly.
2008-02-29 16:01:14 -05:00
Adam Jackson 8ac19d16a0 Add several comments documenting our EDID failures. 2008-02-29 16:01:14 -05:00
Kristian Høgsberg 13bfa5937d GLX: Adjust to changes in DRI driver interface. 2008-02-29 15:11:13 -05:00
Eamon Walsh 27bcf40cda XACE: Fix instances of DixUnknownAccess at hook callsites. 2008-02-28 16:43:43 -05:00
Tiago Vignatti aebd9dc252 Oops, there's one more parenthesis. 2008-02-28 01:22:31 -03:00
Dave Airlie 08afc70513 quirks: another LPL panel with the cm/mm wrong 2008-02-28 10:45:41 +10:00
Dodji Seketeli d74b0327e8 [Xephyr/GL] unbreak the build
Don't touch Xephyr DRI stuff when not compiling in a DRI environment.
2008-02-27 09:48:53 +01:00
Dave Airlie d12b7b6632 xf86Crtc: add higher level modesetting entry point.
For kernel modesetting work we need a bigger stick to beat the modesetting path
2008-02-27 07:09:14 +10:00
Tiago Vignatti c46f7b62d2 Fine, we don't need pciInit() anymore. Nuke, nuke, nuke... 2008-02-25 18:14:08 -03:00
Tiago Vignatti a9050d5424 Jesus, pciInit() was called 32 times in my machine without need!
xf86scanpci() will always call pciInit() before any other function, so
there's no need to guarantee it after.
2008-02-25 18:10:18 -03:00
Tiago Vignatti 81272f7ec9 Some doc clean up:
clean up legacy things in os-support/bus/Pci.c.

    Put InitOutput() comment to its right place.
2008-02-25 17:39:33 -03:00
Tiago Vignatti 7c582dd6de remove lnxPciInit() unused function. 2008-02-25 17:31:37 -03:00
Tiago Vignatti 9727db88d5 No more "-scanpci" given that we already have it in libpciaccess.
(Yeah, lets nuke dead code!)
2008-02-25 17:08:07 -03:00
Tiago Vignatti f19f7b8e53 Clean some garbage caused when pciaccess was merged:
FindPCIVideoInfo() function isn't need anymore.

    xf86scanpci() is being called only once so we don't need permanent
    (static) variables there.

    restorePciState() is not used for now (until we find why multiple
    cards aren't working).
2008-02-25 17:07:07 -03:00
Adam Jackson 4b50e71bf1 Bug #13736: Fix %bx in VBEGetPixelClock to match spec.
Reported by Yannick Henault.
2008-02-24 20:25:13 -05:00
Jeremy Huddleston 6dc369028d XQuartz: Quit now properly warns the user
(cherry picked from commit ed3d7b3959c2a0cb63e37210455bcc6cf195b807)
2008-02-23 00:28:41 -08:00
Adam Jackson e6a4cde16d Use the client-side XKB headers for the config utilities 2008-02-22 18:36:29 -05:00
Adam Jackson 347db49ebe s/via/openchrome/ in the autoconfig logic.
Xorg's via driver is effectively dead anyway.
2008-02-22 16:05:33 -05:00
Adam Jackson 69f7826767 Match Xephyr DRI definitions to the ones in xf86dri.h 2008-02-22 16:04:35 -05:00
Adam Jackson 24bebdded4 fbFillRegionTiled() is now dead code.
Only ever called from the old PaintWindow* screen hooks, but those are
gone now.  As a pleasant side effect, fb loses its #ifdef PANORAMIX.
2008-02-22 15:22:38 -05:00
Adam Jackson ee21aba6be Fix Xinerama's consolidated visual handling.
Formerly the code claimed it could only handle up to 256 visuals, which
was true.  Also true, but not explicitly stated, was that it could only
handle visuals with VID < 256.  If you have enough screens, and subsystems
that add lots of visuals, you can easily run off the end.  (Made worse
because we allocate visual IDs from the same pool as XIDs.)  If your app
then chooses a visual > 256, then the Xinerama code would throw BadMatch
on CreateColormap and your app wouldn't start.

With this change, PanoramiXVisualTable is gone.  Other subsystems that
were using it as a translation table between each screen's visuals now
use a PanoramiXTranslateVisual() helper.
2008-02-22 15:19:54 -05:00
Dodji Seketeli c14fd2a5cb [Xephyr/GL] properly route expose event on GL drawables
When an expose event happens on an host GL window paired with an
internal drawable, route that expose event to the clients listening
to the expose event on the internal drawable.
2008-02-21 15:33:02 +01:00
Dodji Seketeli 437c78ef9f [Xephyr/GL] don't crash when the host returns a NULL server string 2008-02-21 15:29:27 +01:00
Peter Hutterer 67a78e84a8 Revert "xfree86: plug a memory leak in xf86LoadModules."
This reverts commit 3abce3ea2b and
6cbaf15e61.

The memory returned to xf86LoadModule was allocated in doLoadModule, which
calls the respective module's PreInit. As it turns out, input and output
drivers store a pointer to the module elswhere, so freeing it in
xf86LoadModule is a bad idea.

For further reference: hw/xfree86/common/xf86Helper.c
    Input drivers: xf86InputDriverList[blah]->module = module;
    Output drivers: xf86DriverList[blah]->module = module;

Unloading the module would not look pretty then.
2008-02-19 21:31:50 +10:30
Jeremy Huddleston 5f5ec5db35 XQuartz: unsetenv("DISPLAY") before startx if X11.app can't connect to it.
Also fix casting to silence warning.
(cherry picked from commit a5cbf78471ec6e6ad672dc00118fc7edbd6ddc7c)
2008-02-19 00:01:42 -08:00
Peter Hutterer 6cbaf15e61 xfree86: guard against NULL-pointer dereferences in xf86LoadModules.
Should have been part of 3abce3ea2b, but I
forgot to git-update-index before I committed.

Thanks to Bill Crawford for pointing it out.
2008-02-19 12:05:13 +10:30
Arjan van de Ven 3abce3ea2b xfree86: plug a memory leak in xf86LoadModules.
LoadModule() returns the only reference to a fresh piece of memory (a
ModuleDescPtr). Sadly, xf86LoadModules dropped the return value on the floor
leaking memory for each module it loaded.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-18 18:14:40 +10:30
Arjan van de Ven 6dc71f6b2c xfree86: plug memory leak in InitPathList.
All the failure paths were very diligent in freeing the "fullpath" temporary
string, but the success case was not. All the content only got strdup()d, so
it's not live memory anymore.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-18 18:14:33 +10:30
Arjan van de Ven 1bec6ad897 xfree86: plug memory leak in xf86LogInit()
xf86LogInit allocates a piece of memory, stores it in lf. LogInit() will then
effectively strdup it, but lf is never freed again.

Signed-off-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-18 18:14:20 +10:30
Daniel Stone 68bd7ac193 XKB: Move headers into the server tree
We need to start breaking the XKB API to enforce sanity, so drag whichever
headers we need to do so into the server tree, as the client API is set in
stone, being part of Xlib.
2008-02-17 22:52:07 +02:00
Maarten Maathuis a48cc88ea2 Fix rotation for multi-monitor situation.
- The (x,y)-coordinates of the crtc were not being passed as xFixed values, which made it an obscure bug to find.
- Fix bug #13787.
2008-02-17 18:47:28 +01:00
Jeremy Huddleston b95059c207 Added Xquartz.plist to EXTRA_DIST
(cherry picked from commit 70f9495e0c1f1459507064b673fe57b1c90d3c2c)
2008-02-16 02:57:23 -08:00
Jeremy Huddleston d103820bb8 Fixed unescaped newline in EXTRA_DIST
(cherry picked from commit 567c172c4d400fdfe69e7b096a3877fce5c2de9f)
2008-02-16 01:01:33 -08:00
Jeremy Huddleston a7d936c4ac XQuartz: Fixed EXTRA_DIST to include localization
(cherry picked from commit 1b338c2a9330c85490a7c24d52adf24b124b70e6)
2008-02-16 01:01:29 -08:00
Kristian Høgsberg 0ffb6a3ad0 GLX: Implement support for TTM BO based TFP when available. 2008-02-14 22:20:56 -05:00
Kristian Høgsberg 879515b139 Add GLX provider for DRI2. 2008-02-14 19:53:49 -05:00
Kristian Høgsberg b71dc54352 Add DRI2 module. 2008-02-14 19:53:49 -05:00
Adam Jackson 3e0353c785 Bah, macros are hard. 2008-02-15 06:42:48 +11:00
Maarten Maathuis c38feeb149 Fix typo in commit b8b7cdf6df. 2008-02-14 18:52:47 +01:00
Adam Jackson b8b7cdf6df Silence useless debug spew from XFree86-Misc extension. 2008-02-15 01:31:46 +11:00
Adam Jackson ba69904148 Simplify dlloader a bit more. 2008-02-14 08:52:43 +11:00
Adam Jackson f750ce53ac Remove some braindamage from ModuleDesc.
Yay dead code elimination.
2008-02-14 08:22:57 +11:00
Adam Jackson e91ff09568 Friends don't let friends call xf86AddModuleInfo.
That code only existed to leak memory.  It can go now, thanks.
2008-02-14 08:21:44 +11:00
Adam Jackson 0bdd20a045 Eradicate the VTInit code.
"This option should rarely be used."  Never sounds like a better idea.
2008-02-14 07:52:46 +11:00
Adam Jackson 24089b0624 Don't bother warning people about the keyboard driver rename, just do it. 2008-02-14 07:52:33 +11:00
Adam Jackson 2aaf6ac134 Don't even attempt to parse -bpp in xfree86 DDX option parsing.
This hasn't been valid since 1999.  Get with the times, man.
2008-02-14 07:52:26 +11:00
Adam Jackson f3b3b37ec6 Use strerror instead of errno values in user strings. 2008-02-14 07:52:02 +11:00
Adam Jackson 7c0709a736 requestingClient is an xprintism, hide it for other servers. 2008-02-14 07:11:52 +11:00
Jeremy Huddleston 8a244c2bc0 XQuartz: Fixed layout of Applications->Customize menu
Now resizing it won't produce weir overlaps of the widgets.  Thanks to
Pelle Johansson for his help showing me how to do this.
(cherry picked from commit ef3498e92d13c82633fdbe8120396bfbe1e7489a)
2008-02-11 12:10:59 -08:00
Jeremy Huddleston 3570ca1cb7 XQuartz: Added option for setting quartz-wm click-through preference
(cherry picked from commit bf54c267cba97b2b3b9a621da0575776a388b2cb)
2008-02-10 18:30:52 -08:00
Jeremy Huddleston 8004e160fa XQuartz: Converted interface to nib 3.x format
(cherry picked from commit 656aaab95773bd70fc3504b68bf7e1d292891d93)
2008-02-10 18:30:48 -08:00
Bart Trojanowski 66f8001b61 X86EMU: handle CPUID instruction
After trying to switch from X to VT (or just quit) the video-amd driver
attempts to issue INT 10/0 to go to mode 3 (VGA).  The emulator, running
the BIOS code, would then spit out:

        c000:0282: A2 ILLEGAL EXTENDED X86 OPCODE!

The opcode was 0F A2, or CPUID; it was not implemented in the emulator.
This simple patch, against 1.3.0.0, handles the CPUID instruction in one of
two ways:
 1) if ran on __i386__ or __x86_64__ then it calls the CPUID instruction
     directly.
 2) if ran elsewhere it returns a canned 486dx4 set of values for
     function 1.

This fix allows the video-amd driver to switch back to console mode,
with the GSW BIOS.

Thanks to Symbio Technologies for funding my work, and ThinCan for
providing hardware :)

Signed-off-by: Bart Trojanowski <bart@jukie.net>
Acked-by: Eric Anholt <eric@anholt.net>
2008-02-08 10:48:40 -08:00
liuhong d3c36fe721 validate mode clock for probed modes
Some modes claimed in monitor EDID data may not be supported by
the monitor. So also validating the max clock for probed modes.
2008-02-05 12:45:27 -08:00
liuhong 4b5b6e7baa fix max clock unit
max clock from EDID data is in MHz, while we need KHz to validate modes.
2008-02-05 12:45:16 -08:00
Peter Hutterer 10617dc0fb xfree86: stick two more checks in for num_valuators < MAX_VALUATORS 2008-02-01 14:24:04 +10:30
Matthieu Herrb c68f063be6 xfree86: don't call xalloc from signal handlers when posting events.
Reviewed-by: Peter Hutterer <peter@cs.unisa.edu.au>
2008-02-01 14:14:17 +10:30
Coleman Kane df325be394 Bug 13101: xorg-server has a typo in hw/xfree86/os-support/bsd/i386_video.c
X.Org Bug #13101 <https://bugs.freedesktop.org/show_bug.cgi?id=13101>
Patch #12360 <https://bugs.freedesktop.org/attachment.cgi?id=12360>
2008-01-29 09:48:00 -08:00
Julien Goodwin 94f412cb7e Loader: Fix verbosity confusion
'Loading foo' is verbosity 3, whereas 'already built-in' is verbosity 0.
This means that gdm's log would just be full of bare 'module already
built-in' messages.
2008-01-29 14:46:15 +11:00
Julien Goodwin 442838fcb3 xorg.conf.man: Fix monitor/output confusion in monitor positioning
On the Intel driver at least, LeftOf/RightOf/Above/Below in xorg.conf refers
to output names, not monitor names.  Fix nomenclature in xorg.conf.man.
2008-01-29 14:46:15 +11:00
Peter Hutterer 5b8641a5fd xfree86: fix AlwaysCore handling. (Bug #14256)
Assume AlwaysCore being set by default, just like the other options.

X.Org Bug 14256 <http://bugs.freedesktop.org/show_bug.cgi?id=14256>
2008-01-29 10:01:42 +10:30
Eamon Walsh e915a26397 xselinux: Move the extension to extmod instead of being built-in. 2008-01-25 19:22:19 -05:00
Eamon Walsh f6a78ee143 XACE: Remove the extension code entirely, XACE is completely static now. 2008-01-25 18:04:10 -05:00
Hong Liu 734e115871 Bug #12439: add a quirk to use +hsync +vsync for the probed detailed mode.
Samsung 205BW quirk is somehow reworked.
2008-01-23 21:24:09 +08:00
Adam Jackson cc22b05ea0 There is no such thing as /dev/cpu/mtrr. 2008-01-22 18:57:11 -05:00
Jeremy Huddleston 23f3f0e27d XQuartz: Moved SetFrontProcess haco to set_front_process
So it is done by the other thread...
(cherry picked from commit 7429379eb1001ee3dc769daa8fe6b3aef1b9cc8a)
2008-01-17 09:49:25 -08:00
Matthieu Herrb bbde5b62a1 Fix for CVE-2007-5760 - XFree86 Misc extension out of bounds array index 2008-01-17 15:26:41 +01:00
Daniel Stone e85130c85f Xephyr: One-time keyboard leak fix
Don't leak the originally-allocated keysym map.
2008-01-17 18:43:06 +11:00
Tiago Vignatti 7a0d16ef0a Removed some warnings. 2008-01-15 03:27:16 -02:00
Tiago Vignatti 315d6a2b1d Fix Xephyr compilation without GLX. 2008-01-15 02:59:56 -02:00
Dave Airlie 1f83f40525 xf86Cursors: fix memset for non-square cursors 2008-01-15 10:21:17 +10:00
Jeremy Huddleston 180a5aba4d XQuartz: Fixed copy-paste error with login_shell commit
(cherry picked from commit 6deec3acc6f8010b5b53a1e55a0a2c4080ba69d2)
2008-01-12 21:34:09 -08:00
Jeremy Huddleston 6fd4a5e2e4 XQuartz: Corrected copyright X.org Project -> X.org Foundation
(cherry picked from commit f21631444816fc12b8a534c2cf79e6ac6c2af7c9)
2008-01-12 12:02:01 -08:00
Jeremy Huddleston f72255639c XQuartz: added 'login_shell' option to defaults
so the user can choose something other than /bin/sh
(cherry picked from commit b549cf18cebd3435d70f62855239484974c455a1)
2008-01-12 12:01:57 -08:00
Jeremy Huddleston ec24a6b5aa XQuartz: Fixed switching into XQuartz via expose.
(cherry picked from commit 627ed60ce5d7499761028edf379ebd95250d3e04)
2008-01-12 12:01:52 -08:00
Peter Harris 0883e838e2 xf86misc.c: Avoid use of swapped values 2008-01-09 18:43:55 -08:00
Alan Coopersmith 59a63d72a1 Fix reference to old versions of XFree86 to not say "Xorg 4.2 or earlier" 2008-01-09 18:42:58 -08:00