12.1. Multi-Monitor

12.1.1. Hotdesking and Multi-Monitor Configurations
12.1.2. How to Automatically Set a Client's Multi-Monitor Configuration
12.1.3. Using xrandr to Set a Specific Multi-Monitor Configuration

This section describes the multi-monitor support for the Sun Ray 2FS and Sun Ray 3 Plus Clients with dual video connectors. Figure 12.1, “Multi-monitor Example” shows a Sun Ray 3 Plus Client using the multi-monitor feature and the Windows connector.

Figure 12.1. Multi-monitor Example

A figure showing a Sun Ray 3 Plus Client and two monitors showing the multi-monitor feature.

The multi-monitor support is provided by the X Resize, Rotate, and Reflect (RandR) 1.2 extension, which provides a way to use the multiple monitors as one screen. Features include:

RandR 1.2 support is provided with the default Xserver, Xnewt, which is automatically installed and configured with the Sun Ray Software. The optimal multi-monitor configuration is applied automatically when a Sun Ray Client sessions starts, unless the utxconfig -r command is used to set the DIMENSIONS parameter. In that case, the utxconfig value will be used to size the screen.

The utscreenresize -s all command is available to automatically set a client's multi-monitor configuration using the optimal resolutions. To specifically set a client's multi-monitor configuration, you must use the xrandr command.

Note

The gnome-display-properties GUI monitor configuration tool should not be used on Oracle Solaris or Oracle Linux. Using this tool may adversely affect the client's RandR 1.2 configuration.

12.1.1. Hotdesking and Multi-Monitor Configurations

The multi-monitor configuration is preserved after hotdesking. If the new client's monitor configuration is different, the previous configuration is used as best as possible. After hotdesking, you can use the utscreenresize -s all command to change the multi-monitor configuration to reflect the new client.

You can create a utaction script to automatically run the utscreensize command when a client hotdesks, so a client's multi-monitor configuration is automatically changed to the optimal resolutions. For details, refer to Section 18.15.1, “How to Enable Automatic Windows Desktop Resizing During Hotdesking”. Although this procedure is located in the Windows connector chapter, it also applies to Oracle Solaris or Oracle Linux desktops.

12.1.2. How to Automatically Set a Client's Multi-Monitor Configuration

The following command automatically set a client's multi-monitor configuration using the optimal resolutions.

utscreenresize -s all

12.1.3. Using xrandr to Set a Specific Multi-Monitor Configuration

There may be times when you want to create a specific multi-monitor configuration for a client. This example shows how to use the xrandr command to view and set a specific multi-monitor configuration. For more details, refer to the xrandr man page.

Note

Sun Ray Software provides an updated version of the xrandr command for Oracle Linux, and it is installed in the /opt/SUNWut/bin directory during the installation process. The /opt/SUNWut/bin/xrandr command provides the required functionality for the Sun Ray Software environment.

Issuing the xrandr command without any options shows a client's current multi-monitor configuration. For example, here is the xrandr output for a session created on a client with one monitor displaying at 1280x1024 resolution:

(use /opt/SUNWut/bin/xrandr on Oracle Linux)
% xrandr   
Screen 0: minimum 640 x 480, current 1280 x 1024, maximum 10240 x 10240
DVI1 connected 1280x1024+0+0 (normal left inverted right) 361mm x 288mm
   1280x1024       0.0*+
   3840x2400       0.0
   3200x2400       0.0
   2560x2048       0.0
   2560x1600       0.0
   2560x1440       0.0
   2048x1536       0.0
   2048x1152       0.0
   1920x1200       0.0
   1920x1080       0.0
   1680x1050       0.0
   1600x1200       0.0
   1600x1024       0.0
   1600x900        0.0
   1440x900        0.0
   1400x1050       0.0
   1368x768        0.0
   1280x960        0.0
   1280x800        0.0
   1280x720        0.0
   1152x900        0.0
   1024x768        0.0
   800x600         0.0
   640x480         0.0

In this output, the Screen line provides the current overall screen resolution (1280x1024) and the available maximum resolution (10240x10240). There is a single Output named DVI1 that shows a 1280x1024 monitor connected to the client's DVI port (or the first DVI port on a dual-DVI client). All dimensions available for this Output are listed, although many of them may not be possible on this particular monitor. The current mode is indicated by a '*' and the optimal mode indicated with a '+'.

After hotdesking to a dual-monitor client, the client's Screen configuration does not change, but the RandR information is updated to reflect optimal modes. For example, hotdesking to a client with 1600x1200 and 1920x1200 monitors would show the following xrandr output:

(use /opt/SUNWut/bin/xrandr on Oracle Linux)
% xrandr   
Screen 0: minimum 640 x 480, current 1280 x 1024, maximum 10240 x 10240
DVI1 connected 1280x1024+0+0 (normal left inverted right) 451mm x 338mm
   1600x1200       0.0 +
   3840x2400       0.0
   3200x2400       0.0
   2560x2048       0.0
   2560x1600       0.0
   2560x1440       0.0
   2048x1536       0.0
   2048x1152       0.0
   1920x1200       0.0
   1920x1080       0.0
   1680x1050       0.0
   1600x1024       0.0
   1600x900        0.0
   1440x900        0.0
   1400x1050       0.0
   1368x768        0.0
   1280x1024       0.0*
   1280x960        0.0
   1280x800        0.0
   1280x720        0.0
   1152x900        0.0
   1024x768        0.0
   800x600         0.0
   640x480         0.0
DVI2 connected (normal left inverted right)
   1920x1200       0.0 +
   3840x2400       0.0
   3200x2400       0.0
   2560x2048       0.0
   2560x1600       0.0
   2560x1440       0.0
   2048x1536       0.0
   2048x1152       0.0
   1920x1080       0.0
   1680x1050       0.0
   1600x1200       0.0
   1600x1024       0.0
   1600x900        0.0
   1440x900        0.0
   1400x1050       0.0
   1368x768        0.0
   1280x1024       0.0
   1280x960        0.0
   1280x800        0.0
   1280x720        0.0
   1152x900        0.0
   1024x768        0.0
   800x600         0.0
   640x480         0.0

For this new client, two Outputs are listed, DVI1 and DVI2. Although DVI2 is "connected," it is not configured with a current mode. Both Outputs have their optimal modes indicated with a '+', but DVI1 still has 1280x1024 as its current mode.

The best way to reconfigure this Screen with the optimal modes for both DVI1 and DVI2 would be to use the utscreenresize command described in the previous section. However, if you wanted to select specific resolutions for each monitor, you would need to use the --output option of the xrandr command. For example, if you wanted both monitors to use 1600x1200, you would issue the following xrandr command:

(use /opt/SUNWut/bin/xrandr on Oracle Linux)
% xrandr --output DVI1 --mode 1600x1200 --output DVI2 --mode 1600x1200 --right-of DVI1 

Here is the new multi-monitor configuration, with both DVI1 and DVI2 at 1600x1200 resolution and DVI2 starting at 1600,0 on the screen:

(use /opt/SUNWut/bin/xrandr on Oracle Linux)
% xrandr   
Screen 0: minimum 640 x 480, current 3200 x 1200, maximum 10240 x 10240
DVI1 connected 1600x1200+0+0 (normal left inverted right) 451mm x 338mm
   1600x1200       0.0*+
   3840x2400       0.0
   3200x2400       0.0
   2560x2048       0.0
   2560x1600       0.0
   2560x1440       0.0
   2048x1536       0.0
   2048x1152       0.0
   1920x1200       0.0
   1920x1080       0.0
   1680x1050       0.0
   1600x1024       0.0
   1600x900        0.0
   1440x900        0.0
   1400x1050       0.0
   1368x768        0.0
   1280x1024       0.0
   1280x960        0.0
   1280x800        0.0
   1280x720        0.0
   1152x900        0.0
   1024x768        0.0
   800x600         0.0
   640x480         0.0
DVI2 connected 1920x1200+1600+0 (normal left inverted right) 541mm x 338mm
   1920x1200       0.0 +
   3840x2400       0.0
   3200x2400       0.0
   2560x2048       0.0
   2560x1600       0.0
   2560x1440       0.0
   2048x1536       0.0
   2048x1152       0.0
   1920x1080       0.0
   1680x1050       0.0
   1600x1200       0.0*
   1600x1024       0.0
   1600x900        0.0
   1440x900        0.0
   1400x1050       0.0
   1368x768        0.0
   1280x1024       0.0
   1280x960        0.0
   1280x800        0.0
   1280x720        0.0
   1152x900        0.0
   1024x768        0.0
   800x600         0.0
   640x480         0.0 

Note that 1920x1200 is still marked as "optimal" for DVI2, but it is currently using 1600x1200.