Linked by Thom Holwerda on Wed 4th Dec 2013 18:06 UTC
Linux

"Joining the Linux Foundation is one of many ways Valve is investing in the advancement of Linux gaming," Mike Sartain, a key member of the Linux team at Valve said. "Through these efforts we hope to contribute tools for developers building new experiences on Linux, compel hardware manufacturers to prioritize support for Linux, and ultimately deliver an elegant and open platform for Linux users."

Mark my words: Valve will do for Linux gaming what Android did for Linux mobile. Much crow will be eaten by naysayers in a few years.

Thread beginning with comment 577976
To view parent comment, click here.
To read all comments associated with this story, please click here.
oiaohm
Member since:
2009-05-30

I wouldn't hold your breath. ATI and NVidia do try to provide drivers; but both the kernel developers and X developers are constantly breaking them (changing APIs). After years of having their work broken by morons (who can't create a standard and stick to it), I can't understand why ATI and NVidia haven't given up on Linux completely.


Brendan this is a complete lie. Linux Kernel breakages with Nvidia and ATI have in fact in all cases traced to them depending on behaviour that was not defined in the Stable API of the Linux kernel. Stable ABI is also exported to user-space. Functions exported to userspace making up the Stable ABI if they are every broken they will be fixed in a kernel revison. So no the Linux kernel cannot be in this list.

Nvidia and ATI have got into some trouble for bad coding behaviour. Like it was never good coding behaviour to just use the big kernel lock instead of creating your own. This busted ATI. Nvidia broken due to saying that page sizes will always be 8Kb. The standard api did not say either. In fact it said it was platform definable with a look up function that told you how big the current page size was.

The kernel side of the Nvidia and ATI drivers does not break that often. Yes and almost all cases have been something that should not have been done in the first place. There are functions in the linux kernel marked GPL only as well. These are not stable and are only fore drivers include as part of the main Linux kernel.

Nvidia is getting wiser with age. Like recently needing dma-buf making sure it was exported to user-space with a interface that would be stable.

X developers thinking nvidia designed bypasses to most of the X11 stack instead of fixing it.

The change of X11 API for drivers is in fact slower than Microsoft speed. Brendan so I do not get where you get this constantly changing api bit from. Look at the time frames of DRI 1 and DRI 2 and DRI 3. Please note they over lap with each other. For a very long time.

ABI changing is a lot more common.

Brendan X11 DRI driver compatibility in X11 is a 10 year thing for each version. DRI1 has only recently started being nuked. DRI1 drivers from 1998 still work on the 1 version of X11 where DRI1 will be removed.

Nvidia issue with X11 is hooking into functions that are not part of X11 DRI driver interfaces. Yes random-ally hooking into stuff is a way to get burnt.

Brendan yes the reason why Nvidia and ATI have not walked away from Linux is most of the trouble they have had is their own fault for not working with upstream and not using the upstream provided interfaces.

This has been the big problem most of the argument against Linux on drivers is bogus.

Reply Parent Score: 4

twitterfire Member since:
2008-09-11

So AMD and Nvidia have bad coding behaviour and they hook on the wrong stuff. Why doeasn't that happen on Windows? It's because Windows has a stable API, a stable ABI and well docummented ones?

Reply Parent Score: 5

oiaohm Member since:
2009-05-30

So AMD and Nvidia have bad coding behaviour and they hook on the wrong stuff. Why doeasn't that happen on Windows? It's because Windows has a stable API, a stable ABI and well docummented ones?

This is a lie. Reason why vista had so much trouble with Direct 9 drivers not working was in fact ATI and Nvidia had used non exported interfaces.

There was a time frame of very badly behaved video card driver makers.

So yes it did happen on Windows and Linux and OS X and Solaris.... Basically everywhere.

Reply Parent Score: 2

Brendan Member since:
2005-11-16

Hi,

Brendan this is a complete lie. Linux Kernel breakages with Nvidia and ATI have in fact in all cases traced to them depending on behaviour that was not defined in the Stable API of the Linux kernel.


The stable API is for user-space, not for device drivers. There is no stable API that's useful for device drivers on Linux. To work around that both AMD and NVidia use a "shim". I've seen this break before (e.g. the shim relying on a kernel function that either ceased to exist or had its name changed); but what do you expect when there's no stable API for device drivers to begin with?

The kernel side of the Nvidia and ATI drivers does not break that often.


Ah, so you agree it does break.

Note that I didn't blame it all on the kernel alone. The graphics on Linux is a huge mess with different pieces responsible for different things (kernel, X, mesa, gallium, DRI, DRI2, Xrender); where responsibilities change over time (e.g. the introduction of KMS; the change from "nothing" to TTM to GEM, etc). To be fair we need to blame the entire huge mess (rather than just the piece/s of the mess that happen to be in the kernel).

Yes and almost all cases have been something that should not have been done in the first place. There are functions in the linux kernel marked GPL only as well. These are not stable and are only fore drivers include as part of the main Linux kernel.


Sure - functions marked "GPL only" with no alternative that native/binary drivers can rely on for the same functionality, leaving no choice other than to "do something that should not have been done in the first place".

Brendan X11 DRI driver compatibility in X11 is a 10 year thing for each version.


Sounds nice in theory. In practice there's a 75% chance that updating X will break your graphics driver or break your GUI or break something else; a 50% chance that you'll spend the entire afternoon searching for solutions all over the web, and a 35% chance that you'll end up downgrading again to fix the problem after wasting an entire day.

For an example, I'm using version 12.4 of ATI's drivers (newer versions of the drivers don't support my card). It works perfectly fine; except that newer versions of X11 don't support the older ATI drivers. This means that I haven't been able to update X11 for about 2 years. Now older versions of X11 have fallen off of Gentoo's packages and I'm screwed unless I switch to the open source ATI drivers. Of course I've tried the open source ATI drivers in the past and know they never work - the best I've managed with them is no 3D acceleration and only one monitor (where attempting to use a second monitor causes the system to crash).

Because I can't update X, I don't dare touch KDE either. It's far too likely that the newest versions of KDE rely on some fantastic extension or something that only newer X11 provides, and I'll end up with a broken system where KDE won't like old X, new X won't like old driver, and new driver won't like actual hardware.

Brendan yes the reason why Nvidia and ATI have not walked away from Linux is most of the trouble they have had is their own fault for not working with upstream and not using the upstream provided interfaces.


Sure, except "working with upstream" typically means "go screw yourself until you're willing to make all your driver's code open source", and still doesn't prevent Xorg from breaking things.

- Brendan

Reply Parent Score: 3

oiaohm Member since:
2009-05-30

Brendan Introduction of KMS did not prevent non KMS drivers from working. Most people miss that you have options to boot Linux kernel up with KMS disabled.

I've seen this break before (e.g. the shim relying on a kernel function that either ceased to exist or had its name changed); but what do you expect when there's no stable API for device drivers to begin with?


Unfortunately the fault of this is ATI or AMD or NVidia. Every formal request to the Linux kernel to move a function to formally stable by ATI or AMD or Nvidia has been granted heck even some requests by video card makers no one would know. Every one of those that ceased to exist Nvidia, ATI or AMD had not done the request. Linux Kernel developers are not mind readers. Nvidia and ATI both complained that the did not like the overhead cost to provide a formal stable. So for long time were doing the wrong thing. In the last 5 years Nvidia has changed. Nvidia will simply refuse to support particular hardware combinations until the functions they need are moved onto the formal stable list today. AMD also has the same policy. Result no more of this problem.

This kernel space thing is basically thing of past.

Sure - functions marked "GPL only" with no alternative that native/binary drivers can rely on for the same functionality, leaving no choice other than to "do something that should not have been done in the first place".

The correct response here from a closed source driver developer is do formal request to stabilise a interface. So far this has never not been granted inside 6 months of request. Sometimes there has been an arguement over what should and should not be exposed. Support of any of these driver requested interfaces also goes into all currently supported kernels as equal to security updates.

So all this interface trouble you are talking about Brendan lands cleanly on the heads of the closed source driver developers. The main problem is that formally wrapped in the linux kernel for long term suitability adds a few milliseconds to the call. This is in fact unavoidable. Direct jumping into functions that are stabilised is not allowed. Most people don't know that you can tell the Linux kernel to pretend to be a particular version. To allow this possibility requires a redirection table. Redirection table is overhead. Even the Windows kernel has a redirection table for long term driver support. Yes there is a price for long term stable interfaces.

Brendan you will notice that Nvidia older don't break that often. Old ATI driver on the other hand did not use any of the interface specs. No DRI1 no DRI2 some form of random-ally hook where ever we like into X11.

Brendan AMD themselves are behind the open source drivers and that is the one the officially support.

Sounds nice in theory. In practice there's a 75% chance that updating X will break your graphics driver or break your GUI or break something else;

I have used Nvidia cards for the past 10 years. Last 5 not once as a X11 server update broken it. Mostly because Nvidia in the last 5 has been information X11/x,org project where they hook in. Yes before 5 years Nvidia did have issues they never told the x.org project where they were hooking in. Again developers are not mind readers they cannot avoid breaking what you are using if they don't know you are using it. Nvidia driver update screwing my system over yes I have had that. Where 2 Nvidia drivers installed at the same time completely shoot each other dead. This is not X11 or kernel or broken GUI. This is Nvidia being Nvidia and only allowing 1 copy of drivers installed.

I run kde. I can tell you anything past KDE 4.2.0 supports missing function mode and its not X11 server dependant as much as KDE 4.0.0 was. So you kde fear is not based in reality.

Sure, except "working with upstream" typically means "go screw yourself until you're willing to make all your driver's code open source", and still doesn't prevent Xorg from breaking things.

This is completely not true. If this was completely not true Nvidia Drivers would not be able to work as dependable as it does.

The driver you have having trouble with was pre AMD taking over ATI. In fact AMD is dropping it because internally its was not legally sound. AMD cannot keep on support it. Yes 12.2 and before fail legal department auditing for containing questionably sourced code. Yes when those cards drivers under Windows fail as well they will be dead over on Windows as well. Why AMD cannot update the highly questionable code without legal risks. This is why AMD had no choice to open source those cards. New drivers for windows for those cards if it ever happens will be based off the open source code base.

Also do you know what was removed when moving from X11 1.12 to 1.13 that broke the ATI drivers. UMS driver support being killed off. The predecessor to DRI 1. Yes this is right ATI had been writing drivers using interfaces older than DRI1. DRI1 is 1998.

Brendan so how is this Linux Kernel or X11 fault. ATI was writing drivers for X11 pre 1998. UMS starts in the 1980s. Your problem ATI was writing highly obsoletely drivers. Interfaces have 15 years of support. UMS is well past 15 years when it being killed off. Yes DRI1 is coming up to end of life. It is now 15 years old.

Brendan how far do you think you would get if I gave you a windows NT 4.0 or a Windows 98se driver and told you to use it with Windows 7 or 8. This is what you have been doing. Does this explain why you have been suffering.

Brendan this is the problem when you did into the problems most of the issues land squarely on the closed source driver maker for doing the wrong things. Some insanely wrong. ATI was insanely wrong with Legal issues and Obsolete design.

Brendan do you know what X11 break ABI/API policy is. I guess not.
1) its older than 15 years and marked deprecated for 4 year. So 19 years old min it can be deleted without question.
2) API/ABI under the age of rule 1 it can be broken to find out if they are in use if no one has reported it in use. If one bug report comes in that they are in use functionality must be restored exactly how it was.
3) No abi that X.org is informed of that is in use that is under under the age of rule 1 can be broken.

Sorry if you are in a location when you cannot skip one version of x.org and your driver works again. You are dealing with a driver that far legecay in design its not funny. Same with any program that does not work with X11.

Brendan this is why your arguement does not hold. You are mostly shifting blame to parties that are not responsible. Closed source driver makers have responsibilities todo the right things. The Open Source world is not being pains in but to them.

If open source developers were being pain in but drivers would break ever kernel release and every x11 release.

Reply Parent Score: 2