this post was submitted on 11 Dec 2024
56 points (85.9% liked)
Linux
48624 readers
1415 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Wine already exists and can run pretty new Windows software. A fork also exists for MacOS and the other BSDs can also run Wine.
Running Windows apps on Linux natively seems impractical to me, the OSes are structured very differently and I'm fairly sure this would introduce many hard to fix CVEs.
ReactOS does actually submit patches to wine sometimes because they use parts of wine! But they have their own windows-like kernel so they only need wine for userland, not the whole thing
WINE does run wiindows apps natively on linux.
That's not what natively means
You know what WINE stands for?
You know that running through a compatibility layer isn't native whether you call it an emulator or not?
It runs natively. Compatibility layer or not.
The software run inside of wine makes windows system calls, which wine translates into *nix system calls. That's not what native means. If that software was native it wouldn't need wine.
That's what libraries do. glibc converts application calls to Linux syscalls. libgl converts application calls to driver calls.
It depends on where you draw the line at "native". Unless you're writing assembly you're using some sort of 'compatibility layer'.