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

Update Win10 WSL installation information (Move from Wiki to RTD, update recommendations for FSLEyes/WSL1) #2952

Merged
merged 6 commits into from
Oct 28, 2020

Conversation

joshuacwnewton
Copy link
Member

@joshuacwnewton joshuacwnewton commented Oct 14, 2020

Related Issues/PRs

Fixes #2950.
Fixes #2747.

Description

Currently, we link to the developer Wiki from RTD for WSL installation steps. But, if information is meant for our users, then we should be putting it directly on RTD instead. (The developer Wiki updates frequently, so broken links are an inevitable issue.)

This PR moves the page from the Wiki to RTD as a long-term fix. (The information is a verbatim copy of https://github.com/neuropoly/spinalcordtoolbox/wiki/Misc:-SCT-on-Windows-10:-Installation-instruction-for-SCT-on-Windows-subsytem-for-linux with some formatting tweaks.)

At the same time, this is a good opportunity to address our recommendations regarding:

  • FSLEyes installation (Part of FSL? Standalone conda install?)
  • WSL1 vs. WSL2

➤ Rendered doc: https://spinalcordtoolbox.com/en/jn-2950-move-win10-installation-info/

@joshuacwnewton joshuacwnewton added the documentation category: readthedocs, sourceforge, or SCT courses label Oct 14, 2020

#. Install FSL

FSL contains fsleyes which is the default viewer for NIfTI image in SCT.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is FSLeyes still part of the whole FSL package? and by the way: now that FSLeyes is a standalone package, shouldn't we recommend instead of install FSLeyes (much lighter)?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, good observation! From the FslWiki:

FSLeyes can either be installed as part of FSL, installed into a conda environment, or installed into a Python environment (for advanced users).

Since we already use a conda environment for the SCT install, this does indeed seem like a much simpler way of going about it.

Copy link
Member

@jcohenadad jcohenadad Oct 19, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lrouhier @gaspardcereza can you confirm installation of FSLeyes with conda within WSL is seamless?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't try to run FSLeyes yet (WSL2 is not really mean to run GUIs...). I think there's a way to do so but the few tutorials I saw were very advanced stuff (at least to me). I can only say that installing FSL following their instructions went well (even if it required ~1h on my end) and that prelude is working. Maybe @lrouhier managed to launch FSL eyes on his end (if so that would be of interest to me because I don't really have a good nifti viewer).

Copy link
Contributor

@lrouhier lrouhier Oct 19, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last time installing with conda wasn't working really well because I had some dependency issues.. I can try again if need be.
Fsleyes works really well once you installed (At least it is still working on my end). I am still using WSL 1 however (an old discussion about the why: #2747)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your feedback @mariehbourget! If you found an easy solution to install FSLeyes within WSL, then we should definitely replace the current approach with your suggestion. Do you mind modifying the current SOP with your approach? here. Thank you so much!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is interesting as the newest conda version might work great (I tested it back in March). It might have been a wxpython install as mentionned in your link. That's why I went with the fsl install.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have permissions to modify directly in this PR, should I use a fork?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alexfoias or @joshuacwnewton can you add Marie Helene please? thanks

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jcohenadad I added @mariehbourget on the repo with WR.

Copy link
Member

@mariehbourget mariehbourget left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the instructions with FSLeyes and wxPython instead of FSL.
It works with Xming on my computer : Ubuntu 20.04 on WSL1 in a python 3.7 conda environment. However, I haven't tested with the full installation of SCT.

@jcohenadad
Copy link
Member

@mariehbourget thank you so much! 🎉

@gaspardcereza I don't see any of your investigations on this thread, so I'm copy/pasting what you wrote in your our internal meeting:

WSL1/Ubuntu 18.04 → OK
WSL1/Ubuntu 20.04 → Not working
WSL2/Ubuntu 18.04 → Currently investigated
WSL2/Ubuntu 20.04 → Not working

Could you please try installing FSLeyes based on @mariehbourget instructions.

If you experience any issue, please report it immediately (don,t try to fix it on your end, because if you're having the issue, it means that anyone on the planet could have the same issue-- the goal here is to reproduce and document-- then we can fix if necessary). @lrouhier could you please also try on your end

thanks!

@gaspardcereza
Copy link

Sorry @jcohenadad I was still trying to make it work.
On my end, I use WSL 2. I tried to follow the installation process with Ubuntu-18.04 and Ubuntu-20.04. In both cases, it results in the following error: Error: Can't open display: 127.0.0.1:0.0. @lrouhier found out that it was due to the fact that WSL 2 is a VM so it has it's own address. I found a tutorial that allowed me to run FSLeyes correctly from WSL2:
https://bigfont.ca/using-graphical-user-interfaces-in-wsl2/

Note that it will require to deactivate you're firewalls under Public network settings (might be risky...).

@jcohenadad
Copy link
Member

Sorry @jcohenadad I was still trying to make it work.
On my end, I use WSL 2. I tried to follow the installation process with Ubuntu-18.04 and Ubuntu-20.04. In both cases, it results in the following error: Error: Can't open display: 127.0.0.1:0.0. @lrouhier found out that it was due to the fact that WSL 2 is a VM so it has it's own address. I found a tutorial that allowed me to run FSLeyes correctly from WSL2:
https://bigfont.ca/using-graphical-user-interfaces-in-wsl2/
Note that it will require to deactivate you're firewalls under Public network settings (might be risky...).

so i gather WSL2 is more complicated than WSL1? Can anyone confirm? if this is confirmed, then we'll support WSL1 (not 2)

@gaspardcereza
Copy link

so i gather WSL2 is more complicated than WSL1? Can anyone confirm? if this is confirmed, then we'll support WSL1 (not 2)

Not necessarily more complicated once you know what you're dealing with (but I admit that the risk related to turning off the firewall might be a big drawback...). WSL 2 is supposed to be faster than WSL 1 and the fact that it is a full VM might also be of interest for many applications. So I guess the answer would be (as often): it depends on what you want to do. If you only want to run Linux GUI's on a Windows machine, it indeed seems better to go with WSL 1. I think that @lrouhier played with both WSL 1 and WSL 2` so maybe he'll have more to say about that comparison.

@jcohenadad
Copy link
Member

OK, we need to put ourselves in the shoes of our user base: most of those using Windows are not computer savvy. So, more than "what we want to do", the question is: "what is less complicated for our users".
the "what we want to do" is:

  • run SCT
  • run FSLeyes

@gaspardcereza
Copy link

OK, we need to put ourselves in the shoes of our user base: most of those using Windows are not computer savvy. So, more than "what we want to do", the question is: "what is less complicated for our users".
the "what we want to do" is:

  • run SCT
  • run FSLeyes

In that case I would definitely go with WSL1. @lrouhier do you confirm ?

@joshuacwnewton
Copy link
Member Author

joshuacwnewton commented Oct 20, 2020

(My apologies for being absent in the discussion. I have not used WSL personally and so I don't have much to add, but I really appreciate everyone's contributions to this PR!)

@joshuacwnewton joshuacwnewton changed the title Move Win10 WSL installation information from Wiki to RTD to replace broken link Update Win10 WSL installation information (Move from Wiki to RTD, update recommendations for FSLEyes/WSL2) Oct 20, 2020
@jcohenadad
Copy link
Member

@gaspardcereza @lrouhier can you please try to install FSLeyes according to @mariehbourget instructions?

@gaspardcereza
Copy link

gaspardcereza commented Oct 21, 2020

@gaspardcereza @lrouhier can you please try to install FSLeyes according to @mariehbourget instructions?

I followed the conda installation instructions and it worked. Contrary to @mariehbourget I did it on WSL 2 and with Xming as a display server, which means that the tutorial is compatible with that configuration too 👍

@jcohenadad
Copy link
Member

thank you for the feedback @gaspardcereza !
@lrouhier did you have a change to try?
@noemieroberge could you please also give it a try? thanks!

@lrouhier
Copy link
Contributor

Not yet I am trying it now. I have but one concern: will it work in another conda-env (e.g., if I have an ivadomed-env and a "side-project" env will it work in both ? or do I need it to install it twice? (I will check that as well but as anyone tried ?)

@lrouhier
Copy link
Contributor

The conda install works fine ! (apologies for the delay I needed to figure out how to avoid using the already installed version). It does not seem to work in multiple env however, which means that you need to have to reinstall it every time you change env (if you need it or change env every time you want to use it)

@jcohenadad jcohenadad added this to the 5.0.0 milestone Oct 24, 2020
@jcohenadad jcohenadad changed the title Update Win10 WSL installation information (Move from Wiki to RTD, update recommendations for FSLEyes/WSL2) Update Win10 WSL installation information (Move from Wiki to RTD, update recommendations for FSLEyes/WSL1) Oct 26, 2020
@jcohenadad
Copy link
Member

@joshuacwnewton I think this PR is good to go. Can you please update with master branch, and I'll review. Thanks!

@joshuacwnewton
Copy link
Member Author

Sure thing, @jcohenadad. Thank you again for your additions (ditto for other team members).

@joshuacwnewton joshuacwnewton merged commit 9a928bf into master Oct 28, 2020
@joshuacwnewton joshuacwnewton deleted the jn/2950-move-win10-installation-info branch October 28, 2020 21:37
joshuacwnewton added a commit that referenced this pull request Nov 4, 2020
The work from #2952 was accidentally removed by #2969.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation category: readthedocs, sourceforge, or SCT courses
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Documentation: broken link to WSL doc Update doc for windows users with WSL2
6 participants