Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
That is pretty much a given, but say someone has an Apple Macbook and has both operating systems installed on it natively. In this case, what can Linux do that OS X cannot?
 
Short answer: Probably yes.
Long answer: The source code for far more of the Linux (or xBSD - when i say linux from now on I mean BSD as well) OS is available.

Linux runs on more than just x86 these days, so anything you code against it will be more portable.
 
That is pretty much a given, but say someone has an Apple Macbook and has both operating systems installed on it natively. In this case, what can Linux do that OS X cannot?

Linux can be run on ARM, SPARC, Alpha, a 486, and a host of embedded devices. Code for OS X and you're limited to Macs, pretty much. Code against Linux and you can potentially take the program you write and run it on a Raspberry Pi for example.

If you develop something for your own use only it doesn't really matter what platform you code for.

But if you're writing something to use on other non-pc hardware (as well), OS X is a non-starter.

Network performance is also significantly better on Linux or the BSDs - they've been tweaked to death for server network performance. OS X has not, and has a heap of other baggage and design choices that are not necessarily ideal from a performance standpoint (but are good from a usability and maintainability standpoint).
 
  • Like
Reactions: ohbrilliance
That is pretty much a given, but say someone has an Apple Macbook and has both operating systems installed on it natively. In this case, what can Linux do that OS X cannot?

You can install a super lightweight window manager, strip the OS to the bare bones, compile your own drivers and apps and have the fastest MacBook ever. You can do pretty much everything on a Linux based machine.
 
I'm sure that throAU probably hit the nail on the head with the networking. It is true that BSD and Linux have been tweaked for optimal server implementation. But as far as I understood it, one of the reasons that Apple chose to go with the Unix kernel was to take advantage of the advanced networking features that was already there.

I'm not sure whether Darwin kernel ever changed or was updated as much as the FreeBSD or Linux kernels since the launch of OS X.

@throAU I'm not sure that you could call a macbook with linux user-hostile.
 

Attachments

  • unix_is_user_friendly_by_lalitpatanpur-d351iea.png
    unix_is_user_friendly_by_lalitpatanpur-d351iea.png
    531.1 KB · Views: 1,293
I'm a long time Unix nerd, dealing with various *NIX for my day job (currently Linux and FreeBSD, but previously also Solaris and SCO).

Yes, Linux is user hostile, for most users. Yes, it is user friendly to some, if you think the Linux way, but most people don't (and as far as Unix goes, Linux is a bit of a black sheep, it doesn't do things the Unix way like BSD).

Yes, Apple got a lot of network features from FreeBSD with Darwin, but it runs on top of Mach and there's a level of abstraction there that prevents OS X from getting quite the same performance as Linux or BSD.

Which is fine, Apple aren't trying to run OS X on a router or a dedicated hardware firewall device and they gain flexibility and stuff with their design choice.
 
Linux can be run on ARM, SPARC, Alpha, a 486, and a host of embedded devices. Code for OS X and you're limited to Macs, pretty much. Code against Linux and you can potentially take the program you write and run it on a Raspberry Pi for example.

If you develop something for your own use only it doesn't really matter what platform you code for.

But if you're writing something to use on other non-pc hardware (as well), OS X is a non-starter.

Since we are talking about Unix here, portability should only refer to the unix and posix parts, as such OS X applications are as portable as any other platform that conforms to the spec. Even more so, since it also conforms to the single Unix spec. As an example, I compiled ddrescue for another poster here directly from the Linux source since it was restricted to the posix APIs. If, however it used Linux specific APIs it wouln't be any more portable than a Cocoa application for OS X.

Network performance is also significantly better on Linux or the BSDs - they've been tweaked to death for server network performance. OS X has not, and has a heap of other baggage and design choices that are not necessarily ideal from a performance standpoint (but are good from a usability and maintainability standpoint).

Given the fact that OS X uses the BSD network stack, I doubt this, but more importantly, OS X is mostly used as a client, so I dosen't matter much either way.
 
Last edited:
Given the fact that OS X uses the BSD network stack, I doubt this, but more importantly, OS X is mostly used as a client, so I dosen't matter much either way.

Uses the BSD network stack, but it is running on Mach, which is not as efficient as the Linux or BSD kernel at context switching. I wasn't having a dig at OS X, as it is a trade-off for different purposes as you say. But facts are facts, there isn't much quicker networking wise than Linux.

And yes, you CAN write portable code using OS or Linux. But if you write FOR LINUX (i.e., taking advantage of native Linux libraries), then it will run on anything linux runs on. if you write FOR OS X, then OS X runs on a lot less hardware.
 
Code against Linux and you can potentially take the program you write and run it on a Raspberry Pi for example.
Even when you run Windows 10 on your raspberry pi? And *any* linux program? Even if it uses inline assembly to accelerate video encoding, for instance? Could you develop a program in Scratch on you Pi and run it on a massive multi-core cluster?

Don't let your inner fanboy get the better of you. Linux and linux can be two completely different things. The fact that Android is linux based has no meaning or implications whatsoever for anybody except a handful experts. The software one of my clients runs on his 38,880-core cluster is not usable on your iBook running Linux-PPC.

I won't run a mailcluster on MacPro's. They are not rack mountable, they are not out-of-band manageable, they lack redundancy and they are way, way too expensive. I don't need two massive very expensive videocards, I need two power supplies and at least three nic's. Likewise, you are not going to run Final Cut X on a node of my mailcluster. You might like the RAM and the number of cores but the onboard Matrox G200 videocard is unusable for anything but a simple console.
 
But if you write FOR LINUX (i.e., taking advantage of native Linux libraries), then it will run on anything linux runs on. if you write FOR OS X, then OS X runs on a lot less hardware.
I'm pretty sure there are a LOT more laptops running OS X than there are running linux, even if you count chromeOS as a linux variant. Your next killer app for laptop users is better written for OS X than for linux, if you want to sell it.
 
Uses the BSD network stack, but it is running on Mach, which is not as efficient as the Linux or BSD kernel at context switching. I wasn't having a dig at OS X, as it is a trade-off for different purposes as you say. But facts are facts, there isn't much quicker networking wise than Linux.

And yes, you CAN write portable code using OS or Linux. But if you write FOR LINUX (i.e., taking advantage of native Linux libraries), then it will run on anything linux runs on. if you write FOR OS X, then OS X runs on a lot less hardware.

Eh, citation needed. Are you aware that it's possible to call Mach directly and that Mach is not a microkernel in Darwin, that is, both Mach and BSD kernel components runs in kernel space. Also, Mach on OS X has fantastic real time properties, all Macs has a roundtrip audio latency of 1.4ms out of the box. That meassure not only rivals but beat many DSP recording solutions.

But most importantly, you need to make sure what you are measuring. A server may get a performance boost from other parts than the network stack itself, it's probably the least important in the equation, given that it works as i should. Things like server software, database, memory and OS tweaks probably has a greater impact in practise.
 
In this case, what can Linux do that OS X cannot?

Random example: OS X has no built-in support for TV tuners (there are some proprietary apps from Elgato etc. that support a limited number of tuners but nothing for UK/EU HDTV). While open source HTPC apps like Kodi (XBMC) or MythTV do run on OS X, they can only get TV via another server on the network. The standard Linux kernel includes a digital TV API and supports a lot of tuners 'out of the box' and other drivers can be built from source. I've got a Linux box happily running a quad DVB T2 (HD) tuner - I've also had live TV running on my Mac via a Linux virtual machine. I'm sure that there are other examples of obscure hardware supported by Linux but not OS X.

Any Linux/Unix GUI software that is written for one of the full-blown Un*x desktop environments (KDE, Gnome etc.) is easier to get up and running properly on Linux than it is to install all the necessary libraries on OS X. Don't get me wrong: you CAN run KDE/Gnome apps on OS X (they take forever to build in macports, though and pull in all sorts of related packages) , its just usually less hassle to run it under a Linux distro in a VM.

Also, personally, for server-type stuff I find Linux easier to manage than OS X as soon as you get beyond the capabilities of the nice friendly control panels... just load up the appropriate config files, and follow the helpful comments, adding comments of your own so you can remember what you did.

Currently, when I do web development, I am running Apache, PostgreSQL, PHP etc. under OS X - but in the past I've used minimal Linux installs running in VMs, and might go back to that way in future (esp. if the new "rootless" security in El Cap causes me problems - with a VM it doesn't matter if the only user is "root" and the password is "secret").

Generally, though, installing Linux "natively" on your main Mac is a waste of a good Mac. I did, however, stick Linux on a surplus G4 Mini, because I wanted it as a headless dhcp/dns/mail/ssh tunneling server and personally found it easier and cleaner to set that up on Linux, and the mini was just lying around...
 
Random example: OS X has no built-in support for TV tuners (there are some proprietary apps from Elgato etc. that support a limited number of tuners but nothing for UK/EU HDTV).

I doubt that this is built-in in Linux as well. If it is bult-in then that's kind of dumb, it's the kind of feature you would expect from a LKM, or Kext.
 
Then you can tell us what can be done on a normal Linux distro like Ubuntu, OpenSUSE and Fedora that you cannot do on OS X.

Install them on just about any machine your little heart desires.

I doubt that this is built-in in Linux as well. If it is bult-in then that's kind of dumb, it's the kind of feature you would expect from a LKM, or Kext.

All built in drivers in both systems are/can be loadable modules. This is how they both work the boot loader passes control onto kernel the kernel then uses its tools to discover the hardware in the machine and if applicable loads the appropriate module for it to work. Highly doubtful you have ever seen this happen on a Mac as the scary text scrolling by during this process is disabled by default.
 
I doubt that this is built-in in Linux as well. If it is bult-in then that's kind of dumb, it's the kind of feature you would expect from a LKM, or Kext.

http://www.linuxtv.org/docs.php

Support for the V4L/Linux DVB API has to be enabled in the kernel and then the individual drivers can either be compiled in (which you might do if you were building a dedicated HTPC) or built as modules. The V4L/DVB kernel support and a set of drivers has been part of the Linux kernel source & "consumer" linux distros have come with V4L and DVB enabled in the kernel for some years now.
 
That's odd. There was a Mac with a built-in tuner as far as back as 1993. The much maligned Macintosh TV.

And I've been watching analog, DVB-T, DVB-C and DVB-S on my Mac mini since 2005.

Ok6V6lu.jpg


Tuners show up as video source, just like any connected iSight, FireWire or USB video devices.

So have I when I used to have tuner attached only through third party installed software after OS X installed OS.

Code:
~$ ls -l /System/Library/Extensions/ | grep Eye
drwxr-xr-x  3 root  wheel  102B 10 Jun  2008 EyeTVAfaTechHidBlock.kext/
drwxr-xr-x  3 root  wheel  102B 10 Jun  2008 EyeTVCinergy450AudioBlock.kext/
drwxr-xr-x  3 root  wheel  102B 10 Jun  2008 EyeTVCinergyXSAudioBlock.kext/
drwxr-xr-x  3 root  wheel  102B 10 Jun  2008 EyeTVEmpiaAudioBlock.kext/
drwxr-xr-x  3 root  wheel  102B 10 Jun  2008 EyeTVVoyagerAudioBlock.kext/

Without this software the USB dongle was useless in OS X on the other hand Linux kernel support out of the box.

Code:
~$ locate dvb
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/b2c2
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/bt8xx
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ddbridge
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dm1105
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-core
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/firewire
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/mantis
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ngene
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/pluto2
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/pt1
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/siano
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttpci
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttusb-budget
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttusb-dec
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/b2c2/b2c2-flexcop-pci.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/b2c2/b2c2-flexcop-usb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/b2c2/b2c2-flexcop.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/bt8xx/bt878.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/bt8xx/dst.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/bt8xx/dst_ca.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/bt8xx/dvb-bt8xx.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ddbridge/ddbridge.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dm1105/dm1105.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-core/dvb-core.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-a800.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005-remote.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9005.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-af9015.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-anysee.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-au6610.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-az6027.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ce6230.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-cinergyT2.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-cxusb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-common.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dibusb-mc.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-digitv.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dtv5100.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-dw2102.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ec168.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-friio.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-gl861.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-gp8psk.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-it913x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-lmedm04.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-m920x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-mxl111sf.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-nova-t-usb2.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-opera.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-pctv452e.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-technisat-usb2.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-ttusb2.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-umt-010.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp702x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb-vp7045.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/dvb-usb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/mxl111sf-demod.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/dvb-usb/mxl111sf-tuner.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/firewire/firedtv.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/a8293.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/af9013.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/atbm8830.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/au8522.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/bcm3510.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/cx22700.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/cx22702.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/cx24110.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/cx24113.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/cx24116.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/cx24123.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/cxd2820r.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/dib0070.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/dib0090.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/dib3000mb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/dib3000mc.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/dib7000m.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/dib7000p.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/dib8000.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/dibx000_common.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/drxd.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/drxk.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/ds3000.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/dvb-pll.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/ec100.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/isl6405.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/isl6421.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/isl6423.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/it913x-fe.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/itd1000.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/ix2505v.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/l64781.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/lgdt3305.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/lgdt330x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/lgs8gxx.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/lnbp21.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/lnbp22.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/mb86a16.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/mb86a20s.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/mt312.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/mt352.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/nxt200x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/nxt6000.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/or51132.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/or51211.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/s5h1409.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/s5h1411.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/s5h1420.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/s921.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/si21xx.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/sp8870.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/sp887x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stb0899.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stb6000.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stb6100.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stv0288.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stv0297.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stv0299.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stv0367.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stv0900.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stv090x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stv6110.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/stv6110x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda10021.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda10023.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda10048.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda1004x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda10071.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda10086.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda18271c2dd.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda665x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda8083.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda8261.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tda826x.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/tua6100.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/ves1820.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/ves1x93.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/zl10036.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/zl10039.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/frontends/zl10353.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/mantis/hopper.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/mantis/mantis.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/mantis/mantis_core.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ngene/ngene.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/pluto2/pluto2.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/pt1/earth-pt1.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/siano/smsdvb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/siano/smsmdtv.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/siano/smssdio.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/siano/smsusb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttpci/budget-av.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttpci/budget-ci.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttpci/budget-core.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttpci/budget-patch.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttpci/budget.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttpci/dvb-ttpci.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttpci/ttpci-eeprom.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttusb-dec/ttusb_dec.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/dvb/ttusb-dec/ttusbdecfe.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/rc/keymaps/rc-avermedia-dvbt.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/rc/keymaps/rc-flydvb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/video/videobuf-dvb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/video/cx231xx/cx231xx-dvb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/video/cx88/cx88-dvb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/video/em28xx/em28xx-dvb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/video/saa7134/saa7134-dvb.ko
/lib/modules/3.2.0-4-amd64/kernel/drivers/media/video/tm6000/tm6000-dvb.ko

Dozens of them just sitting there waiting for the hardware to be attached to be usable.
 
All built in drivers in both systems are/can be loadable modules.

That was exactly my point, you expand the functionality of the kernel with loadable kernel modules. It's a stretch to call this built-in though, since these are optional by their very nature.

Support for the V4L/Linux DVB API has to be enabled in the kernel and then the individual drivers can either be compiled in (which you might do if you were building a dedicated HTPC) or built as modules.

Still seems dumb to compile this into the kernel when you can get the functionality from LKMs.
 
Last edited:
Highly doubtful you have ever seen this happen on a Mac as the scary text scrolling by during this process is disabled by default.

Double post, blame it solely on my stupid iPad.. Eh, I've seen it in single user mode and when booting up Darwin on my PPC Mac Pro, that I now run OS 9 on. Additionally and FYI, LKMs doesen't need to be drivers..
 
Last edited:
And I've been watching analog, DVB-T, DVB-C and DVB-S on my Mac mini since 2005.

Sigh. I didn't say the Mac couldn't watch TV. Re-Quoting own post: there are some proprietary apps from Elgato etc. that support a limited number of tuners but nothing for UK/EU HDTV.

(UK and several EU countries use DVB-T2 for HD, none of the Elgato-supported devices support this)

That's Elgato EyeTV you're running there 5th icon from the right in the dock... proprietary software (which, I assume, includes the driver).

There was a Mac with a built-in tuner as far as back as 1993.

Yup, and I'm sure Apple included a System 7 driver for that at the time... I'll just fire up my 68000 emulator shall I?
 
So have I when I used to have tuner attached only through third party installed software after OS X installed OS.

Sorry, what are you trying to say?

Code:
~$ ls -l /System/Library/Extensions/ | grep Eye
drwxr-xr-x  3 root  wheel  102B 10 Jun  2008 EyeTVAfaTechHidBlock.kext/
Did you ever look at what that is? They are all audio 'drivers' and all they contain is a xml list mapping audio pins to audio inputs for OS X.
 
Sorry, what are you trying to say?

You need third party installed software to watch TV in OS X it does not have the drivers to do it all by itself.


Additionally and FYI, LKMs doesen't need to be drivers..

Really a loadable kernel module or even linux kernel module depending on how you are using that abbreviation is by its very definition a driver for some piece of hardware, filesystem ... any place I have ever seen it used. You have no clue what you are talking about.
 
Really a loadable kernel module or even linux kernel module depending on how you are using that abbreviation is by its very definition a driver for some piece of hardware, filesystem ... any place I have ever seen it used. You have no clue what you are talking about.

This is nonsense, you can by definition do a lot of things apart from driving hardware, NKEs or Mandatory access control filters are two common usages for kernel extensions that have nothing to do with drivers. A kernel extension share address space with the kernel, and are part of the kernel process. It's actally you that have no clue. But all of this is pointless, given that this is the Internet..
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.