1

Is it possible to transport the VSCode window via X11?

I've set up an headless RPi v3B+ and installed the 32-bit ARM Version of VSCode.

I connect to the PI via ssh ssh -Y [email protected]. Graphical programs like xeyes do work! Starting VSCode does not return anything:

pi@raspberrypi:~ $ code
pi@raspberrypi:~ $
5
  • I just tried it on a 3B+ - I wouldn't bother - the CPU hits 80-100% when code is idle
    – Bravo
    Oct 22, 2021 at 4:18
  • I do bother as this is a POC. ps -eaf | grep code does not return any results. The problem ist not high CPU, it's the fact that nothing is happening. If this would work I could upgrade my hardware to a RPi4.
    – urbanSoft
    Oct 24, 2021 at 22:35
  • Fair enough - you must've done something wrong, because it runs - oh, and it's only just usable on a pi4 - what's the output of which code ... then file $(which code) ... perhaps code is not the right code on your system, maybe you've installed something else called code
    – Bravo
    Oct 25, 2021 at 8:23
  • (which code) => /usr/bin/code: symbolic link to /usr/share/code/bin/code I'm 100% sure code is correctly installed since I can connect to my pi via xorg session and start code successfully!
    – urbanSoft
    Oct 28, 2021 at 7:44
  • right .... have you tried ssh -X instead?
    – Bravo
    Oct 28, 2021 at 8:22

1 Answer 1

1

I have the same problem. I am running a PI4 and I'm logged into the desktop over X11 using Xming. Most/many programs work fine. I've been writing python in Thonny for instance. I installed the latest version of vscode as per these instructions.

Starting VSCode does not return anything, as per the original post.

Adding the "--verbose" flag generates more useful output.

$ code --verbose |grep -i error
[3409:1104/094859.425736:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Unsupported GLX version (requires at least 1.3).
[3409:1104/094859.426075:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Unsupported GLX version (requires at least 1.3).
[3409:1104/094859.426927:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[3409:1104/094859.431862:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Unsupported GLX version (requires at least 1.3).
[3409:1104/094859.432735:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Unsupported GLX version (requires at least 1.3).
[3409:1104/094859.433992:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[3409:1104/094859.434910:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed.
[3409:1104/094859.488546:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[3422:1104/094859.704051:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Unsupported GLX version (requires at least 1.3).
[3422:1104/094859.704378:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Unsupported GLX version (requires at least 1.3).
[3422:1104/094859.704619:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[3422:1104/094859.709321:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Unsupported GLX version (requires at least 1.3).
[3422:1104/094859.709616:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Unsupported GLX version (requires at least 1.3).
[3422:1104/094859.709780:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[3422:1104/094859.710269:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed.
[3422:1104/094859.777082:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
  'ignore-certificate-errors': false,
[3432:1104/094900.004554:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Unsupported GLX version (requires at least 1.3).
[3432:1104/094900.004898:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Unsupported GLX version (requires at least 1.3).
[3432:1104/094900.005069:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[3432:1104/094900.020428:ERROR:angle_platform_impl.cc(43)] Display.cpp:977 (initialize): ANGLE Display::initialize error 12289: Unsupported GLX version (requires at least 1.3).
[3432:1104/094900.020688:ERROR:gl_surface_egl.cc(852)] EGL Driver message (Critical) eglInitialize: Unsupported GLX version (requires at least 1.3).
[3432:1104/094900.020839:ERROR:gl_surface_egl.cc(1489)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[3432:1104/094900.020998:ERROR:gl_ozone_egl.cc(21)] GLSurfaceEGL::InitializeOneOff failed.
[3432:1104/094900.137141:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[main 2022-11-04T16:49:00.353Z] [File Watcher (node.js)] Error: ENOENT: no such file or directory, stat '/home/taeron/.config/Code/User/settings.json'

I observed that several of the errors relate to the gpu so next I tried:

$ code --verbose --disable-gpu |grep -i error
  'ignore-certificate-errors': false,
[3538:1104/095015.309129:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.
[3538:1104/095015.507995:ERROR:x11_software_bitmap_presenter.cc(141)] XGetWindowAttributes failed for window 25165827
[3538:1104/095015.510058:WARNING:connection.cc(41)] X error received.  Request: CreateGCRequest, Error: DrawableError{.sequence = 36, .bad_value = 25165827, .minor_opcode = 0, .major_opcode = 55}
[main 2022-11-04T16:50:15.544Z] [File Watcher (node.js)] Error: ENOENT: no such file or directory, stat '/home/taeron/.config/Code/User/settings.json'
[3538:1104/095015.619564:WARNING:connection.cc(41)] X error received.  Request: FreeGCRequest, Error: GContextError{.sequence = 38, .bad_value = 31457280, .minor_opcode = 0, .major_opcode = 60}

Now fewer errors remain. Does this move anyone closer to an answer?

3
  • how does this answer the question?
    – jsotola
    Nov 12, 2022 at 0:40
  • is that rhetorical?
    – Kano
    Nov 14, 2022 at 17:01
  • no ... you posted additional information ... it belongs in the question, not in an answer
    – jsotola
    Nov 14, 2022 at 17:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.