Hardware driver support in GNU/Linux (An end-user perspective)

本帖最後由 howdy 於 2010-5-6 21:49 編輯

It was the bad experience with the recent Intel driver on the old i8xx display that triggered this writing.  Trying to look from an end-user perspective, things just don't look as good as many claimed!

While many GNU/Linux distributions have been demonstrating rocket progress in terms of user-friendliness towards novice users last years, my experience of hardware driver support under GNU/Linux has not really improved fundamentally.  Hardware driver never arrive in time (in binary or open-sourced form) and thus creating a bad image of always being a crippled system to new-comers.

GNU/Linux doesn't run on the latest and greatest hardware!

Binary-only drivers or firmware (binary blob) has always been a big no no to many open-source enthusiasts by principle.  Discussions over the topic are abundant.  The underlying reasons are of little interest to end users and is out of the scope in this article.  The resulting fact is, incompatibility in binary drivers towards different kernel version could be a nightmare for end-users.  Fortunately, numerous GNU/Linux distribution vendors have made the process a little easier on common binary-only drivers (e.g. ATI/NVIDIA Binary drivers), but the solution is far from great.... read on...

Open-source enthusiasts have been urging the incorporation of open-sourced hardware driver into the Linux kernel being the ultimate solution.  This is, however, hardly superior from a user point of view.  It is still by far unrealistic to get major hardware vendors to release fully functional open-sourced driver for the Linux kernel BEFORE their product is released to the market.  The best one may hope for is a 100% functional driver source by the time the product is launched (some might think I am dreaming already!).

Under both scenarios above-mentioned, there will still likely be a significant delay before the driver is being released by your GNU/Linux distributions, and one gets back to the same old problem: GNU/Linux just doesn't run on latest hardware! damn!

I want the driver only, I do not want to upgrade my kernel, and/or the entire system just to get this bloody new hardware to work

Another very annoying side-effect of the open-sourced in-kernel driver model is the need for major upgrade.  The need to upgrade the entire kernel, and/or other associated system components for a new driver, is just counter-productive.  Would you renovate your whole house when what you need is merely a new drainage pipe for a washing machine?  Fine, renovating your house may results in a more elegant design for your whole drainage system, but many would agree this is overkill.  Don't forget there is no guarantee other things won't break resulting from your full house renovation! (as easily demonstrated in my recent i8xx display driver experience)

So, what should we tell our new-comers?

Don't get me wrong... Being a Gentoo user, fiddling with new kernel etc. to get newer hardware support isn't a big issue for me, but when you think about it from an end-user perspective, the whole model doesn't seems to be "working" at all!

well, if you have read that far.... thanks   I am keen to hear other's thoughts...

It was the bad experience with the recent Intel driver on the old i8xx display that triggered this w ...
howdy 發表於 2010-5-6 19:47


Basically, I am not a developer in Linux.  However, I used to adopt the change of Linux from time to time.  Since Linux will drop the outdated or not good stuff, the change will be greater than other commercial products, such as Windows.  For example, the latest Ubuntu 10.04 forgive HAL and many third party softwares or drivers may need to change a lot to adopt.  As far as I know, many developers do not have the hardwares in hand, just like me (I am the Ubuntu remaster developer but I do not have every piece of hardware) to test the drivers or softwares.  Users of the open source community have rights to report the bug (if any) to the developers in order to improve the products.  That is open source.

Just my opinion.  But think about it.

TOP

Basically, I am not a developer in Linux.  However, I used to adopt the change of Linux from time  ...
samiux 發表於 2010-5-6 22:34


Obviously, to developers, or the more techno-Savvy group, more aggressive changes would be alright. Back to the majority end-user perspective, this may not be the case.  The whole model just doesn't work out well enough, or even counter-productive.  This is the whole point I would like to bring up.

One may always say that this is open source..... love it or too bad.... but this will never help the situation, unless the open-source community is basically heading a direction still targeting the techno-savvy group only....

TOP

Hopefully, you will figure out how to solve your own problem in open source world.  For those who are looking for well furnished products and services, go buying supports.

As the Linux kernel is monolithic and the codes are open, preventing hardware driver programmers from hacking into the kernel is not easy.  Thus, establishing a common and decoupled hardware driver layer is not easy.  

It is always hardware and/or distribution vendors' issue for not providing good enough drivers to GNU/Linux.  In your case, Intel (and maybe Ubuntu).  However it is not the problem of the platform. The GNU/Linux platform is quite open that hardware vendors can nearly play anything with it.  BTW, binary drivers work pretty well in controlled environments, e.g OLPC, Android phones,  Palm webOS devices, Nokia N900 and N??? tablets, some software appliances, and a large number of embedded devices.  Providing broader hardware support while maintaining the software quality is a hard work.  Microsoft has been doing quite well in this area.  For open source platforms, as said by samiux, user and community feedback is so important.

I am quite optimistic about the development of open source movement (not only GNU/Linux).  People see this issue.  Some of the kernel team members are working with hardware vendors to adopt the vendor drivers into the kernel main tree (The Linux Driver Project) and helping them to develop drivers.  IMHO, FLOSS is so dynamic to tackle any technical problem eventually, because it is how human beings work things out so far.

TOP

Hopefully, you will figure out how to solve your own problem in open source world.  For those who ar ...
quintus 發表於 2010-5-7 03:05


Does it mean that we should basically tell new-comers off, esp those who has relatively novice skill?  Go buy something that works!
The points you made are attractive to the tech-savvy group, or developers, but unfortunately didn't help normal end-users in any of the problems I've mentioned.

TOP

本帖最後由 samiux 於 2010-5-7 07:55 編輯
Does it mean that we should basically tell new-comers off, esp those who has relatively novice ski ...
howdy 發表於 2010-5-7 07:24


Please clam down.

Development team need time to fix the problem.  Did you report the bug to the development team yet?  If not, please do it and tell them your problem.  Sooner or later, your problem will be fixed.

Basically, Linux is not for Windows minded users in general.  Users of Linux should have some trouble shooting skills or programming skills.  Otherwise, you may be disappointed.  My opinion only.

I have a lot of fun doing trouble shooting when a new version of Linux is released.  

Meanwhile, Windows system may also encountered some hardware problems when their new version is released.  Be fair!

TOP

Development team need time to fix the problem.  Did you report the bug to the development team yet?  If not, please do it and tell them your problem.  Sooner or later, your problem will be fixed.
samiux 發表於 2010-5-7 09:51


well that is not really a big problem to me.  It's not my machine.  I just feel sorry for the old gentleman I installed Kubuntu on... the initial experience almost pissed him off...
PS: the bug was reported and confirmed more than 4 months ago actually... I am going to leave it to fellow users to decide whether it is a sensible waiting time.
   
Basically, Linux is not for Windows minded users in general.  Users of Linux should have some trouble shooting skills or programming skills.  Otherwise, you may be disappointed.  My opinion only.
samiux 發表於 2010-5-7 09:51

I wouldn't labeled them "Windows minded", as it probably applies to Mac, and basically the majority of normal users out there!  Disregard the fact how one thinks how evil they are, their model seems to work out well!  
If one thinks users of GNU/Linux need trouble-shooting and/or programming skills, does it implies that GNU/Linux is not really suitable for majority of normal end-users?  

I have a lot of fun doing trouble shooting when a new version of Linux is released.
samiux 發表於 2010-5-7 09:51

Well, I have heaps of fun in my spare time fiddling around with new stuff also!   but that unfortunately is not (and will not be) the case for majority of normal end-users!

Meanwhile, Windows system may also encountered some hardware problems when their new version is released.  Be fair!
samiux 發表於 2010-5-7 09:51

Correct, MS Windows do encounter hardware problems.  But be fair, from a normal end-user perspective, new PC hardware support from GNU/Linux is still way worse than that of MS Windows, and probably Mac....sad but true

Towards majority of normal end-users, what position are we standing then?

TOP

本帖最後由 quintus 於 2010-5-7 12:08 編輯
Does it mean that we should basically tell new-comers off, esp those who has relatively novice ski ...
howdy 發表於 2010-5-7 07:24


More or less, using free software and open source software is self-served.  New-comers should be encouraged to learn and solve problems by themselves. In fact, it is not hard to grab information from the web for most encountered problems.

Free software and open source software are not 'free as in beer' in terms of efforts.  We should not take them for granted without any giving.

Someone may judge that a high rate of average joe adoption is a key success factor to free and open source software projects but IMHO people's willingness to share is more important for the projects to sustain and grow.

TOP

本帖最後由 icarus-c 於 2010-5-7 17:01 編輯

i would say hardware driver support limitation on GNU/Linux is its nature _unless_ hardware vendor fully open source their driver, hardware spec ...etc and work with the community closely to write drivers, which is virtually impossible.

The reason is that open source software evolves soooo rapidly, while a kernel or xorg update would probably screw the binary blob. It is very hard for hardware vendor to follow (way harder than Windows)

IF the vendor doesn't even supply a binary/open driver for Linux, the only hope will fall onto open source developers. It is unlikely that someone will work on a driver for a piece of hardware that he doesn't own, or simply just not knowledgeable enough to write one.

what's more is that the Linux quality standard is so high that most open drivers couldn't make it into mainline.
-------------
Seeing this as a GNU/Linux nature, how could we expect GNU/Linux to have a fine driver for all latest hardware, especially graphics card?

As a GNU/Linux user, i would avoid hardware that could be problematic for Linux. And if people ask me about GNU/Linux, i would tell them all the truth about hardware support.

Think this in another way, would a Windows user buy a piece of hardware that wouldn't work for Windows?

The "issue" on Linux hardware support is as simple as that in my opinion. Those who are complaining about Linux doesn't support XXX hardware should blame themselves. And in fact, it is XXX hardware doesn't support Linux rather.
---------------
Yes, it is possible for even fully open sourced driver like Intel graphics to have problem, but there is usually workaround (such as downgrade to workaround regression). If a novice encounters a problem, he would probably ask as he does if he face problem on Windows.

However  if i remember correctly, the intel graphics driver dev clearly said that current release could cause problem potentially, and they recommend people who want to play safe NOT to update. (BEFORE)

I think it is pretty stable thesedays. (note ubuntu isn't that up-to-date for kernel/driver matter apparently, correct me if i'm wrong)

TOP

well that is not really a big problem to me.  It's not my machine.  I just feel sorry for the old  ...
howdy 發表於 2010-5-7 11:32


Amongst Windows, Mac OS and Linux, Windows and Mac OS do not support out-dated hardwares.  However, Linux do support almost all the out-dated hardwares by the Kernel.

No new hardware drivers for Linux is NOT the fault of Linux or Open Source but it is the fault of hardware vendors.  No driver for any piece of hardware for Linux is not the fault of Linux or Open Source developers but it is the fault of the hardware vendors not releasing the specifications of the hardwares.

As far as I know, i810 is a piece of buggy hardware in Windows and Linux world.  By the way, my SONY TR-1 laptop uses a non-standard Intel display which does not work on Ubuntu 10.04.  Meanwhile, my VIA display card on VIA's motherboard also not working on Ubuntu 10.04.  I do not blame the Linux or XOrg developers but I do blame the hardware vendors to produce such a non-standard piece of hardware and not release any driver or specifications to the Open Source communities.

My suggestion is to wait or to buy a new hardware in order to adopt to the current Linux.  For example, I am waiting for about 6 months time for the release of Linux driver from the RealTek for my D-Link DWA-131 Nano N Wireless USB dongle.  You may think that I am a bit of crazy but it is the truth and only thing you can do with it at the moment.  There are still some hardware vendors producing Linux drivers but you should wait a few months.

Yes, Linux users are computer power users who know how to trouble shoot or may know how to programming.  I do not introduce Ubuntu (or Linux) to anyone who do not have skill or mind to prepare to use a 100% new concept Operating System.  If anyone is not preparing to do so, I will suggest them to use Windows or Mac OS instead.

Linux will not overtake the market of Windows or Mac OS in the near future.  However, Linux is NOT designed for fighting against Windows or Mac OS.  It is designed for computer power users or experts or open source minded persons.  

I find that Linux has the trend of not supporting out-dated hardwares very well recently.  Linux may not support them just like Windows or Mac OS in the future.

My opinion only.

TOP