I'm on Ubuntu 18.04, this is how I solved it:
I've created the virtual display using the answer to this question: https://unix.stackexchange.com/questions/378373/add-virtual-output-to-xorg
Create a 20-intel.conf file:
sudo vi /usr/share/X11/xorg.conf.d/20-intel.conf
Add the following configuration information into the file:
Option "VirtualHeads" "2"
This tells the Intel GPU to create 2 virtual displays. You can change
the number of VirtualHeads to your needs.
Then I made a shell script (don't forget to set executable) and put that in Startup Applications:
/usr/bin/xrandr -d :0 --output VIRTUAL1 --primary --auto
/usr/bin/xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900$
/usr/bin/xrandr --addmode VIRTUAL1 "1600x900_60.00"
That way, VIRTUAL1 is set as output and connected. At boot, a new mode (found using "cvt 1600 900") is being created and appointed to VIRTUAL1.
Only issue with this is: dock is missing at reboot... Haven't solved that yet.