The config parser expects to find a newline at the end of each line, so
files ending without one would confuse it. A newline is inserted at the
end of the buffer in these situations. Additionally, switching to the
next config file is moved to the higher level to allow parsing of the
last line of the previous file to complete before shifting the index and
resetting the line number.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Tested-by: Stephan Raue<stephan.raue@gmx.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Drivers and options specified in InputClass sections work on a "first
match wins" strategy. Let's be consistent when documenting it.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This is RAC's remnant. Any sane person would use a more wise method of
debugging instead.
X.Org Bug 26074 <http://bugs.freedesktop.org/show_bug.cgi?id=26074>
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Simon reported an issue with kwin that turned out to be a general problem. If
a drawable goes away before its swap completes, we'll try to free it up.
However, we free it improperly, which causes a server crash in
DRI2DestroyDrawable. Fix that up by splitting the free code out and calling
it from DRI2SwapComplete.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Reviewed-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
Fixes crash when xscreensaver tries to use GammaRamp calls to fade out
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6915712
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
I ran accross a crash with xf86-video-nv-2.1.15 [1] and xserver
1.7.3.901. It looks like the problem is that gamma_set is called even
if that is NULL.
[1] https://launchpad.net/bugs/494627
Reviewed-By: Matthias Hopf <mhopf@suse.de>
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
Each driver type (e.g. DRI2DriverDRI or DRI2DriverVDPAU) can have a name in the
driverNames array in DRI2InfoRec. DRI2Connect returns the name for the driver
specified by driverType. Also print names of supported drivers in
DRI2ScreenInit.
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
Adds new function xf86Activate to the OS-specific *VTsw*.c files
and calls it from xf86ProcessActionEvent
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com> (GNU/Linux)
Fix for OpenSolaris bug 6876992: "[vconsole] Ctrl+Alt+F12 switchs to blank
console screen with hotkeys property turned-off"
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6876992
Xorg needs to do sanity test for the VT it is commanded to switch to.
If the VT is not opened by any process, discard the switching request.
The changes also contain the fix for some flaws discovered when
getting the new gdm to run.
Signed-off-by: Aaron Zang <Aaron.Zang@Sun.COM>
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
xf86Xinput.c relied on xkbsrv.h's definition of True/False which seems odd
at first and weird on second glance.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
This allows clients to easily check for swap completion status in their
main loop.
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Adam Jackson <ajax@nwnk.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Support the new DRI2 2.2 protocol requests: DRI2SwapBuffers, DRI2GetMSC,
DRI2WaitMSC, DRI2WaitSBC and DRI2SwapInterval.
These requests allow the server to support the SGI_video_sync,
SGI_swap_interval, and OML_sync_control GLX extensions if DDX support is
present. The new DDX APIs are documented in dri2.h.
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Adam Jackson <ajax@nwnk.net>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
With InputClass support, it makes more sense to cover all
aspects of acceleration in options. Previously, one could only set the
default on the command line.
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Fernando Carrijo <fcarrijo@yahoo.com.br>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Simon Thum <simon.thum@gmx.de>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
ba2d39dd54 introduced warnings:
xf86Mode.c: In function ‘xf86CheckModeForDriver’:
xf86Mode.c:986: warning: passing argument 1 of ‘modeInClockRange’ from incompatible pointer type
xf86Mode.c:253: note: expected ‘ClockRangePtr’ but argument is of type ‘ClockRangesPtr’
xf86Mode.c:1002: warning: passing argument 1 of ‘modeInClockRange’ from incompatible pointer type
xf86Mode.c:253: note: expected ‘ClockRangePtr’ but argument is of type ‘ClockRangesPtr’
Because I foolishly didn't notice that we had types with nearly
identical members named ClockRange and ClockRanges. The latter
contained an extra 'strategy' member at the end, which claimed to be
needed by the vidmode extension. Of course, this was a lie: the only time
we'd use it was in mode validation, for drivers using LOOKUP_CLKDIV2 with
non-programmable clocks. The only driver using LOOKUP_CLKDIV2 is
rendition, which has a programmable clock. The only driver using the
ClockRanges type was smi, which did not use it for its 'strategy' member,
so has been fixed to use ClockRange instead.
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Add a backend using libudev for input hotplug, and disable the hal and
dbus backends if this one is enabled.
XKB configuration happens using xkb{rules,model,layout,variant,options}
properties (case-insensitive) on the device. We fill in InputAttributes
to allow configuration through InputClass in Xorg.
Requires udev 148 for the input_id helper and ID_INPUT* properties.
Signed-off-by: Julien Cristau <jcristau@debian.org>
Acked-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
While the identifier is likely set before the input classes are merged, the
driver may not be. Hence don't check for a driver before we've completed
configuration for this device.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Julien Cristau <jcristau@debian.org>
This was always the intention, I only recently realized it wasn't the case
yet...
Signed-off-by: Michel Dänzer <daenzer@vmware.com>
Acked-by: Maarten Maathuis <madman2003@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Currently Xorg uses hal's fdi files to decide what configuration options
are applied to automatically added input devices. This is sub-optimal
since it requires users to use a new and different configuration store
than xorg.conf.
The InputClass section attempts to provide a system similar to hal where
configuration can be applied to all devices with certain attributes. For
now, devices can be matched to:
* A substring of the product name via a MatchProduct entry
* A substring of the vendir name via a MatchVendor entry
* A pathname pattern of the device file via a MatchDevicePath entry
* A device type via boolean entries for MatchIsKeyboard, MatchIsPointer,
MatchIsJoystick, MatchIsTablet, MatchIsTouchpad and MatchIsTouchscreen
See the INPUTCLASS section in xorg.conf(5) for more details.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
In order to give NewInputDeviceRequest more information, a new
InputAttributes type is introduced. Currently, this collects the product
and vendor name, device path, and sets booleans for attributes such as
having keys and/or a pointer. Only the HAL backend fills in the
attributes, though.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Refactored code into the parser to allow the freeform boolean types used
in Option entries to be used in other configuration entries. This isn't
as powerful as allowing "No" to precede the option names, but it atleast
gives a common handling of "yes", "no", etc.
A type xf86TriState has been added to support an optional boolean. This
allows the boolean sense of the value to be kept while providing a means
to signal that it is unset.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Any input device with this option will be automatically added to whichever
server layout is selected at startup. This removes the need to reference a
device from the ServerLayout section. The two following configuration are
identical:
CONFIG 1:
Section "ServerLayout"
InputDevice "foo"
EndSection
Section "InputDevice"
Identifier "foo"
...
EndSection
CONFIG 2:
Section "InputDevice"
Identifier "foo"
Option "AutoServerLayout" "on"
...
EndSection
The selection of the server layout affects both explicitly specified
layouts and the implicit layout.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Keith Packard <keithp at keithp.com>
Add a new command line parameter, -configdir, to specify the config
directory to be used. Rules are the same as -config for root vs. user
privileges.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
Currently there is a single file, xorg.conf, for configuring the server.
This works fine most of the time, but it becomes a problem when packages
or system services need to adjust the configuration. Instead, allow
multiple configuration files to live in a directory. Typically this will
be /etc/X11/xorg.conf.d.
Files with a suffix of .conf will be read and added to the server
configuration after xorg.conf. The server won't fall back to using the
auto configuration unless there is no config file and there are no files
in the config directory.
Right now this uses a simpler search template than the config file
search path by not using the command line or environment variable
parameters. The matching code was refactored a bit to make this more
coherent. Any DDX wanting to read the config files will need to call
xf86initConfigFiles before opening/reading them. This is to allow
xf86openConfigFile without xf86openConfigDirFiles and vice-versa.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
These functions should not be used outside of DDXs, so no need to put
them in the ABI.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>
I don't think this one has been in use since 2003.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2003 called, they want their ifdefs back.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Reshuffle and reword - InputDevice sections are only necessary if
hotplugging is disabled. Put more emphasis on hotplugging and less on HAL
since we'll switch backends eventually.
CorePointer, CoreKeyboard, and AlwaysCore should be listed as deprecated
since they don't do what they used to since 1.4. These days, only
SendCoreEvents matters and it's enabled for any driver calling
xf86ProcessCommonOptions (== every driver).
It only controls the startup behavior too, so document this.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
Convert all calls of CreateNewResourceType to pass name argument
Breaks DIX ABI.
ABI versions bumped:
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Calls RegisterResourceName to record the type name for
use by X-Resource, XACE/SELinux/XTsol, and DTrace.
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Make sure to check return value before setting bitmask flags.
For most calls, just fails to init the extension. Since Xinput
already calls FatalError() on initialization failure, so does
failure to allocate Xinput's resource type.
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Default remains the same - on for most OS'es on i386 (except Solaris),
off for everyone else. Can be manually toggled via --enable-pc98 or
--disable-pc98.
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
SpecialKeyHandling was removed from the kbd driver with version 1.4.0. Since
this is the only version that will build against server 1.7+ it's not
reasonable to mention it in the man page. Reword, point to XKB instead and
make clear that some key combinations _may_ not be available in any given
config.
Reported-by: Derek Fawcus
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
1.7 always shipped with DontZap disabled, it's just the default keymaps that
may not include the symbol to trigger it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Alan Coopersmith <alan.coopersmith@sun.com>
Most of the Xv Put/Get operations have an off by one error in the
viewport clipping.
Apparently PutImage was fixed at some point but the same code was
already copy-pasted all over the place, and so the other operations
still suffer from the bug.
Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
On Fri, Dec 11, 2009 at 10:19:01AM -0800, Keith Packard wrote:
> On Wed, 9 Dec 2009 11:55:14 +1000, Peter Hutterer <peter.hutterer@who-t.net> wrote:
> > On Tue, Dec 08, 2009 at 05:24:06PM -0800, Aaron Plattner wrote:
> > > On Tue, Dec 08, 2009 at 03:52:27PM -0800, Peter Hutterer wrote:
> > > > Xorg +xinerama crashes immediately due to whacky dependency between Xinerama
> > > > and RandR12. The latter doesn't initialize if Xinerama is enabled, but if
> > > > only one screen is found, Xinerama is disabled again and RandR12 tries to
> > > > access data it never initialized.
>
> I'd sure like to have RandR get enabled when xinerama doesn't; is there
> an easy way of making that happen here? Perhaps having the RandR12 code
> disable Xinerama when only one screen is found? Or some other kludge?
you know the dependency better than I do so any hints are apreciated.
afaict, the screenInfo.numScreens (the check used by Xinerama) isn't
necessarily initialized at this point so we can't use the same check.
The following seems to work though:
From 670b3ebdb7312a6433a8f093d0820785db2aea20 Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Mon, 14 Dec 2009 11:00:58 +1000
Subject: [PATCH] xfree86: if only one screen was found, disable Xinerama (#24627)
Xorg +xinerama crashes immediately due to whacky dependency between Xinerama
and RandR12. The latter doesn't initialize if Xinerama is enabled, but if
only one screen is found, Xinerama is disabled again and RandR12 tries to
access data it never initialized.
Dependency chain is:
- ProcessCommandLine sets noPanoramiXExtension to FALSE
- xf86RandR12Init() is a noop
- PanoramiXExtensionInit sets noPanoramiXExtension to TRUE
- xf86RandR12CreateScreenResources tries to use the devPrivates key it never
initialized.
This hack checks if there's only one screen at the time RandR12 is
initialized. If so, we expect Xinerama to fail anyhow so we disable it
ourselves and proceed as planned.
X.Org Bug 24627 <http://bugs.freedesktop.org/show_bug.cgi?id=24627>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
Previously it was trying to set the same value as the default one. Sigh.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Acked-by: Rami Ylimaki <ext-rami.ylimaki@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Technically, disabling AEI is the right suggestion. AEI off forces the
server to init the built-in defaults for input devices (or pick the first
one from the config file). At the same time, hotplugging is still available
with AEI off.
Unfortunatly, in the vast majority of cases users want to simply disable
hotplugging or have a working server while the local HAL configuration is
broken or missing. Disabling AEI will lead to duplicate events, triple
keystrokes, etc. once the configuration works again.
It's not actually required to remove AEI once hotplugging works again,
though it will in many cases lead to a setup that appears broken.
Asking users to disable AutoAddDevices instead means those users disable
hotplugging, can then fix the HAL setup and they _must_ remove the config
line again to test if hotplugging works again. Which doesn't leave them with
a broken config once everything is working nice and dandy. Less bugreports,
everybody wins.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Dan Nicholson <dbn.lists@gmail.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Acked-by: Rémi Cardona <remi@gentoo.org>
Acked-by: James Cloos <cloos@jhcloos.com>
Should probably also be applied to stabler xserver branches too.
Luc Verhaegen.
From a22bc20721bad506d8fa9772b1258568cbffe7d2 Mon Sep 17 00:00:00 2001
From: Luc Verhaegen <libv@skynet.be>
Date: Wed, 11 Nov 2009 15:52:39 +0100
Subject: [PATCH] Xv: Fix AdjustFrame when driver implements ReputImage.
Finally fixes fd.o #4653, filed more than 4 years ago.
Patch can be happily applied to all modular Xorg versions.
Signed-off-by: Luc Verhaegen <libv@skynet.be>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
v1->v2: Make one condition case for one quirk instead of merging them
together. This is based on the Keithp's suggestion.
Move the EDID quirk for Philips LCD LP154W01 as the panel reports the vertical
size in cm.
https://bugs.freedesktop.org/show_bug.cgi?id=24482
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Xorg creates its log file following the umask of the user running
startx, which may result in a world-writable log. Set umask to 022 to
prevent this.
Debian bug#555308 <http://bugs.debian.org/555308>
See also http://thread.gmane.org/gmane.comp.security.oss.general/2299
Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Let's let glibc do the right thing for dense/sparse selection.
The _alpha_iobase code has been unused since the switch to libpciaccess. It
really should have been killed by fba700f1f6.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Tested-by: Michael Cree <mcree@orcon.net.nz>
Signed-off-by: Keith Packard <keithp@keithp.com>
Using common defaults will reduce errors and maintenance.
Only the very small or inexistent custom section need periodic maintenance
when the structure of the component changes. Do not edit defaults.
Reviewed-By: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
The event fd may be invalidated by the pInfo->read_input call. If it is
invalidated, the subsequent FD_CLR call will segfault. Thus, the FD_CLR
call must precede the pInfo->read_input call.
Signed-off-by: Chase Douglas <chasedouglas@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
FindModuleInSubdir seems to expect a / at the end of the subdir its
finding for, so we add the / early, the stat will fail if its
not a subdir, I'm leaving the S_ISDIR in just in case there is another
reason it could return 0. This does look a bit silly in strace
but it seems to work fine.
I have a very intermittent issue where drivers loses its / that
I've been seeing on/off for a while, this may or may not fix it.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
I couldn't find any version of the X xserver that ever used lnx_font.c
so let's delete it. I tried contacting its author, Egbert, multiple
times on IRC and email [*] but never got any response. It also hasn't
been seriously touched since January 2005.
[*] http://lists.x.org/archives/xorg-devel/2009-October/002855.html
Signed-off-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Favorite deleted line was definitely
/* to cope with broken egcs-1.1.2 :-(((( */
Signed-off-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
Previously DLOPEN_LIBS was managed in top-level configure.ac.
Instead bundle it with the code using dl*() functions to
avoid breakages in uncommon configurations.
Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
- Don't warn for references to deprecated functions in xorg_symbols.
- Ignore functions generated by gl_apitemp.py that are never used.
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
Existing video drivers will get the console enabled by default.
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Keith Packard <keithp@keithp.com>
The message ending up in the log is misleading as to what the quirk
actually does: It ignores the sizes in the detailed timings and
replaces them with the display "Max Image Size".
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
This was initially fixed by commit 3932a84857
but then (presumably not intentionally) undone by commit
1d54479cb3 .
Signed-off-by: Hans Nieser <hnsr@xs4all.nl>
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Marcin Baczyński <marbacz@gmail.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
* mattst88/master:
[alpha] assume we have __NR_pciconfig_iobase
[alpha] don't return from void functions
Fix undefined symbols on alpha
Fix breakage on alpha caused by c7680befe5
Revert "alpha: kill xf86SlowBCopyToBus and xf86SlowBCopyFromBus"
The code path if we didn't have support has been broken since before we
switched to git.
The pciconfig_iobase syscall has been supported since 2000.
Signed-off-by: Matt Turner <mattst88@gmail.com>
On 64-bit systems, int and pointers don't have the same size, so GCC gives
warnings about casts between int and pointer types. However, in the cases
covered by this patch, it's always a value that fits in int being stored
temporarily as a pointer and then converted back later, which is safe.
Casting through the pointer-sized integer type intptr_t convinces the
compiler that this is OK.
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
When testing if an fd is valid, the required construct is >= 0, not > 0.
[Daniel: Fixed up the Linux MTRR case as well.]
Signed-off-by: Martin Ettl <ettl.martin@gmx.de>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Acked-by: Dan Nicholson <dbn.lists@gmail.com>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
Replaces special handling for Xquartz DDX and scales better to handling
the multiple platforms that now have some level of Dtrace support available.
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
All input drivers use xf86PostKeyEventP indirectly now and have been since
it exists. I guess that qualifies it as tested - no need to spam the logs.
Reported-by: Felix Wenk
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Pinpointed by by Michael Cree.
Commit c7680befe5 removed Jensen support, but at the same time broke
support for dense memory systems.
Signed-off-by: Matt Turner <mattst88@gmail.com>
The vesa driver still uses slowbcopy_frombus and slowbcopy_tobus.
This reverts commit 5ef53a94ce.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
All input drivers use xf86PostKeyEventP indirectly now and have been since
it exists. I guess that qualifies it as tested - no need to spam the logs.
Reported-by: Felix Wenk
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Keith has shown half the block handlers wrappers are wrong, also
dynamic wrapping/unwrapping from what I can see will happen after
the drivers, so its really accidental ABI, that we can't change
now without modifing drivers. So be safe for 1.7.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Declared-as-sane-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Removing DGA ended up breaking any drivers calling into the old
xf86DiDGAInit function as it tried to see if DGA was already enabled
and ended up crashing if the VT wasn't completely initialized. Oops.
Also, if the driver initializes DGA itself, have the DiDGA
initialization overwrite that information as the DiDGA code will call
ReInit on mode detect.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
If either width or height of DisplaySize is invalid, assume that the
configuration is invalid and use the DDC-reported values instead.
See Comment 9, Bug 9758.
http://bugs.freedesktop.org/show_bug.cgi?id=9758#c9
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Dave Airlie <airlied@redhat.com>
I hadn't paid attention that the parameters order had changed, here is a
trivial patch, please apply.
Signed-off-by: Julien Cristau <jcristau@debian.org>
include/protocol-versions.h specifies each extension version as supported by
the server and sent back on the wire to the client.
This fixes up several issues with the server potentially reporting a higher
version of the protocol if recompiled against a newer version of the
protocol.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Rémi Cardona <remi@gentoo.org>
Acked-by: Julien Cristau <jcristau@debian.org>
This removes all rendering and mapping code from xf86DiDGA, leaving
just mode setting and raw input device access. The mapping code didn't
have the offset within /dev/mem for the frame buffer and the pixmap
support assumed that the framebuffer was never reallocated.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The adjusted mode was freed, but any name allocated for that was leaked.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
The DIX event queue is allocated before InitInput is called, so fetch
the pointer there and not randomly at other times. This avoids failing
to fetch the pointer sometimes during server regen and then smashing
memory through the stale pointer from the previous server generation.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86MatchDevice returned malloc'd storage containing the list of
devices to look at; make sure that gets freed.
Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86LoaderCheckSymbol() is never useful if using externed variable directly.
noPanoramiXExtension will be just used through dlopen() like other extension modules.
Signed-off-by: Shunichi Fuji <palglowr@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Boolean option to enable/disable SIGIO handlers is set by the first
of these found:
- UseSIGIO option is set in xorg.conf ServerFlags
- Default set at build time by ./configure --enable-use-sigio-by-default
- Platform default value: Solaris = no, all others = yes
This matches the current settings on all platforms except Solaris.
This reverts Solaris (for now) to the settings used in Xorg 1.6, before
SIGIO support for Solaris was added, due to some system level bugs that
won't be resolved in time for Xorg 1.7 release, but allows us to enable
when those are resolved (or when we need to test if they're resolved).
See http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6879897
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Clears warnings about obsolete headers, but raises minimum
required version of xf86driproto to 2.1.0
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
49b93df8a3 made the hard dependency on
a "fixed" font go away but only Xorg could use the built-ins fonts by
default.
With this commit, all DDXs get "built-ins" appended to their FontPath, not
just Xorg.
Tested with Xorg, Xvfb and Xnest.
Signed-off-by: Rémi Cardona <remi@gentoo.org>
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Tested-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
AllowMouseOpenFail description changed to reflect actual behaviour
and point to AllowEmptyInput for previously described behaviour.
Update default DPMS mode timeouts to match new defaults set
in April 2009 by commit d52fddefae
Update autoloaded module list to match ModuleDefaults in xf86Config.c
Update module subdir list to match stdSubdirs in loadmod.c
Add xorg.conf options that were added to the code:
- XkbDir option added in February 2009
by commit 76f18b94bd
- DRI2 option added in April 2008
by 35982bc109
Remove xorg.conf options that were removed from the code:
- XkbDisable option was removed in January 2009
by commit 40877c6680
- PciProbe/Config options were removed in August 2008
by commit fdf7c747a8
- EstimateSizesAggressively was removed in August 2008
by commit cd1e8f2614
- loadable font modules were removed in July 2008
by commit affec10635
- ModInDev options were removed in December 2008
by commit 6de6ffff35
(Also strips some trailing whitespaces to make git happier.)
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Move misplaced } to get the flow of
if (!ShareVTs) {
VT_ACTIVATE
VT_WAITACTIVE
}
X.Org Bug 11477 <http://bugs.freedesktop.org/show_bug.cgi?id=11477>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Daniel Stone <daniel@fooishbar.org>
So far there are no apparently issues on not closing the fd. But let's do the
right job here.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Apparently the kernel can't decide on an API to expose to userspace, so
let's just try both in the hope that one will work.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Acked-by: Michel Dänzer <michel@daenzer.net>
In practice, some of the native drivers for older Geode products
have become deprecated due to lack of e.g. libpciaccess upgrade,
but that's OK, since most distributions don't ship them anymore.
In that case, we'll let X server fall back to good old VESA.
Leave consoleFd open over the course of the server, even though any use
of it in this context is likely to be disastrous.
Signed-off-by: Michael Witrant <mike@lepton.fr>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
xf86SlowBCopyToBus and xf86SlowBCopyFromBus cause segfaults on my
system.
Also remove associated slowbcopy_tobus/slowbcopy_frombus macros.
Signed-off-by: Matt Turner <mattst88@gmail.com>
BUSmemcpy.c provides xf86BusToMem and xf86MemToBus, which are are memcpy
wrappers written to avoid glibc's memcpy on Alpha. glibc'c memcpy on
Alpha has improved much since this was written, so it's no longer
needed. Neither function is used inside the xserver, and no module on
my machine uses either as well.
Signed-off-by: Matt Turner <mattst88@gmail.com>
All architectures should be able to use the same unaligned access code,
regardless of whether they need special unaligned access instructions.
Let's let gcc do the heavy lifting.
In the case that we're not using a gcc-compatible compiler, use memmove.
The xserver already requires pixman, so include pixman.h for its uint*_t
types.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Checks for __GNUC__ are superfluous since the only other compiler for
the platform is Compaq C, and it doesn't support GCC style inline
assembly.
Signed-off-by: Matt Turner <mattst88@gmail.com>
Referencing a screen through a drawable only requires GetAttr access.
Treat dri2 drawables as child windows (Add/Remove access).
Treat getting buffers as intent to read/write the drawable.
Signed-off-by: Eamon Walsh <ewalsh@tycho.nsa.gov>
The spec says x870, but we actually use x864 because that's a real DMT
mode and x870 isn't. This might or might not be wrong, but we should at
least tell the truth.
This adds support for using the libpciaccess interface for
vga arbitration support on top of a kernel which supports it.
Currently patches are queued for kernel 2.6.32 in jbarnes
pci tree, and shipping in Fedora kernel.
Co-authors:
Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This function was used as the default motion event queue API until
including XINPUT_ABI 2 (server 1.5).
This API was broken with 1883485 in May 2008 (wrong casting of parameters)
and isn't in use by input drivers past ABI 3.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
The smart scheduler is designed to minimize scheduler overhead by
increasing the interval between WaitForSomething calls when a single
client is running. However, the software rotation code depends on
its BlockHandler being invoked for screen updates; the long delays
caused by the smart scheduler optimizations means that screen updates
can be delayed a long time as well.
The change is simple -- prevent the smart scheduler from increasing
the scheduling interval while any screen is using software rotation.
Signed-off-by: Keith Packard <keithp@keithp.com>
The rotation block handler uses regular driver rendering functions to
repaint the screen, if those functions queue commands in the driver,
it's important that the driver block handler be invoked after the
rotated image is drawn.
Signed-off-by: Keith Packard <keithp@keithp.com>
xf86_reload_cursors restores the cursor to the correct position, but
that must adjust for cursor hot spot and frame before calling down to
the hardware function, otherwise the cursor jumps to the wrong
position until it is repositioned by the user.
Signed-off-by: Keith Packard <keithp@keithp.com>
No one is using bus notifications now. We hope that the kernel take care of
this properly.
For other not-so-urgent-notifications (ACPI wakeups, etc) we can just register
a handler on server's scheduler (using xf86AddGeneralHandler). And for
external applications, the "trend" is to use HAL to kick notifications. So
we're already provided of enough notification schemes.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
commit 48ee555833 (OpenSolaris VT support)
broke the autoconfiguration code in xf86AutoConfig.c that uses the
Solaris-specific VIS_GETIDENTIFIER ioctl on a frame buffer device like
/dev/fb by changing xf86Info.consoleFd from /dev/fb to a /dev/vt/*
device.
This fixes it by reworking the code to split the console device
(/dev/vt/*, the vtXX CLI option) from the frame buffer device
(/dev/fb, -dev option) to allow both VT and autoconfig to work.
It also fixes the console device to use /dev/fb when VT's are not
supported instead of throwing a Fatal Error because it can't open
/dev/vt/0.
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
In non-setuid root installations, we shouldn't try to adjust VT/tty
ownership. It will fail, and shouldn't be necessary anyway (since
startup scripts or PAM should be handling perms for us in that case).
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
The xorg.conf generator was not assigning correctly the primary device
("bootable") as screen zero. So just skip this kind of routines for now.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
If you want to run a pre-1999 kernel, you'll need a pre-2009 X server
[Some pre-Solaris 8 VT support is left by this patch to allow reuse by
the new Solaris VT support that follows in the next patch.]
Signed-off-by: Aaron Zang <Aaron.Zang@Sun.COM>
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
We were generating a shared library, but this lib is foobar, the parser
requires some symbols from the X server or from the program its being linked
into. If the program its being linked into (say a python .so) has symbol
visibility enabled then it will fail to dynamic link, also if this .so has
symbol visiblity enabled it will fail to dynamic link.
Screw it go back to a .a file really unless someone cleans it up properly.
Signed-off-by: Dave Airlie <airlied@redhat.com>
xf86PostKeyboardEvent also makes use of xf86PostKeyEventP to avoid code
duplication, and the valuator verification has been split into the
XI_VERIFY_VALUATORS macro.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
InternalEvents shouldn't be used anywhere outside the X server itself. Split
up into events.h for opaque typedefs for the events needed by various
headers and eventstr.h for the actual struct definitions.
eventstr.h must only be included by code that requires internal events and
is not part of the SDK.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Inside a windowing system, it's not the place to probe for devices. Goodbye
-probe and -probeonly.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Such stupid and ugly way to dump PCI information! Oh boy... Anyway, this
doesn't belong to the X server at all. Go away!
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
This changes the ABI, but since the video ABI is at 6 already
it should be fine.
driver changes are in the pipeline after this.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Fixes screensaver fadeout effects.
Also make all RandR 1.2 compatibility code for XF86VidMode operate only on the
CRTC associated with the compatibility output, not all CRTCs at once.
This was a vestige from the days before we'd make the mode list from the
EDID data, and from CRT technology when you could reasonably assume that
higher refresh rates were better. Also it did not function as advertised,
acting as a high-pass filter instead of a band-pass.
xextproto had Xlib client headers moved into libXext.
Protocol header files are named fooproto.h, header files with constants
foo.h or fooconst.h where foo.h was already in use for client-side headers.
Not all chipsets need to rely on the int10 scheme to do its daily work.
Well, the ideal would be to remove all int10 module from the server. I'll try
to provide some patches "soon" for this. Something like:
http://cgit.freedesktop.org/~vignatti/libx86/
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Acked-by: Oliver McFadden <oliver.mcfadden@nokia.com>
Not all drivers need this kind of access as well.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Acked-by: Oliver McFadden <oliver.mcfadden@nokia.com>
Not all drivers need this kind of access.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Acked-by: Oliver McFadden <oliver.mcfadden@nokia.com>
These old interfaces are no longer supported by the server, removing them
requires bumping the video driver ABI. Note that this is not guaranteed to
be the last change in ABI version 6.
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
The old DRI2 buffer allocation API wasn't great, but there's no reason to
make the server stop working with those drivers. This patch has the
X server adapting to the API provided by the driver, using the new API where
available and falling back to the old API as necessary. A warning will be
placed in the log file when the old API is in use.
Signed-off-by: Keith Packard <keithp@keithp.com>
Otherwise no subsequent driver will be able to claim this pci slot.
Example for this: fbdev tries to claim, but framebuffer device is not
available. Later on VESA cannot claim the device.
The number of input devices is MAXDEVICES, not MAX_DEVICES (f781a752e6)
Two comments updated to refer to MAXDEVICES.
MAX_FUNCS in sigio.c was set to 16 if MAX_DEVICES was undefined. If more
than 15 physical input devices were present, this could result in a
failure to install the SIGIO handler for any device above 15.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
GIT change
http://cgit.freedesktop.org/xorg/xserver/commit/?id=45c8bd0fe54273039fdaa1eeeafb81b5774f2c75
changed the default symbol visibility of the Xserver. As a result 2 symbols
that are needed by the RandR 1.2/1.3 implementation in the fglrx driver are no
longer visible:
xf86configptr
xf86CursorScreenKey
We would like to get these two symbols _X_EXPORT'ed before Xserver 1.7 is
released. Otherwise it will be problematic for fglrx to support RandR 1.3 on
Xserver 1.7.
In the future, we may want to sync our RandR implementation to later versions
of the RandR implementation in hw/xfree86/modes. Therefore it would be nice if
all symbols used by the Xserver RandR implementation were _X_EXPORT'ed in the
future.