X On OSX Now Free
ffejbean noted that OSXTalk (hey, they run Slashcode!) has an article up noting that XFree86 and MacOS X are getting more and more friendly every day. Now you don't have to purchase a lame commercial binary, you can just
install it yourself. If only those iCubes didn't cost twice what they should, this may just be a great platform yet. (BTW, I'm getting confused here, should I post this as Apple, X, or BSD? Ah well, close enough :)
If only those iCubes didn't cost twice what they should, this may just be a great platform yet.
What should they cost?
I hear this complaint quite a bit. It seems that one of the enshrined bits of common wisdom (or myth?) when it comes to PC buying is that Mac HW costs more for the performance you get.
Mac fans counter that it's the same or better, and give the following reasons:
1) even though PPC clock speeds are slower, programs run faster because the processor can do more per clock cycle. I've been told to expect twice the performance from a G3 than a similarly clocked PIII.
2) productivity gain by less futzing about with hardware, due to standardization...
Comments? Maybe even hard numbers? Balanced reasoning (ha!)?
Libertarianism is rich wolves and poor sheep playing gambler's ruin for dinner.
Jobs has had the insight to see the potential of the computer as a sort of renewed status symbol, and the new Mac cubes are chasing that with a vengence. Everyone has a computer, but not everyone has a really swanky one. Ask yourself: Does the average mid-20's to mid-30's hipster who just surfs and emails and buys designer clothes and furniture want a beige lump or a sleek, cool-looking Mac? I'd be willing to bet that you'll start seeing cK and Ralph Lauren computers with sleek looks within the next couple of years -- Apple is just at the start of this trend.
In this age where more and more of what you use a computer for is on the net anyhow, lack of software apps matter less and less. Style, on the other hand (and forgive me), never goes out of style.
----
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
If you read the linked article, you'll realize that this is not really a port of XFree86 to MacOS X. This is a port of VNC, which is extremely cool, to MacOS X. For those of you who are unfamiliar with VNC, it is similar to Timbuktu or PCAnywhere in that it lets you access and control a GUI desktop on a remote machine pretty much as if you were sitting in front of the remote machine. VNC does this by implementing an X server to host the X apps on the remote machine, and then shooting the pixel data to the viewing "client" machine. Obviously key presses and mouse gestures are sent from the viewer client to the remote/host machine, too. The best part (or worst, depending on your point of view wrt security, etc.) is that the VNC session stays put even if you quit the client, so your desktop session is maintained as you move around in meatspace.
Click here to visit the VNC homepage
So, to run X apps on MacOS X using this hack requires you to run the X app on top of the VNC server, and then use the VNC viewer/client app to interact with the X app.
Sounds like it'll be pretty sluggish, to me. Still, it is kinda clever, and it does let you run an X app if you really need it now.
OK, I have moderator privs right now, but this thread is just too tempting to not jump into!
:-)
1) Given the architecture of X Windows, you must have a an X server running on your machine. Even local X Windows apps run by connecting to a local X server. Just compiling an Xlib will not give you much in the way of speed gains -- loopback calls under the OS X's network architecture are very cheap (heck, this is true for most OS's).
The relatively expensive part of the X Windows architecture (in terms of speed and resources) is the context switch that is necessary in this whole set-up: server process picks up mouse click and sends to client, client processes mouse click and sends display commands back to server, server processes display commands and puts them back onto the screen. Any mouse click requires at least two context switches (server to client, client to server), which are expensive under some OS's (MS WinNT/2K, Classic Mac OS). However, under the Mac OS X kernel, and indeed on most Unices, context switches are fast and cheap, so this is not much of a performance hit. (This is why Apache on Unix runs multiple processes, but is a single multi-threaded process on WinNT/2K.)
Pushing the server-side functions into the client-side Xlib would only really save the cost of the loopback overhead plus the context switches, both of which are cheap in Mac OS X (and other Unices). Only on a Windows- or Classic MacOS-based system does it make sense to try and cut out the context switches.
2) The X Windows server does in fact translate X calls into native Mac OS X calls. The implementation referenced above does it through the VNC application, which is extremely slow due to the massive number of layers involved -- one or two context switches are not so bad, but it looks to me that they're going through four or five. If you look at the Mac OS X graphics architecture, there is a lightweight graphics server underneath it all called Core Graphics Services, which is responsible for all drawing on the screen. Aqua, QuickTime, OpenGL, and QuickDraw all hook into this layer to do their actual drawing to the screen. It is possible (I don't claim it's easy, but it shouldn't be that hard) to write an X server that hooks in directly above the Core Graphics Services layer to translate X Windows calls to native, low-level CGS calls. This would make X Windows just as fast as the native libraries (aside from bottlenecks that might be inherent to X Windows) and allow for interleaved X and native windows on the screen. This is the Right Way To Do It (tm).
Disclaimer: I am an Apple employee, but these views are my own and not based on anything that is Apple Confidential. I work with WebObjects as part of Apple iServices, which is a bit away from the core Mac OS X dev teams.
--Paul
How about reading the article before complaining about it?
The Mac is dying.
:).
You do realize how ridiculous that sounds considering that 1) this has been said since 1986 2) Mac marketshare has been increasing recently?
It can't compete with Durons/Athlons/Thunderbirds, PIII, PIV, SMP
Actually, that's the funny part. Despite popular slashdot belief, G4s do quite a admirable job of competing with processors at twice their clock speed. You'll note that IBM, Sun, etc. do not freak out that they sell high-end machines with low-megahertz processors in them. The real problem is that Motorola has not shipped faster chips in about a year. As for SMP, the G4 was designed with SMP in mind, as was OSX. You can get a dual G4 for $2500.
The reason Mac lost is that they didn't realize the power of the commodity marketplace.
Or maybe consider the option that Apple isn't really about that type of product. Do we really need another generic box maker?
AMD is now doing SMP
PowerPC has been doing SMP since the 604 days. This isn't that impressive.
Motorola will be out of the PPC business withing 2 years
Hopefully.
Why do you think they are stuck at 500 Mhz?
Because their fabrication process sucks. IBM had to come in and save the day.
Right. No interest in going furuther.
They just unveiled the G4 Plus at 1GHz. No idea when this will end up in an Apple machine, though.
Motorola pulls out and Mac will croak.
Strong words for somebody who has never run a multi-billion dollar computer company before (I'm assuming
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas