Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Atom does not start when using x2go #4360

Closed
nestoru opened this issue Dec 1, 2014 · 74 comments
Closed

Atom does not start when using x2go #4360

nestoru opened this issue Dec 1, 2014 · 74 comments

Comments

@nestoru
Copy link

@nestoru nestoru commented Dec 1, 2014

  • I first saw the issue for version v0.152.0 debian package in ubuntu 12.04 VM running on vmware ESXi.

$ [20853:1201/101159:ERROR:browser_main_loop.cc(162)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
Xlib: extension "XInputExtension" missing on display ":10.0".
Xlib: extension "XInputExtension" missing on display ":10.0".
App load time: 368ms
[20877:1201/101159:ERROR:gl_surface_glx.cc(333)] GLX 1.3 or later is required.
[20877:1201/101159:ERROR:gl_surface_x11.cc(57)] GLSurfaceGLX::InitializeOneOff failed.
[20877:1201/101200:ERROR:gpu_child_thread.cc(143)] Exiting GPU process due to errors during initialization
atom: Fatal IO error 11 (Resource temporarily unavailable) on X server :10.0.

  • I then installed it from webupd8 team:

sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom

However I got the same issue.

  • I compiled then from sources following all instructions from README but still got the same issue.

To replicate just right click on a file to get a context menu and once you start moving your mouse it will fail with the error above.

  • I updated to latest version debian package (186) won't even start. It will fail right up front with the same error.
@kevinsawicki kevinsawicki added the linux label Dec 11, 2014
@antond
Copy link

@antond antond commented Feb 13, 2015

I am on 0.179.0 and facing the same issue on Ubuntu 12.04.5 LTS (precise) with the Trusty Hardware Enablement Stack.

Here's some verbose command output that may help:

~$ LIBGL_DEBUG=verbose atom
~$ [17198:0213/075539:ERROR:browser_main_loop.cc(164)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
Xlib:  extension "XInputExtension" missing on display ":10.0".
Xlib:  extension "XInputExtension" missing on display ":10.0".
App load time: 100ms
Xlib:  extension "XInputExtension" missing on display ":10.0".
Xlib:  extension "XInputExtension" missing on display ":10.0".
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL: driver does not expose __driDriverGetExtensions_swrast(): /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so: undefined symbol: __driDriverGetExtensions_swrast
ATTENTION: default value of option force_s3tc_enable overridden by environment.
libGL: Can't open configuration file /home/.../.drirc: No such file or directory.
libGL: Can't open configuration file /home/.../.drirc: No such file or directory.
libGL error: failed to load driver: swrast
[17220:0213/075539:ERROR:gl_surface_glx.cc(357)] GLX 1.3 or later is required.
[17220:0213/075539:ERROR:gl_surface_x11.cc(56)] GLSurfaceGLX::InitializeOneOff failed.
[17220:0213/075539:ERROR:gpu_child_thread.cc(145)] Exiting GPU process due to errors during initialization
atom: Fatal IO error 104 (Connection reset by peer) on X server :10.0.

Ubuntu info:

~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:    12.04
Codename:   precise

And the glxinfo output:

~$ glxinfo
name of display: :10.0
libGL error: failed to load driver: swrast
display: :10  screen: 0
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
    GLX_ARB_create_context, GLX_ARB_create_context_profile, 
    GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float, 
    GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample, 
    GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
    GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB, 
    GLX_EXT_create_context_es2_profile, GLX_MESA_copy_sub_buffer, 
    GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer, 
    GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, 
    GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, 
    GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, 
    GLX_INTEL_swap_event
GLX version: 1.2
GLX extensions:
    GLX_ARB_get_proc_address, GLX_EXT_import_context, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_MESA_multithread_makecurrent
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.3 Mesa 4.0.4
OpenGL extensions:
    GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_texture_border_clamp, 
    GL_ARB_texture_cube_map, GL_ARB_texture_env_add, 
    GL_ARB_texture_env_combine, GL_ARB_texture_env_dot3, 
    GL_ARB_transpose_matrix, GL_EXT_abgr, GL_EXT_blend_color, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_draw_range_elements, 
    GL_EXT_multi_draw_arrays, GL_EXT_texture_env_add, 
    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, 
    GL_EXT_texture_lod_bias, GL_SGIS_texture_border_clamp, 
    GL_SUN_multi_draw_arrays

7 GLX Visuals
    visual  x   bf lv rg d st  colorbuffer  sr ax dp st accumbuffer  ms  cav
  id dep cl sp  sz l  ci b ro  r  g  b  a F gb bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------------
0x025 16 tc  1  16  0 r  y .   6  5  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x026 16 tc  1  16  0 r  y .   6  5  5  0 .  .  0 16  8 16 16 16  0  0 0 None
0x027 16 tc  1  16  0 r  y .   6  5  5  8 .  .  0 16  8 16 16 16 16  0 0 None
0x028 16 dc  1  16  0 r  y .   6  5  5  0 .  .  0 16  0  0  0  0  0  0 0 None
0x029 16 dc  1  16  0 r  y .   6  5  5  0 .  .  0 16  8 16 16 16  0  0 0 None
0x02a 16 dc  1  16  0 r  y .   6  5  5  8 .  .  0 16  8 16 16 16 16  0 0 None
0x02b 16 dc  1  16  0 r  . .   6  5  5  8 .  .  0 16  8 16 16 16 16  0 0 None

This is a VM running on KVM, so the VGA driver for it is generic and not GLX 1.3 capable:

~$ lspci | grep VGA
00:02.0 VGA compatible controller: Cirrus Logic GD 5446

Is there a setting in Atom that can disable this requirement (at an expected expense in rendering quality, of course)?

@rpavlik
Copy link

@rpavlik rpavlik commented Mar 4, 2015

If this is the general "doesn't work without DRI GLX", consider this a me-too. Running latest release from source on Debian Jessie, in a Virtualbox VM accessed through a Cygwin X-server (which supports aiglx). Initially it crashes on startup because it can't find swrast, after installing swrast I get this error (here just using raw X from guest to host, no ssh forwarding):

[5881:0304/160818:ERROR:browser_main_loop.cc(164)] Running without the SUID sandbox! See https://code.google.com/p/chromium/wiki/LinuxSUIDSandboxDevelopment for more information on developing with the sandbox on.
[5881:0304/160818:INFO:audio_manager_pulse.cc(258)] Failed to connect to the context.  Error: Connection refused
App load time: 116ms
[5913:0304/160819:INFO:renderer_main.cc(211)] Renderer process started
The program 'atom' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 259 error_code 2 request_code 12 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

and sometimes this as well:

[5965:0304/160927:ERROR:gles2_cmd_decoder.cc(3823)] GLES2DecoderImpl: Context lost because context no longer current after resize callback.
[5965:0304/160927:ERROR:gles2_cmd_decoder.cc(3952)] Error: 5 for Command kResizeCHROMIUM
[5965:0304/160927:ERROR:gles2_cmd_decoder.cc(3823)] GLES2DecoderImpl: Context lost because context no longer current after resize callback.
[5965:0304/160927:ERROR:gles2_cmd_decoder.cc(3952)] Error: 5 for Command kResizeCHROMIUM
[5965:0304/160927:ERROR:gles2_cmd_decoder.cc(3823)] GLES2DecoderImpl: Context lost because context no longer current after resize callback.
[5965:0304/160927:ERROR:gles2_cmd_decoder.cc(3952)] Error: 5 for Command kResizeCHROMIUM
@batjko
Copy link
Contributor

@batjko batjko commented Mar 4, 2015

Updated on Ubuntu 14.04 from v177 to the latest version (186) today without a problem, using the .deb installer.

@fusentasticus
Copy link

@fusentasticus fusentasticus commented Apr 24, 2015

On Ubuntu 14.04 (Mint 17) as host (running X client) Atom.io will not run in either x2go or TurboVNC sessions for similar reasons.

So is Atom usable with any remote desktop software when running under Linux?

Is there a way to pass something like " --disable-webgl " to Atom?

Tried with Atom editor version: 0.192.

@fusentasticus
Copy link

@fusentasticus fusentasticus commented Apr 24, 2015

Answering my own question: tigervnc (v 1.4.3.) does the job! Atom starts without a hitch.

@rpavlik
Copy link

@rpavlik rpavlik commented Apr 24, 2015

Still would be good to know if we could disable unnecessary webgl, since there's no reason to use VNC to access a VM running on the same computer.

@arussell
Copy link

@arussell arussell commented Apr 30, 2015

Confirming that it won't work for me either under X2Go on Ubuntu 14.04 due to the lack of GLX support in an X2Go session. Chromium's --disable-gpu flag silences the complaints about GLX errors, but it still fails to connect to the X server despite this.

@boustanihani
Copy link

@boustanihani boustanihani commented May 10, 2015

Same here using X2Go & Xubuntu 14.04 :(

@thejordanclark
Copy link

@thejordanclark thejordanclark commented May 11, 2015

Not that the distro's really matters it's an Atom issue, but this also is preventing Atom to work through X2Go on Manjaro.

@pla1
Copy link

@pla1 pla1 commented May 27, 2015

rdesktop over VPN connection to a Ubuntu 14.04.2 LTS desktop fails with GLX 1.3 or later is required.

Atom version 0.202.0

@elico
Copy link

@elico elico commented Sep 17, 2015

Same thing on Debian Jessie amd64 using x2go client atom 1.0.11

@thomasjo thomasjo closed this Oct 21, 2015
@jrgifford
Copy link

@jrgifford jrgifford commented Nov 9, 2015

@thomasjo Why is this closed without any information? Is the bug fixed?

@thomasjo
Copy link
Member

@thomasjo thomasjo commented Nov 9, 2015

@jrgifford Pretty sure I didn't mean to close this one. At the very least I don't understand why I did. Thanks for the heads up!

@thomasjo thomasjo reopened this Nov 9, 2015
@arussell
Copy link

@arussell arussell commented Nov 20, 2015

Another "me too" for this. Been hoping to try Atom for a while but my main dev environment is an X2go one, so no luck there. Tried every possible chromium option I could think of that disabled GPU acceleration/WebGL but no dice. Chrome/Chromium on the other hand do work over X2go.

@satulovsky
Copy link

@satulovsky satulovsky commented Nov 23, 2015

Me too... trying to use Atom via a manually compiled xrdp 0.9.0. Chrome, however, complaints in the same way as Atom, but starts fine:
$ /opt/google/chrome/chrome
Xlib: extension "XInputExtension" missing on display ":10.0".

@wangxuepeng
Copy link

@wangxuepeng wangxuepeng commented Dec 14, 2015

Same problem using Ubuntu 15.10 desktop.

Any workarounds yet?

@gclifford
Copy link

@gclifford gclifford commented Dec 21, 2015

I am also getting this issue on Ubuntu Mate 15.10

@dsmithdewarcom
Copy link

@dsmithdewarcom dsmithdewarcom commented Feb 11, 2016

Same issue with dpkg install of v1.5 (atom-amd64.deb) on headless 12.04 server (bare metal) --> vnc

@tonywmnix
Copy link

@tonywmnix tonywmnix commented Feb 28, 2016

I was seeing the same error message and debugged it down to an X extension "BIG-REQUESTS". You can use xtrace to trace all the X traffic and I saw an 8MB message before it crashed.
I first disabled all extensions with (xtrace -e ) and that worked.
My final hack was to copy libxcb.so.1 into /usr/share/atom, open up in editor, and change 'BIG-REQUESTS' to '_IG-REQUESTS'. I figure when the client library asks if this extension is supported it will reply no and no more big messages.
hope this helps

@IronicBadger
Copy link

@IronicBadger IronicBadger commented Mar 9, 2016

@tonywmnix - the libxcb.so.1 hack worked for me with Ubuntu Mate 15.10 via XRDP. Thanks.

@bs-ug
Copy link

@bs-ug bs-ug commented Mar 11, 2016

@tonywmnix & @IronicBadger
Could you please write a step-by-step instruction? I've no idea how you did it. When I view the file in mc I can't find 'BIG-REQUESTS'. There are only 'big_requests' but when I change them I get errors when running atom (something like "don't know what to do with _ig_requests...").

I've Windows10 host with Xubuntu 15.10 on Hyper-V and RDP session (not the most convenient solution but the only one working reasonably with UHD monitor).

@IronicBadger
Copy link

@IronicBadger IronicBadger commented Mar 11, 2016

@bs-ug I just used vi. Then search for the string and replaced it.

@bs-ug
Copy link

@bs-ug bs-ug commented Mar 11, 2016

@IronicBadger - So simple! Thanks!

@gary-dalton
Copy link

@gary-dalton gary-dalton commented Mar 14, 2016

@tonywmnix libxcb.so.1 hack worked for me on Debian. Well done

@elico
Copy link

@elico elico commented Mar 14, 2016

And why not just use a symlink to the original file?
For cases when it is binded to a specific libxcb.so version then it would make sense to use this specific library file.

@nestoru
Copy link
Author

@nestoru nestoru commented Mar 14, 2016

Just to give an update here that ubuntu 14.04 LTS with atom 1.5.4 debian package downloaded from https://atom.io/ works out of the box without any issues over xrdp. Cheers, - Nestor

@zparihar
Copy link

@zparihar zparihar commented Jan 10, 2017

It worked for me on CentOS 7 with XFCE on X2GO with both the Website Version of Atom and the COPR Repository Version:

Instructions:

METHOD 1: WEBSITE VERSION OF ATOM

yum install libXScrnSaver redhat-lsb-core.x86_64 libXScrnSaver.i686
wget https://atom.io/download/rpm
mv rpm atom-date +%b-%d-%Y-Centos7.x86_64.rpm
rpm -ivh atom-Centos7.x86-64.rpm
yum install libxcb.x86_64
cp /usr/lib64/libxcb.so.1
/usr/share/atom/
cd /usr/share/atom/
sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' libxcb.so.1*

-=======================================-
METHOD 2: COPR REPOSITORY VERSION OF ATOM

wget https://copr-be.cloud.fedoraproject.org/results/alonid/yum-plugin-copr/epel-7-x86_64/00110045-yum-plugin-copr/yum-plugin-copr-1.1.31-508.el7.centos.noarch.rpm
rpm -ivh yum-plugin-copr-1.1.31-508.el7.centos.noarch.rpm
yum copr enable helber/atom
yum update
yum install atom
yum install libxcb.x86_64
cp /usr/lib64/libxcb.so.1* /usr/share/atom/
cd /usr/share/atom/
sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' libxcb.so.1*
-=======================================-

HOWTO INSTALL X2GO with XFCE on Cento7

#1. Add EPEL repository first.
yum install epel-release

#2. Then, install X2Go server package using command:
yum install fuse-sshfs
yum install x2goserver x2goserver-xsession

#3. Install XFCE Desktop
yum -y groupinstall "Xfce"
-=======================================-

Hope this helps!

@clintidau
Copy link

@clintidau clintidau commented Jan 18, 2017

The libxcb.so.1 hack works for me on Fedora 25 with X2Go and XFCE.

@jlozadad
Copy link

@jlozadad jlozadad commented Jan 21, 2017

@zparihar
this worked for me on rhel 7.2 but, I can only launch it from CL.

@zparihar
Copy link

@zparihar zparihar commented Feb 1, 2017

@elico
Copy link

@elico elico commented Feb 24, 2017

@zacharysarah woks for me on CentOS latest(7.3?).
a MATE desktop over x2go.

@gm42
Copy link

@gm42 gm42 commented Mar 17, 2017

Bug still present in Atom 1.15.0

@Daemoen
Copy link

@Daemoen Daemoen commented Mar 24, 2017

Bug is also present in the 1.16 beta. If you happen to be testing the beta, remember to update the copy and said as appropriate. Using CentOS 7.3 x2go with MATE works just fine now.

@pumuckly
Copy link

@pumuckly pumuckly commented Apr 10, 2017

Bug is still exists in 1.15.0 but @tonywmnix hack's works well on Ubuntu 14.04.5 LTS

@ghost
Copy link

@ghost ghost commented Apr 23, 2017

The libgconf-2-4 package might be missing preventing the application to launch.
This might help:
sudo apt-get install libgconf-2-4

@defong
Copy link

@defong defong commented May 15, 2017

Title is a not really

Atom does not start when using x2go

it more of window manager for x not x2go or tightvncserver

Came across this when

Debian from minimal install
using
lxde http://lxde.org/
or
awesomewm https://awesomewm.org

go thro atom install
then
apply @tonywmnix hack's

then it works for x2go and tightvncserver

@edwinjhlee
Copy link

@edwinjhlee edwinjhlee commented May 21, 2017

The hack does works on Ubuntu 16.04.

However, I found the backspace doesn't work in the vscode editor panel(backspace works at search panel and command panel) and also, I cannot select the completion with enter. Is it possible that is the side-effect of the hack library?

@bneijt
Copy link

@bneijt bneijt commented Jun 21, 2017

I use atom via X2GO and decided to disable the BIG-REQUESTS extension of X2Go:

  • open /etc/x2go/x2goagent.options
  • Change X2GO_NXAGENT_DEFAULT_OPTIONS to include -extension BIG-REQUESTS

Then restart the server and reconnect to have atom working in x2go

@blaer
Copy link

@blaer blaer commented Jun 21, 2017

bneijt's solution worked like a charm. Prefer it over patching shared objects with regular expressions.

@elico
Copy link

@elico elico commented Jun 27, 2017

@bneijt by server do you mean service(software) or server(machine)?

@bneijt
Copy link

@bneijt bneijt commented Jun 30, 2017

@elico service, not the whole server. It is a setting specific to the x2go service (software)

@elico
Copy link

@elico elico commented Jul 2, 2017

@bneijt Thanks!
I was 99% that this is what you meant but now 100%.
I tried it here with CentOS and it seems to work great.
No need for any libraries patches\hacks to work with atom and couple other applications.

@johann-petrak
Copy link

@johann-petrak johann-petrak commented Aug 10, 2017

Getting problems when running this on a server to which I connect using ssvnc.
With an old version of atom (1.6.2) the following fix worked:

  • copy libxcb.so.1 into /usr/share/atom
  • sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' libxcb.so.1

However with more recent versions, 1.19.0 or 1.20.--beta0 a different problem occurs: atom does start but all characters inside the editor window (with the exception of the menu bar which is in Courier) are shown as reactangles (unknown character placeholders?)

@erioshi
Copy link

@erioshi erioshi commented Sep 5, 2017

The fix for a ppa based install of Atom for both x11 forwarding and x2go using Ubuntu 16.04 and Mint is:
~$ sudo ln -s /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0 /opt/atom/libxcb.so.1
~$ sudo sed -i 's/BIG-REQUESTS/_IG-REQUESTS/' /opt/atom/libxcb.so.1

I did not have the same problem listed by @johann-petrak.

@myudkowsky
Copy link

@myudkowsky myudkowsky commented Sep 28, 2017

I experienced the atom/x2go problem on Ubuntu with atom from both the standard repository (i.e., installation via "snap") and with atom from the webupd8team launchpad repository.

@bneijt's answer works, and as others have mentioned, has the advantage that it does not require patching code that may or may not need to be re-patched in the next release.

Please note that you must add "-extension BIG_REQUESTS" on the server, i.e., the remote server that you're connecting to.

@ssplavec
Copy link

@ssplavec ssplavec commented Dec 30, 2017

Not using x2go (at least I don't believe I am), but experienced the same problem on Linux Mint 18.2 (MATE).
Copied /usr/lib/x86_64-linux-gnu/libxcb.so.1 to /usr/share/atom
Opened libxcb.so.1 in 'vi' and change BIG-REQUESTS to _IG-REQUESTS
Now Atom starts just fine.
Thanks to all who helped solve this problem.

@2vishnui
Copy link

@2vishnui 2vishnui commented Jul 9, 2018

Thanks @ggodreau for the easy steps specific to version 16
thanks @NelsonCrosby for steps
thanks @tonywmnix for fix

@sitsofe
Copy link

@sitsofe sitsofe commented Nov 22, 2018

As noted in other Atom bugs this appears to be a version of an upstream bug electron/electron#2256 that affects some VNC/NX servers (note that new versions of tigervnc's server do not seem to manifest this issue).

@stale
Copy link

@stale stale bot commented Nov 22, 2019

Thanks for your contribution!

This issue has been automatically marked as stale because it has not had recent activity. Because the Atom team treats their issues as their backlog, stale issues are closed. If you would like this issue to remain open:

  1. Verify that you can still reproduce the issue in the latest version of Atom
  2. Comment that the issue is still reproducible and include:
    • What version of Atom you reproduced the issue on
    • What OS and version you reproduced the issue on
    • What steps you followed to reproduce the issue

Issues that are labeled as triaged will not be automatically marked as stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.