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

  • Darling Still Has A Goal Of Running macOS Apps On Linux

    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

  • 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; 05-06-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-05-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.

    https://access.redhat.com/documentat...on_using_a_gui
    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.
    http://wiki.gnustep.org/index.php/Vespucci.app
    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.
    https://github.com/swaywm/wlroots
    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:


  • DMJC
    replied
    Originally posted by oiaohm View Post
    Wine still as mode of use ALSA and let Pulseaudio users use their ALSA emulation. RandR should have been your highest focus. Pulseaudio and Network-Manager should have been down the road quite a bit. It possible that you may never do a network manager interface and just keep on using the network manager applet.

    This is the problem with attempting to make the desktop too Osx like at first you create yourself way too much workload.
    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. 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. 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.

    Leave a comment:


  • speculatrix
    replied
    Originally posted by ElectricPrism View Post
    I wish WINE would copy from Darling is their OverlayFS to minimize duplicate files
    ZFS with de-dupe is probably a better solution.

    Leave a comment:

Working...
X