XNU/Darwin

Why did XNU/Darwin fail outside of Apples own projects?

Attached: 691E040D-6918-4F9F-9E75-714A9E0AF8C0.png (918x1224 543.38 KB, 2.07M)

Other urls found in this thread:

puredarwin.org/
gnu.org/software/hurd/advantages.html
gnu.org/software/hurd/hurd/what_is_the_gnu_hurd.html
github.com/PureDarwin/PureDarwin/wiki/Compatible_Hardware
gnu.org/licenses/license-list.html.en#apsl2
github.com/daeken/Qtzweb
en.wikipedia.org/wiki/Cody_Brocious
darlinghq.org/
github.com/darlinghq
osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html
sel4.systems/Info/Docs/seL4-manual-latest.pdf
twitter.com/SFWRedditVideos

puredarwin.org/
What about this shit?
Guess because there is already GNU/Linux, BSD fags use OpenBSD or an other *BSD, and those who like Apple and its software run OSX and iOS anyway.
And your picrel (GNU/Darwin), no one gives fuck about it, because GNU/Linux exists and Darwin doesn't have any meaningful technical advantages, so people don't waste time porting GNU to Darwin.

Darwin isn’t a kernel. It’s literal Mac OSX minus all the proprietary components, hence why they say Darwin is the basis for OSX. The reason I used that pic is because stock Darwin otherwise just looks identical to OSX as far as the GUI goes. Apple used to maintain their own Darwin build you could install but now the latest version of Darwin is only available as source code

It uses a true hybrid kernel (XNU on the monolithic side and Mach on the microkernel side) so GNU/XNU would basically be Hurd but a lot more complete with better hardware support

I know, but it doesn't have to be a kernel. The only reason we should say GNU/Linux is because Linux was not started as a kernel for GNU, but as a standalone minix clone - operating system, and because Debian fags called their distribution GNU/Linux. So it would be unfair to call the system that is made of GNU and Darwin just GNU. Sometimes it is also convenient to add a kernel name, so people know what actually they're running, for example GNU/kFreeBSD(kernel of FreeBSD) not GNU/BSD or something like that. Don't know much about Darwin architecture, but maybe they connected two OSes together, instead of just adding Darwin's kernel.


I see your point, but the Hurd isn't a basic hybrid kernel, mainly because of its decentralized and object oriented architecture.
gnu.org/software/hurd/advantages.html
gnu.org/software/hurd/hurd/what_is_the_gnu_hurd.html
But you're right about microkernel design, actually GNU/XNU would be better than GNU/Linux (Linux is shit), but in my opinion it wouldn't be better than GNU/Hurd, just because Darwin uses Apple Open Source License, which is incompatible with GPL.

This is only a problem if you (statically or dynamically) link GPL software directly to the XNU kernel program. In actual practice, you're not going to do that with Hurd. Instead, Hurd will merely call the XNU syscalls without needing to link to them. As long as this is the case, there isn't a problem with the GPL Hurd calling upon the syscall functions of XNU. As soon as you modify XNU or otherwise link with XNU, the modifications need to be compatible with Apple OS license.

github.com/PureDarwin/PureDarwin/wiki/Compatible_Hardware
I want to test out a pure Darwin setup but hardware support is trash and as far as I know compiling Linux kernel modules to Kexts is not trivial

Attached: Interesting.jpg (329x306, 55.87K)

But if you would like to merge GPL'd code with XNU you can't, so it's incompatible with the rest of GNU operating system. And also I don't think this Apple's license is protecting you from things like DRM or software patents as GPL v3 does (idk, because too lazy to read the license text).
And actually this is not Apple Open Source License, but Apple Public Source License. Sorry for the misinformation, my memory is playing with me.
gnu.org/licenses/license-list.html.en#apsl2

Do Kexts require being linked directly to the kernel? I think with microkernels it’s different but I might be wrong

Elaborate, what is this and what does it do? How do you use it? Where is the documentation? Can I have hardware support easily ported and use the base mach kernel with XNU/darwin as a compatibility layer with linux drivers??? Are there benchmarks for memory usage and simple things like disk I/O with XNU vs linux with same utils? The linux kernel uses 3/4's of my running systems ram, 90MB, with a extremely heavily customized kernel config removing bloat and backwards compatibility along with optimizing for size. If I can port these drivers to mach and ditch linux all together except for drivers updates that would be amazing.
How is this achievable?

Kexts(Kernel Extensions) are XNUs equivalent to Loadable Kernel Modules in Linux. Much like Linux they are either loaded automatically at boot (in this case the Mac OSX unit is launchd and there’s a separate program that handles startup services loaded by launchd at boot called launchctl) or using the kextload command to start a kext file manually. As far as I am aware kext files are not kernel specific like Linux kernel modules are. kexts can also just as easily be ran in user space

*init

I remember being able to install a true multitasking windowing system on iOS 4 that was jailbroken but I don't think I can do that shit on modern devices

Attached: IMG_0003.PNG (768x1024, 411.23K)

doesnt it require many nonstandard things to work? also the thing that they released is not really a usable os

The only real issue is lack of hardware support but AFAIK Darwin will run fine on any hardware setup that supports OSX wither that’s official or hackintosh

Apple devices are botnet. Probably that's the reason, people knowing about why software freedom matters don't invest their time in making Darwin usable.

Is there a way to use just its GUI on Linux? (By the way, it's no longer called OSX, now it's macOS.)

It's called Aqua and no, it's proprietary and depends on a number of proprietary components, most importantly Quartz Compositor.

It’s because the effort hasn’t been put in to port it to other hardware. Rewriting Linux modules into kext files is not a trivial process


He was wrong. By default Darwin has no GUI and just drops you into Bash

but can you rip it off a mac and use it

Not directly but someone did make a program to translate it to WebGL
github.com/daeken/Qtzweb

God, why

I was about to say it was developed by Poos, but it was actually made by this guy
en.wikipedia.org/wiki/Cody_Brocious
From Atlanta Georgia

Attached: a8ec1e3f07b6ab38106e25a138239b3161ef7095757b837b5bd1b14a211d8ae4.png (480x480, 97.14K)

How come Apples Metal API generally performs better than Vulkan? It’s really hard to get an Apples to Apples (pardon the pun) comparison because Apple doesn’t officially support Vulkan (There is a third party Vulkan library that runs on Metal however) but my iPad Air 2 gets a significantly higher score on 3DMark then my Android phone using a snapdragon 820 SoC that should be faster using identical settings including resolution

Attached: 7A005238-2890-48D2-9201-01C604ACB43D.png (650x400, 28.68K)

apple stuff is probably so hardware specific that they can optimize it really well for them. cant really do that when your shit has to run on thousands different devices.

Metal and Vulkan both support the same GPUs on paper. Yet somehow Apple was able to reduce the overhead and improve parallelism of their API

iOS 10 had a tweak called Empoleon for multi window, it was free too.

Sage for off topic

iOS 12 has native multi windowed multitasking but I think it’s limited to just windows at a given time

*3 windows

XNU is an example of the UNIX Philosophy done right when put into competent hands. The core design of XNU is robust enough that Apple can basically strip out or add as much shit as they want and optimize it as much as they want without even having to touch the kernel for the most part. You never hear Apple ever talking about their kernel tech, which is a good thing, it’s something that you shouldn’t have to ever need to bring up. Compare that with Linux autism

This, plus no (((systemd)))

XNU is a microkernel while Linux is a monolithic full feature kernel. I would be worried if the XNU microkernel would require year after year of updating because microkernels are supposed to feature an small upper limit to its featureset. I don't share the same concern for Linux because it is a monolithic kernel with all the features of what we demand for a contemporary monolithic kernel.

So in other words you're saying monolithic kernels are trash

Monolithic kernels are nothing but ‘contemporary’ and GNU/Linux is the only trash still using this paradigm. Modern iOS/Mac OS is essentially Apple finally able to realize what Workplace OS and Taligent failed to do in the 1990s.

I wasn't referring to the thought of monolithic kernels being a new contemporary idea. I was referring to the kind of full featured monolithic kernels that people use in their computers today.

I know right?
There's this project called Darling that's basically the same thing for MacOS what WINE is for Windows Applications. It basically lets you run MacOS software on Linux.

darlinghq.org/
github.com/darlinghq

In hindsight, it should be much easier to optimise and integrate since Darwin is basically BSD with old microkernels on top. But ironically it's not...
It's been 7 Years, and it's still Terminal Only. It can barely run GUI Applications.
I can't tell if this is Apple's doing, or if MacOS is much more Closed-Source than we think. But it's a bit painful to say the least...

What do you think?

Attached: 687474703a2f2f6461726c696e6768712e6f72672f696d672f6461726c696e673235302e706e67.png (250x266, 25.38K)

doesnt windows have quite good documentation. apple probably doesnt since its systems are only meant to be used on their own hardware so they dont need to release anything

Is there a way I can make my ipad 2 A1395 look like that?

It’s not that simple. Darwin is a lot less BSD-Like then BSDfags think. The BSD heritage mostly comes from its fork of Mach hiding deep within XNU and some superficial UNIX related things. Darwin is its own beast. The executable format isn’t even the same. Darwin uses Mach-O while BSD uses ELF like Linux

All Mac OS applications rely on Cocoa and the Quartz compositor which are both closed source and is what OSX uses for all GUI elements and the display server

Darwins kernel and core libraries are open source and derived from NextSTEP while the user mode APIs and GUI subsystems are all proprietary. The open source shit has been reimplemented just fine, it’s just the proprietary Apple-specific bits that have been slow to implement. Luckily the Darwin side is still being maintained by Apple even if it is only available as source code

Jailbreak and install Quasar from Cydia modern iPads with modern iOS versions have native windowed multitasking as well out of the box

You guys talk too much about what you think is, but don't go after any source whatsoever.
Here's a more technical view about XNU:
osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html

A highlight:
So XNU is a monolithic kernel with some micro kernel abstraction built-in. There's no such a thing as a hybrid kernel. Either is Monolithic or micro.

BSDs role in XNU is greatly oversold. They can rewrite the sockets and IPC related shit from scratch and the rest of the system wouldn’t care or notice let along the programmer
The problem with this sentiment Linus is it really makes no sense calling XNU a monolithic kernel. Following the same logic you really can’t say microkernels exist either. All kernels are ‘monolithic’ to a degree

I've already jailbroken, but apt repos for my version seem to be dead. Guess I have to host one myself and compile everything.

Have anyone tried this? How you know this statement is true?

A micro-kernel is a kernel that you get by removing all non essential features, if you remove anything else, the system falls apart.
For instance, SeL4 is, basically is:
sel4.systems/Info/Docs/seL4-manual-latest.pdf
So, clearly XNU is not a microkernel, but a monolithic one with microkernel-like facilities.

That is subjective. You can say the same thing about Linux on certain distros. To me the difference between microkernels and monolithic is down to kernel-level modularity. Generally speaking the core components of Linux are tied down by dependencies to the point kernel modules have to be tied to specific kernel versions. Microkernels generally don't have issues like that, so in that sense I think XNU counts as a microkernel

Yeah there is still a tweak for iOS11-iOS12 and it's called MilkyWay. Looks almost exactly like your pic

Doesn’t iOS 12 on iPad already have native multiwindowed multitasking?

No idea. I don't own an iPad. Just an iPhone XS Max right now. And that tweak is what I use.

It's called hybrid kernel, retard.