- Configuring high resolution (like 5120×1440) under Linux
- Configuring Xorg server
- Configuring DCV Server
- Troubleshooting Xorg server for high resolutions
- High resolution and tiny fonts and icons
- Linux
- Windows
Configuring high resolution (like 5120×1440) under Linux
High resolution montiors are becoming quite common in remote desktops. To support your high resolution, basically you need to configure two services:
- Xorg server to offer your resolution in the remote environment
- DCV Server to allow your resolution inside of DCV session
Configuring Xorg server
You will need to have a xorg.conf file. If you are using NVIDIA driver, you need to create using this step (click here). If you are not, you can create with the command X -configure
.
Important notes:
- Usually is expected that automatic configurations work. Sometimes you need to manually add certain settings, like resolutions, to allow remote displays to use those resolutions. And sometimes this is not enough: you need to specify some values that maybe Xorg or your GPU driver can not calculate automatically, causing issues.
- With manual tweaks you can make your high resolution available. We just recommend to restrict as little as possible, just adding extra changes if you are having issues with more generic configurations.
- Remember to restart your
Xorg
server after every change inxorg.conf
file. You can do that just killing theXorg
process (your display manager will open a new one) or restarting your display session (GDM, KDM, XDM etc). You do not need to restart DCV Server forXorg
server changes.
Then you need to add your custom resolution into xorg.conf
file. You can add in two ways:
- If you are using NVIDIA driver, run
nvidia-settings
and add your custom resolution. - If you are not using NVIDIA driver or
nvidia-settings
is not helping you, you need to edit xorg.conf manually.
In the xorg.conf
file you need to go to Screen
section and add your resolution:
Modes "5120x1440" "1920x1080" "1600x900" "1440x900" "1366x768" "1280x800" "1024x768"
virtual 5120 1440
For most of users, add “5120×1440” mode and increase the virtual setting will make your resolution available.
For very specific NVIDIA drivers, maybe you also to set DefaultDepth 24 in your Screen section, like this:
Section "Screen"
Identifier "DummyScreen"
Device "DummyDevice"
Monitor "DummyMonitor"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "5120x1440" "1920x1080" "1600x900" "1440x900" "1366x768" "1280x800" "1024x768"
virtual 5120 1440
EndSubSection
EndSection
Depending of your display, EDID version, GPU driver and possibily other questions, will not be enough. If is your case, you need also to edit the Monitor section and add:
Modeline "5120x1440" 88.83 5120 5152 5232 5264 1440 1443 1445 1465
Explaining:
- “5120×1440” – This is the name of the mode, representing the resolution (width x height in pixels).
- 88.83 – This is the pixel clock in MHz. It represents how many millions of pixels the graphics card must send per second.
- 5120 – The horizontal resolution (width) in pixels.
- 5152 – The start of the horizontal sync pulse.
- 5232 – The end of the horizontal sync pulse.
- 5264 – The total width of the scanline, including blanking intervals.
- 1440 – The vertical resolution (height) in pixels.
- 1443 – The start of the vertical sync pulse.
- 1445 – The end of the vertical sync pulse.
- 1465 – The total height of the frame, including blanking intervals.
Obviously these values can be changed. This is an example that eventually can not work with your environment. The important thing to understand is that you are doing the configuration, avoiding eventual issues with Xorg, EDID, GPU driver etc.
If you still having problems with the resolution or is seeing some artifacts, maybe you are having some restriction with the display or driver due high bandwidth usage (a combination of high refresh rate with high resolution). If this is the case, try to reduce the fresh rate.
You can set a maximum Vertical refresh rate in the
Section "Monitor"
Identifier "DummyMonitor"
HorizSync 5.0 - 1000.0
VertRefresh 5.0 - 60.0 # This limits the maximum refresh rate to 60Hz
# ... other settings ...
EndSection
or in the Modeline like this:
Section "Monitor"
Identifier "DummyMonitor"
# ... other settings ...
Modeline "5120x1440_60.00" 587.08 5120 5168 5200 5280 1440 1443 1453 1481 +hsync -vsync
EndSection
You can also try to set in Screen section this limit. Like this:
Section "Screen"
Identifier "DummyScreen"
Device "DummyDevice"
Monitor "DummyMonitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "5120x1440_60.00" "5120x1440" "1920x1080" "1600x900" "1440x900" "1366x768" "1280x800" "1024x768"
EndSubSection
EndSection
Other potential issue with high resolution is the DPI scaling configuration. You can control the DPI scaling using Xorg or your display manager. Using Xorg, you can change like this:
Section "Monitor"
Identifier "DummyMonitor"
Option "DPI" "96 x 96" # Replace with your desired DPI
EndSection
Or instead of directly set the DPI, you can ask X to calculate it:
Section "Monitor"
Identifier "DummyMonitor"
DisplaySize 508 285 # Width and height in millimeters
EndSection
- 508 is the width of the display in millimeters
- 285 is the height of the display in millimeters
The DisplaySize
option is particularly useful because it allows X to calculate the DPI automatically based on the resolution of your display and its physical size. X uses this formula:
DPI = (pixels * 25.4) / millimeters
Fore example, a 34-inch ultrawide monitor typically has an aspect ratio of 21:9. Calculating the width and height:
- Diagonal = 34 inches
- Aspect ratio = 21:9 = 2.33:1
- Width = 34 * cos(atan(1/2.33)) ≈ 31.3 inches ≈ 795 mm
- Height = 34 * sin(atan(1/2.33)) ≈ 13.4 inches ≈ 340 mm
Calculating the DPI:
Horizontal DPI = (pixels * 25.4) / millimeters
Vertical DPI = (pixels * 25.4) / millimeters
For 5120×1440 resolution:
Horizontal DPI = (5120 * 25.4) / 795 ≈ 163.5 DPI
Vertical DPI = (1440 * 25.4) / 340 ≈ 107.5 DPI
Soif you want to X calculate it, you need to set the physical size:
Section "Monitor"
Identifier "UltrawideMonitor"
DisplaySize 795 340 # Width and height in millimeters
EndSection
Or directly set the DPI:
Section “Monitor”
Identifier “DummyMonitor”
Option “DPI” “163 x 107” # Replace with your desired DPI
EndSection
Just remember that different sizes of horizontal and vertical DPIs are not supported for most of the applications. Try to use equal values.
Configuring DCV Server
Open your /etc/dcv/dcv.conf
and set the max-head-resolution
with a resolution equal or greater when compared with the resolution that you want to achieve. For example:
[display]
max-head-resolution = "(7680, 2160)"
Then you need to restart DCV Server (systemctl restart dcvserver
). You do not need to restart the Xorg
server.
Troubleshooting Xorg server for high resolutions
- In case that you can not get the high resolution working, the main log that will help you is the Xorg.log (under /var/log/). Read your log (mainly after it load your video driver module) and look for EE (errors) messages.
- If you are using NVIDIA driver, please try to update to the latest stable version that is possible. After decided which version you can use, read the release notes of that driver, so you can have an idea about the known bugs and issues that NVIDIA is trying to fix. They can be related with your issue.
- Try to reduce your refresh rate with high resolutions. As this combination can require more data to be transmited (bandwidth) you maybe are being limited by some display interface. If some restriction is happening, you can also see artifacts.
- If your network support all the bandwidth needed for your configuration, you can see artifacts, lag and latency issues. Try to use UDP/QUIC protocol without use VPN as a test. Usually VPNs adds a lot of overhead in the transmission.
- Scaling DPI can cause issues with high resolution.
If you need some help here, please execute the Collect DCV Logs script (click here) and send the compressed file to the support. If you are seeing any error with your DCV Viewer (client), please also attach your viewer.log to the support. You can find DCV Viewer logs here.
High resolution and tiny fonts and icons
Newer displays and notebooks are coming with very high resolutions what can cause some consequencies like very tiny fonts and icons. You can add a parameter in the DCV Client to fix that.
Linux
--scaling-mode scaling
Windows
dcvviewer.exe --scaling-mode scaling