J. Scott Franko <jsfranko@switch.com> wrote:
pete@qnx.com > wrote:
I bet it would take them a lot longer.
We’ve all seen many different video chipsets, but we also know
the QNX OS intimately.
And a board vendor knows their board intimately. You both have to learn each
others tech data to do the job. Are you saying that its easier to learn the
tech data of a graphics board, than it is to learn how to write a video
driver for QNX?
That’s my opinion.
Graphics chips are really all very similar. In the driver group here,
we have seen dozens of different chipsets, and we know how to debug
a driver while it’s undergoing development, so our only real learning
curve is the chip itself.
A chip vendor on the other hand would have to learn everything from
how to install our OS, how to put it on a network, how to use our
compilers, how to write QNX interrupt handlers, how to get physical
memory, etc. etc.
Admittedly, once they have done one or two QNX drivers, they could
probably do a driver for a new chip as fast as or faster than us,
but right now I think we could definitely do QNX drivers faster
than any of them assuming we have access to the same information
There are Linux programmers at many of the video chip companies,
but that really just means they are a whole lot braver than they
would be if they didn’t think they knew how to program a device
driver in `UNIX’.
I’m not sure I understand what you mean here. Are you saying that linux
programmers are only junior unix program, thinking they are working in a real
Unix, but not really?
No… I’m saying that a Linux programmer who has done a video driver
for Linux has written an XWindows driver… not a Photon driver, and
that if they assume Photon is just our name for XWindows, they
are going to be completely lost.
The similarities between other OS’s and any QNX OS becomes
greater the closer you get to writing things like device
drivers. A Photon driver is very unlike an `X’ driver or
a windows driver.
If the similarities are greater at the device driver level, then why isn’t a
photon driver like an X driver or a windows driver?
Duh…
I meant the differences are greater, or that the similarities are
`lesser’
I agree with your forecast of changing weather in the hardware
market, but be careful what your wish for. Would you trust
every video chip vendor you know of to be able to deal with some
of the subtleties of a real time system (i.e. like learning not
to disable interrupts, and run at a high priority all the time).
Perhaps not, but you can help them keep it straight. Give them enough
technical info and they’ll write it so that it doesn’t conflict.
That’s what we’re trying to do, but I know that a couple of years
ago, there was a big flap in the Windows world because certain
companies disabled interrupts in their drivers in order to get
higher benchmark numbers.
We can give them what they need and ask them to do things nicely' but there is no way to stop them from doing
bad things’.
No. We will not support some of these chipsets that are so
cruddy that they take as much time to support as four or five
other chips.
I’m not asking you to support the cruddy stuff. I’m just asking that there be
some support for the major cards that come out. I just want to be able to buy
a major brand computer and have it support QNX. Is that too much to ask?
It depends on your definition of major brand computer'. In my experience, many
major brand computers’ do not do things the way everyone else does
them, and they do not release any information on how to make the machines
work in a non-Windows OS.
Basically, there are a lot of ``Windows’’ boxes out there that are
designed only to run Windows.
and vendor’s won’t write it (cause the market is too small
and 4 hours of their time is too much),
Do you really want some guy at ATI who thinks he can make
a Photon driver because he can make a Linux X driver to put
out some (probably) unsupported driver he did one weekend in four
hours?
No, I want some guy at ATI to add QNX driver writing to his repetoire, and
become good at it, and write a driver to support Photon. What’s so elite
about QNX and it’s drivers that a guy who already writes drivers for windows
and unix and linux, couldn’t study for a while and write good drivers for QNX?
There is nothing elite about it, but you’re no longer talking about four hours
of their time.
You can’t make a comment citing four hours being too much, when what you
really want is far more than four hours effort from them.
And just in case it got lost in the middle of these posts, I did drop
a broad hint that you may be seeing vendor written drivers
down the road. We do have a driver development kit now, and
we have given it to some of the vendors.
You may be mistaking the four hour 3DFX driver we did the first
day for the one that’s released now. It’s got far more than four
hours in it.
I don’t mistake it. I see the 4 hour deal as a fun hack just to prove you
could get it working. I think other good driver writers could do the same.
But of course you aren’t going to release a 4 hour hack. You clean it up,
alpha it, beta it, get feedback, and polish it into a release. This takes
time, but I don’t think it should take 6 months.
Agreed. I agree with most of what you’re saying, but I’ve learned
to pick out exaggerations and hyperbole since I’m so good
at generating it myself
Frankly, I would rather have some QNX fan use the DDK to do one
by looking at some Linux source and actually thinking about it.
And why can’t you recruit and create fans of QNX at the vendors?
We can and we do. It takes time. As I said in an earlier post, Epson
demonstrated their own driver at the QNX 2000 conference. They aren’t
the only ones, but it’s not my place to tell you who the others
are… they’re still a bt shy.
in a new PC, and QSSL won’t sell it’s own PC’s with
OEM cards from vendors you have relations with, then its a crap shoot to
buy new PC hardware that will work with QNX!
Well it’s a crap shoot to buy it from certain large vendors who
cater to the Windows market and won’t let you choose which parts
go into it, I’ll grant you that.
But why should it be?
It shouldn’t be, but it is not us who is making the non standard
hardware.
If the large vendors are the most available computers
to buy, shouldn’t you be supporting their configurations with QNX?
Well I’m enjoying this conversation immensely, but I really don’t
have time to write an essay on many of these things.
I’ll just say that we do our best to keep up with things, and if
you ever wonder why we don’t support something that seems real
popular to you, it’s probably because we cannot get any documentation
on it.
Not at all. If you want support for a particular card, you need only
make a business case to the appropriate sales contact at QNX.
I can’t make a business case. We’re a small fish doing railyards here and
there. We do a primary and a redundant realtime server in QNX, and the rest
of the machines are NT display clients. We have this silly requirement to buy
all the same computers so any machine can be cannabilized into a replacement
for any other.
A business case isn’t always how many licenses you buy or wether
you can pay for a custom engineered driver. If you tell your sales
contact you would like to use a Brand X such and such, and lots
of other people do the same, there could be an aggregate business
case there.
QUICS isn’t really a good place to say stuff that gets heard by
the sales and business people though.
All I really wanted when I started this thread was the recomendation of a
system that I could by that had the parts in it that QNX supports. I have
more complicated realtime problems to think about. I don’t want to spend all
my life finding a product that works. I want one that “just works!” I think
I got one reco along those lines, out of all the many messages in this thread,
and even that was qualified with the recomedation that I buy it empty and get
the video and net cards separately.
I sympathize with you there, but if you look at if from my side, I’ve
been burned many times by recommending a card, and then finding out
that the vendor is using a different chip on it now. Their drivers
work because they shipped them with the card, but noone told me they
were going to pull a switcheroo.
Laptops are particularly bad for that kind of thing.
The other side of that coin is that I have to go to the chipset vendors
and try to get information from them to support their chips, so I have
to be very careful recommending one chip over another. That’s another
reason we’re a little vague here when it comes to hardware
recommendations.
Thanks for the feedback! I’m pretty much know where I stand now, with respect
to choosing a system for QNX, even if I didn’t get many real system names to
choose from.
No problem. Good luck finding suitable hardware, and if you do find
something that almost works, don’t hesitate to ask about it. We
may be able to come up with a quick patch that lets you move
forward.