Forked from kurtis318/NVIDIAonLenovoP50andFedora 28.txt
Created
November 28, 2018 13:46
-
-
Save hexfusion/bf56c973b964908a0fda2b96d0b9ccfc to your computer and use it in GitHub Desktop.
NVIDIA on Lenovo P50 and Fedora 28
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
I have a Lenovo P50 ThinkPad that I am issued at work. I run the latest Fedora on my primary laptop for years but | |
have avoided running the NVIDA graphics drivers because installation was manual and could break with kernel updates. | |
I updated my personal Dell XPS 15 to use the new NVIDIA drivers that are now supported in Fedora 28 I think these were suppose to come from rpm-fusion but it looks like they are in Fedora 28 tree, I could be wrong. The install was as easy as just installing the nvidia-driver package and reboot. This worked without any issues. I could launch nvidia-settings and glxgears without any issues. | |
The purpose of this Gist post is to document how I got the NVIDIA drivers from Fedora 28 on the P50. It was not as easy as installing nvidia-driver and rebooting. | |
For starters, here are the specs for the P50: | |
[root@kwr50p kurtis] # inxi -SG | |
System: Host: kwr50p.rchland.ibm.com Kernel: 4.17.14-202.fc28.x86_64 x86_64 bits: 64 Desktop: Gnome 2.32.0 | |
Distro: Fedora release 28 (Twenty Eight) | |
Graphics: Card-1: NVIDIA GM107GLM [Quadro M1000M] driver: nvidia v: 396.45 | |
Display: server: Fedora Project X.org 1.19.6 driver: nvidia unloaded: modesetting | |
resolution: 1920x1080~60Hz, 1920x1080~60Hz, 1920x1080~60Hz | |
OpenGL: renderer: Quadro M1000M/PCIe/SSE2 v: 4.6.0 NVIDIA 396.45 | |
[root@kwr50p kurtis] # inxi -SGMC | |
System: Host: kwr50p.rchland.ibm.com Kernel: 4.17.14-202.fc28.x86_64 x86_64 bits: 64 Desktop: Gnome 2.32.0 | |
Distro: Fedora release 28 (Twenty Eight) | |
Machine: Type: Laptop System: LENOVO product: 20EQS3B400 v: ThinkPad P50 serial: PC0QBLBK | |
Mobo: LENOVO model: 20EQS3B400 v: SDK0J40697 WIN serial: L1HF79C00M6 UEFI [Legacy]: LENOVO | |
v: N1EET71W (1.44 ) date: 08/31/2017 | |
CPU: Topology: Quad Core model: Intel Core i7-6820HQ bits: 64 type: MT MCP L2 cache: 8192 KiB | |
Speed: 800 MHz min/max: 800/3600 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800 5: 800 6: 801 | |
7: 800 8: 800 | |
Graphics: Card-1: NVIDIA GM107GLM [Quadro M1000M] driver: nvidia v: 396.45 | |
Display: server: Fedora Project X.org 1.19.6 driver: nvidia unloaded: modesetting | |
resolution: 1920x1080~60Hz, 1920x1080~60Hz, 1920x1080~60Hz | |
OpenGL: renderer: Quadro M1000M/PCIe/SSE2 v: 4.6.0 NVIDIA 396.45 | |
I followed the following the steps in the following post: | |
https://www.reddit.com/r/LinuxOnThinkpads/comments/8s4s54/lenovo_t480_mx150_using_nvidia_drivers_on_fedora/ | |
# Disable Secure Boot in BIOS because I don't know how to sign the nvidia drivers and they don't get along. | |
sudo dnf check-update | |
sudo dnf update | |
sudo reboot | |
# Enable third party repositories in Software App (gnome-software) | |
# REF: https://fedoramagazine.org/third-party-repositories-fedora | |
# Alternative: sudo dnf install fedora-workstation-repositories | |
sudo dnf install nvidia-driver nvidia-xconfig glmark2 | |
sudo dnf remove xorg-x11-drv-nouveau | |
sudo echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf | |
sudo dracut /boot/initramfs-$(uname -r).img $(uname -r) --force | |
sudo reboot | |
After the reboot, I could tell a different video driver was being used. I have LUKS enabled per company policy so instead of a nice fullscreen interface for the LUKS password, I got a console interface and prompt. I can live with this. | |
Here are some commands that showed the NVIDIA driver was loaded: | |
[root@kwr50p kurtis] # lsmod | grep nvidia | |
nvidia_drm 45056 2 | |
nvidia_modeset 1093632 3 nvidia_drm | |
nvidia_uvm 925696 0 | |
nvidia 14061568 85 nvidia_uvm,nvidia_modeset | |
drm_kms_helper 196608 1 nvidia_drm | |
drm 458752 5 drm_kms_helper,nvidia_drm | |
ipmi_msghandler 57344 2 ipmi_devintf,nvidia | |
[root@kwr50p kurtis] # grep glx /var/log/Xorg.0.log | |
[ 24.919] (II) LoadModule: "glx" | |
[ 24.920] (II) Loading /usr/lib64/nvidia/xorg/libglx.so | |
[ 24.962] (II) Module glx: vendor="NVIDIA Corporation" | |
When I tried to run the NVIDIA X Server Settings app (nvidia-settings) no GUI showed up. Running it from the command line I got this error: | |
ERROR: Unable to load info from any available system. | |
glxinfo and glxgears would also fail. | |
I spent a lot of time Googling but the solution to get nvidia-settings, glxinfo and glxgears to work as relatively simple. | |
sudo dnf install nvidia-modprobe nvidia-query-resource-opengl-lib nvidia-texture-tools nvidia-xconfig glmark2 | |
sudo nvidia-xconfig | |
sudo reboot | |
Running nvidia-xconfig backed up /etc/X11/Xorg.conf file and created a new one. I specifically did NOT have an Xorg.conf file but creating one with this command was the magic. | |
I have a USB-C port expander with an addtional HDMI port so I can run 2x displays with the laptop lid closed. This messed up the script that sets up the displays using xrandr. A small matter to change the device names. | |
I now have an operational Lenovo P50 ThinkPad laptop. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment