Jump to content

Mac OS X gui + linux kernel?


linuxfan66
 Share

30 posts in this topic

Recommended Posts

There are quite a few things that would make it difficult even for Apple to change the kernel from underneath Mac OS X:

  • The hardware driver model in Darwin is completely unlike any other Unix on the planet. It actually uses a restricted subset of C++.
  • Various parts of Mac OS X, including the Cocoa framework and third party applications, use Mach ports explicitly to bootstrap and run inter-process communication. These APIs are not available on Linux.
  • Apple's graphics system (CoreGraphics / Quartz) is pretty unique, and I'm sure it is tightly coupled with the OpenGL subsystem, the graphics card drivers, and the kernel's memory management to make it fast.
  • Darwin not only fully supports the HFS+ file system (including journalling plus hot resize for Boot Camp nowadays), it also exposes special private APIs to make the Carbon API work at all and work fast.

The differences between *BSD and Linux are minor compared to these. The above items are just as valid if Apple were to move to a plain FreeBSD kernel instead of a Linux kernel.

Link to comment
Share on other sites

My man above me says it pretty well. Besides, should you be able to somehow "port" the binary (As you dont have the source), it'd be virtually impossible to get Apps to run, as there's still no Cocoa API.

 

The only thing that may be off is that I'm not so sure Quartz Compositor is "integrated", with the kernel like Windows, but perhaps it's surely optimized to make specific system calls.

Link to comment
Share on other sites

  • 2 weeks later...
There are quite a few things that would make it difficult even for Apple to change the kernel from underneath Mac OS X:
  • The hardware driver model in Darwin is completely unlike any other Unix on the planet. It actually uses a restricted subset of C++.
  • Various parts of Mac OS X, including the Cocoa framework and third party applications, use Mach ports explicitly to bootstrap and run inter-process communication. These APIs are not available on Linux.
  • Apple's graphics system (CoreGraphics / Quartz) is pretty unique, and I'm sure it is tightly coupled with the OpenGL subsystem, the graphics card drivers, and the kernel's memory management to make it fast.
  • Darwin not only fully supports the HFS+ file system (including journalling plus hot resize for Boot Camp nowadays), it also exposes special private APIs to make the Carbon API work at all and work fast.

The differences between *BSD and Linux are minor compared to these. The above items are just as valid if Apple were to move to a plain FreeBSD kernel instead of a Linux kernel.

 

I suppose it depends on what you mean, exactly, by 'hard' .. and what you're looking to achieve. I'll respond to your points in order:

  • Linux doesn't necessarily need Apple drivers, so this may be largely irrelevant.
  • The Mach APIs are available via Mklinux.
  • It is easy to speculate about Apple code that we haven't seen.
  • Surely it wouldn't be difficult for Apple to rewrite the Linux kernel's HFS support

These problems are nearly intractable for a solitary programmer. For Apple, I'd bet they could make the switch and get some beta code together in less than a year given the proper motivation.

 

There is not, and probably never will be, motivation to do this.

 

The GPL would require that the 'private APIs' in say, HFS+ be exposed. It would mean that Apple would no longer be able to exert any control over their kernel.

Link to comment
Share on other sites

Its not only the mach APIs, its the whole Quartz framework which Apple would never release.

 

Plus HFS+ is supported on Linux so that would not be a problem. Plus decrypting apps would need to be fixed with the linux kernel.

Link to comment
Share on other sites

Enlightenment would do the job for me if there was a Tiger or Aqua skin.

 

http://upload.wikimedia.org/wikipedia/en/0..._Screenshot.png

 

A little modification of the source code and you could move the _[]X buttons to the left.

 

 

I dare someone to try it (I don't have suitable programming skills).

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

The question is, why do you really want the Aqua GUI on a Linux system? Just get OS x86. It would be nothing more than a curio... If there's apps you really need that are Linux-only then just add a 3rd party GUI to your favourite distro. I'm sure there's some with Dashboard/Expose like features and a similar appearance.

 

 

4DWM > every other WM

Hark, a believer!!! R10k forever! :(

Link to comment
Share on other sites

The question is, why do you really want the Aqua GUI on a Linux system? Just get OS x86. It would be nothing more than a curio... If there's apps you really need that are Linux-only then just add a 3rd party GUI to your favourite distro. I'm sure there's some with Dashboard/Expose like features and a similar appearance.

 

I would be more legal to Aqua on linux than to use OSx86!

Link to comment
Share on other sites

That doesn't really answer the question... A platform is driven by it's application support far more than it's GUI. I could see if you had Linux-only apps but really wanted Aqua- but this doesn't sound like it's worth the trouble except as a "what if" project. Playing around with a new GUI can be fun, but not for long. Just get OS X if you want Aqua or a similar GUI if you want Linux.

Link to comment
Share on other sites

I would be more legal to Aqua on linux than to use OSx86!
No it wouldn't.

 

Darwin is open source. You can use OS X's kernel and basic userspace completely legally.

 

Throwing "OS X" atop darwin is no more illegal than trying what you are suggesting, and certainly is far easier.

Link to comment
Share on other sites

No it wouldn't.

 

Darwin is open source. You can use OS X's kernel and basic userspace completely legally.

 

Throwing "OS X" atop darwin is no more illegal than trying what you are suggesting, and certainly is far easier.

 

 

Prove it!

Link to comment
Share on other sites

He don't need to. It's common sense, Darwin -> free & open source, Mac OS X GUI -> propietary. What you're trying to do to be 'more legal' it's just the opposite of what you should do. using a linux GUI over Darwing -> legal, using MacOS's propietary gui over a linux kernel it's not only illegal but useless, linux apps aren't prepared for the mac gui as mac apps aren't prepared for the linux kernel.

Link to comment
Share on other sites

  • 4 weeks later...

When we say the gui, are we referring to the look and components OS X uses? If so, that's doable.

 

If we're talking about the apple proprietary structures that make up the entire interface, then while not impossible, it is certainly non-trivial.

 

XFree86 is pretty... um... non-good.

Link to comment
Share on other sites

 Share

×
×
  • Create New...