This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

Displays

Participants

AllanDay, BastienNocera

Goals

Functional requirements:

Experiential goals:

Non-goals:

Use Cases

Displays are used:

Presentations can use a dedicated app. Sometimes they involve multiple apps and demo segments (which requires being able to show any window on the presentation display).

Presentations can be slides, photos, video. Presentations typically happen on a single display, but there are cases where there might be more than one.

Some presentation software has a presenter display which is different from what is shown to the audience. You can have a single presenter display and multiple presentation displays.

Number of displays

A single built-in display is most common. Next most-common case is two displays, as either:

  1. Laptop and docked external monitor
  2. Two external monitors with a desktop machine
  3. Laptop and presentation screen (either big LCD or projector)

Three displays or more are less common but do happen. these can be presentation setups but are more likely to be multi-display workspaces. It is difficult to put an upper limit on the number of displays we need to support.

Relevant Art

Windows

http://core0.staticworld.net/images/article/2015/07/settingscaling1-100598954-orig.png

Project menu selects mode:

http://cdn.windowsreport.com/wp-content/uploads/2016/03/project-menu.jpg

OSX

http://www.eizoglobal.com/support/compatibility/dpi_scaling_settings_mac_os_x/image01.jpg

http://img.wonderhowto.com/img/88/57/63583202606281/0/connect-external-display-your-macbook-macbook-air-macbook-pro.w1456.jpg

Chrome OS

https://www.xda-developers.com/files/2018/01/Chrome_OS_Display_Settings.png

Discussion

Some hardware might not be capable of outputting to a display at its natural resolution. in this case we "mirror" the displays, scaling up the output from the primary display to the secondary. The settings panel needs to communicate this state.

One of the main challenges with the display settings is how to support the common cases well, while also supporting all the poorly defined edge-cases, and not have a complexity explosion in the process.

Presentations

In the past we've discussed having a presentation mode. This would:

This would avoid the user's pointer from accidentally ending up on the presentation display (which might well be behind the user). It would also avoid showing personalised wallpapers to the world.

Presentation mode will not really work for demos, since you cannot have the pointer on the display.

We probably also need to recognise that there can be multiple presentation displays.

Tentative Guidelines

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-settings/displays/displays-v4.png

Comments

Implementation notes

If we implement this, we should keep wayland in mind, as that changes radically the way multi-monitor is handled, giving the compositor access to the low level details.

In particular, see Wayland/Gaps/DisplayConfig for the proposed protocol to aid in this transition.

Under that proposal, the five options from the mockups would be implemented as follows:

Note: CRTCs (virtual heads) are a very scarce resource, most cards have 2 or 3. You may reach 4 if you count offloaded buffers between different graphic cards. On the other hand, it is technically possible to have more outputs, especially if you mix in docking stations and VGA multiplexers. We should detect those cases and either force mirror mode or turn off one of the two displays (as mirror mode might bring the resolution down to 1024x768 or 800x600)

Also applications need to be notified that a screen is presentation, and the compositor needs to know that a surface is really a presentation. It's easy to do it under X (a property on the root window with the Xinerama indices of presentation screens, and a property on the client window), but for wayland we need to invent a new protocol, extending wl_output and wl_shell_surface. Therefore, if presentation mode is really wanted, it's best to contact the wayland upstream developers and have the feature integrated there.

Still unclear:


2024-10-23 11:03