Commit Graph

1721 Commits

Author SHA1 Message Date
Ben Byer
fe794635bd fixes to allow Xvfb and Xephyr to be built if you build with --disable-xdarwin 2007-11-19 02:38:21 -08:00
Ben Byer
30cbfc786e fix for spurious "Are you sure you want to quit?" message 2007-11-19 02:38:21 -08:00
Ben Byer
633490c4e8 Adding "fake RandR" support from old X11.app 2007-11-19 02:38:21 -08:00
Ben Byer
9c30b6b9aa formatting fixes 2007-11-19 02:38:21 -08:00
Ben Byer
826610d216 Fix for off-by-one error in menu bar height calculation -- props to Nicholas Riley! 2007-11-19 02:38:21 -08:00
Ben Byer
e5652a59f1 Undo some last-minute breakage in xpr.h 2007-11-19 02:38:21 -08:00
Ben Byer
f86db8249b bump to version 1.2a7 2007-11-19 02:38:21 -08:00
Ben Byer
6adb325e7a removed debugging output 2007-11-19 02:38:21 -08:00
Ben Byer
1dc55c67d9 Fixed focus problem (clicking on an X11 window that sits behind
an Aqua window would not always bring it to the top of the stack.
2007-11-19 02:38:20 -08:00
Ben Byer
e5ecee6364 formatting changes. 2007-11-19 02:38:20 -08:00
Ben Byer
7f1780091b Fixed Spaces issue, correctly -- dragging an X window from one
Space to another in Expose mode now works.
2007-11-19 02:38:20 -08:00
Ben Byer
0504639d9f formatting cleanup 2007-11-19 02:38:20 -08:00
Ben Byer
c3a9b7a664 Fixed logic error that prevent JIS (Japanese) keyboard layouts from
being detected.
2007-11-19 02:38:20 -08:00
Ben Byer
707ae28034 bump version to 1.2a6 2007-11-19 02:38:20 -08:00
Ben Byer
1a1be462ed Disable deferred updates in xp_init to fix performance problems
-- thanks to Eric Gouriou for pointing out the issue
2007-11-19 02:38:20 -08:00
Ben Byer
a36983602f bump version to 1.2a5 2007-11-19 02:38:20 -08:00
Ben Byer
2d50ea8013 Initial support for Spaces -- if you use Expose to drag an X11
window to another Space, it will work correctly (as opposed
to just leaving a ghost window).  We accomplish this by listening
for the notification from Xplugin that our window has been moved,
and then we ask X11 to move the window to the new location.
2007-11-19 02:38:20 -08:00
Ben Byer
b6681aff2b bumped version to 1.2a4 2007-11-19 02:38:20 -08:00
Ben Byer
fd6a04e530 Fix for focus issue:
<rdar://problem/5289578> X11 menu bar uncoupled from X11 application's windows
Credit to William Mortensen for submitting the first community patch!
2007-11-19 02:38:19 -08:00
Ben Byer
375d506209 bump version to 1.2a3 2007-11-19 02:38:19 -08:00
Ben Byer
0aa61293b6 Swap modifier keys for buttons 2 and 3 -- now Option-click is the middle click 2007-11-19 02:38:19 -08:00
Ben Byer
374eb38063 default for is_uchr should be 1, not 0 2007-11-19 02:38:19 -08:00
Ben Byer
947fdd9fe8 fixed an uninitialized variable, which caused keyboard breakage on x86
when building with optimization enabled.
2007-11-19 02:38:19 -08:00
Ben Byer
ab304446f7 fixed bug that prevented customized Applications menu items
with arguments from working
2007-11-19 02:38:19 -08:00
Ben Byer
cf51502a81 fix incorrectly formatted .xinitrc warning 2007-11-19 02:38:19 -08:00
Ben Byer
2b189a9933 Trap Deactivate messages and release modifiers to avoid "stuck shift lock" (etc) bugs 2007-11-19 02:38:19 -08:00
Ben Byer
0d5dd5dffa Workaround for a bug where the holding down Command to make a "fake"
button 2 click would actually result in a Command-2 chord.
(I.e. it wasn't releasing Command before clicking the fake button.)
2007-11-19 02:38:19 -08:00
Ben Byer
a221730d23 Enable PseudoramiX extension by default, like on the old server 2007-11-19 02:38:18 -08:00
Ben Byer
0c7acd113e make dist fixes 2007-11-19 02:38:18 -08:00
Ben Byer
2db9600f6a Added patch fix yellow-cursor problem which appears on some Intel Macs 2007-11-19 02:38:18 -08:00
Ben Byer
fe7d2be313 Some autoconf hacks to make 'make dist' work correctly 2007-11-19 02:38:18 -08:00
Ben Byer
f86d2ef33f finished committing downstream changes 2007-11-19 02:38:18 -08:00
Ben Byer
b3dc1483f7 more patches, autoconf fixes... 2007-11-19 02:38:18 -08:00
Ben Byer
6ff9f43ae2 More patches from downstream 2007-11-19 02:38:18 -08:00
Ben Byer
b79ecaba29 removed CVS Id tags 2007-11-19 02:38:17 -08:00
Ben Byer
e6253d49e0 merged the rest of Apple patches to xserver 2007-11-19 02:38:17 -08:00
Ben Byer
d300f631fc added missing file from Apple version of 7.2 2007-11-19 02:38:17 -08:00
Alan Coopersmith
dcc3de91d2 Xephyr: fix immediat segfault on amd64
This closes bug https://bugs.freedesktop.org/show_bug.cgi?id=11582
2007-08-18 11:50:33 +02:00
Keith Packard
1d7fbdfea4 Disable use of xf86RandR12TellChanged when unavailable (1.2 server).
When building the new mode setting code out-of-tree against an older server,
don't use xf86RandR12TellChanged as that is a RandR 1.2 specific interface.
2007-04-21 18:52:14 -07:00
Keith Packard
05e1c45ade 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.
2007-04-19 17:39:51 -07:00
Keith Packard
8b217dee3a 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.
2007-04-19 17:37:18 -07:00
Erik Andrén
a63704f14a 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
2007-04-17 21:34:47 -07:00
Keith Packard
a3d73ba2cb 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.
2007-04-16 09:55:58 -07:00
Keith Packard
f4a8e54caf 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.
2007-04-16 09:53:42 -07:00
Keith Packard
00cfd1f765 typo in built-in module log message 2007-04-16 09:39:47 -07:00
Keith Packard
1328a288e9 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.
2007-04-13 15:04:29 -03:00
Keith Packard
dc6c4f6989 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.
2007-04-09 14:12:27 -07:00
Keith Packard
56262a4ee9 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.
2007-04-02 14:15:36 -07:00
Michel Dänzer
4fd2d3aedf Bump video driver ABI version to 1.2.
This is necessary because server-1.2-branch bumped to 1.1 for xf86CVTMode and
we have xf86XVFillKeyHelperDrawable on top of that.
(cherry picked from commit 788cfce911)

Conflicts:

	hw/xfree86/common/xf86Module.h

Avoid picking up XInput ABI change.
2007-03-26 20:41:14 -07:00
Michel Dänzer
dc914ced69 Add per-drawable Xv colour key helper function.
This allows overlay Xv adaptors to work slightly better with compositing
managers.

Bump the video driver ABI minor so drivers only need to check for this at build
time.
(cherry picked from commit a232693c8c)

Conflicts:

	hw/xfree86/common/xf86Module.h

Avoid picking up XInput ABI version change.
2007-03-26 20:39:43 -07:00
Michel Dänzer
96636598ee fbdevhw: Only deal with RGB weight if default visual is True- or DirectColor.
(cherry picked from commit 14d6a9b327)
2007-03-26 20:32:37 -07:00
Michel Dänzer
7679b2c613 fbdevhw: Consider mode set equal to mode requested if virtual width is larger.
(cherry picked from commit 27a01e100b)
2007-03-26 20:32:31 -07:00
Michel Dänzer
1c2793d3ec fbdevhw: Override RGB offsets and masks after setting initial mode.
This is a hack, but it should be a NOP for all the setups that worked before
and actually seems to fix some others...

Based on a patch by Peter Teichmann from
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=338241 .
(cherry picked from commit dc5eb45232)
2007-03-26 20:32:25 -07:00
Michel Dänzer
d7bcad9c69 fbdevhw: Use displayWidth for fbdev virtual width when appropriate.
The fbdev API doesn't allow setting the pitch explicitly, so we have to set
the virtual width to the pitch we're using for drawing. This fixes corruption
after changing the virtual width with RandR.
(cherry picked from commit d077c0da47)
2007-03-26 20:32:20 -07:00
Michel Dänzer
28af734cb7 fbdevhw: Fix some issues with the previous commit.
Fix a TRACE_ENTER typo and only update the internal fbdev mode state cache
after actually setting a mode.
(cherry picked from commit c385bcf0bd)
2007-03-26 20:32:14 -07:00
Michel Dänzer
c0459d7476 fbdevhw: Consolidate modeset ioctl calling, report failure if it modifies mode.
The fbdev API allows the driver to 'accept' modes it doesn't really support by
modifying it to the nearest supported mode. Without this check, e.g. vesafb
would appear to accept all modes, even though it actually can't set any modes
other than the bootup mode at all.
(cherry picked from commit f6815cb68b)
2007-03-26 20:32:07 -07:00
Keith Packard
57e87e0d00 Make pending properties force mode set. And, remove AttachScreen calls.
Yes, two changes in one commit. Sorry 'bout that.

The first change ensures that when pending property values have been
changed, a mode set to the current mode will actually do something, rather
than being identified as a no-op. In addition, the driver no longer needs to
manage the migration of pending to current values, that is handled both
within the xf86 mode setting code (to deal with non-RandR changes) as well
as within the RandR extension itself.

The second change eliminates the two-call Create/AttachScreen stuff that was
done in a failed attempt to create RandR resources before the screen
structures were allocated. Merging these back into the Create function is
cleaner.
2007-03-23 23:41:36 -07:00
Keith Packard
36e5227215 Ensure that crtc desired values track most recent mode.
desiredX and desiredY were not recorded during xf86InitialConfiguration.
desiredX, desiredY and desiredRotation were not recorded during
xf86SetSingleMode.
2007-03-23 14:39:49 -07:00
Keith Packard
8eb288fbd6 Fix Pending property API, adding RRPostPendingProperty.
Pending Properties take effect when the driver says they do, so provide an
API to tell DIX when a property effect is made. Also, allow driver
to reject property values in RRChangeOutputProperty.
2007-03-23 01:05:55 -07:00
Keith Packard
492c768065 Clean up xf86CrtcRec and xf86OutputRec objects at CloseScreen.
Erase pointers to structures which are freed at server reset time.
2007-03-23 00:59:11 -07:00
Keith Packard
f8db7665dc Clean up Rotate state on server reset.
The rotation state is stored in the xf86_config structure which is not
re-initialized at server reset time. Clean it up at CloseScreen time.
2007-03-20 07:17:27 -07:00
Keith Packard
0f80340a52 Slow down DDC I2C bus using a RiseFallTime of 20us for old monitors.
This time value makes the bus run slowly enough for even the least reliable
of monitors. Thanks to Pavel Troller for finding the necessary change.
2007-03-17 20:14:05 -07:00
Keith Packard
52fccb9d9f Remove extra (and wrong) I2C ByteTimeout setting in DDC code.
The DDC code sets the I2C timeouts to VESA standards, except that it had an
extra setting of the ByteTimeout value which was wrong (off by a factor of
50). Removing this should help DDC work on many more monitors. Note that the
Intel driver duplicated these settings, along with the error. Yay for cult
and paste coding.
2007-03-17 17:29:23 -07:00
Keith Packard
b14f003b0e Don't wedge when rotating more than one CRTC.
Rotation block handler was re-registering the rotation damage structure,
creating an infinite loop in the damage code. Track registration of the
damage structure to avoid this.
2007-03-15 16:16:16 -07:00
Keith Packard
5b77bf2d02 Allow xf86_reload_cursors during server init.
xf86_reload_cursors is supposed to be called from the crtc mode setting
commit hook; as that happens during server initialization, check for this
case.
2007-03-15 10:50:45 -07:00
Keith Packard
4d81c99a46 Create driver-independent CRTC-based cursor layer.
This moves most of the cursor management code out of the intel driver and
into the general server code. Of course, the hope is that this code will be
useful for other driver writers as well.

Check out xf86Crtc.h for the usage information, making sure you add the
needed hooks to the crtc funcs structure for your driver.
2007-03-14 23:59:29 -07:00
Drew Parsons
d3c3d31782 Xprint: shorten font filename to fit in tar length limit
The length of the Xprint font file NewCenturySchlbk-BoldItalic.pmf
pushes the full path over the traditional 100 character limit for
tarballs (when module version number is included).  Shorten it to
NewCentSchlbk-BoldItal.pmf to get back below the limit and rename
other font files in that family to match.
(cherry picked from commit d5aba03fef)
2007-03-14 11:42:56 -07:00
Keith Packard
318faed5a8 Revert "Xprint includes a filename which is too long for tar."
This reverts commit 73904d953f.
The next patch will fix the filenames so that they work with tar.
2007-03-14 11:42:42 -07:00
Keith Packard
ae9d5aa479 Remove stale monitor data when output becomes disconnected.
Remove parsed EDID and EDID property from disconnected outputs.
2007-03-07 20:52:31 -08:00
Keith Packard
a59c31b0f7 Add hw/xfree86/docs/README.modes, documenting new mode setting APIs.
This document covers both API and xorg.conf usage of the new mode setting
APIs.
2007-03-06 23:19:30 -08:00
Keith Packard
558a4f5588 Add xf86CrtcScreenInit to share initialization across drivers.
xf86CrtcScreenInit performs initialization that needs to happen at
ScreenInit time.
2007-03-06 23:15:34 -08:00
Keith Packard
3f5cedf00a Allow relative positions to use output names or monitor identifiers.
Previous version used monitor identifiers if present, otherwise output
names. That caused existing working configurations to break when additional
information was added to the configuration file.
2007-03-05 23:49:35 -08:00
Keith Packard
843077f23a Use EDID data to set screen physical size at server startup.
Screen physical size is set to a random value before the RandR code gets
control, override that and reset it to a value based on the compat_output
physical size (if available). If that output has no physical size, just use
96dpi as the default resolution and set the physical size as appropriate.
2007-03-05 23:36:00 -08:00
Keith Packard
bcade98cca Add xf86SetDesiredModes to apply desired modes to crtcs.
xf86SetDesiredModes applies the desired modes to each crtc (as selected by
xf86InitialConfiguration initially and modified by successful mode settings
afterwards). For crtcs without a desired mode, pScrn->currentMode is used to
select something workable.
2007-03-05 22:07:01 -08:00
Keith Packard
5a595c1f76 Move xf86SetSingleMode into X server from intel driver.
This function applies a single mode to the screen (as from RandR 1.1,
XFree86-VidModeExtension or XFree86-DGA) using a policy that selects one
output to reconfigure to the requested mode and then makes all other outputs
fit within that size.
2007-03-05 10:38:59 -08:00
Keith Packard
73904d953f Xprint includes a filename which is too long for tar. 2007-03-04 21:07:35 -08:00
Alan Coopersmith
e707604ab3 Sun bug 6529003: Xorg should not be including <sys/immu.h> on Solaris
<sys/immu.h> was removed from the latest Solaris Nevada build, but it's
been useless to Xorg for a long time (it only declared a couple of kernel
variables)
<http://bugs.opensolaris.org/view_bug.do?bug_id=6529003>
2007-03-04 19:19:18 -08:00
Dave Airlie
6b63fb399a add a standard connector type and name for us as an output property
(cherry picked from commit 8ba5e8d820)
2007-03-04 19:10:33 -08:00
Dave Airlie
90f5e77eab modes: add commit/prepare hooks
(cherry picked from commit 2e31872e05)
2007-03-04 19:10:26 -08:00
Keith Packard
e6af7569f2 Remove debugging ErrorF from rotation code. 2007-03-04 17:15:24 -08:00
Keith Packard
2a50ca2160 Handle non-zero origin rotated crtc. Damage crtc area on re-rotate.
Box transformation from source to dest area was broken, leaving the wrong
areas painted when the crtc origin was non-zero.

When rotating from left to right, the pixmap doesn't get reallocated, and so
no damage was left in the pixmap from xf86RotatePrepare. Separately damage
the whole crtc area when this occurs to repaint the area.
2007-03-04 17:06:37 -08:00
Aaron Plattner
629515a159 Add a canGrow argument to xf86InitialConfiguration.
canGrow indicates to the DDX that the driver can enlarge the desktop via the
xf86_config->funcs->resize hook.  If so, xf86InitialConfiguration will set
virtual[XY] to match the configuration it chooses and will leave the crtc config
size ranges alone.  If FALSE, it will bloat the screen to fit the largest probed
mode and also set the crtc config max size to limit the desktop to the initial
virtual[XY] size.
2007-03-03 22:21:59 -08:00
Aaron Plattner
1ce0c6877a Add a screen resize hook to xf86CrtcConfigRec.
This hook is called when the DDX needs to resize the screen.  The driver is
responsible for changing virtualX and virtualY, along with any other related
screen properties (devPrivate.ptr, devKind, displayWidth, etc.).

Use the size range from the crtc config instead of randrp->virtual[XY] when
reporting the min and max screen sizes to the DDX.
2007-03-03 22:21:52 -08:00
Drew Parsons
aeabf2a1f8 Xprint: fix font symlinks
Change symlinks to Xprint base fonts in model/PSdefault using local
relative links.  This facilitates moving the Xprint config files, for
instance for FHS compliance placing data files in /usr/share rather
than /usr/lib.  Also ensures NewCenturySchlbk-BoldItalic.pmf is
installed.
2007-03-04 16:28:54 +11:00
Adam Jackson
1fbb3458a5 Don't install libi2c.a 2007-02-23 15:21:48 -05:00
Keith Packard
3506b9376c Eliminate RRModeRec devPrivate field.
The xf86 mode setting code was mis-using this field to try and store a
pointer to a DisplayModeRec, however, each output has its own copy of every
DisplayModeRec leaving the one in in the RRModeRec devPrivate field pointing
at a random DisplayModeRec.

Instead of attempting to rectify this, eliminating the devPrivate entirely
turned out to be very easy; the DDX code now accepts an arbitrary RRModeRec
structure and set that to the hardware, converting it on the fly to a
DisplayModeRec as needed.
2007-02-20 23:04:26 -08:00
Keith Packard
63cc2a51ef Add support for user-defined modelines in RandR.
The RandR protocol spec has several requests in support of user-defined
modes, but the implementation was stubbed out inside the X server. Fill out
the DIX portion and start on the xf86 DDX portion. It might be necessary to
add more code to the DDX to insert the user-defined modes into the output
mode list.
2007-02-18 23:49:38 -08:00
Keith Packard
1418fd8ce4 Merge branch 'server-1.3-origin' into server-1.3-branch 2007-02-17 17:37:56 -08:00
Alan Coopersmith
9ad0811a54 Check for __sparc as well as __sparc__ for compatibility with Sun cc
(gcc defines __sparc__, Sun cc defines __sparc)
(cherry picked from commit f9f7d7f3be)
2007-02-17 17:31:36 -08:00
Carl Switzky
6fd297e362 Add ast driver/device info to Xorg server & config utilities
(cherry picked from commit edd5f17454)
2007-02-17 17:18:28 -08:00
Aaron Plattner
d3f507c2a2 Add an RDTSC implementation to the x86 emulator.
This instruction is being used in some debug VBIOSes.  This implementation
doesn't even try to be accurate.  Instead, it just increments the counter by a
fixed amount every time an rdtsc instruction in encountered, to avoid divides by
zero.
2007-02-17 17:15:56 -08:00
Alan Coopersmith
8a16682892 Fix bus error on startup in 64-bit Xephyr
hostx_get_visual_masks takes unsigned long * arguments, but was being
passed pointers to CARD32's.
(cherry picked from commit 5dcad9e9d7)
2007-02-17 17:14:33 -08:00
Daniel Stone
33c2d2ce8a kdrive/ephyr: free screen struct
Free screen->driver on screenFini, instead of just leaking it.
(cherry picked from commit 0f6dd4aea6)
2007-02-17 17:12:23 -08:00
Keith Packard
5f6f8616d8 Don't set subpixel order during startup; the screen won't be ready.
in xf86CrtcSetMode, scrn->pScreen will be NULL during server startup time,
so don't try to set the subpixel order. subpixel order will be set in the
randr initialization anyways.
2007-02-16 10:06:22 -08:00
Keith Packard
0ab6c03c17 Ensure drivers can use new modes header files.
New modes header files required a few minor changes to be used by external
drivers, the most notable of which is the publication of the config file
parser header files.
2007-02-16 02:17:11 -08:00
Keith Packard
3d5e2bc5a6 Respect rotation in initial screen size computation. 2007-02-16 00:56:00 -08:00
Keith Packard
5f1046f6d3 Enable startup-time rotation; change rotation pixmap creation API.
Add monitor "Rotate" option taking one of "normal", "left", "inverted" or
"right". However, because initial mode selection is made before the screen
is completely initialized, we cannot create the shadow pixmap object at this
point. Pend the shadow pixmap creation until the block handler.

Note that this code is not completely functional yet.
2007-02-16 00:41:29 -08:00
Keith Packard
3eebfb0a99 Report correct RandR 1.0 sizeID. Report correct subpixel order.
RandR 1.0 sizeID must be computed the same way every time, so when reporting
it in the ScreenChangeNotify event, just construct the usual 1.0 data block
and use that.

subpixel geometry information can be computed by looking at the connected
outputs and finding any with subpixel geometry and using one of those for
the global screen subpixel geometry. This might be improved by reporting
None if more than one screen has information and they conflict.
2007-02-15 20:13:15 -08:00
Keith Packard
7971392cdd Merge branch 'server-1.2-branch' into server-1.3-branch 2007-02-15 11:32:19 -08:00
Keith Packard
585a32be88 Allow new modes code to build inside drivers as well as server.
Use config.h for driver builds where xorg-config.h isn't available.
2007-02-15 11:27:35 -08:00