Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Mac OS X > Drivers for intel-based OS X?

Drivers for intel-based OS X?
Thread Tools
Mac Elite
Join Date: May 2002
Location: Los Angeles, CA.
Status: Offline
Reply With Quote
Oct 10, 2005, 02:21 AM
 
Just a thought ....

wouldn't ALL drivers need to be rewritten in order for them to work with the intel-based OS X?

Rosetta can let PPC-based apps work with Intel-based computers, but how about the drivers?

     
Admin Emeritus
Join Date: Oct 1999
Location: Zurich, Switzerland
Status: Offline
Reply With Quote
Oct 10, 2005, 10:27 AM
 
Most drivers would simply need to be recompiled, and if Rosetta is done right, it should work for drivers, too.

tooki
     
Mac Enthusiast
Join Date: May 2001
Location: Denmark
Status: Offline
Reply With Quote
Oct 10, 2005, 12:20 PM
 
Rosetta cant be done right then, since CLassic isnt working.
     
Professional Poster
Join Date: Mar 2002
Location: Boston
Status: Offline
Reply With Quote
Oct 10, 2005, 12:24 PM
 
Originally Posted by Thain Esh Kelch
Rosetta cant be done right then, since CLassic isnt working.
Huh?

They Jobs never claimed that Rosetta would work for classic, either by design or by default.
     
Mac Enthusiast
Join Date: May 2001
Location: Denmark
Status: Offline
Reply With Quote
Oct 10, 2005, 12:45 PM
 
Originally Posted by Maflynn
Huh?

They Jobs never claimed that Rosetta would work for classic, either by design or by default.
Exactly. What I was trying to say, is that Rosetta probably isnt made so it would work with everything, including drivers, as they are pretty low-level afaik.
     
P
Moderator
Join Date: Apr 2000
Location: Gothenburg, Sweden
Status: Offline
Reply With Quote
Oct 10, 2005, 12:54 PM
 
Not that I've really dug into things that deep, but I though Rosetta was in userland, like the CFM compability layer, and not in the kernel. Since drivers run in the kernel, Rosetta wouldn't be able to fix them. That's probably also the reason Classic won't work, because it uses special hooks into the kernel.
     
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Oct 10, 2005, 12:57 PM
 
Originally Posted by Maflynn
Huh?

They Jobs never claimed that Rosetta would work for classic, either by design or by default.
He also never claimed it would work for kernel extensions.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
Admin Emeritus
Join Date: Oct 1999
Location: Zurich, Switzerland
Status: Offline
Reply With Quote
Oct 10, 2005, 01:01 PM
 
Well, remember that many "drivers" in Mac OS X are user-space, and don't need kernel extensions.

tooki
     
Clinically Insane
Join Date: Oct 2001
Location: San Diego, CA, USA
Status: Offline
Reply With Quote
Oct 10, 2005, 01:23 PM
 
Such as what? Most drivers I can think of either are kexts or require them.
Chuck
___
"Instead of either 'multi-talented' or 'multitalented' use 'bisexual'."
     
Clinically Insane
Join Date: Oct 2000
Location: Los Angeles
Status: Offline
Reply With Quote
Oct 10, 2005, 03:15 PM
 
Originally Posted by tooki
Well, remember that many "drivers" in Mac OS X are user-space, and don't need kernel extensions.

tooki
I think tooki may be referring to things like printer drivers. It's nice to know that a simple recompile should, theoretically, do the trick in many cases (since I am concerned about third party support of the Mac once Mactel has been on the market for a while), although I suspect it won't be quite that easy in many cases. I have to assume the drivers situation will not be a big issue for most of us since Apple provides a significant portion of drivers; only those people who use a lot of third party devices will suffer.

"The natural progress of things is for liberty to yield and government to gain ground." TJ
     
Posting Junkie
Join Date: May 2001
Location: Portland, OR
Status: Offline
Reply With Quote
Oct 10, 2005, 03:31 PM
 
Originally Posted by badtz
Just a thought ....

wouldn't ALL drivers need to be rewritten in order for them to work with the intel-based OS X?

Rosetta can let PPC-based apps work with Intel-based computers, but how about the drivers?

Rosetta will not work for any sort of drivers, because the way Mac OS X is designed any driver is loaded in as part of the kernel. They will at least need a recompile.
8 Core 2.8 ghz Mac Pro/GF8800/2 23" Cinema Displays, 3.06 ghz Macbook Pro
Once you wanted revolution, now you're the institution, how's it feel to be the man?
     
Administrator
Join Date: Apr 2001
Location: San Antonio TX USA
Status: Offline
Reply With Quote
Oct 10, 2005, 03:53 PM
 
This is an opportunity for a lot of vendors to relook their driver code and make sure they're not dropping any balls with it. There are some different considerations between how Intel hardware does some things and how PPCs do the same things; low level code needs to be tweaked in some cases because your compiler can't always know what to do in every situation. Further, some drivers will need tweaking because they have more than their share of complaints or are incomplete (I'm thinking specifically about networking drivers for Samsung printers here, but you get the idea). Overall the actual recompiling should be the quickest part of the task, as many Mac drivers do not have exact analogs in the Intel world and not all companies that write Mac drivers will have any real experience with Intel-compatible compilers.

The REAL test in all of this is with the compiler makers. You don't just (as a rule) change a command line switch from "Windows" to "Mac" and let the thing rip. The better compiler vendors will be working their butts off right now to earn the Mac market. I wonder what Dinkumware is doing about this right now...
Glenn -----
OTR/L, MOT, Tx
     
Posting Junkie
Join Date: May 2001
Location: Portland, OR
Status: Offline
Reply With Quote
Oct 10, 2005, 04:05 PM
 
Actually, you'd be surprised. Remember, Apple has IOKit, which is what most drivers are written on. IOKit will stay pretty much the same from PowerPC Macs to Intel Macs, meaning developers will have no problem finding their devices and talking to them. It's just sending data in the right byte order that they'll have to adjust for.

Graphics cards will be a problem though. The current Mac graphics cards are built for Open Firmware, and the Intel Macs will not/do not have Open Firmware, meaning ATI and nVidia's lives have just gotten easier and harder at the same time. First, off the shelf PC graphics cards should work just fine, making the hardware side easier. However, the software teams now have to write new drivers that recognize these PC side cards, because their current drivers are only programmed to look for and talk to Mac versions of their cards. This would probably be why the Devkits only shipped with Intel Integrated Graphics. You can't simply throw a Mac version of an ATI card in. If it worked, the drivers would be able to find it, but the card wouldn't be able to start because it would be trying to talk to Open Firmware.
8 Core 2.8 ghz Mac Pro/GF8800/2 23" Cinema Displays, 3.06 ghz Macbook Pro
Once you wanted revolution, now you're the institution, how's it feel to be the man?
     
Admin Emeritus
Join Date: Oct 1999
Location: Zurich, Switzerland
Status: Offline
Reply With Quote
Oct 10, 2005, 04:08 PM
 
Originally Posted by Chuckit
Such as what? Most drivers I can think of either are kexts or require them.
Print drivers, many device drivers (prefs panes), scanner drivers... all of those things can be written without kernel extensions - and should. Very few things need kexts. Low-level things, such as file system support and some interface cards, do require low-level kernel access, but it's really rare.

tooki
     
Posting Junkie
Join Date: May 2001
Location: Portland, OR
Status: Offline
Reply With Quote
Oct 10, 2005, 06:22 PM
 
Originally Posted by tooki
Print drivers, many device drivers (prefs panes), scanner drivers... all of those things can be written without kernel extensions - and should. Very few things need kexts. Low-level things, such as file system support and some interface cards, do require low-level kernel access, but it's really rare.

tooki
There is one problem with this. At some point these bundles, even if they are not kexts, must be loaded into an application. For example, print drivers need to be loaded into Print Center or whatever application is trying to print. If you try to load a PowerPC driver into the same memory space as an Intel application, well... it's not going to happen. This is why even if a driver is not a kext it still needs to be re-written.
8 Core 2.8 ghz Mac Pro/GF8800/2 23" Cinema Displays, 3.06 ghz Macbook Pro
Once you wanted revolution, now you're the institution, how's it feel to be the man?
     
Admin Emeritus
Join Date: Oct 1999
Location: Zurich, Switzerland
Status: Offline
Reply With Quote
Oct 10, 2005, 08:28 PM
 
Um, I don't think that's entirely right. Drivers run more or less autonomously, and communicate with the various parts of the OS using APIs. This makes it easy. A recompile is all most need, and it is absolutely possible for programs compiled for various CPUs to talk to each other. I mean, when Apple switched System 7 to PowerPC, old 68K printer drivers kept working. In fact, almost all extensions and apps just worked. Mac OS X and Rosetta have some fundamental differences, but they shouldn't make it impossible for most drivers to keep working.

tooki
     
Addicted to MacNN
Join Date: Aug 2004
Location: FFM
Status: Offline
Reply With Quote
Oct 10, 2005, 08:36 PM
 
Originally Posted by tooki
I mean, when Apple switched System 7 to PowerPC, old 68K printer drivers kept working.
That is because the system had the "mixed mode manager" which allowed to run PowerPC and 68k code in the same process. With Rosetta there is no mixed mode. Either a process is completely PowerPC code or completely Intel code. Plug-ins compiled for a different architecture than the main program can not be loaded. That includes stuff like printer and scanner drivers.

Practically this will mean that we either have to throw away all our Canon scanners (since they're not going to make native drivers for years and then not for older models) or launch Photoshop in Rosetta emulation to scan. Printer drivers won't be a problem probably since Apple provides them for most printer models.
     
Posting Junkie
Join Date: May 2001
Location: Portland, OR
Status: Offline
Reply With Quote
Oct 10, 2005, 08:38 PM
 
Originally Posted by tooki
Um, I don't think that's entirely right. Drivers run more or less autonomously, and communicate with the various parts of the OS using APIs. This makes it easy. A recompile is all most need, and it is absolutely possible for programs compiled for various CPUs to talk to each other. I mean, when Apple switched System 7 to PowerPC, old 68K printer drivers kept working. In fact, almost all extensions and apps just worked. Mac OS X and Rosetta have some fundamental differences, but they shouldn't make it impossible for most drivers to keep working.

tooki
The problem is you're talking about loading a bundle, written in machine language for PowerPC, and linking on that fly against a Intel bundle. You can't do that. I would assume the memory addressing is going to be all whack. Currently to get Print Center to use PowerPC drivers you have to tell Print Center to launch with Rosetta.

You forget, any applications running under Intel mode won't use Rosetta in the slightest degree. They will run entirely Intel or nothing. Rosetta isn't something that steps in to automatically to translate any PowerPC code ever executed to Intel code anywhere on the system. Rosetta will only work under a PowerPC application that was started with Rosetta. Rosetta has no influence at all over applications that are Intel based.
8 Core 2.8 ghz Mac Pro/GF8800/2 23" Cinema Displays, 3.06 ghz Macbook Pro
Once you wanted revolution, now you're the institution, how's it feel to be the man?
     
Professional Poster
Join Date: Apr 2001
Location: Long Beach, CA
Status: Offline
Reply With Quote
Oct 10, 2005, 10:43 PM
 
I think Apple is wise in making Rosetta only semi-functional. In making the 68k emulator fully functional, they allowed third party developers and even themselves to be lazy. Even OS 9.2.2 still had 68k code in it. As a result, Classic on OS X is still capable of running old 68k applications. Apple is drawing the line--cutting the cord. In crippling Rosetta, they aren't allowing lazy developers to keep shipping relatively crappy products.

ACSA 10.4/10.3, ACTC 10.3, ACHDS 10.3
     
badtz  (op)
Mac Elite
Join Date: May 2002
Location: Los Angeles, CA.
Status: Offline
Reply With Quote
Oct 10, 2005, 11:01 PM
 
so would companies need to keep a driver version for both the PPC and Intel platforms?
     
JLL
Professional Poster
Join Date: Apr 1999
Location: Copenhagen, Denmark
Status: Offline
Reply With Quote
Oct 11, 2005, 12:18 AM
 
Originally Posted by badtz
so would companies need to keep a driver version for both the PPC and Intel platforms?
It depends on the driver

Drivers for Postscript printers are just text files and should work without problems.
JLL

- My opinions may have changed, but not the fact that I am right.
     
badtz  (op)
Mac Elite
Join Date: May 2002
Location: Los Angeles, CA.
Status: Offline
Reply With Quote
Oct 11, 2005, 01:48 AM
 
ouch. I hope companies keep up with both versions of their drivers. [seems like a lot of work] :X
     
Clinically Insane
Join Date: Oct 2000
Location: Los Angeles
Status: Offline
Reply With Quote
Oct 11, 2005, 02:12 AM
 
Yeah, that's why I have been cautioning people ever since the announcement not to be misled by Apple's claims that the Mac will continue to be well supported long after the Mactel switch. Third parties aint that kind or competent.

"The natural progress of things is for liberty to yield and government to gain ground." TJ
     
Admin Emeritus
Join Date: Oct 1999
Location: Zurich, Switzerland
Status: Offline
Reply With Quote
Oct 11, 2005, 01:29 PM
 
It shouldn't take anything more than a recompile. There's no reason they couldn't be distributed as Universal Binaries.

And after the original PPC switch, 68K software continued to be available for a long time.

It's really not the big deal you all seem to think it is. Look at Linux (which is closer, technically, than Mac OS 9 is): it runs on a gazillion different hardware platforms, yet almost all of it needs nothing but a recompile to run on a different CPU. It's really not a big deal.

tooki
     
Mac Elite
Join Date: Nov 2001
Location: Trafalmadore
Status: Offline
Reply With Quote
Oct 11, 2005, 02:34 PM
 
Originally Posted by Detrius
I think Apple is wise in making Rosetta only semi-functional. In making the 68k emulator fully functional, they allowed third party developers and even themselves to be lazy. Even OS 9.2.2 still had 68k code in it. As a result, Classic on OS X is still capable of running old 68k applications. Apple is drawing the line--cutting the cord. In crippling Rosetta, they aren't allowing lazy developers to keep shipping relatively crappy products.

This makes no sense. Apple should purposely cripple a large percentage of installed software already on OS X to entice developers to rewrite so that it won't be so crappy?
     
Posting Junkie
Join Date: May 2001
Location: Portland, OR
Status: Offline
Reply With Quote
Oct 11, 2005, 02:38 PM
 
Originally Posted by tooki
It shouldn't take anything more than a recompile. There's no reason they couldn't be distributed as Universal Binaries.

And after the original PPC switch, 68K software continued to be available for a long time.

It's really not the big deal you all seem to think it is. Look at Linux (which is closer, technically, than Mac OS 9 is): it runs on a gazillion different hardware platforms, yet almost all of it needs nothing but a recompile to run on a different CPU. It's really not a big deal.

tooki
Sure. A Universal Binary won't be that hard to make. It's just a matter of getting the companies to release Universal Binaries.
8 Core 2.8 ghz Mac Pro/GF8800/2 23" Cinema Displays, 3.06 ghz Macbook Pro
Once you wanted revolution, now you're the institution, how's it feel to be the man?
     
Admin Emeritus
Join Date: Oct 1999
Location: Zurich, Switzerland
Status: Offline
Reply With Quote
Oct 11, 2005, 05:20 PM
 
I don't think that'll be hard!

tooki
     
Clinically Insane
Join Date: Nov 1999
Status: Offline
Reply With Quote
Oct 11, 2005, 05:30 PM
 
The short answer is, "yes". Rosetta only emulates a processor, not an entire machine, and so it will not work for drivers.

The long answer is that they shouldn't need to be completely rewritten, since both versions would share the IOKit API. Exactly how much needs to be rewritten depends on a number of factors. Some of these depend on the driver itself: how much low-level access does the driver need, and what kinds of low-level access does it need? These will change on a driver-to-driver basis. Other factors depend on differences between the Mac and Mactel architectures, and Apple is being so tight-lipped about these that even if I knew exactly what these differences were it wouldn't be legal to discuss them. At the very least, there will need to be some byteswapping added or removed in most drivers, but this is not terribly difficult and should amount to just a few lines of code. If more is needed -which it might be- then we'll see how it goes.

There will be no Universal Binaries, at least not from commercial developers.
You are in Soviet Russia. It is dark. Grue is likely to be eaten by YOU!
     
Admin Emeritus
Join Date: Oct 1999
Location: Zurich, Switzerland
Status: Offline
Reply With Quote
Oct 11, 2005, 05:40 PM
 
What about "drivers" that are implemented as userspace apps, like all the Palm stuff?

Everyone here is taking a very narrow view of drivers -- but if you look at all the software used to drive hardware, much of it needs be nothing but an application. Take CD burning, which needs no kexts. Palm. Scanning. These are all drivers to some degree or another, but don't need kernel extensions. Very little in OS X does!

tooki
     
Moderator
Join Date: May 2001
Location: Hilbert space
Status: Offline
Reply With Quote
Oct 11, 2005, 05:59 PM
 
I'm concerned about older products. Take an older printer, say a Canon i550 or S630: you are at Canon's mercy that they will make drivers available.

Just take a look at Windows XP 64bit edition, same game.
I don't suffer from insanity, I enjoy every minute of it.
     
Admin Emeritus
Join Date: Oct 1999
Location: Zurich, Switzerland
Status: Offline
Reply With Quote
Oct 11, 2005, 06:12 PM
 
I'm fairly confident that nearly everything included with OS X now (which, if I recall correctly, includes those Canon printers) will be included with the Intel build.

tooki
     
Professional Poster
Join Date: Mar 2002
Location: Brantford, ON. Canada
Status: Offline
Reply With Quote
Oct 11, 2005, 06:37 PM
 
x86 Darwin drivers work in the new OS X Intel version, obviously. And most other drivers will need to be written/re-written anyways because the system hardware will be brand new. Sure some peripheral drivers wont work, but Darwin already has quite a few, remember apple has been planning this for years....
     
badtz  (op)
Mac Elite
Join Date: May 2002
Location: Los Angeles, CA.
Status: Offline
Reply With Quote
Oct 11, 2005, 08:36 PM
 
from a developer's point of view:

now that apple is x86, will developers have an easier time porting their windows drivers to OS X?

Or will it still be the same position as it is now, where some companies just outright don't support OS X for some of their products? [like many of the all-in-one printers]
     
Posting Junkie
Join Date: May 2001
Location: Portland, OR
Status: Offline
Reply With Quote
Oct 11, 2005, 10:23 PM
 
Originally Posted by badtz
from a developer's point of view:

now that apple is x86, will developers have an easier time porting their windows drivers to OS X?

Or will it still be the same position as it is now, where some companies just outright don't support OS X for some of their products? [like many of the all-in-one printers]
Not necessarily. Hardware should be a no work involved job. Software can be just as complicated to port.
8 Core 2.8 ghz Mac Pro/GF8800/2 23" Cinema Displays, 3.06 ghz Macbook Pro
Once you wanted revolution, now you're the institution, how's it feel to be the man?
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 03:17 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2