Slashdot Mirror


Ask Slashdot: Could Linux Ever Become Fully Compatible With Windows and Mac Software?

dryriver writes: Linux has been around for a long time now. A lot of work has gone into it; it has evolved nicely and it dominates in the server space. Computer literate people with some tech skills also like to use it as their desktop OS. It's free and open source. It's not vendor-locked, full of crapware or tied to any walled garden. It's fast and efficient. But most "everyday computer users" or "casual computer buyers" still feel they have to choose either a Windows PC or an Apple device as the platform they will do their computing on. This binary choice exists largely because of very specific commercial list of programs and games available for these OSs that is not available for Linux.

Here is the question: Could Linux ever be made to become fully compatible with all Windows and Mac software? What I mean is a Linux distro that lets you successfully install/run/play just about anything significant that says "for Windows 10" or "for OSX" under Linux, without any sort of configuring or crazy emulation orgies being needed? Macs and PCs run on the exact same Intel/AMD/Nvidia hardware as Linux. Same mobos, same CPUs and GPUs, same RAM and storage devices. Could Linux ever be made to behave sufficiently like those two OSs so that a computer buyer could "go Linux" without any negative consequences like not being able to run essential Windows/Mac software at all? Or is Linux being able to behave like Windows and OSX simply not technically doable because Windows and OSX are just too damn complex to mimic successfully?

36 of 359 comments (clear)

  1. Yes and No by dunkindave · · Score: 5, Insightful

    Could it? Yes. Will it? No. The other OSes will always be putting something in that makes it break, and playing catchup isn't viable. You also don't want always to be the tail getting wagged by the big dogs.

    1. Re: Yes and No by WarJolt · · Score: 4, Interesting

      The question is malformed. Will Windows and Mac ever be made compatible with Linux?

      Windows 10 has implemented Linux system calls. You can run Linux apps on Windows.

    2. Re: Yes and No by Junta · · Score: 3, Interesting

      I suppose the goal is 'can linux desktop become the universal application platform' and the answer is theoretically yes, practically, no.

      For OSX apps, there hasn't even been much of an interest in theory. GNUstep had an injection of liveliness for people wanting to make at least code compile for OSX and Linux, but that enthusiasm died out. It never ever began to think about binary compatibility.

      For Windows apps, sure, wine has been doing it's job admirably, but it's chasing a moving target that has much more resources than it does.

      Now the phenomenon you mention speaks to another possibility: kernel system call emulation and just use the Windows/OSX system as-is. This is of limited utility as there isn't a supported/licensed way to do this. It's one thing to borrow the userspace of a free operatiing system, but doesn't really work for closed-source applications.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    3. Re: Yes and No by bondsbw · · Score: 4, Informative

      Also it depends on what you call "Windows software". You won't have great success with consumer software on the GUI stack, but server software is a different story nowadays. Command line is much better and Microsoft has taken big steps to making Windows Server headless. PowerShell and .NET Core now run on Linux. And ASP.NET Core is cross-platform for hosting web applications.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    4. Re:Yes and No by Ichijo · · Score: 3, Funny

      No. The other OSes will always be putting something in that makes it break

      I doubt that. Windows XP seems pretty stable now, and someday Windows 10 will be just as stable.

      --
      Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
    5. Re:Yes and No by DickBreath · · Score: 4, Interesting

      A pirated Windows is not zero cost. Microsoft does everything possible to make it have lots of costs in terms of workarounds and inconvenience. Or it just flat out failing at an inopportune time.

      Yes, Linux is zero cost. So it is definitely cheaper than the non-zero cost of pirated Windows. But Linux is also superior. The only reason for Windows is the legacy software.

      A significant fraction of people who don't use computers in their job get by with chromebooks. A whole chromebook generation of school children is also growing up.

      --

      I'll see your senator, and I'll raise you two judges.
    6. Re:Yes and No by techno-vampire · · Score: 4, Interesting

      And it is unusable garbage (unless you're one of those weirdos who *LIKES* to do everything the hardest way possible).

      Wrong, wrong, wrong, utterly wrong. About a decade or so ago, my sister, who knows how to use a computer but not how to do any troubleshooting asked me to convert her system from Windows to Ubuntu. Since then, she's asked me for computer help about once or maybe twice a year, mostly about system upgrades. Aside from that, It Just Works.

      About three years ago, I did the same for a friend's wife because he doesn't know Linux. Again, It Just Works and she's never needed any assistance. If you can't get Linux to work, either you have hardware problems or you're doing something wrong, and I've no idea which it is in your case.

      --
      Good, inexpensive web hosting
    7. Re:Yes and No by aqui · · Score: 2

      When will Application developers finally cross compile their code to work on linux, and release linux versions of their software?
      If they aren't doing it why not?

      There. Fixed your question.

      Answer: They already are. The entire cloud / internet runs on open code that runs on a nix stack. Steam is available under linux. Open and Libre office run under linux. I've found suitable replacements for almost all software I used to use under linux.
      I haven't booted into Windows (at home) in years. If a company just wants to support wall gardens then I'm happy not to use their software.

      --
      ----- "Profanity is the one language that all programmers understand."
    8. Re: Yes and No by OrangeTide · · Score: 3, Informative

      There is Linux syscall emulation on NT kernel and on L4 kernel already. And I used the Linux-compatibility in LynxOS back in the day for an RTOS project.

      FreeBSD/NetBSD carried a lot over from the older iBCS (Intel Binary Compatibility Standard) to provide Linux compatibility. NetBSD is interesting in that it still supports really old 386BSD binaries.

      Windows compatible is harder than Linux compatible. You can start from wine, Longene or ReactOS, but really unless you have the resources of Microsoft and their level of internal documentation it's not going to go well for you. But feel free to run your Linux binaries on Windows 10, it does work as advertised.

      --
      “Common sense is not so common.” — Voltaire
    9. Re: Yes and No by Junta · · Score: 2

      I just don't see this trend accelerating becoming more dominant than it already has. People still use their desktop applications all the time. My work has *repeatedly* tried to make people use brwoser hosted apps and time and time again they find whatever contortion required to open in a desktop app. Some people won't go and not all applications work out well that way.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    10. Re:Yes and No by Bert64 · · Score: 3, Insightful

      If you expect everything to work out of the box, get a mac...
      I've had just as many problems getting windows to support random hardware as linux, often the wifi or ethernet is not supported and i have to download the drivers on another system, often old hardware is not supported at all on 64bit windows but does work on 64bit linux. Having to hunt for windows drivers is just as painful, if not more so than linux.

      The advantage windows has is being either preinstalled, or provided with a custom made restore image thats already configured for the hardware it ships with. The same is true of macos, it's tailored specifically for the hardware it ships with.
      Linux is pretty much the only os that is downloaded and installed separately.

      If more general purpose linux systems were available preinstalled then it would be far easier for users. Noone has driver problems with preinstalled chromebooks, android phones or any of the thousands of embedded linux devices out there on the market.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
  2. Why? by F.Ultra · · Score: 4, Insightful

    Why is this even a question? If you want to run your Windows 10 applications, why don't you simply use Windows? Why switch to Linux if you just want it to be another form of Windows?

    1. Re:Why? by Stormy+Dragon · · Score: 4, Insightful

      Because it could be another form of Windows that's not recording everything I do, installing applications without permission, deleting files without permission, etc.

    2. Re:Why? by Korak+Silvercloud · · Score: 2

      Spend just a little time learning Linux and you will find you don't need Windows. I really don't get it, people's main complaint against Linux is it is hard to use or doesn't run what they want. The "hard to use" is just that you need to learn a little bit. Once you get used to it Linux is no more difficult than Windows. The "doesn't run ____" is fixed by spending a little time looking at Linux software till you find a replacement. Sure, you don't some proprietary software, on the other hand you normally get something open source that does the same thing and is free. Then also you get an OS that listens to you and respects your rights. No recording everything you do, no installing apps without asking, and no "You busy? Too bad I am rebooting right NOW."

    3. Re:Why? by Patrick_Champion · · Score: 3, Insightful

      The current Eclipse is 4.7.2 or so.

      I used a much older version with the nickname of "Helios" or something like that and 7 years ago I was able to set it up to debug a Fortran app that called C++ libraries that call Fortran libraries. I also debugged Java apps that called C++ libraries which, I think, called Fortran libraries. I was able to step from a call in one language to the library in another language, track, and even modify the variables at different levels and see the results in the other language levels.

      VERY useful. Eclipse works with a gazillion languages and environments (Linux, Windows, Android, IOS, along with various CPU's like ARM, MIPS, Intel, you name it). BUT, if you have to debug something like SQL Server SSRS packages, that I doubt would work, but hey, maybe nowadays, someone has extended Eclipse to even work with SSRS/SSIS/SSAS packages.

      Eclipse is the grand daddy. Most environments are more speciallized to things like just Java or just Android.

    4. Re:Why? by Korak+Silvercloud · · Score: 2

      Your once again though saying "I tried it for a short time, got frustrated and gave up". You didn't learn Windows overnight. Why would you expect to learn Linux overnight?

      You also just need to learn some basic commands first then you never have to "trust someone's commands". There is this magic command "man" all you have to do is type "man ______" filling in the blank with whatever command you want to know about. Suddenly you have the manual. After a few times of following a tutorial and using "man" on ever new command you see you suddenly will find you know what your doing.

      The other option is to just stick to what is in repositories or comes with packaged installers. At least till your comfortable. I know you can't tell me during your "over 30 fucking years" of using other systems you never had an install blow up in your face. Tossing out Linux because of one failed install is bit silly.

    5. Re:Why? by sn0wflake · · Score: 2

      It's 2018. Why among that trillion distributions isn't there a single one that just works? I've tried ten different distributions and each one always fail with one piece of hardware, and funny enough it's always a different piece of hardware. Why isn't there one that just works like Windows where it's uncommon that a piece of hardware doesn't work out of the box, and if it doesn't then getting and installing a driver is easy. The Linux community is also incredible toxic which just kills the one final grain of interest left to those that put themselves through the torture of Linux hell.

  3. No by IWantMoreSpamPlease · · Score: 5, Insightful

    Next dumb question?

    --
    So rise up, all ye lost ones, as one, we'll claw the clouds.
    1. Re:No by DickBreath · · Score: 2

      Actually the answer to "could it" is: Yes! Yes, it could.

      "Will it" is a different question.

      When a manager or market droid asks "could we make our software to X?", my answer sometimes is: "Yes! It could! It's software. We can make it do anything. It's just a question of time and money. How much of each did you want to spend?"

      --

      I'll see your senator, and I'll raise you two judges.
  4. Wrong Question by ipb · · Score: 3, Interesting

    Could WIndows and Mac ever become fully compatible with Linux software?

    1. Re:Wrong Question by kurkosdr · · Score: 2

      Who cares about that? Any sufficiently mature (read: usable) FOSS piece of software has a Windows port or Windows equivalent (OpenShot video editor is the latest example of a piece of software getting a Windows port once it got mature enough to be usable). It's Linux that has various holes in application support. Try to watch BluRay (or protected video streams) on Desktop Linux or doing content creation without Adobe's tools.

  5. No by Vairon · · Score: 2

    No, because OSX and Windows 10 contains proprietary code and probably 3rd party licensed code that Apple, Microsoft and their partners will never license under a free (libre) license that is usable in a Linux distribution. Projects like WINE will never be 100% compatible because they are trying to implement a moving target. As soon as they have reproduced the old API, there is a new not fully compatible API they have to work towards.

  6. WINE by transformania · · Score: 3, Informative

    If this is what you want, I encourage you to become one with the community behind WINE. And, chances are they have already put a lot of effort into making, the few Windows apps worth your time, work (cough..Photoshop...cough...games...)

  7. It's not apps by rsilvergun · · Score: 2

    most computers are sold to OEMs and if an OEM pushes Linux Microsoft threatens to pull their OEM discounts. The CEO of Acer (Asus?) bitched about it publicly around the time netbooks took off.

    On the plus side Linux _is_ competition. Microsoft was forced to drop prices substantially on a Windows license. On the downside this lead to them doing all sorts of nasty stuff to monetize Windows (subscription fees for business editions, installing demo software without permission, the Windows Store, etc, etc).

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  8. No, never! Better options... by slashname3 · · Score: 2

    Why? In order to run native windows software an emulator would be needed.

    The better option is to find open source options for each of the windows type applications that are considered "essential".

    Openoffice or what ever the current variation is, provides a majority of the applications typical users need.

    Gimp provides another alternative, and so and so on.

    Trying to run apps natively is folly. Better to get or make better alternatives to required functions.

    Back in the day Wordstar was the required application until it was supplanted by Word. It can be done.

    Also, don't go the dual boot route. Commit to linux and run it at all times. That is the way to find solutions to all the little programs people think they need.

  9. Do Developers want to be compatible? by Prien715 · · Score: 5, Insightful

    Software can be cross-platform if that's one of the goals of the developer.

    VLC is the best video player out there -- and it works for Linux/Windows/MacOS. So is Libre Office and Microsoft has even managed develop a cross-platform code editor -- and each one is in an entirely different programming language (C++/Java/Javascript respectively).

    Will there be a day when developers mostly write cross-platform software? One can hope.

    --
    -- Political fascism requires a Fuhrer.
  10. What X server on Windows 10 by tepples · · Score: 2

    Windows 10 has implemented Linux system calls. You can run Linux apps on Windows.

    Using what X server, if the app happens to be graphical? Microsoft doesn't provide one, and the free version of Xming hasn't been updated in a decade. Or would the app run in a localhost web server, with JavaScript in a web browser handling user interaction?

    1. Re:What X server on Windows 10 by postbigbang · · Score: 3, Interesting

      One day a VM or container will contain enough guts to safely run the apps in less than a hypervisor mode. Until then, the answer for all three is: Not really. Better still, it shouldn't happen. One flaw in Windows affects Windows, but rarely MacOS or Linux/BSDs. One well-done flaw can kill/maim one host, but not all three.

      We survive.

      --
      ---- Teach Peace. It's Cheaper Than War.
  11. Applications still not ported after 7+ years by tepples · · Score: 4, Insightful

    The "doesn't run ____" is fixed by spending a little time looking at Linux software till you find a replacement.

    Since I posted this list of applications that are not ported to GNU/Linux several years ago, Netflix has become ported. But the majority have not been. So what replacement would you recommend for each of the following?

    Adobe Photoshop, including adjustment layers, print color matching, and full compatibility with PSD files you receive from clients or team members
    Adobe Animate (formerly Flash), including exporting vector animations to HTML5
    TurboTax
    Stone Edge Order Manager
    Sonic Mania
    Diablo III
    StarCraft II
    Street Fighter V
    Call of Duty: Black Ops III

    1. Re:Applications still not ported after 7+ years by Anonymous Coward · · Score: 4, Funny

      A girlfriend

  12. Mistating the situation by DaveV1.0 · · Score: 2

    Computer literate people with some tech skills also like to use it as their desktop OS.

    No, People with a lot of tech skills who don't mind spending a lot of time manually adjusting things on their computer use Linux as their desktop OS. People with better things to do use Windows or OS X.

    But most "everyday computer users" or "casual computer buyers" still feel they have to choose either a Windows PC or an Apple device as the platform they will do their computing on.

    No, most "everyday computer users" or "casual computer buyers" don't know or care about Linux and those that do know there are too many things in Linux require a lot of tech knowledge and the ability to use the command line that they don't wish to learn.

    This binary choice exists largely because of very specific commercial list of programs and games available for these OSs that is not available for Linux.

    The problem is the mindset of the Linux faithful.

    "Closed source applications are EVIL!"

    "Software should be free!"

    "We want source code!"

    "You need help?!? RTFM, you fucking n00b!"

    "No one should use Windoze! You want us to make Linux more user friendly and accessible? Fuck you, Windoze Luzer!"

    Until Linux gets a larger desktop user base, those applications you want to see on Linux won't be available because there is no profit in it. Linux won't get a larger desktop user base until the community gets it's collective head out of it's ass. Until then, the only hope for Linux on the desktop is a killer app and I don't see that coming anytime soon.

    Bottom line, almost all Linux development is geared toward server use and even the people who want to see Linux succeed on the desktop either can't or won't do what is necessary to see it happen.

    --
    There is no "-1 offended" or "-1 you don't agree with me" mod options for a reason.
  13. Please by movdqa · · Score: 2

    Someone asked me to compare Windows with OSX and my answer is that I can't because I use OSX almost all the time. The only exception is two programs that I need to run. One of them has ported to OSX though and I will be purchasing it for OSX and running it. The other program is Windows-Only. No evidence that it will run under WINE. So I run a WIndows 7 VM on OSX to run it. It leaks VM on Windows 10. I would be so happy to get rid of Windows. Would I move from OSX to Linux. Unlikely. Too much nice UI candy and Apps that sync well with iOS.

  14. Re:No. by kiminator · · Score: 2

    Even in that case I'd have to say the answer is still no. There will be bugs that Microsoft isn't aware of, that game devs either intentionally or unintentionally exploit, which will always lead to discrepancies. The Windows APIs are just far too complicated to do the emulation precisely enough for it to always work.

    For a simple kind of example, imagine a game dev writes a multi-threaded algorithm that has a concurrency bug. This concurrency bug remains undetected because in Windows, the various threads always execute in a certain order due to the way thread scheduling and timing work out. But the moment you port it to Linux, the thread scheduler is different, so the threads execute in a different order and the game deadlocks immediately.

    This is just one possibility of many that can result in bugs when games run on an emulated Windows stack.

    To highly just how absurdly difficult this is, notice that not even Microsoft can get it 100% right when trying to emulate older versions of Windows on modern versions. If you've ever tried to install really old games, you know how those edge cases can bite you. They do an impressively good job, but ultimately there are always edge cases that remain.

  15. When will my software run on Linux? by alienghic · · Score: 2

    You probably actually want the answer to the question "when will the software I care about run on Linux"?

    And the answer is "if there is a market for it, developers will port their software."

    There are a fair number of games available via Valve Steam for Linux, there would probably be more if more if more people bought games on Linux. Hopefully Valve will put some more time into SteamOS as Windows 10 S is a threat to Steam's business model.

    One thing that might also help is to set your browsers user agent to a Linux. The low representation of Linux on netcraft is used by larger companies to justify not supporting Linux.

  16. Re:no, but by Dynedain · · Score: 2

    Almost every one of Adobe's Creative Cloud products are for both Windows and OSX. What would they have to lose by selling Linux versions as well?

    I guarantee you they have spent many times your annual paycheck in order to evaluate if they'll number of licenses they sell for Linux will pay off the development costs of making Linux versions of their desktop software.

    For a totally contrary perspective to your argument, in the "enterprise" space (Microsoft Azure and Adobe Marketing Cloud respectively) both companies do a huge amount of revenue on Linux stacks.

    --
    I'm out of my mind right now, but feel free to leave a message.....
  17. Games do not interoperate; use cases explained by tepples · · Score: 2

    Half your list is games, there are now LOTS of good games that run on Linux. If you look around you can find games like those on your list.

    But none that are network-compatible with those on my list. Unlike business software, whose users can collaborate through a shared file format, different games do not interoperate in multiplayer. A user would have to get all his friends to purchase a different game and switch from their preferred game to that (possibly inferior) game.

    I don't know your use case for Stone Edge so kind of hard for me to find a drop in replacement.

    Consider the e-commerce back end of a toy shop. Tasks include adding and updating product information, taking orders from customers in person (POS), importing customer orders from the seller's account on online sales channels such as Amazon, purchasing stock to cover existing and future orders (comprising making a purchase order with a distributor, adjusting the PO quantities based on the invoice, and receiving it to stock), updating stock quantity on online sales channels, allocating stock to orders, and mobile or web applications to pick, pack, and ship.

    Photoshop can probably be replaced with GIMP. This again would require some learning and probably some plugins to get all the features you need.

    In Photoshop, an adjustment layer is a layer generated by applying one or more filters to the pixels in layers below it. It automatically updates itself when the layers below it change. It's sort of like a spreadsheet, where a cell can contain a formula for its value, or a makefile, which applies a recipe to some files to create another file. A web search produces results showing that this functionality is highly desired by users of GIMP but not implemented, such as "How to create the equivalent of an Adjustment Layer in an editor that does not support it?". What plugin for GIMP automates this process of tracking dependencies on lower layers and applying a filter when they change?

    Adobe Animate can be replaced by a number of animation tools. Again you would have to find best for your use case.

    The features I'm looking for in a replacement for Adobe Animate include timeline-based editing, automatic inbetweening, rendering the finished animation to video, and exporting to HTML5 vector animation using Canvas or SVG (which is much smaller in bytes than video). Slashdot users often mention Synfig Studio as a replacement for Adobe Animate, but "export" in Synfig Studio means something completely different. If I wanted to animate and just render to video, I'd probably use Blender, but exporting to HTML5 vector animation is important to users on slow or capped connections to the Internet.

    In the end though I am too lazy to do all your homework for you.

    Then a measurable advantage of sticking with Windows, at least for a small business without the resources to hire a specialist in migration to GNU/Linux, is that sticking with familiar industry-standard software requires spending less time==money on doing homework.

    The very worst case you use virtualbox and run a VM for that program.

    Because this VM would require purchasing an operating system license, for the purpose of the article, this would correspond to Betteridge's answer: "no".