OpenGL on remote desktop


I’m using remote desktop often, and whenever I’m trying to start pcbnew, it complains the “a higher than 2.1 OpenGL is required”. Then it reverts to the classic mode, which I find much less convenient, or to Cairo, which is much much slower (at least on my machine).
Am I missing something?



The first Google hit explains why
MS Remote Desktop declares OpenGL 1.1


Yes, I’m aware of this entry. Thanks. It took me a long while to post this question here - I was actually hoping there is a way around it. Does anybody know if there are plans to make Cairo as usable as the OpenGL view, or force Kicad to be happy with OpenGL1.1?

To be clear, I’m aware that this is a Microsoft issue, I’m just wondering if anyone else have dealt with this before and has a workaround…


Other victims of this use alternatives to MS remote desktop like VNC.


Cairo is an external library not related with KiCad. It is best known from produce consistent results across different platforms.

The speed that you experience on Pcbnew using OpenGL is mainly because of the OpenGL 2.1 features: shader support (that were only introduced in 2.0 version).
KiCad is using a very conservative version of the Opengl shaders language, introduced in 2006 (12 years ago)


Have you been able to resolve this issue?

If not have you tried using a batch file to start KiCad? Within the batch file first disconnect the remote desktop session and reconnect the session to the console, then start KiCad. When you log back in KiCad should be running as if it were started normally on the local machine.


Hmm… interesting!
I did notice that if I log on RDP when Kicad is already running, It won’t complain about OpenGL version. If I understand you correctly, this is a workaround to do this remotely, correct?

I’ll give it a try, excellent idea.


From a console window in your Remote Desktop session run the following command:

tasklist /fi “imagename eq tasklist.exe”

this will give the session name and # of your remote desktop session on the remote machine.

In your batch file you would have something like:

tscon sid /dest:console
start “C:\Program Files\KiCad\bin\kicad.exe”

where sid is the session id of the remote desktop session. You would probably add the session ID as a command line parameter.

Run the batch file. After reconnecting to the remote machine and KiCad should be running.