Use a second screen in Jitsi Meet

Short answer

Jitsi's reviewed multi-screen implementation can render another view of an existing meeting without adding another participant. It is opt-in and depends on the Window Management API, deployment configuration and browser permissions. Check those prerequisites before expecting a second-screen control. It is separate from picture-in-picture and from sharing your screen with other participants. [S1][S2]

Check availability first

Jitsi announced multi-screen support on 1 October 2026. The implementation reviewed here is in Jitsi Meet 11248 source commit f765042; it does not establish that every hosted Jitsi service enables it. [S1][S2]

The reviewed configuration defaults secondScreen.enabled to false and describes a Chromium-based managed-room use case. The capability gate checks for window.getScreenDetails, then combines that support with the enabled flag. Browser permissions, popup behavior and iframe delegation remain separate requirements. [S2]

Before planning a room installation:

  • Identify the actual deployed release using the version guide.
  • Confirm that the operator enables the feature and the client includes the reviewed implementation. [S2]
  • Check the browser’s current Window Management API support and the organization’s permission policy. API availability is limited across browsers. [S3]
  • Use an existing extended-display setup and test the physical screens you intend to use. A source-level capability check is not a display-placement test.

If the feature is unavailable, continue with your normal meeting window or ask the operator about support. Do not join a second copy of the call assuming it is the same feature. [S1]

Choose what the additional view should show

The source descriptor supports these roles: [S2]

Role Intended view
stage The meeting stage, following the selected speaker/pins
tile Participant tiles
screenshare A shared desktop or presentation
whiteboard The shared whiteboard
sharedvideo Video shared through the meeting’s shared-video feature

A participant-specific descriptor can identify whose source to show. A requested role still needs an appropriate active source: an empty screenshare view does not establish a network fault when nobody is sharing. [S2]

For operators of your own deployment

Preserve existing configuration and policy. In Docker, merge the setting through the existing custom-config.js workflow; on Debian/Ubuntu packages, merge it into the installed web configuration. This is a configuration fragment, not a complete server setup: [S2]

JavaScript
config.secondScreen = {
    ...config.secondScreen,
    enabled: true
};

Verify the configuration actually received by a fresh client. Use custom configuration diagnostics if a local change has no effect.

For embeds, use the matching External API implementation. Its reviewed iframe permissions list delegates window-management when the browser exposes the API, and delegates fullscreen. Delegation does not grant the end user’s or managed device’s browser permission. Do not bypass organization policy or assume a popup will be allowed automatically. [S2][S3]

For integration developers

After initializing the API against a supported deployment, an application can request an additional stage view and later close that same named surface. Treat these as requests, not success acknowledgments: [S2]

JavaScript
api.executeCommand('setSecondScreen', {
    id: 'presentation-display',
    source: { role: 'stage' }
});

// Later, close the same surface by omitting its source.
api.executeCommand('setSecondScreen', {
    id: 'presentation-display'
});

Listen for secondScreenSourceChanged, secondScreenClosed and secondScreenError. Record the error category privately and handle unsupported or blocked operations in the application. The implementation can reject disabled features, blocked popups and unavailable window-management access. [S2]

The full integration still needs its normal authentication, HTTPS and meeting lifecycle. See the embedding guide; replacing that application with this snippet will not create a complete meeting.

Verify on the actual displays

Recommended acceptance checks:

  1. Join a disposable meeting once and confirm the normal roster and audio/video.
  2. Request one additional surface using the available UI or integration.
  3. Verify which physical screen it occupies and what source it displays. Test changes of speaker, pin and screenshare where relevant.
  4. Confirm the roster did not gain another participant and only the intended meeting audio plays.
  5. Close the surface and confirm the primary meeting continues. Then leave the meeting and check cleanup of remaining surfaces.

The reviewed middleware also tears down second screens when leaving or failing the conference and attempts cleanup when the main page unloads. Browser/process termination can affect cleanup, so observe it rather than inferring it from a command. [S2]

Open questions and maintenance

This is a capability and integration guide based on pinned source. We have not completed a physical multi-monitor, kiosk permission, fullscreen or meeting-media test. The example is not a claim of verified compatibility for your browser/device combination. Recheck those prerequisites after browser, deployment or API-script changes. [S2][S3]

PiP has another purpose and another capability path. If you need an always-on-top compact meeting view, use PiP diagnostics. If other participants cannot see your shared content, use screen-sharing diagnostics.

Sources

Written by the Jitsi Help engineering team

Jitsi infrastructure engineers who deploy and run Jitsi Meet servers in production. Last updated . How we write our guides

Stuck on something this page does not cover? Ask a question below. Jitsi Help engineers read every one.

Did this guide work for you?

Something on this page is outdated or wrong?

Frequently asked questions

Do I need to join a Jitsi meeting twice to use two screens?

The reviewed second-screen feature renders another view of the existing session. A separate tab joining the room is another participant and is a different approach. Availability depends on the deployed feature and browser prerequisites.

Why is Show on second screen missing?

Check the deployed build, secondScreen.enabled and Window Management API support. The reviewed feature is disabled by default and targets supported Chromium-based managed room setups; a second physical monitor alone does not enable it.

Can the second screen show slides while the main window shows people?

A supported deployment can target a screenshare role separately from the main view. Test the actual source, browser and display setup; the source review is not a guarantee that every server or browser offers this behavior.

Is the second-screen window another audio connection?

It is a rendering surface of the existing meeting, rather than a separate room join. Keep the main meeting open and check that your actual setup has only the intended audio path.

Does an API command prove that the window opened?

No. Check secondScreenSourceChanged, secondScreenClosed and secondScreenError events and inspect the actual window. Popup, permission and deployment failures can prevent the requested result.

Discussion

    Stuck, or would rather not do this by hand?

    Deploy it in one click

    A private Jitsi server in your own AWS account with SSL, your domain and optional recording, transcription and JWT. Free 15 minute trial.

    Start free trial

    Talk to a Jitsi engineer

    Setup, fixes, branding, recording, scaling. Tell us what is happening and we reply with a plan and a quote.

    Get expert help

    Related

    Recently updated