This hasn't been used for a very, very, very long time, (since before
OpenBSD had dri support, for example) and it causes segfaults on dri
drivers when sigio is disabled. Now we don't need to do context swaps on sigio
nor are we trying to do interrupts in userland (thank fuck for that) this
function can die the death that I intended it to die about two years ago, may it
burn.
The kernel support the the sigio ioctl will be removed in a couple of
weeks to give people time to update (right now it accepts it, then
ignores it).
ok kettenis@, matthieu@.
attempt to open that first before trying /dev/ttyC[0-7].
This makes X autoconfiguration a tad bit more intuitive on machines
with multiple SBus or UPA framebuffers, where wsdisplay0 isn't the
console. PCI framebuffers are still busted though.
ok matthieu@
The code to add sunffb unconditionally on !solaris for __sparc__
systems is incorrect for openbsd. More specifically, due to interactions
between hardware drivers and wsfb in preinit we can't unconditionally
add wsfb to the list of fallbacks, so we only add wsfb if no other
option was found. Additionally sunffb does not need to be
unconditionally added because the bus probing code will find these
devices already.
So, long story short: make that code chunk conditional on __sparc__ &&
defined(__linux__) instead.
change from !openbsd to __linux__ requested by kettenis@.
Tested by at least myself and stsp@.
ok matthieu@, kettenis@.
- don't list the dead i810 driver anymore
- blacklist the poulsbo chipset which isn't supported by
xf86-video-intel. Gives vesa a chance. ok oga@, kettenis@.
checking the list), this allows drm to work in -keepPriv situations.
This diff has been in my tree awaiting proper testing for months, now
i'm sure it works correctly in it goes.
ok matthieu@ an aeon ago.
XAA PixmapOps: Sync before accessing unwrapped callbacks.
When using any XAAPixmapOps, we call into unknown but freshly
unwrapped callbacks (like fb ones). Unlike the XAA*Fallback calls,
we did so without syncing first, exposing us to all kinds of
synchronisation issues.
I believe that the rendering errors appeared now because *PaintWindow
vanished (e4d11e58), and we just use miPaintWindow instead. This
takes a less direct route to the hw and ends up at
PolyFillRectPixmap, which very often left drawing artifacts.
We now sync accordingly, and no longer get the rendering artifacts i
was methodically reproducing on radeonhd, radeon, unichrome...
Also, in order to allow driver authors to remove extensive syncing
or flushing to hide this issue, create XAA_VERSION_ defines, put
them in xaa.h and bump the patchlevel.
tested by naddy@ and Edd Barrett. ok oga@.
PCI address space is completely seperate, so we don't have to claim any
resources to avoid clashes with main memory and firmware. Makes accelerated
graphics work on the Tadpole SPARCLE.
ok matthieu@, oga@
privsep ( O_NONBLOCK | O_RDWR | O_EXCL) by turning the list of allowed
devices into a struct, with the flags we're supposed to use, then using
these values with open(). Add /dev/dri/card0 there too (more'll be needed to be
added when it matters).
This gives privsep with dri a chance to work.
ok matthieu
CPUs in basic VESA mode:
X86EMU: handle CPUID instruction
Starting X on an AMD Geode LX system such as an Alix board with VGA
connector, the Xorg driver attempts to issue INT 10/0 to go to mode
3 (VGA). The emulator, running the BIOS code, would then spit out:
c000:0282: A2 ILLEGAL EXTENDED X86 OPCODE!
The opcode was 0F A2, or CPUID; it was not implemented in the
emulator. With this patch it handles the CPUID instruction in one of
two ways:
1) if ran on __i386__ or __x86_64__ then it calls the CPUID instruction
directly.
2) if ran elsewhere it returns a canned 486dx4 set of values for function 1.
Tested with & ok matthieu
overwritten with the enqueueInputProc (from upstream git)
cf. https://bugs.freedesktop.org/show_bug.cgi?id=13511
This should fix hangs people were seeing with icewm, cwm and most
probably other WM under some circumstances.
ok matthieu@
each cmsg_len (ie. msg_controllen = sum of CMSG_ALIGN(cmsg_len). This
works now that kernel fd passing has been fixed to accept a bit of
sloppiness because of this ABI repair.
lots of discussion with kettenis. From deraadt@
Don't break grab and focus state for a window when redirecting it.
Composite uses an unmap/map cycle to trigger backing pixmap allocation
and cliprect recomputation when a window is redirected or unredirected.
To avoid protocol visible side effects, map and unmap events are
disabled temporarily. However, when a window is unmapped it is also
removed from grabs and loses focus, but these state changes are not
disabled.
This change supresses the unmap side effects during the composite
unmap/map cycle and fixes a bug where a compositing window manager
would cause the screensaver to lose its grab when it unredirects the
fullscreen lock window.