cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
dmm1
Punch Card
Posts: 23
Registered: ‎07-09-2015
Location: US
Views: 2,639
Message 201 of 250

P50 Centos 7 4K display problems with install

Hi,

   I wanted to relate the trouble I'm having getting Centos 7 to boot on my P50 with the 4K display.  Install goes fine, and initially the graphics are good, and can run an external monitor, although there are pointer issues leaving fragments as trails on the second monitor.  

    No matter what I do, once I reboot the machine, gdm never comes back, and the boot hangs.   I've installed the latest nVidia driver, along with the kernel headers that it needs to integrate into the kernel, and it installs fine.  I had one instance of switching the bios to discrete graphics and that actually ran both monitors beautifully, right after the install, but once I tried to run it with the nvidia driver, it won't boot, hanging on the gdm in either bios graphics mode.  

     Any help would be appreciated.  I haven't tried to update the kernel.  I've spent much time on this and scoured the web for a solution, but I've come up short.

 

 

 

tchair
Punch Card
Posts: 28
Registered: ‎02-21-2016
Location: DE
Views: 2,597
Message 202 of 250

Re: P50 Centos 7 4K display problems with install

If I recall, CentOS-7 is still based on a 3.x kernel. For newer hardware like this, especially the NVidia card, you would have more luck with a more recent release. I have had good experiences with Fedora 25 (based on kernel 4.9.3 now), which should be similar to a future version of the RedHat based CentOS. It works out of the box with external monitors using the Nouveau driver. There is some screen tearing when scrolling on an external monitor and the fan runs most of the time when using one (with the NVidia M3000M card), but that happens when using bumblebee as well and the nouveau driver seems more stable . You can open and close the laptop lid and the displays are automatically reconfigured. The last time I tried bumblebee I had to issue commands anytime I wanted to switch between the laptop screeen and an external monitor.

 

I haven't tried setting up bumblebee on Fedora 25 yet. Would anyone like to comment on that? Is it worth it?

I am only interested in being able to use an external monitor and don't otherwise have any special graphics needs.

 

dmm1
Punch Card
Posts: 23
Registered: ‎07-09-2015
Location: US
Views: 2,562
Message 203 of 250

Re: P50 Centos 7 4K display problems with install

thank you.  I guess that gives me two choices - update the kernel or install Fedora.  I've had other recommendations for Fedora, and since that is also based on Redhat I think that might be the more straightforward way to go.  Since I'm running Centos 7 on 5 other machines for work, I was hoping to stick with it, but its becoming a matter of diminishing returns for my time to get it up and running.

turagaramki
What's DOS?
Posts: 1
Registered: ‎01-21-2017
Location: IN
Views: 2,526
Message 204 of 250

Re: P50 built-in mic for sound recording is not wokring on ubuntu 16.10, & the touch screen problems

HI All,

 

I am using thinkpad p50, so far everything is good. My internal mic is not recording anything. and multi touch feature on the touch screen display is also not working. Please help me with relavent materials.

 

 

Thanks & regards

Ramki

timatgca
Punch Card
Posts: 19
Registered: ‎12-29-2016
Location: AU
Views: 2,534
Message 205 of 250

Re: P50 Centos 7 4K display problems with install

Pointer trails: I saw them on my P50 when using the Nouveau driver, but never seen them with the nVidia driver. I wonder if you are actually using the nVidia driver. Getting nVidia to work with optimus requires tweaking of xorg.conf. The only distribution I've used that gets it right without user intervention is Ubuntu. Apparently Mint does too. The arch wiki is a good source of what you need to do.
dmm1
Punch Card
Posts: 23
Registered: ‎07-09-2015
Location: US
Views: 2,382
Message 206 of 250

Re: P50 Centos 7 4K display problems with install

I've given up on Centos, but Fedora 25 works quite well and I like it a lot.  Except for the fact that as you pointed out, I'm having trouble getting the nvidia driver to install.   I'll try to run down your xorg.conf reference tomorrow, or I should say later today.   It's quite nice having a desktop manager automatically compensate for the 4k resolution when sizing windows.  I was beginning to think I made a mistake buying the 4K display until installing Fedora.  

Highlighted
Loshmi
Punch Card
Posts: 27
Registered: ‎12-09-2015
Location: Belgrade, Serbia
Views: 2,119
Message 207 of 250

Re: P50 / P70 linux experiences ?

I didn’t have enough time in past month or so, and I put my “Arch on P50” experiment on the brake for a while and I continued using Ubuntu 16.04 as my daily driver.

Beside bunch of small irritating issues, my biggest problem with Ubuntu are external monitors.

When I remove nvidia drivers and install them again, external monitors will work until first reboot or plugging out a monitor. After that, it is unusable. With nouveau drivers it will work, put performance is awful and there is a mouse pointer trace on the screen. After last installation of nvidia drivers, I managed to plug in 3 monitors, one using miniDP, one using HDMI and one using type-c to HDMI adapter. After some issues I managed to make them all work but …

 

The connected to HDMI wouldn’t turn on after computer turns off all screens. I would have to plug it out and then back in after that and even then it won’t turn on every time.

 

I couldn’t align them properly (see picture bellow)

ubuntuTriple.jpg

Of course after plugging out all monitors, everything stopped working.

So I decided to put some more effort into making Arch work. I installed Arch on external HDD (Cinnamon DE) and I managed to install Bumblebee. There are some performance drawbacks when Bumblebee is used (image bellow), but since I need discrete graphics only for VmWare, it is not an issue for me. I used Unigine Heaven for benchmarking and there is ~25% drop in performance comparted to windows and ~10% compared to prime on Ubuntu.  performance.jpg

But I couldn’t do anything to get external screens working. I tried intel-virtual-output, but without results. Correct me if I am wrong, but based on Arch documentation, I should just type “intel-virtual-output -a” in terminal and additional screens should appear in displays section?

What I would like to do is to create a python script that I could run from the terminal every time I plug in external monitor(s) and pass video output, resolution, position, scaling (important since my laptop screen is 4k, so it requires scaling and majority of other screens are not, so they don’t require scaling) etc as parameters and then script should generate new xorg.conf file.

My questions are:

  1. Where is the location of xorg.conf files I should modify?
  2. What I have to do to make changes visible?

I have tried to find answers in the documentation, but without much success. I managed to find options I need inside xorg.conf file, but not the location.

tchair
Punch Card
Posts: 28
Registered: ‎02-21-2016
Location: DE
Views: 2,095
Message 208 of 250

Re: P50 / P70 linux experiences ?

On my P70 with Ubuntu-16.04 and later 16.10 I use a script like this to start using a second screen via the displayport:

(Needs to be run via sudo...)

 

 

#!/bin/sh

# Power on the nvidia card with bumblebee.
modprobe bbswitch
echo ON > /proc/acpi/bbswitch

# Tell the intel card to create virtual screens on :0 and
# copy whatever they're displaying to equivalent screens on :8
intel-virtual-output

# Configure my monitors the way I like them.
xrandr --output eDP1 --auto
xrandr --output VIRTUAL1 --auto --right-of eDP1

 

To go back to the laptop display I used this script:

#!/bin/sh

xrandr --output eDP1 --auto

# Turn off my the other screens.
xrandr --output VIRTUAL1 --off

# Kill the xorg server running on the nvidia card.
kill $(ps ax | grep Xorg | grep :8 | awk '{print $1}')

# Wait plenty of time for it to die.
sleep 5

# Remove the nvidia kernel module so we can shut down the card.
# If you're running another driver this might be something different.
stop-nvidia.sh

Where stop-nvidia.sh is:

 

#!/bin/sh

# Stop the NVidia card

rmmod nvidia_uvm
rmmod nvidia_drm
rmmod nvidia-modeset
rmmod nvidia

echo OFF > /proc/acpi/bbswitch
if (cat /proc/acpi/bbswitch | grep OFF > /dev/null); then
    echo "The nVidia GPU has been turned off."
else
    echo "Failed to turn off the nvidia gpu"
fi

This assumes you have bumblebee configured and have the latest kernel and nvidia drivers installed.

 

This is what I have in the config files - maybe there is a better way:


/etc/modprobe.d/bumblebee.conf (last three lines)

blacklist nvidia-375
blacklist nvidia-375-updates
blacklist nvidia-experimental-375


/etc/bumblebee/xorg.conf.nvidia

Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "true"
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"
    Option "ProbeAllGpus" "false"
    Option "NoLogo" "true"
    Option "UseEDID" "true"
#    Option "UseDisplayDevice" "none"
EndSection

Section "Screen"
    Identifier "Default Screen"
    Device "DiscreteNvidia"
EndSection


/etc/X11/xorg.conf.d/20-intel.conf

Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
    Option "VirtualHeads" "2"
EndSection


/etc/bumblebee/bumblebee.conf

# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
#KeepUnusedXServer=false
KeepUnusedXServer=true
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia-375
PMMethod=auto
#PMMethod=none
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia-current/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveau
#PMMethod=auto
PMMethod=none
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau


/etc/default/grub (I added the pcie_port kernel parameter at one point - not sure if that is needed)

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pcie_port_pm=off"


I also have fedora 25 installed in another partition and did not bother setting up bumblebee there yet, since the Nouveau driver works pretty well out of the box. The only thing I noticed is that when scrolling web pages in a browser, you can see that the graphics doesn't keep up. There is a slight artifact that you see while scrolling. I haven't seen any mouse pointer trails.

Also the fan is always on when using an external monitor (with M3000M card), although it is fairly quiet. I think it goes on a little less under Windows 10, once all the background jobs have settled down.

 

 

LoLoBear
Paper Tape
Posts: 1
Registered: ‎01-10-2017
Location: FR
Views: 2,076
Message 209 of 250

Re: P50 / P70 linux experiences ?

Hi there,

 

I have a P50 with the Workstation Dock since early january.

My setup has three external monitors plus the thinkpad's integrated screen, so a total of four.

I have tried several distributions, mostly ubuntu based : Mint Cinamon, Mint Mate, Ubuntu, Ubuntu Mate, Kubuntu, ElementaryOS and finally Xubuntu.

Of all tried, the only distribution that handle well multi monitoring with the proprietary nvidia driver is Xubuntu.

 

With Xubuntu I am quite please with my setup.

 

The one thing that is still not working for now with the docking station is the jack output.

Loshmi
Punch Card
Posts: 27
Registered: ‎12-09-2015
Location: Belgrade, Serbia
Views: 1,987
Message 210 of 250

Re: P50 / P70 linux experiences ?

@tchair

Thank you very much for such detailed reply. I have tried to create config files same as yours and to run commands from the first script in the terminal. Unfortunately, without any success.

My configuration looked slightly different:

  • I don’t have /etc/modprobe.d/bumblebee.conf – should I create it?
  • In /etc/bumblebee/bumblebee.conf PrimusLibraryPath is different, but I think this is fine.
  • In /etc/bumblebee/bumblebee.conf under nvidia section, LibraryPath is also different
  • I have to add Screen section in /etc/bumblebee/xorg.conf.nvidia.
  • And I had to add 20-intel.conf in /etc/X11/xorg.conf.d.

Here are my files:

/etc/bumblebee/xorg.conf.nvidia

Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "true"
    Option      "AutoAddGPU" "false"
EndSection

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"

#   If the X server does not automatically detect your VGA device,
#   you can manually set it here.
#   To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data
#   as you see in the commented example.
#   This Setting may be needed in some platforms with more than one
#   nvidia card, which may confuse the proprietary driver (e.g.,
#   trying to take ownership of the wrong device). Also needed on Ubuntu 13.04.
#   BusID "PCI:01:00:0"

#   Setting ProbeAllGpus to false prevents the new proprietary driver
#   instance spawned to try to control the integrated graphics card,
#   which is already being managed outside bumblebee.
#   This option doesn't hurt and it is required on platforms running
#   more than one nvidia graphics card with the proprietary driver.
#   (E.g. Macbook Pro pre-2010 with nVidia 9400M + 9600M GT).
#   If this option is not set, the new Xorg may blacken the screen and
#   render it unusable (unless you have some way to run killall Xorg).
    Option "ProbeAllGpus" "false"

    Option "NoLogo" "true"
    Option "UseEDID" "true"
    Option "UseDisplayDevice" "none"
EndSection

Section "Screen"
    Identifier "Default Screen"
    Device "DiscreteNvidia"
EndSection

/etc/X11/xorg.conf.d/20-intel.conf (same as yours since I didn't have this one)

Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
    Option "VirtualHeads" "2"
EndSection

/etc/bumblebee/bumblebee.conf

# Configuration file for Bumblebee. Values should **not** be put between quotes

## Server options. Any change made in this section will need a server restart
# to take effect.
[bumblebeed]
# The secondary Xorg server DISPLAY number
VirtualDisplay=:8
# Should the unused Xorg server be kept running? Set this to true if waiting
# for X to be ready is too long and don't need power management at all.
#KeepUnusedXServer=false
KeepUnusedXServer=true
# The name of the Bumbleblee server group name (GID name)
ServerGroup=bumblebee
# Card power state at exit. Set to false if the card shoud be ON when Bumblebee
# server exits.
TurnCardOffAtExit=false
# The default behavior of '-f' option on optirun. If set to "true", '-f' will
# be ignored.
NoEcoModeOverride=false
# The Driver used by Bumblebee server. If this value is not set (or empty),
# auto-detection is performed. The available drivers are nvidia and nouveau
# (See also the driver-specific sections below)
Driver=nvidia
# Directory with a dummy config file to pass as a -configdir to secondary X
XorgConfDir=/etc/bumblebee/xorg.conf.d

## Client options. Will take effect on the next optirun executed.
[optirun]
# Acceleration/ rendering bridge, possible values are auto, virtualgl and
# primus.
Bridge=auto
# The method used for VirtualGL to transport frames between X servers.
# Possible values are proxy, jpeg, rgb, xv and yuv.
VGLTransport=proxy
# List of paths which are searched for the primus libGL.so.1 when using
# the primus bridge
PrimusLibraryPath=/usr/lib/primus:/usr/lib32/primus
# Should the program run under optirun even if Bumblebee server or nvidia card
# is not available?
AllowFallbackToIGC=false


# Driver-specific settings are grouped under [driver-NAME]. The sections are
# parsed if the Driver setting in [bumblebeed] is set to NAME (or if auto-
# detection resolves to NAME).
# PMMethod: method to use for saving power by disabling the nvidia card, valid
# values are: auto - automatically detect which PM method to use
#         bbswitch - new in BB 3, recommended if available
#       switcheroo - vga_switcheroo method, use at your own risk
#             none - disable PM completely
# https://github.com/Bumblebee-Project/Bumblebee/wiki/Comparison-of-PM-methods

## Section with nvidia driver specific options, only parsed if Driver=nvidia
[driver-nvidia]
# Module name to load, defaults to Driver if empty or unset
KernelDriver=nvidia
PMMethod=auto
# colon-separated path to the nvidia libraries
LibraryPath=/usr/lib/nvidia:/usr/lib32/nvidia
# comma-separated path of the directory containing nvidia_drv.so and the
# default Xorg modules path
XorgModulePath=/usr/lib/nvidia/xorg/,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

## Section with nouveau driver specific options, only parsed if Driver=nouveau
[driver-nouveau]
KernelDriver=nouveauPMMethod=auto
XorgConfFile=/etc/bumblebee/xorg.conf.nouveau 

Any ideas?

 

Thanks,

Check out current deals!


Shop current deals

Top Kudoed Authors