ManimCommunity / manim

A community-maintained Python framework for creating mathematical animations.
https://www.manim.community
MIT License
21.41k stars 1.57k forks source link

Installation instructions for WSL 2 on Windows (for devs) #1522

Open RickyC0626 opened 3 years ago

RickyC0626 commented 3 years ago

Enhancement proposal

The Windows file system could be unbearably slow sometimes, especially for project compilation, and in some cases the usage of CLI commands like git. Though we do not have to abolish the Windows instructions completely, we can encourage the usage of WSL 2 on the Linux file system, as it is comparably faster. Linux is also an ideal environment with lesser headaches for software development, so having these instructions would be a plus.

Installation instructions will be similar to Linux, just additional steps involving Windows setup.

Additional comments

Example of slow compilation

This problem is not locked to this project, as I have experienced similar problems compiling other projects, also dealing with the Windows file system.

This could be a different problem entirely, but having additional options is also good.

Good first issue.

naveen521kk commented 3 years ago

The Windows file system could be unbearably slow sometimes,

Do you think using WSL changes it? IIRC, WSL doesn't change the filesystem.

especially for compilation,

Are we compiling anything? I see you say "compiling" in quite some places, what are we really compiling?

Linux is also an ideal environment with lesser headaches for software development, so having these instructions would be a plus.

That's true but for an ideal Manim user, that would be too much.

Though we do not have to abolish the Windows instructions completely, we can encourage the usage of WSL 2 on the Linux file system, as it is comparably faster.

I am not against adding these instructions, but I would keep them in the dev-only section of the installation, IMO it's useless for normal users.

Example of slow compilation

I would recommend them to have a look at install mesa (https://moderngl.readthedocs.io/en/latest/install/installation.html#using-with-mesa-3d-on-windows) and make things work.

RickyC0626 commented 3 years ago

Do you think using WSL changes it? IIRC, WSL doesn't change the filesystem.

I think one of the issues is that accessing Windows desktop files via WSL would be slower than accessing files in root directory of Linux file system.

I am not against adding these instructions, but I would keep them in the dev-only section of the installation, IMO it's useless for normal users.

Fair point, the instructions will be in dev-only section, considering that manim will become generic enough that the end user would not necessarily have much software experience.

Darylgolden commented 3 years ago

I am not against adding these instructions, but I would keep them in the dev-only section of the installation, IMO it's useless for normal users.

Is that really true? I think there are some users who prefer WSL for all their programming/development work who might want to have those instructions easily visible too.

naveen521kk commented 3 years ago

Is that really true?

I don't think an average user will use WSL, while Manim natively supports running on Windows(and can be installed easily, say using chocolatey).

I think there are some users who prefer WSL for all their programming/development work who might want to have those instructions easily visible too.

They can who's stopping them :). What I am saying if this is prominent in the user installation section, they would think Manim doesn't support running natively on Windows and can only be run using WSL (which isn't the case).

RickyC0626 commented 3 years ago

They can who's stopping them :). What I am saying if this is prominent in the user installation section, they would think Manim doesn't support running natively on Windows and can only be run using WSL (which isn't the case).

Then I guess the instructions could stay in the dev section, but add a link to it from the user section, as an alternative.

hydrobeam commented 3 years ago

The steps become significantly easier if you upgrade to the developer version of Windows. Should this be mentioned as a possible starting point?

RickyC0626 commented 3 years ago

The steps become significantly easier if you upgrade to the developer version of Windows. Should this be mentioned as a possible starting point?

Perhaps in installation instructions for developers, but reference it from user instructions for those who are already comfortable with development or want to get into development.