[xorg-server] adds nouveau as standard driver for linux systems

Submitted by Thomas Schneider on March 19, 2011, 6:58 a.m.

Details

Message ID 1300492738-7107-1-git-send-email-maxmusterm@gmail.com
State Deferred, archived
Headers show

Not browsing as part of any series.

Commit Message

Thomas Schneider March 19, 2011, 6:58 a.m.
nouveau+drm is since the linux kernel version 2.6.34 integrated by default.So since it supports more cards like fermi (sadly not old river nv03 cards) it would be best to set nouveau as standard

Signed-off-by: Thomas Schneider <maxmusterm@gmail.com>
---
 hw/xfree86/common/xf86pciBus.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

Patch hide | download patch | download mbox

diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index 447b192..b20b2e4 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -1123,7 +1123,12 @@  videoPtrToDriverList(struct pci_device *dev,
 	    break;
 	case 0x102b:		    driverList[0] = "mga";	break;
 	case 0x10c8:		    driverList[0] = "neomagic"; break;
-	case 0x10de: case 0x12d2:   driverList[0] = "nv";	break;
+	case 0x10de: case 0x12d2:
+	#ifdef __linux__
+	driverList[0] = "nouveau";	break;
+	#else
+	driverList[0] = "nv";	break;
+	#endif
 	case 0x1106:		    driverList[0] = "openchrome"; break;
         case 0x1b36:		    driverList[0] = "qxl"; break;
 	case 0x1163:		    driverList[0] = "rendition"; break;

Comments

On Sat, Mar 19, 2011 at 00:58:58 +0100, Thomas Schneider wrote:

> nouveau+drm is since the linux kernel version 2.6.34 integrated by default.So since it supports more cards like fermi (sadly not old river nv03 cards) it would be best to set nouveau as standard
> 
> Signed-off-by: Thomas Schneider <maxmusterm@gmail.com>
> ---
>  hw/xfree86/common/xf86pciBus.c |    7 ++++++-
>  1 files changed, 6 insertions(+), 1 deletions(-)
> 
> diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
> index 447b192..b20b2e4 100644
> --- a/hw/xfree86/common/xf86pciBus.c
> +++ b/hw/xfree86/common/xf86pciBus.c
> @@ -1123,7 +1123,12 @@ videoPtrToDriverList(struct pci_device *dev,
>  	    break;
>  	case 0x102b:		    driverList[0] = "mga";	break;
>  	case 0x10c8:		    driverList[0] = "neomagic"; break;
> -	case 0x10de: case 0x12d2:   driverList[0] = "nv";	break;
> +	case 0x10de: case 0x12d2:
> +	#ifdef __linux__
> +	driverList[0] = "nouveau";	break;
> +	#else
> +	driverList[0] = "nv";	break;
> +	#endif

nv should probably still be added as a fallback on linux.  Also, does
this mean the nouveau people will start doing proper ABI management for
libdrm_nouveau (i.e. bump SONAME when they break ABI, for a start)?

>  	case 0x1106:		    driverList[0] = "openchrome"; break;
>          case 0x1b36:		    driverList[0] = "qxl"; break;
>  	case 0x1163:		    driverList[0] = "rendition"; break;

Cheers,
Julien
2011/3/19 Julien Cristau <jcristau@debian.org>:
> On Sat, Mar 19, 2011 at 00:58:58 +0100, Thomas Schneider wrote:
>
>> nouveau+drm is since the linux kernel version 2.6.34 integrated by default.So since it supports more cards like fermi (sadly not old river nv03 cards) it would be best to set nouveau as standard
>>
>> Signed-off-by: Thomas Schneider <maxmusterm@gmail.com>
>> ---
>>  hw/xfree86/common/xf86pciBus.c |    7 ++++++-
>>  1 files changed, 6 insertions(+), 1 deletions(-)
>>
>> diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
>> index 447b192..b20b2e4 100644
>> --- a/hw/xfree86/common/xf86pciBus.c
>> +++ b/hw/xfree86/common/xf86pciBus.c
>> @@ -1123,7 +1123,12 @@ videoPtrToDriverList(struct pci_device *dev,
>>           break;
>>       case 0x102b:                driverList[0] = "mga";      break;
>>       case 0x10c8:                driverList[0] = "neomagic"; break;
>> -     case 0x10de: case 0x12d2:   driverList[0] = "nv";       break;
>> +     case 0x10de: case 0x12d2:
>> +     #ifdef __linux__
>> +     driverList[0] = "nouveau";      break;
>> +     #else
>> +     driverList[0] = "nv";   break;
>> +     #endif
>
> nv should probably still be added as a fallback on linux.  Also, does
> this mean the nouveau people will start doing proper ABI management for
> libdrm_nouveau (i.e. bump SONAME when they break ABI, for a start)?
>
The abi only breaks when the distribution uses to old nouveau code.
Normally the ABI does not break and many distributions already use
nouveau as default without any problems.
To get a greater range of supported device adding nv as fallback is a good idea.
>>       case 0x1106:                driverList[0] = "openchrome"; break;
>>          case 0x1b36:             driverList[0] = "qxl"; break;
>>       case 0x1163:                driverList[0] = "rendition"; break;
>
> Cheers,
> Julien
>

kind regards
Thomas
On Sat, Mar 19, 2011 at 18:58:12 +0100, Thomas Schneider wrote:

> 2011/3/19 Julien Cristau <jcristau@debian.org>:
> > nv should probably still be added as a fallback on linux.  Also, does
> > this mean the nouveau people will start doing proper ABI management for
> > libdrm_nouveau (i.e. bump SONAME when they break ABI, for a start)?
> >
> The abi only breaks when the distribution uses to old nouveau code.
> Normally the ABI does not break and many distributions already use
> nouveau as default without any problems.

That's not what ABI means.

Cheers,
Julien
On 3/19/11 1:58 PM, Thomas Schneider wrote:

> The abi only breaks when the distribution uses to old nouveau code.
> Normally the ABI does not break and many distributions already use
> nouveau as default without any problems.

This, sir, is false.  I believe what you mean to say here is "many 
distributions use nouveau as default, and therefore have to cope with 
nouveau's inability to use versioning".  I can assure you that this is 
not the same thing as "without any problems".

For example, commits like this:

http://cgit.freedesktop.org/mesa/drm/commit/?id=09b1062628f2cbddb3ebae20e7b3b8a0a93acebf

where the API to the userspace drivers changed, should have been 
accompanied by bumping it to libdrm_nouveau.so.2.

- ajax