Announcement

Collapse
No announcement yet.

Darling Still Has A Goal Of Running macOS Apps On Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • phereinix
    replied
    Originally posted by DoMiNeLa10 View Post
    I can't find good reasons for this project to exist.
    Then you must not have any appreciable experience using Mac applications. Quoting Jordan Hubbard, creator of FreeBSD: "The most interesting thing about [Mac OS] was that it provided polished developers tools that made it so EASY for coders to build their own applications. It was a far cry from the world of BSD and Linux."

    [Steve Jobs once tried to hire Linus Torvalds. But Torvalds declined, so he hired Jordan Hubbard. Jordan left Apple in 2013, and now he wants to bring the "Apple approach" back to the open source game.]

    You may have heard that Macintosh OSX is just Linux with a prettier interface. That's not actually true. But OSX is built in part on an open source Unix derivative called FreeBSD. And until recently, FreeBSD's co-founder Jordan Hubbard served as director of Unix technology at Apple. Now he hopes to bring "the Apple approach" to the open source community.


    What would people use it for?
    Uhh... because Mac apps tend to look better, work better, and have more features? Because of all the stuff on MacUpdate.com? Or beautiful tools like FSeventer, Path Finder, MenuMeters, CleanMyMac, et cetera? And of course Little Snitch -- the best desktop firewall ever created?

    Adobe's shitty software and sketch?
    ...With 50 million registered users?


    Somewhat related & interesting story: Running Mac OS Binaries With NetBSD

    An anonymous reader writes: "KernelTrap has an interesting article about an effort to add a Mach and Darwin binary compatibility layer to NetBSD. The project has evidently already made a fair amount of progress, currently working to stabilize the WindowServer emulation portion that will then allow NetBSD to run Mac OS X graphical applications."

    An anonymous reader writes "KernelTrap has an interesting article about an effort to add a Mach and Darwin binary compatibility layer to NetBSD. The project has evidently already made a fair amount of progress, currently working to stabilize the WindowServer emulation portion that will then allow N...

    _____


    Leave a comment:


  • lelabryant
    replied
    Originally posted by phoronix View Post
    Phoronix: Darling Still Has A Goal Of Running macOS Apps On Linux

    Darling is the open-source project we first covered back in 2012 that aimed to be able to run macOS software (binaries) on Linux. It's what Wine is to running Windows programs on Linux but rather to be able to handle Apple/Mac software. While we haven't heard much from the project recently, they still are pursuing their goal...

    http://www.phoronix.com/scan.php?pag...macOS-On-Linux
    Interesting project.

    Leave a comment:


  • jelabarre59
    replied
    Originally posted by DoMiNeLa10 View Post
    I can't find good reasons for this project to exist. What would people use it for? Adobe's shitty software and sketch? Would it be able to allow people to do iOS development (Xcode, the iOS simulator) without the need for a mac?
    Considering the way Apple's design and manufacturing are becoming shoddier and shoddier, while making it ever more impossible to repair them (or even recover your data if the board on your MBP dies), as well as doing whatever they can to block the hackintosh community, this could be a way for some people to use the MacOS applications they need without being continuously reamed by Apple. Certainly, there will be high-end users who absolutely have to use a real Macintosh for their work (perhaps needing specific non-emulatable extensions, hardware accessories, etc), and you know the MacLemmings will continue to shell out for the hardware no matter how much Apple continues to abuse them. Some professionals will be able to migrate to MSWin versions of their tools (and those would more likely run under Wine/Linux). This provides another option.

    For myself I prefer using Linux-native applications, but some tools just aren't up to "production level", unfortunate as that is. I even have a 2010 MBP (bought cheap at a flea market), and I really haven't yet found any Mac-specific software I want to run on it.

    Leave a comment:


  • stingray454
    replied
    Originally posted by CuriousTommy View Post
    What languages do you know? Learning Objective-C may be easy or hard depending on what language you have experience with.

    From what I have seen, reimplementing an Apple's library is probably the easiest thing you could do (depending on the library you want to reimplement). Since CNContact is just an empty class, I decided to try implementing this class first on Xcode.
    Mostly web related stuff. Java, C#, JavaScript, did a lot of ActionScript back when flash was a thing, PHP, stuff like that. Did some C a looong time ago so quite rusty (heh) but yeah, I don't think learning Objective C or similar would be a huge undertaking.

    While creating stubs is quite simple, it's also not super useful outside of getting stuff to compile. What would be fun is to work on stuff like the graphics / windowing stuff, that I suppose means reimplementing framework there isn't sourcecode for. So actually contributing with proper code to advance compatibility is another mater

    Originally posted by CuriousTommy View Post
    If there a command line tool that you want to use with darling, but is missing a needed library?

    Me too. I am just starting to learn Objective-C on the spot. While I was reimplementing CNContact, I looked up stuff I was not familiar with. I also skimmed through some Objective-C tutorials if I was lost in any of the fundamentals.
    Not really, I follow it just out of interest. Been using OS X for a long time and Linux more and more lately - there are definitely a lot of mac software I would love to run on Linux, but nothing specific at the moment. And joining with the intention to get Photoshop to run feels like too much work . But yeah, I'll look into helping out where I can, would be interesting to learn some more about the os x / linux workings, objective c, debugging and such anyway.

    Leave a comment:


  • CuriousTommy
    replied
    Originally posted by stingray454 View Post
    Actually yes - been working as a developer for close to 20 years.
    What languages do you know? Learning Objective-C may be easy or hard depending on what language you have experience with.

    Originally posted by stingray454 View Post
    I've been digging around their github and follow their issues and such, but so far I don't see any useful way i could contribute. I hope to some day though, very exciting project .
    From what I have seen, reimplementing an Apple's library is probably the easiest thing you could do (depending on the library you want to reimplement). Since CNContact is just an empty class, I decided to try implementing this class first on Xcode.

    If there a command line tool that you want to use with darling, but is missing a needed library?

    Originally posted by stingray454 View Post
    The issue is that I have not done system level stuff on OS X or Linux, and limited experience with objective c and such.
    Me too. I am just starting to learn Objective-C on the spot. While I was reimplementing CNContact, I looked up stuff I was not familiar with. I also skimmed through some Objective-C tutorials if I was lost in any of the fundamentals.
    Last edited by CuriousTommy; 06 May 2019, 10:12 AM.

    Leave a comment:


  • stingray454
    replied
    Originally posted by CuriousTommy View Post
    I hope you don't mind me asking, but do you have experience with programming? If not, I found Python the easiest to learn. While I have not messed around with Swift, I heard that it is supposed to be similar to python. If you own an iPad, there is a cool app called Swift Playground.
    Actually yes - been working as a developer for close to 20 years. The issue is that I have not done system level stuff on OS X or linux, and limited experience with objective c and such. I've been digging around their github and follow their issues and such, but so far I don't see any useful way i could contribute. I hope to some day though, very exciting project .

    Leave a comment:


  • oiaohm
    replied
    Originally posted by DMJC View Post
    RandR has a big problem in Gnome/Mate/XFCE/aRandR not just GNUstep in that none of the gui implementations support scaling at the moment.
    There is a reason why I pointed to wayland. RandR may end up superseded by wayland before it fixed.

    Leave a comment:


  • DMJC
    replied
    We're actually in complete agreement on the web browser. Mantella was just Firefox embedded into a GNUstep Window. I looked at Vespucci and immediately disregarded it, because the API elements needed for it just don't exist in GNUstep yet. Hell it doesn't even have a javascript engine. Much easier to embed Firefox or chrome into a window so it plays nice with the mac style menubar. I think a better window manager that's more mac-like is part of what's needed but I won't be the guy making it. GNUstep's MPlayer wrapper shouldn't be that hard to get going. I started hacking on mplayer-gnome and after my patches got accepted into that project, the popularity of it exploded (added more aspect ratios, support for all language/subtitle options and added TV Tuner support) In my experience with these project sometimes you just need to make things a bit better and then they get popular and a lot of people jump in to finish it off. GNUstep as a desktop always felt like one of those projects to me, but it never reached that tipping point. RandR has a big problem in Gnome/Mate/XFCE/aRandR not just GNUstep in that none of the gui implementations support scaling at the moment. Network-Manager as you say is a big rabbit hole.
    Last edited by DMJC; 05 May 2019, 01:09 AM.

    Leave a comment:


  • CuriousTommy
    replied
    Originally posted by Spooktra View Post
    Personally, I have no interest in running either Windows apps or PSX apps on Linux, if I wanted to run a Windows app I would install Windows, if I wanted to run an OSX app, I would run OSX.

    I want native ports of some popular apps, like Adobe Premiere or Magix Vegas for Linux, like MainActor used to be available as a native Linux port. or even better I want to see Shotcut get even better (I love that app).
    Idealistically I agree with you, but practically speaking, it is hard for people to stay on a platform if they have to sacrifice way to much. In fact, if it wasn't for Proton, I would consider dual booting Windows again.

    Leave a comment:


  • oiaohm
    replied
    Originally posted by DMJC View Post
    The thinking was to expand System Preferences.app to have RandR, Pulseaudio (The etoile Menu Bar already had a good example of a Volume Control Icon) and Network-Manager for wireless/LAN control control icons. I was going to clone the OSX interface for all of those.
    Problem here is Network Manager is a rabbit hole. RandR and Pulseaudio in system preference app could work as these protocols are fairly stable and not extending that much. Network Manager you have like new VPNs added and new network features.
    If you go into nm-connection-editor you will notice even wired has settings that OS X does not have like Data Centre Bridging. Also linux network manager support multi IP addresses per interface.


    The this above is a bond connection this is a network manager feature. You will find there are a lot of features that OS X does not have and a lot of features get added to network manager all the time.

    Network manager applet is fairly basic but you will notice vpns are included. Lot of ways due to the power of network manager unless you have a lot of time to invest its safer to use the default provided management tools. Lot of ways OS X provided network configuration options is the tip of the iceberg(10% at best) and linux network manager is about 30% of the iceberg at this stage.

    Originally posted by DMJC View Post
    I was also trying to resurrect Mantella, since a browser wrapper was all I needed, not a full blown web engine. I was going for a full OSX Desktop-like experience. with the top menu bar GWorkspace dock etc. GNUstep already had email, music player, a terminal and IRC clients.
    Maintaining a webbrowser even when you don't make the engine consumes a lot of developer resources.

    This project is most likely what you are looking for it is webkit based this could be problem in future with lots going the blink engine path now..

    Originally posted by DMJC View Post
    I was hoping to get a wrapped browser, mplayer wrapper cleaned up and the control panel parts done, so I could boot into a desktop that looked something like the etoile concept images.
    I think you have badly underestimated how big the network manager side is and how under optioned the OS X control panel is. Also taking the browser problem way too light. Mplayer wrapper alone under GNUstep has been a major battle that different developers over time have given up on and its simpler than web brower wrapping.

    RandR and Pulseaudio those will take getting you brain around and once done they will remain done for quite some time. Pulseaudio interfaces will need work if/when pipewire replacement that is being worked on comes out. These will not be unlimited resource consuming treadmills.

    Also RandR is not your only problem.
    A modular Wayland compositor library. Contribute to swaywm/wlroots development by creating an account on GitHub.

    The wayland stuff does have to be considered.

    DMJC basically you have to pick your battles and take on the simpler problems while keeping eye on the big picture. If it means like running chrome or firefox for the web browser and it don't fit the interface it is better to accept this than make a web browser and not be able to maintain it and get known for shipping insecure.

    Same with network manager yes you could make a new interface for it but with the new features being added users will be forced back to the network manager tools at times if you are unable to keep up.

    Yes webbrowser and network manager have the possibility of coming unlimited resource consuming treadmills. If you are a solo developer you don't have the resources to cope with that. These truly need teams of developers.

    I am not trying to rain on you. Its more I am saying you need to be realistic and if something needs a team it needs a team. Target the items that don't need a team that have lighter maintenance and you will progress forwards with more production displayable stuff hopefully able to use that to build a teams to deal with the bigger problems. Also don't split your time too many ways.



    Leave a comment:

Working...
X