2,652
edits
m (→WSL2) |
|||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This article has some little script snippets that should ease the installation of XDS and related programs like ([[XDS-viewer]], [[xdsstat]], [[XDSGUI|xdsgui]]). It is assumed that binaries (or links to binaries) should go to /usr/local/bin . This means that you should do this as the administrator (root), or have sudo rights (Mac, and some Linux distros). | This article has some little script snippets that should ease the installation of XDS and related programs like ([[XDS-viewer]], [[xdsstat]], [[XDSGUI|xdsgui]]). It is assumed that binaries (or links to binaries) should go to /usr/local/bin . This means that you should do this as the administrator (root), or have sudo rights (Mac, and some Linux distros). | ||
Line 63: | Line 64: | ||
Alternatively, tkdiff may be installed, or other graphical comparison programs, like meld or kdiff3. vimdiff is also nice, and probably already installed. | Alternatively, tkdiff may be installed, or other graphical comparison programs, like meld or kdiff3. vimdiff is also nice, and probably already installed. | ||
For [[Eiger]] data processing, <code>H5ToXDS</code> should be installed as [[Eiger|explained]], and <code>h5dump</code> should be installed by e.g. <code>yum -y install hdf5</code>. Furthermore, you want the [https://www.dectris.com/company/news/newsroom/news-details/process-eiger-data-with-xds-fast Neggia] library or the [https://github.com/DiamondLightSource/durin Durin plugin]. | For [[Eiger]] data processing, <code>H5ToXDS</code> should be installed as [[Eiger|explained]], and <code>h5dump</code> should be installed by e.g. <code>yum -y install hdf5</code> (Ubuntu: <code>apt install hdf5-tools</code>). Furthermore, you want the [https://www.dectris.com/company/news/newsroom/news-details/process-eiger-data-with-xds-fast Neggia] library or the [https://github.com/DiamondLightSource/durin Durin plugin]. | ||
== Mac OSX == | == Mac OSX == | ||
Line 128: | Line 129: | ||
The programs of the [[XDS]] package as well as [[XDSGUI]], [[XDSSTAT]], [[XDSCC12]] and so on may be run on 64bit Windows 10 within the [https://docs.microsoft.com/windows/wsl/install-win10 Linux Subsystem for Windows] (WSL, or preferably WSL2). This (easily!) installs e.g. an [https://ubuntu.com/wsl Ubuntu] environment, which supports the apt package manager, so in principle any software available for Ubuntu may be installed (or other distros, see [https://blogs.msdn.microsoft.com/commandline/2017/05/11/new-distros-coming-to-bashwsl-via-windows-store/]). | The programs of the [[XDS]] package as well as [[XDSGUI]], [[XDSSTAT]], [[XDSCC12]] and so on may be run on 64bit Windows 10 within the [https://docs.microsoft.com/windows/wsl/install-win10 Linux Subsystem for Windows] (WSL, or preferably WSL2). This (easily!) installs e.g. an [https://ubuntu.com/wsl Ubuntu] environment, which supports the apt package manager, so in principle any software available for Ubuntu may be installed (or other distros, see [https://blogs.msdn.microsoft.com/commandline/2017/05/11/new-distros-coming-to-bashwsl-via-windows-store/]). | ||
Graphical Linux programs require installation of a X server like [https://sourceforge.net/projects/xming/files/latest/download Xming] or [https://sourceforge.net/projects/vcxsrv VcXsvr] or [https://mobaxterm.mobatek.net/ Mobaxterm] on the Windows host. There are helpful writeups (e.g. [https://wiki.ubuntu.com/WSL#Running_Graphical_Applications] and [http://wsl-guide.org/en/latest/]). VcXsrc seems to have a problem with coot for some people (see [https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=COOT;6ef4a967.2011 WSL2 installation] and responses). To use the X server, one has to say in the shell window | A lot of technical detail is at [https://docs.microsoft.com/en-us/windows/wsl/compare-versions] . | ||
CCP4 supports WSL-1 ; see info at http://www.ccp4.ac.uk/download/#os=wsl . | |||
Graphical Linux programs require installation of a X server like [https://sourceforge.net/projects/xming/files/latest/download Xming] or [https://sourceforge.net/projects/vcxsrv VcXsvr] or [https://mobaxterm.mobatek.net/ Mobaxterm] on the Windows host. There are helpful writeups (e.g. [https://wiki.ubuntu.com/WSL#Running_Graphical_Applications] and [http://wsl-guide.org/en/latest/]). VcXsrc seems to have a problem with coot for some people (see [https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=COOT;6ef4a967.2011 WSL2 installation] and responses). To use the X server with WSL, one has to say in the shell window | |||
export DISPLAY=:0 | export DISPLAY=:0 | ||
before running the program. Running XDSGUI under WSL's Ubuntu may require installation of a few packages with e.g. | before running the program. Running XDSGUI under WSL's Ubuntu may require installation of a few packages with e.g. | ||
Line 145: | Line 150: | ||
A detailed [https://strucbio.biologie.uni-konstanz.de/pub/xds%20%20prog%20installation%20in%20WSL%20(Lata%20Panicker).pdf writeup for Ubuntu 20.04 LTS] was provided by Dr Lata Panicker, SO(G), BARC, India. | A detailed [https://strucbio.biologie.uni-konstanz.de/pub/xds%20%20prog%20installation%20in%20WSL%20(Lata%20Panicker).pdf writeup for Ubuntu 20.04 LTS] was provided by Dr Lata Panicker, SO(G), BARC, India. | ||
=== WSL2 === | |||
I got CCP4 7.1 including coot-0.9.3 to work on Ubuntu 20.04 LTS with Xming but not with VcXsrc. Getting the Xserver to work properly requires addition of 3 lines in ~/.bashrc : | |||
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0 | |||
# (David Waterman) if the above does not work, use: export DISPLAY=$(ip route|awk '/^default/{print $3}'):0.0 | |||
export LIBGL_ALWAYS_INDIRECT=1 | |||
source /opt/xtal/ccp4-7.1/bin/ccp4.setup-sh | |||
and creating a file (replace MYUSERNAME with your Windows username) | |||
cd /mnt/c/Users/MYUSERNAME/ | |||
echo "[wsl2]" > .wslconfig | |||
echo "kernelCommandLine = vsyscall=emulate" >> .wslconfig | |||
to make the shelx* programs happy (see https://github.com/microsoft/WSL/issues/4694 ), and "vsyscall=emulate" appear in /proc/cmdline. After creating the file, WSL must be restarted with "wsl.exe --shutdown" (or the machine booted). | |||
A few libraries also needed installation (tcsh is needed by CCP4, the others are graphics libraries): | |||
sudo apt install tcsh libqt5opengl5 libqt5printsupport5 libqt5gui5 libxcb-render0 libxcb-shm0 libglu1-mesa | |||
In addition, the Xming Xlaunch needed a box checked that prevents access control; and the Windows firewall needed a rule for port 6000 as shown in https://stackoverflow.com/questions/61110603/how-to-set-up-working-x11-forwarding-on-wsl2 . | |||
It seems that XLaunch has to be started before the Ubuntu terminal in which I start the graphical application. | |||
Performance of coot is good enough for me (100 frames/sec for "Spin view" of a thaumatin molecule, on a Dell XPS13 7390 2-in-1 notebook). XDSGUI and multi-threaded XDS work as expected. For reading .h5 files, the NEGGIA plugin works correctly, but the DURIN plugin currently crashes (a [https://github.com/DiamondLightSource/durin/issues/22 bug] has been reported). | |||
Update concerning coot 0.9.5: it crashes for me when using XMing. Other applications, like ccp4i, still work. The error message is: | |||
(set-display-intro-string "Good afternoon ,,,. Welcome to Coot 0.9.5") | |||
(set-display-lists-for-maps 1) | |||
coot-bin: Fatal IO error 11 (Resource temporarily unavailable) on X server 172.17.112.1:0.0. | |||
coot-bin: Fatal IO error 11 (Resource temporarily unavailable) on X server 172.17.112.1:0.0. | |||
. ------ Coot crashed - trying to diagnose ----- | |||
ldd -r on guile gives: | |||
linux-vdso.so.1 (0x00007fffd4f93000) | |||
libguile.so.17 => /opt/xtal/ccp4-7.1/libexec/../lib/libguile.so.17 (0x00007f7c5df33000) | |||
libgmp.so.10 => /opt/xtal/ccp4-7.1/libexec/../lib/libgmp.so.10 (0x00007f7c5dcb2000) | |||
and more lines with library names that exist on the disk. | |||
'''I tried MobaXterm (private edition) and this works better - coot runs!''' | |||
== See also == | == See also == | ||
[[Cluster Installation]] | [[Cluster Installation]] |