replacement for GTF_SUPPORTED() macro that's not a good API isolation
at all. Drivers should use that function instead for checking whether
the monitor supports GTF.
Should be backported to older releases, too - so drivers don't need
extra per-Xserver-version tweaks.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
When running in a virtual machine, the cursor pitch
may not behave the same as it does on bare metal.
This patch disables a power consumption optimization
when running in a vm, working around the cursor pitch issues.
This means that some vm users who previously had a working
cursor pitch may now see some increased power consumption.
Fixes: https://github.com/X11Libre/xserver/issues/1816
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
os.h still defining our own timingsafe_memcmp() prototype when this
symbol isn't set - this is causing trouble with drivers on FreeBSD.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This functions is designed for some legacy keyboard drivers
(eg. xf86-input-keyboard) that need to get the fd to the console
device, so they don't need to directly access xf86Info field anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
XF86_MODULE_DATA_INPUT() creates XF86ModuleData field for input driver,
while XF86_MODULE_DATA_VIDEO creating one for a video driver.
These are filled with given values, _X_EXPORT'ed and properly named so
the module loader can find them. Also creating the associated
XF86ModuleVersionInfo field and link them into the XF86ModuleData.
Example:
XF86_MODULE_DATA_INPUT(
egalax,
eGalaxPlug,
eGalaxUnplug,
"egalax",
PACKAGE_VERSION_MAJOR,
PACKAGE_VERSION_MINOR,
PACKAGE_VERSION_PATCHLEVEL);
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Reduce the effort of declaring/filling an video driver's module version
struct to short statement like this:
XF86_MODULE_VERSION_VIDEO("ati",
PACKAGE_VERSION_MAJOR,
PACKAGE_VERSION_MINOR,
PACKAGE_VERSION_PATCHLEVEL);
This will create a properly filled XF86ModuleVersionInfo structure
named `modInfo`.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Reduce the effort of declaring/filling an input driver's module version
struct to short statement like this:
XF86_MODULE_VERSION_INPUT("egalax",
PACKAGE_VERSION_MAJOR,
PACKAGE_VERSION_MINOR,
PACKAGE_VERSION_PATCHLEVEL);
This will create a properly filled XF86ModuleVersionInfo structure
named `modInfo`.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This once was needed on including xf86driproto.h, but these day
have gone now for aeons.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
osdep.h holds the definition for OsSignal, and it was not included in
xf86bigfont which used it. This lead to build errors on Cygwin.
Signed-off-by: b-aaz <b-aazbsd@proton.me>
The section does some mappings between POSIX and windows APIs that are
already handled by Cygwin. This caused build errors on Cygwin due to
redefinition of things like the sigset_t struct.
Signed-off-by: b-aaz <b-aazbsd@proton.me>
The include guard in this file has been incorrectly moved up breaking
the #include_next behavior on MS Windows builds.
Moved it to its correct location.
Signed-off-by: b-aaz <b-aazbsd@proton.me>
Brought back the code removed in that commit so that we can bring back
Cygwin support.
Small changes are done in the process of resolving conflicts against the
current head.
Some checks have not been reverted, because they were not necessary
anymore.
Signed-off-by: b-aaz <b-aazbsd@proton.me>
This was a old hack used before Meson 0.61.0 added install_symlink, we
are at the meson release 1.10.0 so it is safe to use the new proper
function for this task.
Also used the X server's executable name as the link target name, and as
the SUID wrapper's name.
Moved the minimum Meson version up to 0.61.0.
Signed-off-by: b-aaz <b-aazbsd@proton.me>
In `Fopen` function variable `iop` may store NULL as a result of `fopen`
call. In this case, if later privileges couldn't be restored (`seteuid`
call fails), further `fclose(iop)` call will cause runtime error.
This commit adds check `iop` for NULL before calling `fclose` to prevent
potential NULL pointer dereference.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Signed-off-by: Mikhail Dmitrichenko <m.dmitrichenko222@gmail.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2115>
That variable is supposed to be used by drivers to query the path to
the xserver config directory (eg /etc/X11/xorg.conf.d), if they have
to install config snippets. It's supposed to replace / phase-out the
sysconfigdir variable, which has a bit misleading name.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Both files are equal, but drivers should gradually migrate to the
new one, while the old one is phased out.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
The old function used int for write() return values, that could overflow.
And the return values of the write calls were discarded and not checked.
Now if the write() to the log file fails, a warning will be logged to
stderr and the log message will be appended after the warning.
If writes to stderr fail, a warning will be logged to stdout and the log
message will be appended after the warning.
If writes to stdout fail, we can't really do anything else and will
continue on silently.
Also used the length returned by strftime for the next write call to
eliminate an extra use of strlen.
The -1 was also removed from the buflen argument of strftime because it
was unnecessary.
Did some small formatting changes too.
Signed-off-by: b-aaz <b-aazbsd@proton.me>
This patch reexports a symbol needed by NVidia 340 driver and adds
its "wrapped" version for libwfb to prevent XServer crashes.
Signed-off-by: Oleh Nykyforchyn <oleh.nyk@gmail.com>