• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Frustration about update of nvidia-Driver port

hanhtm

Member


Messages: 29

#1
Dear all,
Yesterday after portupgrade -arR my box cannot start xwindows normally.
I checked in /usr/ports/UPDATING and found that nvidia.ko must be updated to nvidia-modest.ko in /boot/loader.conf. But I have no clue exactly what I must update in my loader.conf? I'm totally a noob here. Thanks for your help.
Below is relevant phrase in /usr/ports/UPDATING:
Code:
The Nvidia driver has been updated to 367.35. In this version of the driver, some important functionality has been broken out into a separate
nvidia-modeset.ko. Users that experience a hang starting X or observe [ 43.243] (II) NVIDIA(0): Validated MetaModes:
[ 43.243] (II) NVIDIA(0): "NULL"
in their Xorg.logs should replace 'nvidia.ko' with 'nvidia-modeset.ko' in their loader.conf or rc.conf configurations.
(nvidia-modeset.ko has a MODULE_DEPENDS relationship to nvidia.ko and will bring it in automatically.)
 

Snurg

Aspiring Daemon

Thanks: 262
Messages: 716

#2
I built and installed the driver manually (here my report) instead of using the packaged driver.

The instructions provided by Nvidia say that one must make sure that the following is in /boot/loader.conf :
Code:
nvidia_load="YES"
nvidia-modeset_load="YES"
The package updating notes you quoted indicate that one only needs to have nvidia-modeset_load in the /boot/loader.conf .
I wonder why the package maintainer(s) didn't do it the other way around, using module dependencies to automatically pull in nvidia-modeset when the main driver gets loaded. This would have saved thousands of people from their X Window system suddenly stopping working. Also there would have been no need at all to edit /boot/loader.conf by people who only updated the driver package.

Anyway it won't do any damage if you include both the lines above in /boot/loader.conf .
 

ANOKNUSA

Aspiring Daemon

Thanks: 359
Messages: 671

#5
You should add actual explanations of both the problem and the proposed fix to the bug report. Don't make the port maintainer do extra work to figure out what's going on, and don't leave the record of the supposed bug incomplete and dependent on information that may not be around forever. Only a fraction of the FreeBSD community actually frequent these forums, and there's no guarantee that anyone referring to the bug report later will have a working link to refer to.

As for the module dependency hook, I can only surmise that it was not used because the module in question does not need to be loaded in all cases. Hence the statement that only users experiencing a specific problem should load the module.
 

Snurg

Aspiring Daemon

Thanks: 262
Messages: 716

#6
You should add actual explanations of both the problem and the proposed fix to the bug report. Don't make the port maintainer do extra work to figure out what's going on, and don't leave the record of the supposed bug incomplete and dependent on information that may not be around forever. Only a fraction of the FreeBSD community actually frequent these forums, and there's no guarantee that anyone referring to the bug report later will have a working link to refer to.
Yes you are right. Updated the PR with more information. Hope this is OK.

As for the module dependency hook, I can only surmise that it was not used because the module in question does not need to be loaded in all cases. Hence the statement that only users experiencing a specific problem should load the module.
Just FYI, the driver package notes from Nvidia themselves clearly state that always both modules must be loaded. This as the driver has been split up into two functionally separate kernel modules almost a year ago already.

Quoted from Nvidia's release notes:
2015-10-12 version 358.09
Added a new kernel module, nvidia-modeset.ko. This new driver component works in conjunction with the nvidia.ko kernel module to program the display engine of the GPU.
 

drhowarddrfine

Daemon

Thanks: 645
Messages: 2,406

#7
Snurg The ports manager specifically states
Users that experience a hang starting X or observe ... in their Xorg.logs should replace 'nvidia.ko' with 'nvidia-modeset.ko'
So that appears to me it shouldn't be done unless there is a problem.
 

Snurg

Aspiring Daemon

Thanks: 262
Messages: 716

#8
Not using nvidia-modeset.ko is about the same as setting nomodeset on linux.
This forces the kernel to use BIOS to set the graphics card state instead of doing itself (via the kernel module nvidia-modeset).
This again often results in the resume failing after suspend due to improper/incomplete video card setup, as the kernel can do more and better than the basic BIOS functions.

Another side effect of dropping the modeset functionality is that it breaks multi-monitor setups.
Only the first monitor is recognized then!

What is the objective advantage of leaving out this small nvidia-modeset module?
Does this really justify so many people getting frustrated?