Controlling monitors & video projectors with RandR
Dual Image
![© Anneke Schrama, 123RF © Anneke Schrama, 123RF](/var/linux_magazin/storage/images/linux-magazine.com/issues/2009/106/multi-heading-with-randr/123rf_4198709_kirschen_anneke-schram.png/423254-1-eng-US/123rf_4198709_kirschen_Anneke-Schram.png_medium.png)
© Anneke Schrama, 123RF
The RandR X server extension gives users more intuitive control over video projectors and multi-head installations.
Not so long ago, a speaker had to worry whether the video projector on site would support Linux. In many cases, projectors and other presentation equipment had limited Linux support, and the ensuing issues sometimes led to nerve-wracking and time-consuming reboots until the X server finally conjured up an image on the big screen. Conference organizers now typically ask speakers to determine in advance whether the video projector controls work with Linux, which has put an end to some of the last-minute train wrecks. But even if you don't speak at big events, you probably have experienced occasional difficulties when configuring your display settings.
Many Linux users breathed a sigh of relief when the RandR ("X Resize and Rotate" [1]) X server extension put an end to many of the most common display configuration issues. RandR easily allows you to resize and rotate (including support for the pivot function offered by many displays or tablet PCs). Additionally, it includes advanced features; for example, RandR can support multiple displays on a single computer, and it can do this either in clone mode or as a desktop extension.
Drivers
Whether RandR will work on your system or not depends on your graphics card driver support. The manufacturers of the most popular and widespread closed source drivers, nVidia and AMD/ATI, refuse to support RandR. Instead, they prefer to offer their own RandR-incompatible solutions. However, the free X.org drivers intel, radeon (for ATI boards), and nv (for nVidia graphics adapters) have now reached a stage at which they are suitable for production use. However, if you prefer to use proprietary drivers – because you need 3D support, for example – the best idea is to install both driver variants and toggle between them, depending on the application.
Everything Under Control
Various front ends are available for controlling RandR. The simplest front end – and the one that supports all of RandR's features [2] – is the xrandr command-line program. Most distributions install xrandr out of the box. Where this is not the case, the tool is available from a repository and is installed easily via the package manager. After installing, you can use xrandr straight away. The following command:
$ xrandr --query
outputs your graphics adapter's output status. This report provides details about the output ports you are using (DVI, VGA, HDMI, or LVDS), as well as what resolutions the output devices support. The xrandr output highlights the resolution and refresh rate with an asterisk; the plus sign points to the native resolution (Figure 1).
To gain a feeling for RandR, temporarily change the display resolution by entering:
$ xrandr --output LVDS --mode 800x600
You need to replace LVDS with the connected port revealed by xrandr - -query and change 800x600 to one of the resolutions listed as available for your system.
To revert to the previous resolution, you can either repeat the command line, replacing 800x600 with your previous resolution, or you can use the following command:
xrandr --output LVDS --auto
This command resets the display to its native resolution and refresh rate. Use the following command to set the refresh rate
$ xrandr --output LVDS --rate 60
where, again, 60 must be a refresh rate available for your system.
Connecting a Projector
RandR connects a video projector to your computer so that the projector displays the same image as your monitor. You don't even need to restart the X server. This feature also works with normal displays or TVs. Connect the video projector to your DVI or VGA port and run xrandr - -query again. You should see both output devices listed as connected.
To allow clone mode to work properly, you need to find a resolution that both devices support. For a video projector, the typical resolution will be 1024x768, or maybe just 800x600. These settings might distort the display on a 16:10 notebook, but your audience won't notice! The following command
$ xrandr --output VGA --mode 102 4x768 --same-as LVDS --output LV DS --mode 1024x768
sets the VGA and LVDS outputs to clone mode with a resolution of 1024x768. To switch off the video projector, enter:
$ xrandr --output VGA --off $ xrandr --output LVDS --auto
Similar commands also let you disable the internal display and just use an external display:
xrandr --output LVDS --off --out put VGA --auto
As you have probably already noticed, each of these commands starts with an - -output parameter, followed by further (optional) parameters. You can split the last of these commands into two separate commands:
$ xrandr --output LVDS --off $ xrandr --output VGA --auto
The first command gives you a blank screen, forcing you to enter the second command without seeing what you are entering, which is why XRandR lets you combine command lines.
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
![Learn More](https://www.linux-magazine.com/var/linux_magazin/storage/images/media/linux-magazine-eng-us/images/misc/learn-more/834592-1-eng-US/Learn-More_medium.png)
News
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.
-
SUSE Offers CentOS 7 Support with Liberty Linux Lite
SUSE's Liberty Linux support offering now includes CentOS 7, which means businesses won't be forced to migrate those servers for some time.
-
Ubuntu's App Center Finally Supports Local Installs Again
If you regularly download .deb files and would prefer a GUI method of installing, Ubuntu has your back.
-
AlmaLinux Now Supports Raspberry Pi 5
If you're looking to create with the Raspberry Pi 5 and want to use AlmaLinux as your OS, you're in luck because it's now possible.
-
Kubuntu Focus Releases New Iterations of Ir14 and Ir16 Laptops
If you're a fan of the Kubuntu Focus laptops or have been waiting for the right time to purchase one, that time might be now.
-
NixOS 24.05 Is Ready for Prime Time
The latest release of NixOS (Uakari) has arrived and offers its usual reproducible, declarative, and reliable goodness.
-
Linux Lite 7.0 Officially Released
Based on Ubuntu 24.04 and kernel 6.8, Linux Lite version 7 now offers more options than ever.
-
KaOS Linux 2024.05 Adds Bcachfs Support and More
With updates all around, KaOS Linux now includes support for the bcachefs file system.
-
TUXEDO Computers Unveils New Iteration of the Stellaris Laptop Line
The Stellaris Slim 15 is the 6th generation and includes either an AMD or Intel CPU