Hi! My understanding is that a lot of Blender developers use Linux as their development platform. (I currently have Windows and macOS dev environments.)
I’d like people’s opinion on what constitutes an effective Linux set up. I have found over the years as a developer, having an environment that matches what other people use is a great way to keep things sane on a complex project.
For instance…
What is a popular setup? E.g., if almost all devs at Blender Institute doing Linux-based development have a Linux box set up in some particular manner, tell me what it is and I will do that!
Is Windows 10 / WSL realistic? (I could do that now.)
Or is moving to Windows 11 / WSL2 better (better integration between the two platforms, or whatever)?
Or is having a dedicated machine / dual boot better than Windows / WSL?
Is there a “best” distro for Linux development (e.g., one with the “best” GPU support, or whatever)? Or one to be avoided? (I cringe a little asking this… no flame wars, please.)
If you are curious why I am asking: my Windows-based HW is (very slightly) nicer than my Mac, and has an NVIDIA GPU (RTX 3070). But working with git, cmake, etc. using cmd feels… weird… to me. I like a Unix shell and like iTerm (on macOS)… but Vulkan seems to be The Way (although I love where Metal is going!).
To me, if you have an opinion related to this topic but is not Linux per se – like, we don’t have enough people developing and testing on macOS, please just do that! – that is fine with me and hopefully others won’t see it as off-topic.
I hope asking for opinions doesn’t cause headaches for the moderators; please close this topic if it does, or if this question isn’t focused enough.
I think it’s mostly a personal preference, there are developers on all platforms. Many are on Linux and spread across distributions like Ubuntu, Debian, Arch, Fedora and any of those is fine. In some ways we mostly lack Windows developers since the userbase is overwhelmingly on Windows.
I don’t know of anyone using WSL for Blender development, but certainly Windows is used. I would guess most Windows developers use Visual Studio and do not use the command line much compared to those on Linux or macOS. It is possible to set up a Unix type shell on Windows too (I use Git Bash + Cmder for example), but certainly it takes some effort to make it nice.
On Linux the most popular IDE is Visual Studio Code, and there is a guide for how to set it up in the links above.
I find whole premise is a bit strange, git and cmake feel “weird”… I don’t see running them on wsl isn’t gonna make it any less weird? “I like a shell, but vulkan is the way to go” it’s all just… a bit disjointed…i struggle a bit to follow the train of thought.
That being said, my advise is the same it always has been, the best development environment is the one that works for you , for some people it’s Visual studio on windows, for some it’s vscode on any platform, for some it’s xcode on mac, some people thrive on emacs
It’s a lot like picking your favorite ice-cream flavor, there’s no one right answer, just because i like strawberry doesn’t mean you wouldn’t like vanilla better.
Try some things, use whatever makes you productive.
I can only agree with that. I did most of my Blender development on Windows with a regular cmd terminal and Notepad++, not even using an IDE. That worked fine for me. There is no right or wrong here, try out what works best for you.
While the “whatever works for you is fine” is of course correct, it is not very helpful to people like the OP who want to know which of many choices they should try first to see if it works for them. There is indeed an advantage to doing what other developers have decided to do because they will have discovered, e.g., what setup automatically keeps their code formatted with Clang-format.
Brecht’s post should guide OP to the correct well-lit paths, I think.