faq
flatforty
contribute
subscribe
configure
search
rdf
main
parent
|
Portability?
by Brandybuck on Wednesday 04/Jan/2006, @10:24
|
Notice the reverse definition they're using for portability: "Each platform providing the necessary Solid backends will be supported." In other words, Solid does not support platforms, instead platforms must support Solid. This is insane. Solid needs to examine how other crossplatform software has been written. Imagine how non-crossplatform Qt would be if Trolltech had this philosophy and left it up to Microsoft and Apple to do their own native ports.
I fully realize how difficult it is to make a crossplatform hardware/device layer. But when "Solid is specifying the features the underlying system must provide", it's doing nothing more than passing the buck.
I'm hoping they just have their definition wrong. |
|
|
The Fine Print: The following comments
are owned by whomever posted them.
( Reply )
|
Re: Portability?
by Corbin on Wednesday 04/Jan/2006, @10:34
|
What they mean (I think) is that the platforms will provide something like HAL on linux and then a backend for Solid will be developed for that platform using the available technologies, I don't think they are saying that on Windows or OS X that they would rely on microsoft and apple to do it, they are going to rely on the developers on that platform primarily (though probably many Solid developers will work on many platforms).
I think "Solid is specifying the features the underlying system must provide" means stuff like the OS must have some way for apps to be notified of hardware or network changes, preferably through means other than the app being forced to periodically poll the status.
|
[
Reply To This | View ]
|
Re: Portability?
by superstoned on Wednesday 04/Jan/2006, @10:49
|
indeed. there is already a HAL backend, and i don't think its written by HAL developers...
|
[
Reply To This | View ]
|
|
Re: Portability?
by Aaron J. Seigo on Wednesday 04/Jan/2006, @11:02
|
perhaps clearer wording would be "Additional platforms can be supported by writing a Solid backend for that target." who actually does the work, which is what you seem to be hung up on, hardly matters. either a solid back end exists .... or it doesn't. =)
> But when "Solid is specifying the features the underlying system must
> provide", it's doing nothing more than passing the buck.
it's not passing the buck, it's defining the needs of the desktop. if those requirements aren't well defined, how can anyone be expected to fill them? this is how HAL originally got going (and why it didn't exist earlier): they sat down and figured out what the desktop needed and wrote code to fill those requirements.
so now we have a list of requirements. if a platform already provides those facilities it's simply a matter of writing a Solid backend for it. otherwise the platform needs to be improved first before Solid can be ported to it.
this is really no different than requiring a network stack to be able to use a network-centric app like kopete or requiring that the system (hardware and OS) offers hardware meters before you can show CPU temperatures in a GUI. =)
|
[
Reply To This | View ]
|
Re: Portability?
by Brandybuck on Thursday 05/Jan/2006, @00:30
|
It seems that Solid is trying to specify a standard, but Solid isn't a standard. What if the underlying platform doesn't choose to accept the imposition of that standard? What if a platform decides it likes another desktop and decides not to implement any of those kernel features Solid tells it to? What if some kindly soul at KDE writes those features, but that platform won't accept them?
This is a concern to me for two reasons. First, I don't use Linux. Second, I refuse to use proprietary video drivers. Will KDE be fully functional for me? If not, I'll be moving to a different desktop.
|
[
Reply To This | View ]
|
Re: Portability?
by Christian Loose on Thursday 05/Jan/2006, @01:49
|
a) Solid is an API for device/network detection and hardware information. It's features are provided through backends like HAL.
b) If the platform decides not offer any hardware probing features in its kernel, it's there problem, right?
c) If the platform does offer the needed kernel features, it just a matter of either porting HAL or writing a new backend for Solid. Solid neither specifies the implementation nor the API of those kernel features. This is all handled by the Solid backend.
d) I'm sure KDE will also function on platforms that don't provide the necessary functionality. You will just miss certain features.
e) Solid features have *nothing* to do with proprietary video drivers
|
[
Reply To This | View ]
|
Re: Portability?
by Brandybuck on Thursday 05/Jan/2006, @10:10
|
This is why that quote is so confusing, because it is stating that the backends must conform to the Solid specification. In other words, a platform can provide sufficient hardware probing features, but Solid won't use them because they didn't follow the Solid specification. Hopefully that's not what their portability definition means, but that is how it is written.
p.s. Sorry about the video driver reference. I had recently read about XGL only supporting proprietary drivers, and I conflated the two hardware issues in my mind.
|
[
Reply To This | View ]
|
Re: Portability?
by Greg on Friday 06/Jan/2006, @11:16
|
Well, if there are hardware probing features that don't do what Solid needs, then no it may not support the platform. If it's just that the platform doesn't do things in the exact same way as Linux does, then that's the purpose of Solid. Systems like solid and hal are just a way to let people developing application ignore the specifics of an individual OS, just like QT mostly allows you to ignore whether your app is for Windows, Mac OSX, or Linux.
Solid wouldn't be saying exactly how the platform has to behave, it just specifies what information it needs to be able to get somehow to work properly. Some OS's may be more efficient about providing it than others though.
|
[
Reply To This | View ]
|
|
Re: Portability?
by Gerd on Thursday 05/Jan/2006, @02:14
|
Do you have any doubts that all relevant plattforms will support it?
|
[
Reply To This | View ]
|
Re: Portability?
by Segedunum on Thursday 05/Jan/2006, @13:44
|
It's the only way it can be done. HAL is a back-end, but the only way it can be used in different operating systems is if it is actually there - which is only Linux at the moment. There is a lot of OS dependant stuff when it comes to hardware communication. Likewise, Solid can only be used if the Solid backends are there.
Another way of wording this is to say that you port the necessary Solid backends to each platform and they will then be supported ;-).
|
[
Reply To This | View ]
|
Re: Portability?
by I think you mis-understand platforms.... on Friday 06/Jan/2006, @06:22
|
What they mean is, that in Linux Solid can use the HAL backend, but it can't in FreeBSD or NetBSD or Solaris. So, on each of those *platforms*, a different Solid backend would need to be implimented.
It has nothing to do with drivers or hardware.
|
[
Reply To This | View ]
|
Re: Portability?
by Anonymous on Friday 06/Jan/2006, @22:44
|
> Solid needs to examine how other crossplatform software has been written.
Actually, take a look at GCC and most other cross platform tools and you will discover this is exactly how they work. Firefox is the same way, and so is Mono. I don't know about OpenOffice, but I would expect that to be the same, too. The proper way to develop any cross-platform application is to abstract away the differences, which means writing a driver for each platform that has a specified API, and any platform that provides that API should run the application.
|
[
Reply To This | View ]
|
The Fine Print: The previous
comments are owned by whomever posted them.
( Reply )
|
|