Difference between Tumbleweed and Arch/Sabayon for display drivers per new kernel?

Hi all,

I have searched the forums and googled a bit, trying to find the exact reason why NVIDIA and ATI proprietary drivers cannot be reinstalled upon each kernel release for Tumbleweed. So far I have found the below reasons, which don’t all match:

  • License issues with NVIDIA and ATI
  • Manpower needed for each kernel release
  • DKMS will not work (and I still haven’t figured out why)

The only reason I ask is because I have used a number of rolling release distributions in the past, specifically Arch and Sabayon. Arch is my typical daily driver, and I have never had an issue with NVIDIA drivers working after a kernel release. I think this is because the Arch team rebuilds the NVIDIA kernel module for every kernel release, although don’t quote me on that.

Basically, why can’t Tumbleweed display drivers work the same way as other rolling releases? Many thanks for anyone that can definitively explain this.

I understand the question is specific to Tumbleweed.

My understanding is openSUSE places a LOT of emphasis on “open” source free software per the Free Software Foundation Definition of ‘free’. More than most other GNU/Linux distributions. Hence the ‘open’ in the openSUSE distribution name. This was a deliberate approach change to openSUSE, around the time of openSUSE-10.0 / 10.1.

nVidia proprietary drivers are exactly that : “proprietary”. Neither the SuSE-GmbH packaging team, nor the openSUSE community, to the best of my knowledge package the proprietary drivers nor maintain the openSUSE repository for Tumbleweed. Proprietary drivers are NOT open drivers. Also, there are too many kernel updates in Tumbleweed to maintain such, and the volunteer community resources are not interested in constantly repackaging proprietary graphic drivers for each tumbleweed kernel release. Plus there are a fair number of us who maintain that to do such packaging constantly would be contrary to the name openSUSE.

Also, the nouveau driver has mostly been working reasonable well of late, and in addition it is not difficult to build the nVidia proprietary driver from the nVidia provided .run file, and if one is using tumbleweed and constantly updating one’s kernel, updating from the .run file becomes second nature after a while.

Not sure if that answered your question with an answer that you wish to hear - but in essence the community does not support what you suggested for Tumbleweed, and it is contrary to the openSUSE ‘open’ philosophy, and as you note DKMS has not been working well as of late.

At last that is my understanding and view on this.

On 03/31/2013 03:36 AM, sinayion wrote:
>
> Basically, why can’t Tumbleweed display drivers work the same way as
> other rolling releases?

as far as i know both Arch and Sabayon (and many other distos)
routinely provide ready to run proprietary (non-open source) nVidia
(and many other) drivers as part of their distribution…

openSUSE does not, has not and will not do that…

which is why we are not SUSE, but instead openSUSE…

we were, at one time SUSE 10.1 and then moved to openSUSE 10.2

now, there is another (non-openSUSE) organization who takes the
time/trouble to compile nVidia drivers against new kernels and offers
them for use…you may use those, but they generally are not
available to be fetched immediately upon release of a new kernel for
Tumbleweed…

however, YOU may compile them as you need them–thus the warning on
the portal page: “…users who rely on proprietary graphic drivers
should not use the Tumbleweed repository unless they are familiar
with updating these drivers from source on their own.”

good (and definitive) enough??


dd
openSUSE®, the “German Engineered Automobile” of operating systems!

On 2013-03-31 09:16, oldcpu wrote:
> Not sure if that answered your question with an answer that you wish to
> hear - but in essence the community does not support what you suggested
> for Tumbleweed, and it is contrary to the openSUSE ‘open’ philosophy,
> and as you note DKMS has not been working well as of late.
>
> At last that is my understanding and view on this.

Besides all that, there are some details I can point to.

Have a look at the readme at the nvidia site that hosts the rpm:

>
> ftp://download.nvidia.com/opensuse/README
>
> The driver RPMs hosted in this location are entirely built, maintained and supported by Novell/SUSE.
> NVIDIA hosts them as a courtesy to Novell,

The RPM is built by someone from openSUSE (sorry, I don’t remember his
name). I think he has to do it outside of the OBS infrastructure (I
could be mistaken, I heard about "private instances in OBS :-?), and
then he uploads it to the nvidia.com site.

All this entails some work. I guess it is not automated.

The reasoning behind all this route is that /distribution/ of
proprietary code linked to the Linux kernel is illegal, according to the
Linux developers. It is they who forbid this, not Nvidia. Thus openSUSE
itself can not host this RPM. The solution, as NVidia says, is that
NVidia hosts the RPM, but somebody else (from the community) does the
building.

You can legally build the drivers (and rpm) on your own computer; this
is what the binary diver Nvidia itself does (the hard way). What is
illegal is the redistribution of those compiled parts.

So. be thankful that we have the RPMs for the “easy way” available at
all for the stable branches, and that somebody looks the other way and
doesn’t sue somebody (pissing us users as a result).

(and a similar solution exists for SLES on another nvidia.com subdirectory)

What I can not explain (not reliably) is the technical reasons why an
RPM built for 12.3 can work or not for tumbleweed, that has or may have
a newer kernel. That’s for somebody else with that technical knowledge
to explain :wink:


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

On 03/31/2013 04:08 PM, Carlos E. R. wrote:
> What I can not explain (not reliably) is the technical reasons why an
> RPM built for 12.3 can work or not for tumbleweed, that has or may have
> a newer kernel. That’s for somebody else with that technical knowledge
> to explain

just now 12.3 and Tumbleweed are (or until very recently “were”)
exactly the same…therefore whatever driver available for 12.3 was
also available and working in Tumbleweed…

however, when the kernel is changed, the driver must be also…so,
what was working yesterday (with the 12.3 kernel) won’t work today
(with a new kernel)…

doesn’t that answer the puzzle “why . . .12.3 can work or not for
tumbleweed”?


dd

On 2013-03-31 16:27, dd wrote:
> doesn’t that answer the puzzle “why . . .12.3 can work or not for
> tumbleweed”?

No, that I know. It is more a technical question. Does so much change in
kernels regarding the hook for proprietary video drivers? API? I don’t
think so. Something else I don’t know about?

I read about something that I did not pay much attention to. I think it
is possible to have an rpm that on installation recompiles some thing it
needs. This is useful for such things as the video drivers and other
proprietary parts, like vmware software. The snag is, obviously, that it
requires the entire buildchain installed as well.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

On 03/31/2013 06:53 PM, Carlos E. R. wrote:
> Does so much change in
> kernels regarding the hook for proprietary video drivers? API? I don’t
> think so. Something else I don’t know about?

i guess it could be as simple as the driver ‘looks’ at what kernel it
was compiled with and at what is running and ‘decides’ to not run…


dd