Theresa Arzadon-Labajo

346.35 driver breaks X on Dell Precision T1500 and T1600's

Posted by Theresa Arzadon-Labajo (tarzadon) on Feb 27 2015
Tech Stuff >>

After an update to 346.35, X will not start on Dell Precision T1500 and T1600's.

The machines would get stuck at the boot screen. In /var/log/Xorg.0.log:

[    57.754] (WW) NVIDIA(0): The NVIDIA NVS 300 GPU installed in this system is supported
[    57.754] (WW) NVIDIA(0):     through the NVIDIA 340.xx Legacy drivers. Please visit
[    57.754] (WW) NVIDIA(0):     http://www.nvidia.com/object/unix.html for more
[    57.754] (WW) NVIDIA(0):     information.  The 346.35 NVIDIA driver will ignore this
[    57.754] (WW) NVIDIA(0):     GPU.  Continuing probe...
[    57.754] (EE) No devices detected.
[    57.754] (EE)
Fatal server error:
[    57.754] (EE) no screens found(EE)
[    57.754] (EE)

Apparently, an update to the drivers in another repo had caused the issue and there were no 340xx drivers yet. The solution was to remove the drivers, disable the offending repo, then re-install the drivers, so it would get the correct drivers. This will work until the 340xx drivers were built and pushed out to the repo.

# yum remove kmod-nvidia xorg-x11-drv-nvidia-libs xorg-x11-drv-nvidia

- Then I edited the .repo file in /etc/yum.repos.d and added "enabled=0"

# yum update kmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs

- This installed the 331 drivers.

# reboot
- In order to make sure that these machines would keep the correct version and not update again once I re-enable the other repo, I put it in puppet:
 case $::productname {
'Precision T1500', 'Precision T1600': { package { "xorg-x11-drv-nvidia-libs": ensure => "absent" } package { "xorg-x11-drv-nvidia": ensure => "absent" } package { "kmod-nvidia": ensure => "absent" } package { "kmod-nvidia-340xx": ensure => present } package { "xorg-x11-drv-nvidia-340xx-libs": ensure => present } package { "xorg-x11-drv-nvidia-340xx": ensure => present } }
}

- Then I needed to restart puppet on all my workstations. I did this with func.

$ func "*" call service restart "puppet"

Last changed: Feb 27 2020 at 4:00 PM

Back