x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
PORTNAME= gamescope
|
2021-10-18 05:17:30 +02:00
|
|
|
DISTVERSION= 3.9.5
|
x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
CATEGORIES= x11-wm
|
|
|
|
|
|
|
|
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
|
2021-09-15 20:02:47 +02:00
|
|
|
PATCHFILES+= ec8e547be135.patch:-p1 # https://github.com/Plagman/gamescope/pull/119
|
|
|
|
PATCHFILES+= ea415ae28442.patch:-p1 # https://github.com/Plagman/gamescope/pull/119
|
|
|
|
PATCHFILES+= 7c188b24afaa.patch:-p1 # https://github.com/Plagman/gamescope/pull/119
|
|
|
|
PATCHFILES+= a618ea074660.patch:-p1 # https://github.com/Plagman/gamescope/issues/120
|
x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
|
|
|
|
MAINTAINER= jbeich@FreeBSD.org
|
|
|
|
COMMENT= Micro-compositor from SteamOS
|
|
|
|
|
|
|
|
LICENSE= BSD2CLAUSE
|
|
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
|
2020-12-23 21:12:36 +01:00
|
|
|
BUILD_DEPENDS= glslangValidator:graphics/glslang \
|
x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
evdev-proto>0:devel/evdev-proto \
|
2020-12-23 21:12:14 +01:00
|
|
|
vulkan-headers>0:graphics/vulkan-headers \
|
x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
wayland-protocols>=1.17:graphics/wayland-protocols \
|
2021-09-15 20:02:47 +02:00
|
|
|
wlroots>=0.15.0<0.16.0:x11-toolkits/wlroots
|
x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \
|
|
|
|
libdrm.so:graphics/libdrm \
|
|
|
|
libvulkan.so:graphics/vulkan-loader \
|
|
|
|
libwayland-server.so:graphics/wayland \
|
|
|
|
libwlroots.so:x11-toolkits/wlroots \
|
|
|
|
libxkbcommon.so:x11/libxkbcommon
|
|
|
|
|
2021-09-06 21:44:30 +02:00
|
|
|
USES= compiler:c++11-lib meson pkgconfig sdl xorg
|
x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
USE_GITHUB= yes
|
|
|
|
USE_SDL= sdl2
|
2021-05-19 14:06:32 +02:00
|
|
|
USE_XORG= x11 xcomposite xdamage xext xfixes xrender xres xtst xxf86vm
|
x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
GH_ACCOUNT= Plagman
|
2021-10-09 07:55:01 +02:00
|
|
|
GH_TUPLE= emersion:libliftoff:v0.1.0-25-gb7a6958:libliftoff/subprojects/libliftoff \
|
2021-09-13 08:39:34 +02:00
|
|
|
nothings:stb:af1a5bc:stb/subprojects/stb
|
x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
PLIST_FILES= bin/${PORTNAME}
|
|
|
|
|
2021-09-03 02:18:13 +02:00
|
|
|
OPTIONS_DEFINE= PIPEWIRE
|
|
|
|
OPTIONS_DEFAULT=PIPEWIRE
|
|
|
|
|
|
|
|
PIPEWIRE_DESC= Screen capture via PipeWire
|
|
|
|
PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
|
|
|
|
PIPEWIRE_MESON_ENABLED= pipewire
|
|
|
|
|
2021-09-13 08:39:34 +02:00
|
|
|
post-extract:
|
|
|
|
# Merge patch_directory for subprojects without meson.build
|
|
|
|
@(cd ${WRKSRC}/subprojects/packagefiles && ${COPYTREE_SHARE} . ..)
|
|
|
|
|
2021-09-06 05:22:09 +02:00
|
|
|
.include "${.CURDIR}/Makefile.wlroots"
|
x11-wm/gamescope: add new port
In an embedded session usecase, gamescope does the same thing as
steamcompmgr, but with less extra copies and latency:
- It's getting game frames through Wayland by way of Xwayland, so
there's no copy within X itself before it gets the frame.
- It can use DRM/KMS to directly flip game frames to the screen, even
when stretching or when notifications are up, removing another copy.
- When it does need to composite with the GPU, it does so with async
Vulkan compute, meaning you get to see your frame quick even if the
game already has the GPU busy with the next frame.
It also runs on top of a regular desktop, the 'nested' usecase
steamcompmgr didn't support.
- Because the game is running in its own personal Xwayland sandbox
desktop, it can't interfere with your desktop and your desktop can't
interfere with it.
- You can spoof a virtual screen with a desired resolution and refresh
rate as the only thing the game sees, and control/resize the output
as needed. This can be useful in exotic display configurations like
ultrawide or multi-monitor setups that involve rotation.
https://github.com/Plagman/gamescope
2020-11-16 04:52:30 +01:00
|
|
|
.include <bsd.port.mk>
|