Commit Graph

1991 Commits

Author SHA1 Message Date
Zephaniah E. Hull 562ca3f2f9 In NewInputDeviceRequest, only call EnableDevice if xf86Screens[0]->vtSema is
true, preventing unwanted behavior in the case where a device is added while
the user is in a different VT.
2007-06-18 12:00:49 -04:00
Clark Rawlins 8d5f4368ea Really make sure BUILD_TIME doesn't have a leading zero.
date +'%k%M%S' still gives a leading zero in the hour after midnight...

Add a leading 1 and remove it in xf86PrintBanner().
2007-06-11 16:53:38 +02:00
Michel Dänzer 1aceec61ff DRI: Clip cliprects obtained from DRIGetDrawableInfo to screen dimensions.
This is to avoid issues with redirected windows which are located partly or
fully outside of a screen edge, resulting in unusual cliprects which the 3D
drivers generally can't handle. The symptoms in such cases would be incorrect
rendering or even crashes or hangs.
2007-06-11 09:23:19 +02:00
Michel Dänzer 5d896e43fd DRITreeTraversal: Stop walking tree when we've seen all DRI windows. 2007-06-11 09:23:19 +02:00
Michel Dänzer 0fb44c6f9a DRI: Fix build warning. 2007-06-11 09:23:19 +02:00
Daniel Ciocea c079cce9d8 Fix sync polarity on Samsung SyncMaster 205BW monitor.
need to use standard VESA sync polarity instead of the
EDID provided -hsync -vsync values.
2007-06-08 18:12:21 -07:00
Zephaniah E. Hull 75dece08fb xf86PostMotionEvents[P] calls xf86SendDragEvents, xf86SendDragEvents
unconditionally checks device->button->buttonsDown.

Let's make it possible to have a device with motion, but no buttons.

Without segfaulting.
2007-06-04 09:09:20 -04:00
Zephaniah E. Hull fbb9b20395 Let's not do a calloc and a free on every call to xf86PostMotionEvents. 2007-06-04 06:59:42 -04:00
Zephaniah E. Hull 3f4295e643 Add xf86PostMotionEventP, takes a pointer instead of a variable number of
arguments.

Bump input ABI to 1.1 since we export this.
2007-06-04 06:48:06 -04:00
Zephaniah E. Hull 0cbc3a4da2 Print the build time as well as the date if we can. 2007-06-04 02:03:44 -04:00
Daniel Stone 9a7aaeb3f6 XFree86: Input: Assume core events per default
Assume that a device will be sending core events, unless explicitly
specified otherwise.
2007-06-03 18:38:53 +03:00
Daniel Stone 94361cbba7 XFree86: Input: Perform case-insensitive comparisons on option names 2007-06-03 18:38:42 +03:00
Adam Jackson 90eb22656c Minor cleanup/robustification to config parsing. 2007-06-02 16:49:26 -04:00
Adam Jackson f6a983533b Don't warn about default behaviour when autoconfigging. 2007-06-02 16:37:39 -04:00
Adam Jackson 0e1384d831 Delete VDIF support; it was never used anyway. 2007-06-02 16:07:20 -04:00
Henry Zhao 66702f3c1c Need to use minPitch in miScanLineWidth() to get the shrinked
linePitch.
2007-06-01 23:55:40 -07:00
Alan Hourihane fa877d7ff2 Fix mode validation against the maximum X/Y values configured
at server startup, and not against the virtual X/Y parameters
as they can change.

This fixes an issue when canGrow is TRUE and modes get dropped
when using the virtual X/Y parameters.
2007-05-30 13:06:45 +01:00
Samuel Thibault 99eae8bea6 I/O enable/disable update for the Hurd 2007-05-29 22:04:36 -04:00
Julien Cristau 3c6f142848 Make sure that the ramdac symbols are present in the server
The former ramdac module is now built into the server, so its symbols need to
be explicitly exported to drivers (Debian #423129).
2007-05-29 22:01:30 -04:00
Matthieu Herrb ee20c481ee Remove wscons keyboard handling stuff that doesn't belong there anymore. 2007-05-29 14:54:27 -06:00
Matthieu Herrb 60de6c7ef9 Merge branch 'master' of ssh://herrb@git.freedesktop.org/git/xorg/xserver 2007-05-29 12:14:49 -06:00
Matthieu Herrb 3a6549a163 Make this build on OpenBSD 2007-05-29 12:14:23 -06:00
Drew Parsons 2f13b7c113 Update Xprint build for pixman.
Xprt links libfb, which now uses pixman.  Update configure.ac to
require module $PIXMAN for XPRINT.
Also, use $(top_builddir) to reference libfb.la and other local
libraries, rather than using the relative reference ../..
2007-05-30 03:07:30 +10:00
David Nusinow ba0b7d47ab Fix for GNU/kFreeBSD 2007-05-28 21:57:04 -04:00
Bastian Blank 2267bf48b3 Fixes for s390 2007-05-28 21:55:05 -04:00
Branden Robinson d98bd4bf90 Overhaul xorg.conf manpage
Major stylistic cleanups, greatly expanded cross-reference ("SEE ALSO")
section and some typo fixes.

This patch by Branden Robinson. Forward-ported by Fabio M. Di Nitto.
2007-05-28 21:44:59 -04:00
David Nusinow 6bf8d50193 Read ROM in chunks
This patch speeds up reads of the ROM by reading in large chunks rather
than one byte at a time. This patch was by Dann Frazier.
2007-05-28 21:42:10 -04:00
David Nusinow 6fdd134a0c Fix up xnest manpage
I believe this patch was originally by Branden Robinson
2007-05-28 21:39:12 -04:00
Keith Packard 6a870992d8 xf86XVFillKeyHelper assumed root clip never changed.
When the root window changed size, xf86XVFillKeyHelper would not revalidate
the GC, leaving the clip at the old size causing lossage (and possibly
memory corruption if the screen and frame buffer shrank).

Fixed by just using a scratch GC; saving memory, eliminating bugs and
shrinking the code.
2007-05-25 20:33:18 -07:00
Luo Jie 4d7469f75f Fix a typo in using memcpy in xwin. 2007-05-24 11:30:27 -07:00
Matthias Drochner 9616a04285 Fix build on NetBSD/amd64. 2007-05-24 11:20:59 -07:00
Michel Dänzer 649e7f82d8 Consolidate portPriv->pDraw assignments into xf86XVEnlistPortInWindow.
This avoids a crash in xf86XVReputVideo and also cleans up the code slightly.
2007-05-24 12:10:05 +02:00
Michel Dänzer 5006d08d7f DRI: Add TexOffset driver hooks.
To be used by AIGLX for GLX_EXT_texture_from_pixmap without several data copies.

The texOffsetStart hook must make sure that the given pixmap is accessible by
the GPU for texturing and return an 'offset' that can be used by the 3D
driver for that purpose.

The texOffsetFinish hook is called when the pixmap is no longer being used for
texturing.
2007-05-22 10:51:52 +02:00
David Nusinow ff2eae86b6 Fix boolean thinko that prevented working without a server layout 2007-05-21 22:10:55 -04:00
Keith Packard 076d070e18 Use Screen block handler for rotation to draw under DRI lock.
DRI uses a non-screen block/wakeup handler which will be executed after the
screen block handler finishes. To ensure that the rotation block handler is
executed under the DRI lock, dynamically wrap the screen block handler for
rotation.
2007-05-17 20:24:18 -07:00
Keith Packard 915563eba5 Disable all outputs and crtcs at startup.
Leaving devices enabled during server startup can cause problems during the
initial mode setting in the server, especially when they are used for
different purposes by the X server than by the BIOS. Disabling all of them
before any mode setting is attempted provides a stable base upon which the
remaining mode setting operations can be built.
2007-05-17 20:22:43 -07:00
Adam Jackson a277f04ab0 Remove mfb and cfb from include paths where they're not needed. 2007-05-11 11:43:19 -04:00
Adam Jackson 6ff239cb4e Make the use of ICEIL slightly less ugly. 2007-05-11 11:43:19 -04:00
Colin Harrison 178d426311 Missing piece from bug 9808 2007-05-11 10:08:42 +01:00
Matthias Hopf ebaa6c920c Disable Simba PCI bridge routing code (Bug #8020).
The code in hw/xfree86/os-support/bus/sparcPci.c:simbaCheckBus()
is trying to mimmick VGA routing by disabling I/O space responses
behind the Simba PCI-PCI controller.

Unfortunately, doing this also happens to disable access to the
IDE controller I/O space registers, thus crashing the system.  The
granularity of the I/O disabling in the Simba controller is not
fine enough to disable VGA without also disabling the IDE controller
registers.
2007-05-10 15:25:31 +02:00
Colin Harrison 86c4941727 fix an occasional crash in GetWindowName() (bug: 9798) 2007-05-09 16:55:27 +01:00
Colin Harrison be44018a3c Fix bad use of hwnd (bug: 9808) 2007-05-09 16:55:09 +01:00
Colin Harrison d3248b66a6 Migrate some code to the new mi apis 2007-05-09 16:54:46 +01:00
David Nusinow 021e5df85d Add more informative logging for module default loading
When the modules section is parsed, if a module is set to be loaded by
default, this will be logged. If it is redundantly specified in xorg.conf,
this will also be noted. None of this logging will happen if the xorg.conf
lacks a modules section.
2007-05-07 21:09:01 -04:00
David Nusinow 030a578391 Provide UseDefaultFontPath option
This provides a new option, UseDefaultFontPath. This option is enabled by
default, and causes the X server to always append the default font path
(defined at compile time) to the font path for the server. This will allow
people to specify additional font paths if they want without breaking
their font path, thus hopefully avoiding ye olde "fixed front" problem.

Because this option is a ServerFlag option, the ServerFlags need to be
processed before the files section of the config file, so swap the order
that they are processed.
2007-05-03 22:51:32 -04:00
David Nusinow e91b9ddc7a Improve modules loading defaults
Provide default modules that may be overrided easily. Previously the
server would load a set of default modules, but only if none were
specified in the xorg.conf, or if you didn't have a xorg.conf at all. This
patch provides a default set and you can add only the "Load" instructions
to xorg.conf that you want without losing the defaults. Similarly, if you
don't want to load a module that's loaded by default, you can add "Disable
modulename" to your xorg.conf (see man xorg.conf in this release for
details). This allows for a minimal "Modules" section, where the user only
need specify what they want to be different. See bug #10541 for more.

The list of default modules is taken from the set loaded by default when
there was a xorg.conf containing no "Modules" section.

A potential problem for some users is that some users disable a module,
most notably DRI, by commenting out the "Load" line in their xorg.conf.
This needs to be changed to an uncommented "Disable" line, as DRI is
loaded by default.
2007-05-03 22:00:23 -04:00
Colin Guthrie 873ef75b1e fix __glXErrorCallBack() proto 2007-04-30 10:33:12 -06:00
Brian 6b33459bf5 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/xorg/xserver 2007-04-30 10:26:19 -06:00
Michel Dänzer 2866e0bac9 Fix a couple of picture repeat fields incorrectly compared to RepeatNormal. 2007-04-29 23:38:13 +02:00
Adam Jackson ae04f2cb0a Fix the 'relink' target for kdrive servers. 2007-04-26 15:28:04 -04:00
Adam Jackson 6c8152d6ee Remove old edid_modes.c, it lives in hw/xfree86/modes/ now. 2007-04-26 14:59:04 -04:00
Adam Jackson d322608dc9 Fix a buffer overrun on machines with excessively large PCI busses.
Formerly we sized an array with a compile time constant, then initialized
its size to the same constant, but the Linux PCI init code would increase
that "constant".  So if you happened to have more than 128 PCI devices,
you'd happily scribble into whatever variables happened to be in .bss
after that array.

Only really fixed for Linux atm.  Other OSes will simply (still) fail to
work on video devices above the 128th PCI device.
2007-04-25 16:29:48 -04:00
Aaron Plattner 3ba1e8ab6d Include xf86Rename.h in xf86RandR12.h. 2007-04-24 17:20:14 -07:00
Brian 18252a515d bump release date to reflect input code updates 2007-04-24 14:10:09 -06:00
Peter Hutterer 09436fb7c3 Disable devices before removing, remove unrecoverable devices. 2007-04-24 23:11:44 +09:30
Peter Hutterer c7e2ba0c9b Use DevicePresence events to tell the client about enabled/disabled devices.
Include the device id in the event sent to the client.
2007-04-24 23:11:44 +09:30
Aaron Plattner 38d14e8589 Adjust the screen pixmap's dimensions in xf86RandR12ScreenSetSize. 2007-04-22 18:04:27 -07:00
Aaron Plattner 39bc8bb0fd Don't call xf86RandR12TellChanged if it doesn't exist. Add some exports to xf86Rename.h. 2007-04-20 14:23:38 -07:00
Keith Packard 96ef0f7843 Disable SourceValidate in rotation to capture cursor.
SourceValidate is used exclusively by the software cursor code to pull the
cursor off of the screen before using the screen as a source operand. This
eliminates the software cursor from the frame buffer while painting the
rotated image though. Disabling this function by temporarily setting the
screen function pointer to NULL causes the cursor image to be captured.
(cherry picked from commit 05e1c45ade9c558820685bfd2541617a2e8de816)
2007-04-19 17:49:55 -07:00
Keith Packard 7ca4baffb5 Was accidentally disabling rotation updates in mode set.
Setting a mode on an unrotated CRTC was causing all of the rotation updates
to be disabled; the loop looking for active rotation wasn't actually looking
at each crtc, it was looking at the modified crtc many times.
(cherry picked from commit 8b217dee3a6c46b13fc9571a4a9a95bc55686cdb)
2007-04-19 17:49:48 -07:00
Keith Packard 806a537e64 Revert "Suppress software cursor removal during rotated shadow buffer drawing."
This reverts commit 999b681cf3.
Replacing this with simpler code that just disables SourceValidate
during rotation redisplay.
2007-04-19 17:49:34 -07:00
Thomas Hellstrom d0e55774e0 libdri: Make sure the new DRIInfo keepFDOpen member is honoured. 2007-04-19 11:50:06 +02:00
Eric Anholt 999b681cf3 Suppress software cursor removal during rotated shadow buffer drawing. 2007-04-18 14:33:27 -07:00
Erik Andrén 53fb42e65c Syncmaster 226 monitor needs 60Hz refresh (#10545).
I've managed to solve my own bug (#10545) by applying the following
patch to the xserver.

Please apply.

<Conspiracy mode on>
This monitor is "Vista Certified". I wonder if this is a pure coincidence...
<Conspiracy mode off>

With kind regards
Erik Andrén
(cherry picked from commit a63704f14a1d97b9a00fef6fa290e74e51b9732b)
2007-04-17 21:38:10 -07:00
Keith Packard fc162c6cfa Allow outputs to be explicitly enabled in config, overriding detect.
Option "Enable" "True" will force the server to enable an output at startup
time, even if the output is not connected. This also causes the default
modes to be added for this output, allowing even sync ranges to be used to
pick out standard modes.
(cherry picked from commit a3d73ba2cb7e13a6d129cd88d6a7f7d756e2ced2)
2007-04-16 11:52:59 -07:00
Keith Packard c41e3bd713 Use default screen monitor for one of the outputs.
By default, use the screen monitor section for output 0, however, a driver
can change which output gets the screen monitor by calling
xf86OutputUseScreenMonitor.
(cherry picked from commit f4a8e54caf6b9431711383a39f55a18e7fd654f4)
2007-04-16 11:52:58 -07:00
Keith Packard 97a2c2579c Using wrong log level in extension to built-in message
was: typo in built-in module log message
(cherry picked from commit 00cfd1f765895b4d1b2234f3203727a8871b64b0)
2007-04-16 11:52:58 -07:00
Thomas Hellstrom 02d42f344c Changes for single-entity multi-screen DRI.
The entity (device) has a locking SAREA and a master file descriptor
that optionally isn't closed between server generation.

The locking SAREA contains the device hardware lock.
Each DRI screen creates an new SAREA containing the drawable lock,
drawable-and private info, the drawable SAREA.

The first screen optionally shares its drawable SAREA with the
device SAREA.

Default is to close the master descriptor between server generations,
and to share the drawable SAREA of the first screen with the device locking
SAREA. Thus we should (hopefully) have full backwards compatibility.

Mesa changes to support single-device multiple screens are pending.
2007-04-16 17:31:40 +02:00
Keith Packard cc4eb1c7ea Add quirk for Acer AL1706 monitor to force 60hz refresh.
This Acer monitor reports support for 75hz refresh via EDID, and yet when
that rate is delivered, the monitor does not sync and reports out of range.
Use the existing 60hz quirk for this monitor.
(cherry picked from commit 1328a288e9030a472a915077160f090d1afd4126)
2007-04-16 08:11:30 -03:00
Daniel Stone 33a5d9605e XFree86: DGA: Don't call ProcessInputEvents from CloseScreen
By the time CloseScreen gets called, we can't call ProcessInputEvents, as
the event queue will get unhappy.  So just unregister our hooks instantly,
and hope that they don't get called.
2007-04-11 18:28:57 +03:00
Remigiusz Marcinkiewicz aecbc71214 Input: Allow a pointer to a device to be returned in NIDR
Allow a pointer to the first device added to be returned, so we know which
device(s) were added by the NIDR call.
2007-04-11 00:38:16 +03:00
Magnus Vigerlöf 82962bbae2 Input: Add DeleteInputDeviceRequest
Add DIDR, which asks the DDX to remove a device, analogous to
NewInputDeviceRequest.  Only implemented for XFree86 at the moment.
2007-04-10 23:58:20 +03:00
Magnus Vigerlöf 7b82a836c6 XFree86: Fix memory leaks, option parsing, in NewInputDeviceRequest
Plugged some possible memory leaks, and added some more checks on the
options, particular for driver/identifier.  Added an unwind.
2007-04-10 23:58:20 +03:00
Magnus Vigerlöf 4771fa8747 XFree86: Fix memory leak in option parsing
Fix option parsing functions and callers thereof to not leak memory.
2007-04-10 23:58:20 +03:00
Jared D. McNeill 4aae2de74b Add a real xf86EnableIO/xf86DisableIO for NetBSD/PPC. 2007-04-10 12:57:15 -07:00
Keith Packard bcf17df69a Disable CRTC when SetSingleMode has no matching mode. Update RandR as well.
xf86SetSingleMode tries to resize all crtcs to match the selected mode. When
a CRTC has no matching mode, it now disables the CRTC (instead of crashing).

Also, poke the RandR extension when xf86SetSingleMode is done so that
appropriate events can be delivered, and so that future RandR queries return
correct information.
(cherry picked from commit dc6c4f6989f87149d8605604f4514f5cbf11de67)
2007-04-10 12:36:45 -07:00
Adam Jackson 67e1c98895 Look for the PCI ROM file elsewhere in sysfs.
/sys/devices reflects the bus topology, and we don't care that much.
Easier (and more reliable) to just look in /sys/bus/pci/devices, which
is a flat view.
2007-04-09 19:08:52 -04:00
Adam Jackson a08d5157f7 VT activate or waitactive are fatal if they fail.
Also, be sure to waitactive on the way down, to make sure we're off the VT
before exiting.
2007-04-09 19:04:56 -04:00
Adam Jackson 72b477f964 Don't write out empty sections from the parser. 2007-04-09 18:59:01 -04:00
Stefan Huehner 1f6741db19 Bug #10560: Code-Cleanup: function declarations () -> (void)
X.Org Bugzilla #10560: <https://bugs.freedesktop.org/show_bug.cgi?id=10560>
Patch #9511 <https://bugs.freedesktop.org/attachment.cgi?id=9511>
2007-04-09 14:33:15 -07:00
Daniel Stone 4beeab8424 XFree86: Treat evdev and vmmouse as mouse drivers (bug #10512, #10559)
When we see an evdev or vmmouse section, assume that it's a mouse, and
don't add a default mouse device.  This will break users who have an
evdev keyboard section but no mouse, and want the mouse to get added
by default.
2007-04-08 13:39:06 +03:00
Brian e1dea151db Implement a minor hack in dmxCheckFunctionKeys() to detect special keys.
Keep track of status of (left) alt/ctrl keys so that ctrl-alt-q to exit
can be detected.  Not ideal, but works for now.
2007-04-03 11:21:50 -06:00
Brian 23974f20bf add DDXRingBell() stub to solve link problem 2007-04-03 09:30:24 -06:00
Brian a240c039c4 Split the xserver/fb/fbcmap.c file into two files.
Now, fbcmap_mi.c contains the fb functions which just wrap mi functions.
Previously, these were in fbcmap.c and compiled when XFree86Server was defined.
Now, clients of fbcmap should either use fbcmap.c or fbcmap_mi.c and not worry
about setting the XFree86Server symbol.
2007-04-03 09:28:21 -06:00
Keith Packard a39f297ada Don't erase current crtc for outputs on CloseScreen
Erasing this variable causes some outputs (SDVO on intel) to fail
to be correctly reset at server reset time.
(cherry picked from commit 56262a4ee943f328d089a8eb4aa70b9a4bd5d135)
2007-04-02 19:12:44 -07:00
Eric Anholt 11797ffdcc Move modes/ debugging output under Option "ModeDebug" in the Device section. 2007-04-02 18:21:58 -07:00
Brian e44f106ffc clean-up, debug code 2007-04-02 16:26:15 -06:00
Brian 8d8bc89277 fix formatting 2007-04-02 16:21:57 -06:00
Brian 3e482de7b1 checkpoint: more clean-up 2007-04-02 15:38:15 -06:00
Brian 76a7a5ca1f formatting fixes 2007-04-02 15:24:05 -06:00
Brian 69baad321d clean-up dmxCoreMotion() dmxCoreMotion2() 2007-04-02 15:21:22 -06:00
Brian 44eb15adee checkpoint clean-up 2007-04-02 15:12:04 -06:00
Brian 0f873a9d4f remove some debug code 2007-04-02 14:51:38 -06:00
Brian 3a0ce1084a for completeness, init dummy's min/maxval[1] values (vertical axis) 2007-04-02 14:51:21 -06:00
Brian 12016f20f7 As for normal mouse device, init valuator maxval[] to real values, not zero. 2007-04-02 14:50:48 -06:00
Brian 0aaf28e563 In dmxBackendMouGetInfo() initialize the info->minval[], maxval[] arrays to the size of the backend display.
It seems that the changes to X input exposed a problem that wasn't detected
before.  The axis clipping code in GetPointerEvents() uses those limits to
constrain the pointer's coordinate range.  The max was zero so the pointer
couldn't move.
2007-04-02 12:41:30 -06:00
Brian 0013bf6ddb undo 1280 valuator hack 2007-04-02 12:39:04 -06:00
Brian 08a88d1803 Pass num_valuators=0 for ButtonPress/Release. This seems to fix the button coordinate problem 2007-04-02 12:29:37 -06:00
Brian 70683e338d formatting fixes 2007-04-02 12:29:37 -06:00
Alberto Mardegan f2808005f4 Bug #6620: Fixed a missing 'else' in ATIPseudoDMAInit().
Before this, we'd write some registers twice on R200 hardware and also
possibly end up with a bad value in atis->cce_pri_size.
2007-03-31 16:51:24 +02:00