In some circumstances, your Linux remote computer will not display correctly in VNC Viewer. The commonly reported issues are:
- a black or blank screen
- application windows are white
- slow refresh of images
The issue is most commonly seen when connecting to a computer with no monitors attached (headless), or a monitor using HDMI/DisplayPort is connected but powered off.
It appears that in the above situations, Linux does not correctly report graphical updates to be captured by VNC Server. At this time, there are some known workarounds you can try below:
- Upgrade VNC Server to version 6.5.0, as this version contains some changes to try and automatically recover from a blank screen
- If you are running VNC Server on Ubuntu 18.04 LTS or later, or CentOS/RHEL 8 or later, you need to disable Wayland
- Change your Power settings on the Linux computer to never turn off the monitors/displays
- Check that Linux is not set to a "Battery Saver" power mode
- Connect an EDID emulator to the VNC Server computer. An example EDID emulator can be seen here
Note: RealVNC have not tested this particular emulator and it is only provided as an example - Change the VNC Server
CaptureMethod
parameter:- On the remote Linux computer, open the VNC Server dialog.
- Select Options from the hamburger menu.
- On the Expert tab, filter the list for
CaptureMethod
, and set the value to1
- Restart VNC Server
This can also be specified using a configuration file:/root/.vnc/config.d/vncserver-x11
- Install the X11 dummy driver, by running:
- Ubuntu
sudo apt update
sudo apt install xserver-xorg-video-dummy
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak # this file may not exist so if there is an error, it can be ignored
sudo cp /etc/X11/vncserver-virtual-dummy.conf /etc/X11/xorg.conf - RHEL / CentOS
sudo yum install xorg-x11-drv-dummy
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak # this file may not exist so if there is an error, it can be ignored
sudo cp /etc/X11/vncserver-virtual-dummy.conf /etc/X11/xorg.conf - Reboot the machine, and you should now be able to connect as expected.
- Note: Following these steps will result in any connected monitors displaying a blank screen. If you need to use a monitor, run
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.dummy
and reboot - Note 2: This method is using the X11 dummy driver, so some graphical features may not be available. If you want your own driver to work, you will have to research what changes are needed and make your own xorg.conf
- Ubuntu
Comments
I have an old Dell computer with a VGA connector that has this problem and another computer with HDMI. I recommend option 5, a dummy head. There are some very good ones that emulate very high resolution monitors.
But I'm cheap. Putting three 75Ω resistors across 1-6, 2-7, 3-8 will do much the same as the emulation. I didn't have 75Ω resistors so I used 100Ω resistors and its working for me.
I have followed the steps below that you have mentioned but none of the said files exist in the X11 directory I am using RHEL 8.4.
sudo yum install xorg-x11-drv-dummy
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak # this file may not exist so if there is an error, it can be ignored
sudo cp /etc/X11/vncserver-virtual-dummy.conf /etc/X11/xorg.conf
Furthermore, I tried to locate this file /etc/X11/xorg.conf that one also does not exist in the X11 directory.
I have followed the steps below that you have mentioned but none of the said files does not exist in the X11 directory I am using RHEL 8.4.
sudo yum install xorg-x11-drv-dummy
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak # this file may not exist so if there is an error, it can be ignored
sudo cp /etc/X11/vncserver-virtual-dummy.conf /etc/X11/xorg.conf
Furthermore, I tried to locate this file /etc/X11/xorg.conf that one also does not exist in the X11 directory.
Please sign in to leave a comment.