aboutsummaryrefslogtreecommitdiffstats
path: root/unix/xserver/hw
Commit message (Collapse)AuthorAgeFilesLines
...
* | Handle X.org patch level featuresPierre Ossman2021-07-136-40/+41
| | | | | | | | | | | | With the 1.20.x releases there has been features and API changes even on patch level versions, so we need to update our macros to handle these as well.
* | Remove shared memory framebuffer optionPierre Ossman2021-07-131-77/+3
| | | | | | | | | | This is a pointless remnant of Xvfb. We never print the id of the shared memory, so no other application can access this memory anyway.
* | Remove more color map code from XvncPierre Ossman2021-07-131-151/+0
| | | | | | | | | | This hasn't been supported or used in many years, so clean out the final remnants.
* | Remove DDXTIME codePierre Ossman2021-07-131-11/+0
| | | | | | | | This hasn't been used since xorg-server 1.1 so get rid of it.
* | Call FatalError() on bad Xvnc argumentsPierre Ossman2021-07-131-6/+12
| | | | | | | | This is consistent with other ddx behaviour.
* | Use CHECK_FOR_REQUIRED_ARGUMENTS() for arg checkPierre Ossman2021-07-131-15/+15
| | | | | | | | | | This is what all the other ddx variants use, so do the same in Xvnc to be consistent.
* | Apply Xorg coding style to xvnc.cPierre Ossman2021-07-131-560/+567
| | | | | | | | | | Makes it easier to compare with upstream files as the formatting will be the same.
* | Remove #ifdef RENDERPierre Ossman2021-07-132-22/+0
| | | | | | | | | | RENDER has been mandatory since xorg-server 1.9, so remove these checks.
* | Move ddxInputThreadInit() to xvnc.cPierre Ossman2021-07-132-9/+9
| | | | | | | | | | This should only be in the ddx parts of an X server, and Input.c is used by libvnc.so as well and can cause conflicts there.
* | Avoid some variable aliasingPierre Ossman2021-06-141-7/+7
| |
* | Use <user>@<hostname> as the default desktop namePierre Ossman2021-06-132-2/+36
|/ | | | | Is a lot more useful default than the previous "x11", or "x0vncserver". At the same time give x0vncserver a parameter to change the name.
* Maintain static screen DPI on resizePierre Ossman2021-04-081-4/+7
| | | | | | Trying to dynamically track the DPI did not really work as we'd start accumulating errors and eventually the DPI would start to drift. Instead maintain a fixed, sensible DPI at all times.
* Add support for notifying clients about pointer movementslhchavez2021-03-025-1/+43
| | | | | | | | | | | | | | | | | | | | | | | This change adds support for the VMware Mouse Position pseudo-encoding[1], which is used to notify VNC clients when X11 clients call `XWarpPointer()`[2]. This function is called by SDL (and other similar libraries) when they detect that the server does not support native relative motion, like some RFB clients. With this, RFB clients can choose to adjust the local cursor position under certain circumstances to match what the server has set. For instance, if pointer lock has been enabled on the client's machine and the cursor is not being drawn locally, the local position of the cursor is irrelevant, so the RFB client can use what the server sends as the canonical absolute position of the cursor. This ultimately enables the possibility of games (especially FPS games) to behave how users expect (if the clients implement the corresponding change). Part of: #619 1: https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#vmware-cursor-position-pseudo-encoding 2: https://tronche.com/gui/x/xlib/input/XWarpPointer.html 3: https://hg.libsdl.org/SDL/file/28e3b60e2131/src/events/SDL_mouse.c#l804
* Drop other selection on ownership changePierre Ossman2021-03-011-0/+7
| | | | | Otherwise we might end up owners of something we cannot deliver data on, which can hang applications.
* Merge branch 'allow-tcp-and-unix' of https://github.com/jlesage/tigervncPierre Ossman2021-02-092-4/+11
|\
| * Added the ability to listen on both Unix socket and TCP port.Jocelyn Le Sage2021-02-042-4/+11
| | | | | | | | Setting `rfbport` to `-1` disables TCP port listening.
* | Update copyright year to 2021Pierre Ossman2021-01-251-1/+1
|/
* Merge branch 'noblock' of https://github.com/CendioOssman/tigervncPierre Ossman2021-01-193-12/+1
|\
| * Change streams to be asynchronousPierre Ossman2020-05-213-11/+0
| | | | | | | | | | | | | | | | | | | | Major restructuring of how streams work. Neither input nor output streams are now blocking. This avoids stalling the rest of the client or server when a peer is slow or unresponsive. Note that this puts an extra burden on users of streams to make sure they are allowed to do their work once the underlying transports are ready (e.g. monitoring fds).
| * Check buffer usage with a simply booleanPierre Ossman2020-05-211-1/+1
| | | | | | | | | | External callers don't need to know the exact details, only if there is data that needs to be flushed or not.
* | Update keycode maps to latest versionPierre Ossman2020-11-162-10/+14
| | | | | | | | Mainly fixes for Japanese and Korean keyboard layouts.
* | Tolerate specifying -BoolParam 0 and similarPierre Ossman2020-09-183-0/+31
| | | | | | | | | | | | This is needed by vncserver which doesn't know which parameters are boolean, and it cannot use the -Param=Value form as that isn't tolerated by the Xorg code.
* | Change development version to 1.11.80Pierre Ossman2020-08-191-1/+1
| |
* | Merge branch 'regions' of https://github.com/CendioOssman/tigervncPierre Ossman2020-06-155-157/+150
|\ \
| * | Get rid of magical assignment to RegionPierre Ossman2020-05-183-23/+17
| | | | | | | | | | | | Might as well make these explicit so the cost is apparent.
| * | Switch region code to pixmanPierre Ossman2020-05-011-2/+1
| | | | | | | | | | | | | | | This is the current upstream so let's make use of it to get the latest in features and fixes.
| * | Avoid using RegionInit() because of empty rectsPierre Ossman2020-05-011-26/+26
| | | | | | | | | | | | | | | It creates an invalid region if given an empty rect. Fortunately RegionInitBoxes() handles that just fine, so use that instead.
| * | Stop using legacy region macrosPierre Ossman2020-05-012-134/+134
| |/ | | | | | | | | We no longer support such old X servers so start using the current functions.
* | Catch errors resizing framebufferPierre Ossman2020-05-231-2/+7
| |
* | Add final line break to FatalError() callsPierre Ossman2020-05-232-7/+7
|/ | | | | It expects the callers to include this, so make sure we're consistently providing one.
* Handle empty changes for every operationPierre Ossman2020-04-201-22/+16
| | | | | | It seems like many of the X11 operations can end up with no pixels actually changing. So instead of discovering and adding workarounds for each individually we'll just check very region added if it's empty.
* Remove legacy Xorg codePierre Ossman2020-04-027-459/+6
| | | | | We now require at least 1.16, so remove all code that handled older versions than that.
* Remove 8-bit support from documentationPierre Ossman2020-04-022-16/+4
| | | | | We removed support in the code ages ago, but overlooked this part of the documentation. Also remove some dead code in Xvnc on the same theme.
* Start sessions via PAMPierre Ossman2020-03-121-4/+4
| | | | | | | | | This sets up a more correct session as there are key tasks that need to be performed by PAM. E.g. systemd will allocate cgroups and start base services. In order to easily handle this as a system service the mapping of displays is now done via a configuration file.
* xserver: add no-op input thread init functionLinus Heckemann2020-02-011-0/+9
| | | | | | | | This allows Xvnc to build with xorg-server 1.20.7, which requires OS layers to implement a ddxInputThreadInit function when configured with --enable-input-thread (the default). relevant xorg-server commit: e3f26605d85d987da434640f52646d728f1fe919
* Update copyright year to 2020Pierre Ossman2020-01-161-1/+1
|
* Encapsulate PixelBuffer internal detailsPierre Ossman2019-11-152-15/+11
| | | | | | Don't allow subclasses to just override dimensions or buffer details directly and instead force them to go via methods. This allows us to do sanity checks on the new values and catch bugs and attacks.
* Change development version to 1.10.80Pierre Ossman2019-10-181-1/+1
|
* Use UTF-8 in clipboard APIPierre Ossman2019-07-011-23/+24
| | | | | In prepartion for better clipboard extensions that can send Unicode data between the client and server.
* Improved clipboard APIPierre Ossman2019-07-016-70/+283
| | | | | Change the internal clipboard API to use a request based model in order to be prepared for more advanced clipboard transfers.
* Add UTF-8 to/from ISO 8859-1 conversion routinesPierre Ossman2019-07-013-65/+30
| | | | | We convert between UTF-8 and ISO 8859-1 (latin 1) in several places so create some common routines for this.
* Clean up internal clipboard handlingPierre Ossman2019-07-016-25/+18
| | | | | | We now filter incoming data, which means we can start assuming the clipboard data is always null terminated. This allows us to clean up a lot of the internal handling.
* Make sure clipboard uses \n line endingsPierre Ossman2019-07-013-6/+37
| | | | | | This is required by the protocol so we should make sure it is enforced. We are tolerant of clients that violate this though and convert incoming clipboard data.
* Allow blacklist to be disabledPierre Ossman2019-03-251-0/+5
| | | | | | There might be multiple clients using a single IP (e.g. NAT), which can make the blacklist do more harm than good. So add a setting to disable it if needed.
* Update visible copyright years to 2019Samuel Mannehed2019-02-271-1/+1
|
* Don't build xserver with -I$(includedir) as it breaks cross-compilingJames Le Cuirot2019-02-131-3/+3
| | | | | | | | This is where to install headers to, not where to find headers to build against. Toolchains should know where to locate their system headers while non-system headers should be found using pkg-config. Users with bizarre setups where the toolchain really cannot find the system headers should set CPPFLAGS.
* Avoid using "fake" key codesPierre Ossman2018-11-301-4/+40
| | | | | | | There is a range of key codes that are never sent by a real keyboard and are therefore used by layouts to hide "fake" mappings. Make sure to only use these as a fallback as some applications get confused when they see these codes.
* Merge branch 'covscan' of https://github.com/grulja/tigervncPierre Ossman2018-11-213-6/+9
|\
| * Fix memory leaksJan Grulich2018-11-201-2/+2
| |
| * Check correct return codeJan Grulich2018-11-202-4/+7
| |