Commit graph

646 commits

Author SHA1 Message Date
Pierre-Loup A. Griffais
32fe2d5bfb Register GL error callback instead of checking by hand. 2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
3a091e864a Process doesn't go away when closing clients anymore. 2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
6c04eba8c6 Allow re-import, still consume FDs that fall through the crack.
Lets glxgears animate at 60fps and doesn't leak FDs anymore.
steamcompmgr still goes down when glxgears exits.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
6dc724b2cd No idea what that was for, but it can presumably go. 2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
617174e4b4 Add placeholder GameID to every window so I can easily test with glxgears. 2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
382004513a Finish removing glX stuff, remove path_rendering stuff (with prejudice),
add some freeing of resources.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
7c4e06af94 Missed some files. 2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
b39c5a67d4 Hook up steamcompmgr output pipeline.
Get steamcompmgr's GL context from EGL and rip out GLX, as we need EGL to
import dma-bufs.

When new buffers are committed to surfaces, push their information to
steamcompmgr (without any feedback for now, fire-and-forget).

Can render games now.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
d740ac4d57 Windows render again now that WL_SURFACE_ID is plumbed through steamcompmgr. 2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
5b1154f863 Fix warnings on my setup. 2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
86efc186c5 Merge with rootston.
Enable C++ for bits of the code, but nothing that includes wlroots as that
doesn't want to build as C++.

Enable SubstructureRedirectMask mode and handle MapRequest for now; this lets
us get the WL_SURFACE_ID ClientMessages.

This uses a build of wlroots that has its internal XWM ripped out.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
9f4bc871d2 Import Debian version 1.34
steamos-compositor (1.34) brewmaster; urgency=medium

  * Small tweak to loadargb_cursor to better handle non-premult cursors
2020-01-01 15:26:44 +09:00
Pierre-Loup A. Griffais
7b43e3ff99 Import Debian version 1.32
steamos-compositor (1.32) brewmaster; urgency=medium

  * Fix a bug where cursor would be auto-hidden even when buttons held
  * Show cursor if a button gets clicked while it's hidden
2020-01-01 15:26:44 +09:00
Pierre-Loup A. Griffais
59f9261aca Import Debian version 1.31
steamos-compositor (1.31) brewmaster; urgency=medium

  * Added support for one than more overlay layers; most opaque one wins.
2020-01-01 15:26:44 +09:00
Pierre-Loup A. Griffais
840e4883a3 Import Debian version 1.30
steamos-compositor (1.30) brewmaster; urgency=medium

  * Added preliminary support for screen magnification.
  * Increase cursor hiding time to 10 seconds.
  * Fix bug while cursor would hide even when moving the mouse if a button was
    held.
2020-01-01 15:26:44 +09:00
Pierre-Loup A. Griffais
34f963a59a Import Debian version 1.29
steamos-compositor (1.29) brewmaster; urgency=medium

  * Tweaking focus and display logic in steamcompmgr to avoid event storms on newer
    X servers. It looks like Damage semantics changed on Xserver 1.16 and we were
    getting unexpected events after XDamageSubtract().
2020-01-01 15:26:44 +09:00
John Vert
601e49f2e5 Import Debian version 1.27 - sidestep to Brewmaster
steamos-compositor (1.27) brewmaster; urgency=medium

  * depend on libudev1 instead of libudev0

steamos-compositor (1.26) brewmaster; urgency=medium

  * compilation fixes

steamos-compositor (1.25) brewmaster; urgency=medium

  * fix missing tab in debian/rules, change Build-Depends from automake to automake1.11
2020-01-01 15:23:18 +09:00
Pierre-Loup Griffais
d740313b06 steamcompmgr documentation fix. 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
7c401cd538 SteamOS compositor v1.24 with XCOM fix. 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
33a5f82916 SteamOS compositor beta update. 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
8ae95f1f37 [SteamOS compositor] Fix overlay flickering problem. 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
acbd2c8d7c Fix random flash of corruption when first presenting the overlay or a notification 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
e512d3ee1b SteamOS compositor 1.19 with black screen fix for MS games on Intel graphics. 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
c26d9e7687 SteamOS compositor 1.18 with hitching fix on toast notifications. 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
8ae6046bad SteamOS: add udev_is_boot_vga tool to detect hybrid configs 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
a325bad986 steamcompmgr 1.16; fixes "CID the Dummy". 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
a50620bace SteamOS: Always sync to vblank to fix tearing on AMD. 2019-09-09 11:02:32 -07:00
Pierre-Loup Griffais
b0fd3a75d5 SteamOS: fix double cursor when game exiting. 2019-09-09 11:02:31 -07:00
Pierre-Loup Griffais
8ed08641d4 SteamOS: when any of the Steam windows are invisible, completely halt their rendering.
Can't have a WebM video playing on a halted window or the decoder starts spinning waiting for the renderer.

CR: John McCaskey
2019-09-09 11:02:31 -07:00
Pierre-Loup Griffais
503b35b547 steamos-compositor 1.14 2019-09-09 11:02:31 -07:00
Pierre-Loup Griffais
967feaabe5 SteamOS compositor 1.12 with Bard's Tale, Long Live the Queen fixes. 2019-09-09 11:02:31 -07:00
Pierre-Loup Griffais
1fc30b7e60 SteamOS compositor 1.10 with mouse fixes for Superbrothers and scaled
cursors.
2019-09-09 11:02:31 -07:00
Pierre-Loup Griffais
ececbafa73 SteamOS compositor 1.8
SteamOS modeswitch-inhibitor 1.7

Changelogs:

steamos-compositor (1.8) alchemist; urgency=low

  * Rearm ignore warp count when hiding cursor to prevent spurious appearances.
  * Work around X server bug 69198 by warping the cursor back into our window
    if it escapes.
  * Disable DPMS and the X screensaver for now in the SteamOS session.

steamos-modeswitch-inhibitor (1.7) alchemist; urgency=low

  * Correct interposer open location to account for new library name.
2019-09-09 11:02:31 -07:00
Pierre-Loup Griffais
12446b9d88 Fix mouse input in Steam on SteamOS when desktop is smaller than 1080p. 2019-09-09 11:02:31 -07:00
johnv
aa59866bc5 Add loadargbcursor program 2019-09-09 11:02:31 -07:00
johnv
92f5394b78 add debian package build files 2019-09-09 11:02:31 -07:00
Pierre-Loup Griffais
e0135b2777 SteamOS:
- add support for global overscan compensation, controlled with a root window property; pending tenfoot wizard to set it up
 - present the cursor with the same visible size as in Steam or the overlay, no matter what scale ratio is being applied to the game
2019-09-09 11:02:30 -07:00
Pierre-Loup Griffais
639618330f SteamOS: Fix more instances of cursor showing up when we don't want it. 2019-09-09 11:02:30 -07:00
Pierre-Loup Griffais
5a11ba7646 SteamOS: refactor cursor management to allow the compositor to hide the cursor when not being moved for a period of time, like Tenfoot does. 2019-09-09 11:02:30 -07:00
Pierre-Loup Griffais
6f3be23b46 SteamOS: Queue an Expose event per frame to never block when there aren't any other events going on; this lets us always smoothly fade to windows that aren't animating. When not in a fade paint_all() returns early without producing a frame and the behavior is the same as before. 2019-09-09 11:02:30 -07:00
Pierre-Loup Griffais
3d43811f37 Fix overlay on games that don't animate at all, like DosBOX titles sitting at the menu. The fade in and out is still not smooth in these cases and pending investigation, but it looks like Steam is blocked on the overlay IPC pipe instead of pumping frames, which has the side effect of setting the opacity that is needed for the smooth fade-in. 2019-09-09 11:02:30 -07:00
Pierre-Loup Griffais
21b4b1f7d5 SteamOS compositor workaround for Thomas was Alone; it can't create the game window FBconfig with its own visual, but it succeeds with the root visual. 2019-09-09 11:02:30 -07:00
Pierre-Loup Griffais
959693bd50 Conditionalize extension usage and grab their entrypoints with GetProcAddress. 2019-09-09 11:02:30 -07:00
johnv
8e98e9ab4a integrate Pierre's latest 2019-09-09 11:02:30 -07:00
johnv
83999cae2f make it build with autotools 2019-09-09 11:02:30 -07:00
Pierre-Loup Griffais
e106321c45 Initial implementation of a compositor for the SteamOS console session.
Used xcompmgr as a starting point, and mostly rewrote everything.

Unlike xcompmgr this is also a window manager.
2019-09-09 11:01:59 -07:00