Also spew wayland display name through session pipe.
This commit is contained in:
parent
a85c8d761c
commit
2bb4907993
4 changed files with 18 additions and 12 deletions
|
@ -349,7 +349,7 @@ retry:
|
||||||
listCommitsDone.push_back( commitID );
|
listCommitsDone.push_back( commitID );
|
||||||
}
|
}
|
||||||
|
|
||||||
static Display *threadDPY = XOpenDisplay ( wlserver_get_nested_display() );
|
static Display *threadDPY = XOpenDisplay ( wlserver_get_nested_display_name() );
|
||||||
XSendEvent( threadDPY, ourWindow, True, SubstructureRedirectMask, &nudgeEvent );
|
XSendEvent( threadDPY, ourWindow, True, SubstructureRedirectMask, &nudgeEvent );
|
||||||
XFlush( threadDPY );
|
XFlush( threadDPY );
|
||||||
|
|
||||||
|
@ -2758,7 +2758,7 @@ steamcompmgr_main (int argc, char **argv)
|
||||||
alwaysComposite = True;
|
alwaysComposite = True;
|
||||||
}
|
}
|
||||||
|
|
||||||
dpy = XOpenDisplay ( wlserver_get_nested_display() );
|
dpy = XOpenDisplay ( wlserver_get_nested_display_name() );
|
||||||
if (!dpy)
|
if (!dpy)
|
||||||
{
|
{
|
||||||
fprintf (stderr, "Can't open display\n");
|
fprintf (stderr, "Can't open display\n");
|
||||||
|
@ -2906,7 +2906,7 @@ steamcompmgr_main (int argc, char **argv)
|
||||||
|
|
||||||
if ( readyPipeFD != -1 )
|
if ( readyPipeFD != -1 )
|
||||||
{
|
{
|
||||||
dprintf( readyPipeFD, "%s\n", wlserver_get_nested_display() );
|
dprintf( readyPipeFD, "%s %s\n", wlserver_get_nested_display_name(), wlserver_get_wl_display_name() );
|
||||||
close( readyPipeFD );
|
close( readyPipeFD );
|
||||||
readyPipeFD = -1;
|
readyPipeFD = -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ void vblankThreadRun( void )
|
||||||
|
|
||||||
void vblank_init( void )
|
void vblank_init( void )
|
||||||
{
|
{
|
||||||
g_nestedDpy = XOpenDisplay( wlserver_get_nested_display() );
|
g_nestedDpy = XOpenDisplay( wlserver_get_nested_display_name() );
|
||||||
assert( g_nestedDpy != nullptr );
|
assert( g_nestedDpy != nullptr );
|
||||||
|
|
||||||
g_lastVblank = get_time_in_nanos();
|
g_lastVblank = get_time_in_nanos();
|
||||||
|
|
|
@ -564,14 +564,13 @@ int wlserver_init(int argc, char **argv, bool bIsNested) {
|
||||||
wlserver.wlr.xwayland_server = wlr_xwayland_server_create(wlserver.wl_display, &xwayland_options);
|
wlserver.wlr.xwayland_server = wlr_xwayland_server_create(wlserver.wl_display, &xwayland_options);
|
||||||
wl_signal_add(&wlserver.wlr.xwayland_server->events.ready, &xwayland_ready_listener);
|
wl_signal_add(&wlserver.wlr.xwayland_server->events.ready, &xwayland_ready_listener);
|
||||||
|
|
||||||
char wayland_display_name[32];
|
|
||||||
int result = -1;
|
int result = -1;
|
||||||
int display_slot = 0;
|
int display_slot = 0;
|
||||||
|
|
||||||
while ( result != 0 && display_slot < 128 )
|
while ( result != 0 && display_slot < 128 )
|
||||||
{
|
{
|
||||||
sprintf( wayland_display_name, "gamescope-%d", display_slot );
|
sprintf( wlserver.wl_display_name, "gamescope-%d", display_slot );
|
||||||
result = wl_display_add_socket( wlserver.wl_display, wayland_display_name );
|
result = wl_display_add_socket( wlserver.wl_display, wlserver.wl_display_name );
|
||||||
display_slot++;
|
display_slot++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -585,9 +584,9 @@ int wlserver_init(int argc, char **argv, bool bIsNested) {
|
||||||
wlserver.wlr.seat = wlr_seat_create(wlserver.wl_display, "seat0");
|
wlserver.wlr.seat = wlr_seat_create(wlserver.wl_display, "seat0");
|
||||||
wlr_seat_set_capabilities( wlserver.wlr.seat, WL_SEAT_CAPABILITY_POINTER | WL_SEAT_CAPABILITY_KEYBOARD | WL_SEAT_CAPABILITY_TOUCH );
|
wlr_seat_set_capabilities( wlserver.wlr.seat, WL_SEAT_CAPABILITY_POINTER | WL_SEAT_CAPABILITY_KEYBOARD | WL_SEAT_CAPABILITY_TOUCH );
|
||||||
|
|
||||||
wlr_log(WLR_INFO, "Running compositor on wayland display '%s'", wayland_display_name);
|
wlr_log(WLR_INFO, "Running compositor on wayland display '%s'", wlserver.wl_display_name);
|
||||||
|
|
||||||
setenv("GAMESCOPE_WAYLAND_DISPLAY", wayland_display_name, 1);
|
setenv("GAMESCOPE_WAYLAND_DISPLAY", wlserver.wl_display_name, 1);
|
||||||
|
|
||||||
if (!wlr_backend_start( wlserver.wlr.multi_backend ))
|
if (!wlr_backend_start( wlserver.wlr.multi_backend ))
|
||||||
{
|
{
|
||||||
|
@ -727,11 +726,16 @@ void wlserver_send_frame_done( struct wlr_surface *surf, const struct timespec *
|
||||||
wlr_surface_send_frame_done( surf, when );
|
wlr_surface_send_frame_done( surf, when );
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *wlserver_get_nested_display( void )
|
const char *wlserver_get_nested_display_name( void )
|
||||||
{
|
{
|
||||||
return wlserver.wlr.xwayland_server->display_name;
|
return wlserver.wlr.xwayland_server->display_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *wlserver_get_wl_display_name( void )
|
||||||
|
{
|
||||||
|
return wlserver.wl_display_name;
|
||||||
|
}
|
||||||
|
|
||||||
static void handle_surface_destroy( struct wl_listener *l, void *data )
|
static void handle_surface_destroy( struct wl_listener *l, void *data )
|
||||||
{
|
{
|
||||||
struct wlserver_surface *surf = wl_container_of( l, surf, destroy );
|
struct wlserver_surface *surf = wl_container_of( l, surf, destroy );
|
||||||
|
|
|
@ -12,6 +12,7 @@ struct wlserver_t {
|
||||||
struct wl_display *wl_display;
|
struct wl_display *wl_display;
|
||||||
struct wl_event_loop *wl_event_loop;
|
struct wl_event_loop *wl_event_loop;
|
||||||
int wl_event_loop_fd;
|
int wl_event_loop_fd;
|
||||||
|
char wl_display_name[32];
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
struct wlr_backend *multi_backend;
|
struct wlr_backend *multi_backend;
|
||||||
|
@ -84,7 +85,8 @@ void wlserver_mousewheel( int x, int y, uint32_t time );
|
||||||
|
|
||||||
void wlserver_send_frame_done( struct wlr_surface *surf, const struct timespec *when );
|
void wlserver_send_frame_done( struct wlr_surface *surf, const struct timespec *when );
|
||||||
|
|
||||||
const char *wlserver_get_nested_display( void );
|
const char *wlserver_get_nested_display_name( void );
|
||||||
|
const char *wlserver_get_wl_display_name( void );
|
||||||
|
|
||||||
struct wlserver_surface
|
struct wlserver_surface
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue