Jump to content
23 posts in this topic

Recommended Posts

So, I read these forums every day hoping each time that someone has taken the time to actually answer some of mine and others' questions regarding hardware support in osx86. It seems that the community of developers that insanelymac was built on have just up and left or no longer care enough to actually help the effort to support more pc hardware in osx86.

 

Specifically, scsi, ide, video and sound. Natit has not been further developed in a long time and there seems to be no support at all for scsi or ide cards in 10.4.8.

 

In any forum topic where people have asked for help getting these things working I see posts that simply say: "this just wont work in osx".

 

Excuse me for being upset, but that is the laziest excuse for doing nothing I have ever seen. I myself am a skilled java, c++, php, javascript, etc developer. I myself have never even tried developing hardware drivers. I wish I had the skills necessary to help the community by developing drivers for such pc hardware but I just don't know where to begin.

 

I guess the point of this topic is to ask for help. I am willing to learn and to go above and beyond what anyone will teach me and devote as much of my time as I can to developing drivers for pc hardware for osx86.

 

If anyone cares about the future of osx86, please take the time to offer up some suggestions.

Yeah, well I love apple and all, but it is a damned shame that they require you to shell out over $2000 for their basic tower. Excuse me for totally ignoring your suggestion, however your post has nothing to do with the topic of this post. This post is about the further development of OSx86. Now if you are offering to buy me an Apple computer, then by all means do so. Otherwise keep you comments to yourself unless of course they are actually going to help.

Yeah, well I love apple and all, but it is a damned shame that they require you to shell out over $2000 for their basic tower. Excuse me for totally ignoring your suggestion, however your post has nothing to do with the topic of this post. This post is about the further development of OSx86. Now if you are offering to buy me an Apple computer, then by all means do so. Otherwise keep you comments to yourself unless of course they are actually going to help.

 

Basic tower? This is probably most powerfull tower on a market :)

And my post is really has something to do with OSX86 development. Sometimes someone come to osx86 and even start to write/port some drivers. Sometimes they even produce something, but then they go and buy mac and they stop to work on osx86.

In principle, it is simple. If you able to write driver fro osx86 to be able to use osx86 on your unsupported hardware, it means that you can spent this time to write something for money which will allow you to replace your unsupported hardwre with fully supported Mac and forget about all compatibility problems. OSX86 community is small and, afraid, not going to extend really, and, for sure, there is not so many osx86 users how going to be osx86 users for long time. Which means it is diffcult to really develop something serious continiously.

That's a reason. Why OSX86 development is vanishing.

 

Few days ago I've been thinking about developing driver for Logitech G15 keyboard. I even started to pass through Apple USB docs, but later that day I reallized that it's very probable that I'm not going to use this G15 up to end of it's lifetime, because it will be replaced with Apple keyboard which will come with Mac. It's enough that I've spent already some time to write linux driver which I don't use anymore.

 

But if you really want to develop drivers, you can look at Apple web-site. They have plenty of documentation for developers.

Natural way to develop OSX86 driver is to get linux driver (I assume you are not a fan of reverse engeneering to do it by youself) and read Apple/Darwin doc and port driver to OSX or write new ones using linux driver as a reference of hardware related stuff.

 

What you need is to just start. Grab linux driver for device which you are interested in and try to understand how it works. Immediately you will se that you don't :) But at this point you will have kind of well-defined questions, so you can go to google and find documents where you can get answers. When you finally got ideas how all this {censored} works, you start to think how to port it to darwin. And then you already know what you need from darwin kernel, so you will have well-defined questions again to look for answers in Apple developers docs. To make things clear, you can try to take some driver from darwin for similar hardware and try to understand how it works.

Keep in mind that good question is a more than half of answer.

And keep in mind that Salvador Dali wrote something like "Before you'll start to paint your own things and invent new art, you have to carefully study what classic painters did and study how to paint same things on a same level, only then you can try to bring something new into the art".

So, just read linux/darwin sources and try to understand how it works.

And how to became driver/system programmer.

I almost sure that most of current system/driver programmers were grown on xBSD and, later, on Linux sources :)

First of all, let me thank you for totally missing the point and probably causing this entire topic to no longer be taken seriously.

 

Second, take a look at your member number. 93,057. Mine is 1,026. Do you know what that means? That means I have been here much longer than you and have actually been around when people were still developing for osx86. So don't assume to tell me what is what.

 

Third, "just a basic tower". Well it is the only tower. I do not want nor need a laptop and unless you are going to give me some money to help me afford the totally outrageous price for one of Apple's mac towers you need to take a step back and think. If I could afford a mac tower I would have one already but b/c I and most other people here can't we build osx86 hackintosh machines because we can. Not only that, but b/c real intel mac's support fewer pc hardware than osx86 does that is just a very stupid suggestion. Even if I were to buy an Apple tower, I would also have to shell out top dollar for mac hardware that is usually marked up so high in price just because it supports mac.

 

Third, drivers developed to support pc hardware in osx86 will not work in an intel mac. Intel mac's use EFI. PC's use Bios. Most kexts available here are written for bios, not EFI and to get any pc hardware working on a real intel mac would require that it supports EFI. So that means anything with a firmware on it, like video cards, ide cards, scsi cards must have a firmware that supports EFI. That is basically 1% of PC hardware on the market.

 

Now, since you are a NOOB I will give you a break and just call you naive. But don't be ignorant.

 

As far as the advice on where to start developing for osx86 that is great info and I thank you. But once again there is a difference between osx86 and a real intel mac and writing drivers for each platform is almost completely different. I am specifically looking for those people who are aware of these differences and know how to overcome them to post suggestions here.

give me some money to help me afford the totally outrageous price for one of Apple's mac towers

 

Tho this is not the point of your thread, you did bring it up...

 

I don't find apple's prices outrageous. Not for what you get. For work - I've got an eight core 3.0 Ghz Mac Pro. I depend on it and I don't feel I over paid for it. For home - well the fact of the matter is that I like tinkering and the Hackintosh let's me scratch that itch. I'm a noob too and you've got a year plus on my efforts, so you can toss aside my comments as well.

 

I'd love to see more stuff written for the OSx86 community, but I'm not holding my breath...

 

Patrick

 

P.S. what's wrong with starting with Linux drivers - they were written for BIOS and porting them to Darwin (EFI or not) would seem to be the logical path to take...

Tho this is not the point of your thread, you did bring it up...

 

I don't find apple's prices outrageous. Not for what you get. For work - I've got an eight core 3.0 Ghz Mac Pro. I depend on it and I don't feel I over paid for it. For home - well the fact of the matter is that I like tinkering and the Hackintosh let's me scratch that itch. I'm a noob too and you've got a year plus on my efforts, so you can toss aside my comments as well.

 

I'd love to see more stuff written for the OSx86 community, but I'm not holding my breath...

 

Patrick

 

P.S. what's wrong with starting with Linux drivers - they were written for BIOS and porting them to Darwin (EFI or not) would seem to be the logical path to take...

 

As far as starting with linux drivers and getting them working in osx86, I agree and will be taking a look into this.

 

As far as the money issue. I am so glad that there are so many people out there with opinions and money to waste. I however am currently an unemployed software developer working freelance just to get by. Setting aside over $2000 for a computer is just not realistically in my budget now or in the next decade. I do agree that buying an apple mac is well worth the money, however it is still an outrageous price for a computer considering the dual core 3.0 ghz pc I am using as my hackintosh now only cost me $400.

Suggesting people are lazy because they don't want to spend THEIR time for free to work on non-standard hardware or hardware they don't have just shows a lack of respect for what we already have.

I would say that in the grand scheme of things very few actual drivers have been written, and the majority are "hacked" to work with drivers already included by apple or BSD. (not saying none where, but this isn't Linux adn all their devs with funding)

 

antst, you know that the G15 LCD is working in OS X? I've got it displaying iTunes info as songs play. (You can display a lot easily.)

(G-keys not though, never use them anyways.)

Well, obviously this was a waste of time. Sure, in a perfect world everyone should be well compensated for their efforts. But telling me that b/c I have an interest in furthering the development of hardware support in osx86 and am asking for help in doing so that I am somehow disrespectful of this community is pure {censored}. I am offering my time and efforts without compensation to aid the community. Respect would be posting relevant info that would aid me in my pursuits. Disrespect is telling me I am wasting my time.

In any forum topic where people have asked for help getting these things working I see posts that simply say: "this just wont work in osx".

 

Excuse me for being upset, but that is the laziest excuse for doing nothing I have ever seen.

You suggested this, not me.

Whether they think it won't work, don't want to be bothered, or could careless about you or I, they're reason is valid.

It's simple, if someone is interested in that particular hardware, they'll work on it.

 

You even say you have no driver writing experience yet you qualify the answer "It just won't work in osx" as wrong.

 

No one is suggesting you are wasting your time and you shouldn't try, but the whoa is me I can't afford Macs, or I can program and will contribute, you should too, doesn't usually go over well. Anst already gave you some great places to start, join the Apple Developer Connection and look at the docs for device drivers. Check out Linux device drivers source code.

 

 

Well, obviously this was a waste of time. Sure, in a perfect world everyone should be well compensated for their efforts. But telling me that b/c I have an interest in furthering the development of hardware support in osx86 and am asking for help in doing so that I am somehow disrespectful of this community is pure {censored}. I am offering my time and efforts without compensation to aid the community. Respect would be posting relevant info that would aid me in my pursuits. Disrespect is telling me I am wasting my time.

Take a deep breath, I think you are still upset. We are not the enemy. :)

Third, drivers developed to support pc hardware in osx86 will not work in an intel mac. Intel mac's use EFI. PC's use Bios. Most kexts available here are written for bios, not EFI and to get any pc hardware working on a real intel mac would require that it supports EFI. So that means anything with a firmware on it, like video cards, ide cards, scsi cards must have a firmware that supports EFI. That is basically 1% of PC hardware on the market.Now, since you are a NOOB I will give you a break and just call you naive. But don't be ignorant.

 

I hope you proud of yourself. Is it OK that I'm programming for 20 years and did it for almost all hardware platform you could hear, starting from Apple II and classic Crays and ending contemporary systems, sir?Did you notice that you just emphasize my point? OSX86 community it tight. And not so much sense to develop driver for 100 users in average (it is not size of comunity, if you will try to misunderstand). Do you really want to invest time to support my Promise controller, which , probably, owned by another 10-20 OSX86 users? There is a lot of hardware to support and to few users. Comunity isn't going to grow substantially. There are reasons for that. At least untill Aplle will want this community to grow.You like OSX86, I like it also. But mostly this going to be small and developed mostly by students who will give up once they get a job.I laike idea of wide hardware support, normal installer which will avoide dances with patches, editing plists and compiling sources. But I don't beleive that this is going to happen.

 

Generally, you even can write drivers, which will work on both, EFI and BIOS systems, nothing wrong with that, but Macs aren't build as really expandable systems. There isn't much of sense to write drivers for PCI devices.

Much more efficient to play with external USB/Fireware/etc hardware, this drivers can be handy for much more users.

 

As far as the advice on where to start developing for osx86 that is great info and I thank you. But once again there is a difference between osx86 and a real intel mac and writing drivers for each platform is almost completely different. I am specifically looking for those people who are aware of these differences and know how to overcome them to post suggestions here.

 

Your question is too wide, to get answer. Every kind of hardware will require different things.For USB you don't really aware of EFI/BIOS {censored}.For graphic card, EFi/BIOS {censored} is one of the last things to think about. If you really going to write graphic driver from scratch.If you want answers, you better start with something like "I want to develop driver for my PCI card bla-bla-bla".

 

 

antst, you know that the G15 LCD is working in OS X? I've got it displaying iTunes info as songs play. (You can display a lot easily.)(G-keys not though, never use them anyways.)

 

I know, but this solution is kind of a fast and ugly (sorry if developer read this post :) ), which alowed you to display something somehow. It isn't something which you call normal driver. Normal drigver has to be splited into kernel-space proxy I/O driver, user-space proxy helper and, desirably, higher-level framework (if you really want to use display efficiently and want a lot of plugins). Basically something like current linux driver, although it is still far from perfect and partly misstructured also.And, moreover, I'm interesting in G-keys mostly, because they are reason why I've bought it. It reminds me good old days with SUN keyboards.

 

But, this nice picture isn't going to happen.

Because not so many OSX users(including real mac users) have this keyboard. And, which is more crucial, this is already old keyboard, and going to be replaced by something else soon. And, probably, this something else will use different protocol (at least for LCD now they have a bit strange one, it would be much logical to have kind of normal framebuffer)

 

 

Suggesting people are lazy because they don't want to spend THEIR time for free to work on non-standard hardware or hardware they don't have just shows a lack of respect for what we already have.

 

The fact is that most of really common hardware somehow supported. The most demanding things are solved already somehow and this is great.

Things which arent' solved, like graphics, not going to be solved really, until NVidia/ATI(AMD) will do it. Look at linux community, which is much bigger but still not able to produce fully working drivers for ATI/NVidia. You should have full acces to internal documentation.

Patching has some limits.

Exotic disk controllers...Jmicron and Nforce are supported. support for rest isn't going to happen. Too few users. Linux drivers too are built around of libata which is very linux-specific, AFAIR. For couple of devs with weak testing base it can take too ling to port. It is, generally, very important to have big testing base for developing opensource things.

jtillwick: If your willing to help develop for the community I and many others would be really greatful, drivers are always needed and imho thats whats lacking the most. Anyway there are alot of work made just to make OS X start and thats the hard part. I think there are active developers on the forum but they seem to be focused on leopard right now if im correct (im not very informed).

 

I downloaded the Xtools dev kit from developer.apple.com and with it you get all the necessary sdks to develop and also a really nice ide. There are quite alot of example code there and I dont think there is any problem in getting to work with coding. As im pretty good at C myself I would be happy to give it a try but it has to wait until I get home to my hackintosh.

 

Anyway pherhaps someone could give a little turtorial on how to set up the enviroment for developing drivers on os x, for linux i know how to compile kernel modules but I dont know how to compile kernel modules in OS X. I would like to set it up and try just for the fun of it :) and if something good can come out of it that would be great, if not right now then pherhaps in the future :)

 

So.. Could someone sheed some light on this

jtillwick: Don't be upset.

I didn't tell you that you waste your time. I just answered on a question in your topic.

 

Is osx86 development dead? Yes, partly because of..

That's all.

 

And, coming back to rest fo your questions. Usually, most diffcult if you want to write drivers is to understand how hardware works. It is easy to write drivers once you know how hardware really works and have some ideas about kernel/system API.

Second part you can read in Apple docs, but first..this is most diffcult, cause for most of hardware we don't have real informations. And even some linux drivers are crappy because they based on reverse engeneering and no one of devs really for 100% know all details about hardware. :) This is most difficult point.

 

And if you will finally try to write driver, take your time, sit and thing well about driver layout in global, before you write first line of the code.

The fact is that most of really common hardware somehow supported. The most demanding things are solved already somehow and this is great.

Things which arent' solved, like graphics, not going to be solved really, until NVidia/ATI(AMD) will do it. Look at linux community, which is much bigger but still not able to produce fully working drivers for ATI/NVidia. You should have full acces to internal documentation.

Patching has some limits.

Exotic disk controllers...Jmicron and Nforce are supported. support for rest isn't going to happen. Too few users. Linux drivers too are built around of libata which is very linux-specific, AFAIR. For couple of devs with weak testing base it can take too ling to port. It is, generally, very important to have big testing base for developing opensource things.

That's essentially what I was suggesting but that was a much more detailed explanation. :)

 

Here's a good place to start if you are interested in learning and then writing device drivers for OS X: http://developer.apple.com/referencelibrar...vers/index.html

Here's a good place to start if you are interested in learning and then writing device drivers for OS X: http://developer.apple.com/referencelibrar...vers/index.html

 

Exactly, there is a lot of documentation.

Also there is mailing lists at http://lists.apple.com . It is generally good idea to pass through archive of this lists. You even can figure out that somebody already trying to develop driver for hardware you are interested in and you can try to join efforts.

Also you can pickup a lot of extra interesting information about driver development. Even more, regularly newbees ask different questions about starting and simple things and more experienced devs answer. So, you can get better understanding what you want and what you are going to do by reading this lists archives.

 

And about drivers for internal devices, I perfectly sure that most demanding is kind of normal driver which will support all this HDA/AC97 hell. Taruga's apple HDA patcher is nice, but, probably, someone have to sit and rewrite AppleHDA and AppleAC97 drivers looking by one eye into intel-hda and intel-8x0 drivers from linux.

  • 2 weeks later...

What will bring new images if they always contain errors from old ones? Since 10.4.8 there's the Disk Utility problem and since Uphuck's 10.4.9 there are problems in the finder translations. 10.4.7 runs perfectly, I would never change to a image which is newer but has more errors.

My $0.02 - While it's true Apple's towers are some of the best out there hands down, I think the whole point of this exercise is that we all have existing hardware that's capable of running OS X. Why throw away money when you don't need to? Now having said that, when my current rig peters out I plan to get a MacPro. No reason not to as it'll run Windows natively now if ever I need to. I'm definitely ready to ditch Windows. And part of my recent Hackintosh 're-interest' is to see how difficult it would be for me to ditch Windows day to day.

 

So saying "go buy a Mac if you're upset with OSX86 support" is kind of... not in the spirit of things, not to mention expensive, although I really don't think the MacPro are really that expensive considering what you're getting. People need to remember they're Dual socket Xeon machines. Not run of the mill Core 2 machines.

 

Having said that, both my current server and current workstation are on par if not better than a MacPro, my workstation is a dual Opteron 252 and my server is a Xeon 5130 DC 2.0Ghz, same chip as in the MacPro.

 

It'd be silly for me to go buy a MacPro now. It would also be silly to buy a MacMini because it wouldn't be up to par with what I'm running now.

 

So, I've tried to turn my PC into a Mac.

 

It hasn't been easy, between the PC I'm using here at work and my home one, I've probably installed and reinstalled OSX like 50 times the past two and half weeks. But so far it's been worth it. There's definitely little annoyances and gotchas you gotta work around.

 

It's definitely not as easy or forgiving as Windows is but for crying out loud, it's not supposed to be running on our hardware.

 

That being said, I definitely feel like the community, this board feels a bit flat. Responses to questions and posts aren't what I expected to be when I came back. I will say the hardware support is decent, alot better than when OSX86 was first leaked. But in general it does seem more like we're replacing our existing hardware with stuff that's on the HCL instead of actually finding a solution.

 

It's interesting, I believe part of the reason the current level of support is where it's at is due to the Linux community but I would have expected it to continue to improve as well. It's been years since I was part of the Linux community so I don't know if the support there has waned as well.

 

I guess we can keep plugging away. Hope for some righteous dude to save us and write drivers for our hardware. Or we can continue to swap our stuff for stuff on the HCL. Either that, or wait until Apple's market share increases even further to a point where the vendors will have better support.

 

Keep the faith people.

I have to put my 2 cents in here.

I spent several weeks (months?) trying to make speedstep/sleep work on my laptop.

Why? Because I wanted/needed it to work for ME.

Guess what? I don't know C, but with enough staring at code, and with barrels full of patience I managed to make it work. For me.

Once I finished it, I released it for everyone else to try.

If it helped some people out, great, I'm glad I could help.

osx86 development isn't so much dead, rather it progressed so far that there isn't nearly the amount of work to be done as there was 2 years ago.

Yea, there's drivers to write, and if thats your main concern, do what I did, write it so that it works for you.

After you get it working, release it for everyone to try and enjoy the fruits of your labour.

I know I thoroughly enjoy my laptops fan not coming on every 30 seconds, the extra 1.5 hours of battery time is sweet too.

Stop complaining and get coding.

When Apple decides to release the 10.4.10 (and 10.4.11 if it happens) source some development will kick up again as I'll need to patch up the kernel for speedstep support again.

So as far as I'm concerned it's not dead, its in hiatus.

 

One final point. Remember that osx is locked to the initial release of hardware that came in the mac minis, imacs, macbooks, pro's. Apple will have to continue to support those devices, which is why those devices are great choices for osx86.

 

Paulicat

Yeah, well I love apple and all, but it is a damned shame that they require you to shell out over $2000 for their basic tower.

 

You are working from the biased opinion that a basic computer has to be a "tower". What about the Mac mini? Is it not a "basic computer"? How about the iMac? It is a mid-range computer along with a very nice monitor.

iMac and MacMini habe both the same problem: You can't upgrade them very much internally, like hard disks, memory etc. They need less space, but if you want to expand them you'll get a lot of external usb or firewire cables and -boxes for HD's and so on which are totally slow. I can put 4Gig RAM, 2 DVD drives and 10 HDs in my Hackintosh, try this with an MacMini ;-) And if the monitor of your iMac is broken you'll have a big big problem :-(

well, jtillwick, I do hope you do something. I'm not even going to bother going in depth about this, I see too many people try and fail; and the ones who fail aren't the ones who tell people they're not going to develop anything because they're too, they are the ones who actually try and give up before anything is done.

While I agree with a lot of the original poster had to say, I have to agree that I've seen a lot of OSx86 in the past year completely die out. I visit every once in a while to see if something has changed, but typically has not. I've been waiting for a change in development in Natit for about 8 months to no avail, I'm not really all that upset really. My laptop isn't all that compatible with OSx86 at all. While my desktop pretty much worked without a hitch.

 

I don't blame developers of this community to stop taking their time creating drivers and such to make their hardware and other stuff work. Apple's laptops are pretty competitively priced, and because of OSXs lack of hardware requirements can typically have a longer life with Tiger and Leopard and any subsequent operating system release. Do you see 3-5 year old laptops running Vista with all effects and features working? No. However we see old G4 laptops running OSX without a hitch and a substandard feature set.

 

I've pretty much converted to Vista as it pretty much has all the features that OSX has and in its own right is a pretty good operating system, maybe in a year or two when this cheap laptop gives out on me I'll decide to truly try out a Macintosh computer. But there's too much effort wasted and busting ass to make these PC hardware parts work with OSX, and then when it does work with OSX does it necessary mean it will work with Leopard and everything else. I think a lot of people are just fed up with the frustration and would rather just pick up an Apple and spend a little extra cash then fool with wasting their time and effort writing drivers.

 

I totally don't blame them, and because of that OSx86 development has slowed down quite a bit.

There is probably a certain level of anticipation for 10.5, and the unpleasantness in the community hasn't helped much either.

 

In any case, I've got the most recent version of OSX running flawlessly on my computer, so I don't need anymore development at the moment.

×
×
  • Create New...