Windows native SDK support
I read the Modular page, Mojo page, specifically the "Get started with Mojo" page, and the "Roadmap & sharp edges" page. I cannot find any details on this. I also checked the various channels on this server and searched the mojo-chat forum by OS, Windows, etc.....
.
Approximately when (I realize no one has a crystal ball) does the dev team feel that the first (even available beta) Mojo SDK will be ready for Windows (not WSL2) native support.
.
Why I am asking. We are currently planning to shift from Python3 to Crystal which now has Windows native support, i.e. not just WSL2, although it is still not Tier 1, but frankly the compiler and VS Code extension are working very nicely. Python3 is solid, but it is too slow (even with NumPy) and at least for now Python does not ship default with Windows so we want a native binary .exe to ship our apps that does not require the client to join the Python3/PIP ecosystem...for various IT gatekeeper, etc. reasons.
.
We would really like to try out Mojo beyond the Jupiter notebook, web playground; i.e., get our hands dirty on the Windows native SDK with VS Code Extension.
.
If the timing is 2-3 months we can wait, if it is a year we cannot.
.
Thanks for any information that could be provided.
112 Replies
No windows support yet. Nor date announced yet. Luckily Linux is free!
hey Pop-os ๐ nice @Brock
Yes, you speak truth....that there is no Windows Native SDK support and that Linux is free and that no date is announced. I requested a ballpark idea so I could make some decisions, but see that is likely not going to be available and/or discussed.
In a way this does answer the question and makes my decision making easy.
the staff is not online yet
Hi, we don't have a timeline for native Windows yet, but please upvote this ticket to show your support: https://github.com/modularml/mojo/issues/620
GitHub
[Feature Request] Native Windows support ยท Issue #620 ยท modularml/m...
Review Mojo's priorities I have read the roadmap and priorities and I believe this request falls within the priorities. What is your request? native support for windows. when will it be availab...
Why did you pick "Crystal" not something else like "GO" or "Zig", for my knowlegde only ๐
Seems like windows native support is 2nd on the most upvoted at the moment
Congrats @sryu1, you just advanced to level 3!
hey is there any update on release of native windows support?
Congrats @Dark_Wolf, you just advanced to level 2!
hey is there any update on release of native windows support?
Hi, not at this stage, sorry. There is a build for native Windows, but it has issues that need to be worked through. The focus right now is on the MAX Developer Edition, once that's released this quarter we should have cycles to work on Windows.
And then Arch and then Intel Macs I assume?
I'm not sure on the order after Windows, there's also arm64 linux
Android seems much more reasonable ๐
Android is Arm Linux
Thar's why I mentioned it ๐
I think
native Windows
is a weird phrase. I get that there is WSL
but isn't WSL
fundamentally still Linux
? So wouldn't just Windows
be native Windows
and WSL
just be WSL
? I dunno where this term native Windows
came from and who popularized it but I don't particularly like it.What are main issues porting Mojo to Windows? If I would guess, I would say probably that it is just weird, almost all other OSes outside are Unix-like or at least are significantly close to being Unix like than Windows.
The absolutely amazing devs at Modular will bless us with a native Window's version when they are ready.
@Jack Clayton great news to hear that you are porting it to Windows! I have a bunch of friends who also would like to test Mojo but they are WIndows ppl. That will also open the doors to be tested in my company.
Congrats @Mr J, you just advanced to level 2!
Yup.
So can we get a current update status of native windows release?
It'll likely be the next OS natively supported since it has the most requests
... i meant it as in time... that is update can be like 5 updates away and we wouldn't know
Modular tries not to give a hard estimate like this, estimating a deadline is hard. It'll come when it comes - 5 updates, 6 six? Who knows
Depends on what they deem priority
The team is currently working hard to meet their Q1 target for MAX's wide release
Sorry, no updates on native Windows just yet. As @Melody Daniel says, MAX is the focus right now, and then GPU support. We realize how important native Windows is to people! We just haven't had the engineering cycles to make it happen yet.
Oh ok
Can you tell please approximately when we can await native support?
Don't have a hard date yet sorry, there are some other priorities like GPU support. Stay tuned for updates though!
I am disappointed ๐ญ . Have been waiting for almost an year now
I agree, I wished it would have been a prio, my company is researching changing from Python to Rust for some of the libraries, and I wished we could have proposed Mojo.
I think this is an almost essential feature, most modern statically compiled programming languages support native windows builds.
Iโm just wondering when itโll come to any other system ๐คทโโ๏ธ. VMโs and docker containers can only be used for so much (not all that great if you want to write a GUI lib for Mojo and down own a Linux machine).
And even for things like AI training itโs very difficult to transfer files from a container to my own machines hard drive.
There are people in the company that care very much about Windows, and it's hugley important to a very large amount of developers. There are just other priorities at the moment like open sourcing. We started with Linux x86-64, have added macos arm64, and linux arm64. We'll get to Windows and everything else, just need the cycles, the team is growing fast.
I know, and Iโm impressed by the significant progress I simply am sad I donโt have a machine I can use mojo on
True it's annoying! I just purchased a Dell XPS 15 9530 for my personal machine and put Ubuntu 22.04 on it to be able to use MAX without a remote machine (works great btw). Understand the frustration, we'll get there!
Is that a CPU?
CPU is: https://ark.intel.com/content/www/us/en/ark/products/232135/intel-core-i9-13900h-processor-24m-cache-up-to-5-40-ghz.html it's a little beast for the form factor
Intelยฎ Coreโข i9-13900H Processor (24M Cache, up to 5.40 GHz) Produc...
Intelยฎ Coreโข i9-13900H Processor (24M Cache, up to 5.40 GHz) quick reference guide including specifications, features, pricing, compatibility, design documentation, ordering codes, spec codes and more.
Any specific use case in mind for it?
For running MAX locally
Right ๐คฆโโ๏ธ
any update on the native windows release status?
Not yet sorry, there are some other very high priorities like GPU support, but we definitely understand how it important it is for everyone.
GPU support > windows support in my books as well
Pls forgive me for wanting native Windows Support.
Pls don't ban me for wanting it.
No oneโs banning anyone for wanting Windows support. Itโs actually fairly difficult to be banned here, just be a good person and use common sense ๐
again asking this (ik it's getting repetitive, sorry ๐) but... any new update on GPU support and native windows?
Also could you clarify why gpu support is important and is it a new thing in this language or has it existed before.
(I'm a student in class 12... just really interested in this stuff ๐)
GPU support is coming in the summer. Windows will have to be after that I think
It better be lol
Or it may not. Modular prioritises things based on internal needs.
Yeah, I was just kidding
More specifically (since they are a for profit company): what the investors and consumers need
Any news here?
Nope @Serg, just like every other platform, theres gonna be some waiting
Are there any news?
In the past 16 days there has not been a windows release, no.
I'm still waiting. I'm using the college notebook that doesn't have WSL
I'm still waiting
Any news here?
Is there Mac Intel support yet? Arch Linux? Weโre also waiting.
I'm finally starting to look into dev containers for Mac
Wsl is working great guys ๐๐ผ Why do you even bother ?
Agree
I agree with the above aswell, I prefer WSL over native windows even when I have both as an option
Shipping a project that has WSL dependency is big-no-no for customers. Most customers expect to see an executable that will run with ease with minimal dependencies whom are easily installed. Also we had a lot of issues with getting a major corp (can't name) to accept a docker based solution because of security risks that come along with WSL
For prototyping and R&D WSL is good but one of the primary goals of Mojo is to also be a good language for production. For that it needs to natively support all major platforms.
Mojo is not ready for production yet
Congrats @Tensorflowters, you just advanced to level 1!
I never said it were.
Then what does it matter if WSL isn't great for customers?
wsl required hyper-V
so, when we can expect native support?
I am also waiting for Windows Platform support, but right now it is more than enough for using WSL and I don't see exactly extreme need for Windows platform support. actually all my projects are Linux based and I don't think that I will ever use Windows based Server or PC
so are you waiting for Windows Platform support or not?
Yes I am waiting but it is not interrupting any of my current projects.
One thing I think is important to consider here is that supporting Windows natively has a bunch of compromises you need to make. MacOS was technically the last certified UNIX, and Linux is a UNIX clone, so they share a LOT of the same DNA. The biggest differences a normal developer will run into is kqueue vs epoll/io_uring. Windows was designed in a very different way and as one of the first OSes with native async io (because NTFS is slow and basically required it), they made some mistakes there. Windows also has its own way of doing processes that doesn't work so well with the UNIX model. Go tried to hammer Windows into the UNIX model and it worked out poorly, so I suspect that Modular will either be forced to use the lowest common denominator (not great for a performance focused language), or have os.linux/os.unix/os.macos/os.windows and have most of os.linux and os.macos call into os.unix. As an example, even if it technically is cross-platform, many Python libraries are Linux only because of this issue but can be made to work on MacOS or other Unixes, but using them on Windows is difficult. As a result, I think that Windows support will take a while since Windows can use WSL as a way to make it work for now.
The difficulty required to support Windows is why I think it should not hold up Intel Mac support
I'm not actually sure you can buy an Intel Mac at this point. It may be hard for them to get their hands on them.
Interesting.
IIRC Intel Mac support is not planned by Modular.
(and given the AI focus it wouldn't make much sense, either)
That doesn't make sense but it doesn't matter. At some point the compiler will get open sourced.
Well, that's not what I heard.
Congrats @Ace, you just advanced to level 1!
After looking into the claims, I do not consider the allegations to be of serious value
Well at the end of the day... as long as I get native Windows SDK I don't really care about any rumours.
Thumbs up for Windows native SDK?
I can also confirm as a moderator that nobody has been banned or will be banned for asking for windows support assuming they are following other rules
There was a user that started hurling personal insults at other members in the community around Windows support, and continued to do so after being asked not to, so they were banned. They then created alt accounts, claiming they were banned because they asked for Windows support. This isn't the case, as long as you're not attacking users at a personal level you're free to express your opinion.
I think attacking other member is not good in this good community.
By the way, when can I use this wonderful ๐ฅ on windows environent?
WSL works just fine right now for end-users, but Windows native is probably a ways off since deploying AI servers on Windows Server is EXPENSIVE. These prices buy you a 16 thread server (because MS licensing doesn't acknowledge that hyperthreading exists), meaning that licensing a consumer 7950x3d as an AI server would cost ~2x this. Server essentials doesn't allow more than 10 cores. If you stick a modern high-end processor in a server and use windows, you're looking at 8x these prices. MS prices out many people from running AI on Windows, and Nvidia doesn't really even support most of their AI features on Windows, so why prioritize it beyond "WSL works"?
These are yearly subscription prices by the way.
Oh, this is the wonderful answer.
So, for the cost of licensing a 7950x3d, I can make another halfway decent 7950x3d server.
This is also why Academia prefers Linux, even if you want support Redhat and SUSE license by socket for lower cost than this.
As a python developer, I'm feeling python's low speed on windows desktop program or core engine running on windows on local environment.
Can't I use ๐ฅ's wonderful performance on windows native local environemt...
This is for an entire server licensed with RHEL, not per 16 threads in task manager.
I will be quite happy when Windows support comes, but I just gave you the reasoning why I don't blame modular for ignoring native Windows for a while. Every Windows dev has a Linux VM built into the OS, and most companies deploy to Linux servers. Additionally, Windows has a really dumb calling convention/ABI which requires you to put way too much stuff on the stack.
I see.
Everything is clear.
Thank you very much.
we are trying to focus first on GPU and ubuntu, which is what will help the company make money, so Windows, even though it's part of the roadmap, is not something that we'll work on immediately. On the other hand, there's interesting work we need to do in many fronts, testing, CPU debugging, GPU debugging, LSP, language interop, etc.https://ptb.discord.com/channels/1087530497313357884/1151418340548542484/1271533276154167326
Well, I guess we'll take you at your word.
BoneyMVEVO
YouTube
Boney M. - Ma Baker (Sopot Festival 1979)
The performance of Boney M. to โMa Bakerโ at the Sopot Festival 1979.
You can listen to all songs of Boney M. here: https://lnk.to/BoneyM
Subscribe to the channel and activate notifications: https://www.youtube.com/channel/UCJOXLX2b_uMEct1r5F4PMXQ
โบ https://www.facebook.com/BoneyM.de
โบ https://www.instagram.com/boneym.official/
โบ https://...
Maybe someone knows when windows support will be?
Congrats @๐ก๐ช๐ท๐ญ๐ธ๐ถ ๐๐พ๐, you just advanced to level 1!
Windows is something that will take a bit, WSL exists and very few people run AI workloads on Windows server.
Nvidia doesn't really even support most of their AI features on Windows
WDYM by this? Asking out of curiosity
Windows has zero support for some of the things they want to do. However, you can do basic compute in WSL, which is enough to test locally before moving to a Linux server for production.
In terms of AI, you are right. But imo Mojo has potential to significantly benefit much more than just AI. It can be a great general purpose programming language as it combines efficiency of C++ with simplicity of Python. I understand this isn't priority for Modular team but this is generally the reason why most of us are interested in native windows support
Yes, Mojo is a general purpose language. However, Windows Server, which Modular would be required to use, is VERY expensive to use on large servers. There's also very few companies doing client-side development in compiled languages, most people are using web apps or electron. Some of the things that MAX is likely going to do are simply not possible on Windows, which is another issue.
I'm curious about these some of the things that are not possible on Windows, do you have any examples?
Most kinds of kernel bypass networking, which you need (especially on Windows), to do low latency networking. To make it work you need specific network cards from one manufacturer.
Windows does not believe in mapping PCIe control registers into userspace memory.
I guess they would use this for multi-device computing right?
Or building any kind of networking-intensive program.
The linux kernel runs circles around windows for networking, kernel bypass with DPDK or similar runs circles around even the best usage of linux kernel APIs.
Thanks! I will research more into these topics to understand them better, really intreresting stuff