add fullscreen option for -vs kmssink

This commit is contained in:
F. Duncanh
2025-01-30 06:35:09 -05:00
parent bccc42e4e2
commit 0c26033e59
5 changed files with 10 additions and 8 deletions

View File

@@ -1051,8 +1051,8 @@ an empty boundary frame of unused pixels (which would be lost in a
full-screen display that overscans, and is not displayed by gstreamer). full-screen display that overscans, and is not displayed by gstreamer).
Recommendation: <strong>dont use this option</strong> unless there is Recommendation: <strong>dont use this option</strong> unless there is
some special reason to use it.</p> some special reason to use it.</p>
<p><strong>-fs</strong> uses fullscreen mode, but only works with X11, <p><strong>-fs</strong> uses fullscreen mode, but currently only works
Wayland, VAAPI, and D3D11 (Windows).</p> with X11, Wayland, VAAPI, kms and D3D11 (Windows).</p>
<p><strong>-p</strong> allows you to select the network ports used by <p><strong>-p</strong> allows you to select the network ports used by
UxPlay (these need to be opened if the server is behind a firewall). By UxPlay (these need to be opened if the server is behind a firewall). By
itself, -p sets “legacy” ports TCP 7100, 7000, 7001, UDP 6000, 6001, itself, -p sets “legacy” ports TCP 7100, 7000, 7001, UDP 6000, 6001,

View File

@@ -1063,8 +1063,8 @@ display that overscans, and is not displayed by gstreamer).
Recommendation: **don't use this option** unless there is some special Recommendation: **don't use this option** unless there is some special
reason to use it. reason to use it.
**-fs** uses fullscreen mode, but only works with X11, Wayland, VAAPI, **-fs** uses fullscreen mode, but currently only works with X11, Wayland, VAAPI,
and D3D11 (Windows). kms and D3D11 (Windows).
**-p** allows you to select the network ports used by UxPlay (these need **-p** allows you to select the network ports used by UxPlay (these need
to be opened if the server is behind a firewall). By itself, -p sets to be opened if the server is behind a firewall). By itself, -p sets

View File

@@ -1064,8 +1064,8 @@ display that overscans, and is not displayed by gstreamer).
Recommendation: **don't use this option** unless there is some special Recommendation: **don't use this option** unless there is some special
reason to use it. reason to use it.
**-fs** uses fullscreen mode, but only works with X11, Wayland, VAAPI, **-fs** uses fullscreen mode, but currently only works with X11,
and D3D11 (Windows). Wayland, VAAPI, kms and D3D11 (Windows).
**-p** allows you to select the network ports used by UxPlay (these need **-p** allows you to select the network ports used by UxPlay (these need
to be opened if the server is behind a firewall). By itself, -p sets to be opened if the server is behind a firewall). By itself, -p sets

View File

@@ -49,7 +49,7 @@ UxPlay 1.71: An open\-source AirPlay mirroring (+ audio streaming) server:
.TP .TP
\fB\-o\fR Set display "overscanned" mode on (not usually needed) \fB\-o\fR Set display "overscanned" mode on (not usually needed)
.TP .TP
\fB-fs\fR Full-screen (only works with X11, Wayland, VAAPI, D3D11) \fB-fs\fR Full-screen (only with X11, Wayland, VAAPI, D3D11, kms)
.TP .TP
\fB\-p\fR Use legacy ports UDP 6000:6001:7011 TCP 7000:7001:7100 \fB\-p\fR Use legacy ports UDP 6000:6001:7011 TCP 7000:7001:7100
.TP .TP

View File

@@ -655,7 +655,7 @@ static void print_info (char *name) {
printf("-s wxh[@r]Request to client for video display resolution [refresh_rate]\n"); printf("-s wxh[@r]Request to client for video display resolution [refresh_rate]\n");
printf(" default 1920x1080[@60] (or 3840x2160[@60] with -h265 option)\n"); printf(" default 1920x1080[@60] (or 3840x2160[@60] with -h265 option)\n");
printf("-o Set display \"overscanned\" mode on (not usually needed)\n"); printf("-o Set display \"overscanned\" mode on (not usually needed)\n");
printf("-fs Full-screen (only works with X11, Wayland, VAAPI, D3D11)\n"); printf("-fs Full-screen (only with X11, Wayland, VAAPI, D3D11, kms)\n");
printf("-p Use legacy ports UDP 6000:6001:7011 TCP 7000:7001:7100\n"); printf("-p Use legacy ports UDP 6000:6001:7011 TCP 7000:7001:7100\n");
printf("-p n Use TCP and UDP ports n,n+1,n+2. range %d-%d\n", LOWEST_ALLOWED_PORT, HIGHEST_PORT); printf("-p n Use TCP and UDP ports n,n+1,n+2. range %d-%d\n", LOWEST_ALLOWED_PORT, HIGHEST_PORT);
printf(" use \"-p n1,n2,n3\" to set each port, \"n1,n2\" for n3 = n2+1\n"); printf(" use \"-p n1,n2,n3\" to set each port, \"n1,n2\" for n3 = n2+1\n");
@@ -2201,6 +2201,8 @@ int main (int argc, char *argv[]) {
if (fullscreen && use_video) { if (fullscreen && use_video) {
if (videosink == "waylandsink" || videosink == "vaapisink") { if (videosink == "waylandsink" || videosink == "vaapisink") {
videosink_options.append(" fullscreen=true"); videosink_options.append(" fullscreen=true");
} else if (videosink == "kmssink") {
videosink_options.append(" force_modesetting=true");
} }
} }