aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-09-18Send unique keymap file descriptorsrandom human
To prevent wl_keyboard keymap being written to by clients, use a unique file descriptor for each wl_keyboard resource. Reference: weston, commit 76829fc4eaea329d2a525c3978271e13bd76c078
2018-09-17Merge pull request #1246 from emersion/output-layout-no-modeDrew DeVault
output-layout: don't expose outputs without a mode
2018-09-17output-layout: don't expose outputs without a modeemersion
2018-09-16Merge pull request #1237 from emersion/disabled-crtcDrew DeVault
Steal CRTCs from disabled outputs
2018-09-15backend/drm: steal CRTCs from disabled outputsemersion
This commit allows outputs that need a CRTC to steal it from user-disabled outputs. Note that in the case there are enough CRTCs, disabled outputs don't loose it (so there's no modeset and plane initialization needed after DPMS). CRTC allocation still prefers to keep the old configuration, even if that means allocating an extra CRTC to a disabled output. CRTC reallocation now happen when enabling/disabling an output as well as when trying to modeset. When enabling an output without a CRTC, we realloc to try to steal a CRTC from a disabled output (that doesn't really need the CRTC). When disabling an output, we try to give our CRTC to an output that needs one. Modesetting is similar to enabling. A new DRM connector field has been added: `desired_enabled`. Outputs without CRTCs get automatically disabled. This field keeps track of the state desired by the user, allowing to automatically re-enable outputs when a CRTC becomes free. This required some changes to the allocation algorithm. Previously, the algorithm tried to keep the previous configuration even if a new configuration with a better score was possible (it only changed configuration when the old one didn't work anymore). This is now changed and the old configuration (still preferred) is only retained without considering new possibilities when it's perfect (all outputs have CRTCs). User-disabled outputs now have `possible_crtcs` set to 0, meaning they can only retain a previous CRTC (not acquire a new one). The allocation algorithm has been updated to do not bump the score when assigning a CRTC to a disabled output.
2018-09-14Merge pull request #1241 from emersion/output-enable-error-checkingDrew DeVault
output: make wlr_output_enable return a bool
2018-09-14Merge pull request #1243 from emersion/layer-shell-suffixDrew DeVault
layer-shell: add _v1 suffix
2018-09-14Merge pull request #1244 from emersion/xdg-output-suffixDrew DeVault
xdg-output: add _v1 suffix
2018-09-14Merge pull request #1240 from emersion/no-hardware-cursorsDrew DeVault
output: introduce WLR_NO_HARDWARE_CURSORS
2018-09-14layer-shell: add _v1 suffixemersion
2018-09-14xdg-output: add _v1 suffixemersion
2018-09-14output: make wlr_output_enable return a boolemersion
2018-09-14output: introduce WLR_NO_HARDWARE_CURSORSemersion
2018-09-12Merge pull request #1160 from Ongy/tablet-grabsemersion
Tablet grabs
2018-09-11Merge pull request #1239 from dcz-purism/layer_order_masterDrew DeVault
rootston: Keep older anchored layers near anchor points
2018-09-11rootston: Keep older anchored layers near anchor pointsDorota Czaplejewicz
Layer surfaces are attached to edges of the screen starting with the youngest, causing new ones to always displace existing ones. This changes the order to oldest first, keeping the positions more often.
2018-09-10Merge pull request #1235 from emersion/dealloc-unused-crtcsDrew DeVault
backend/drm: de-allocate unused CRTCs
2018-09-10Merge pull request #1227 from emersion/rootston-segfault-tablet-destroyDrew DeVault
rootston: fix segfault on tablet pad destroy
2018-09-10Merge pull request #1205 from sghctoma/fix-freebsd-direct-sessionDrew DeVault
Add drmSetMaster and drmDropMaster calls to FreeBSD direct session
2018-09-10backend/drm: de-allocate unused CRTCsemersion
They can be re-used by another output after a subsequent hotplug.
2018-09-10Merge pull request #1234 from mntmn/masteremersion
fix cursor loss w/ legacy drm and software cursor (tested on etnaviv)
2018-09-10fix cursor loss w/ legacy drm and software cursor (tested on etnaviv)mntmn
2018-09-08Implement feedbackMarkus Ongyerth
2018-09-08Merge pull request #1233 from nyorain/fix/xwayland_destroyemersion
Fix wlr_xwayland_destroy
2018-09-08Fix wlr_xwayland_destroynyorain
2018-09-07Fix build failure on non-FreeBSD systemssghctoma
Accidentally included the FreeBSD-specific dev/evdev/input.h file on other systems too. This commit fixes that.
2018-09-07Implement device type discovery using ioctl callssghctoma
This commit implements device type discovery by calling two ioctls (DRM_IOCTL_VERSION and EVIOCGVERSION) on the device. These iocts are specific to drm and input devices respectively, therefore we can determine the device type based on which one returns an error.
2018-09-07Merge remote-tracking branch 'upstream/master' into fix-freebsd-direct-sessionsghctoma
2018-09-07Merge pull request #1232 from nyorain/fix/dnd-offsetemersion
Fix #1129
2018-09-07Fix #1129 and remove sx, sy from wlr_drag_iconnyorain
sx, sy used to store the buffer offset of the drag surface which was then be added (by rootston) to the drag icon position. Buffer offsets are handled already in surface_intersect_output (output.c) so they were added twice for dnd surfaces.
2018-09-05Merge pull request #1229 from emersion/drm-hotplug-fixesDrew DeVault
backend/drm: better hotplug handling
2018-09-05Merge pull request #1231 from ascent12/editorconfigDrew DeVault
Remove indent_size from .editorconfig
2018-09-05Remove indent_size from .editorconfigScott Anderson
Some of us like to use different indent sizes.
2018-09-04backend/drm: damage outputs when switching CRTCsemersion
2018-09-04backend/drm: cosmetic enhancementsemersion
2018-09-04backend/drm: consider continue not using resourcesemersion
Fixes #1230
2018-09-04backend/drm: prevent use of uninitialized dataemersion
2018-09-04backend/drm: remove unused ifemersion
2018-09-04backend/drm: log when de-allocating CRTCemersion
2018-09-04backend/drm: better hotplug handlingemersion
This commit handles better situations in which the number of connected outputs is greater than the number of available CRTCs. It'll enable as many outputs as possible, and transfer CRTCs to outputs that need one on unplug. This changes CRTC and plane reallocation to happen after scanning DRM connectors instead of on modeset. This cleanups CRTCs and planes on unplug to allow them to be re-used for other outputs. On modeset, if an output doesn't have a CRTC, the desired mode is saved and used later when the output gains a CRTC. Future work includes giving priority to enabled outputs over disabled ones for CRTC allocation. This requires the compositor to know about all outputs (even outputs without CRTCs) to properly modeset outputs enabled in the compositor config file and disable outputs disabled in the config file.
2018-09-03Merge pull request #1213 from arandomhuman/wlr_log_get_verbosityDrew DeVault
Add wlr_log_get_verbosity method
2018-09-03Update wlr_log_init docsrandom human
2018-09-03Add support for setting log verbosity in rootstonrandom human
2018-09-03Close stdout/stderr for Xwaylandrandom human
Depending on the log verbosity, close the stdout/stderr streams.
2018-09-03Merge pull request #1226 from RyanDwyer/xwayland-set-roleemersion
xwayland: Introduce set_role event
2018-09-03xwayland: Introduce set_role eventRyan Dwyer
2018-09-03Merge pull request #1228 from arandomhuman/misc-mememersion
Miscellaneous memory leak fixes
2018-09-03Remove listener link after tablet_manager destroyrandom human
2018-09-03Release pointers in examples/multi-pointerrandom human
2018-09-03Release registry pointer in examples/idlerandom human