Hybrid Graphics on Lenovo T460p with 367.27 xrandr 1.4 Ubuntu 14.04 hangs

Hi, I’m evaluating the T460p for graphic intensive development.

This particular model does NOT have a BIOS setting to disable the Intel Graphics.

I’ve followed the instructions in http://us.download.nvidia.com/XFree86/Linux-x86/364.15/README/randr14.htmlas that looked like the most promising method for getting the NVidia graphics (or any graphics) to work.

lspci.out:

00:00.0 Host bridge: Intel Corporation Sky Lake Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x16) (rev 07)
00:01.2 PCI bridge: Intel Corporation Sky Lake PCIe Controller (x4) (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06)
00:14.0 USB controller: Intel Corporation Sunrise Point-H USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation Sunrise Point-H Thermal subsystem (rev 31)
00:16.0 Communication controller: Intel Corporation Sunrise Point-H CSME HECI #1 (rev 31)
00:16.3 Serial controller: Intel Corporation Sunrise Point-H KT Redirection (rev 31)
00:17.0 SATA controller: Intel Corporation Sunrise Point-H SATA Controller [AHCI mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #1 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Sunrise Point-H PCI Express Root Port #5 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Sunrise Point-H LPC Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation Sunrise Point-H PMC (rev 31)
00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31)
00:1f.4 SMBus: Intel Corporation Sunrise Point-H SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31)
02:00.0 3D controller: NVIDIA Corporation Device 134d (rev a2)
03:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
04:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 522a (rev 01)

lspci -v -s 02:00.0

02:00.0 3D controller: NVIDIA Corporation Device 134d (rev a2)
	Subsystem: Lenovo Device 5050
	Flags: bus master, fast devsel, latency 0, IRQ 18
	Memory at f3000000 (32-bit, non-prefetchable) 
	Memory at e0000000 (64-bit, prefetchable) 
	Memory at f0000000 (64-bit, prefetchable) 
	I/O ports at d000 
	Capabilities: [60] Power Management version 3
	Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [78] Express Endpoint, MSI 00
	Capabilities: [100] Virtual Channel
	Capabilities: [250] Latency Tolerance Reporting
	Capabilities: [258] L1 PM Substates
	Capabilities: [128] Power Budgeting <?>
	Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
	Capabilities: [900] #19
	Kernel driver in use: nvidia

lspci -s 00:02.0

00:02.0 VGA compatible controller: Intel Corporation Device 191b (rev 06) (prog-if 00 [VGA controller])
	Subsystem: Lenovo Device 5050
	Flags: bus master, fast devsel, latency 0, IRQ 11
	Memory at f2000000 (64-bit, non-prefetchable) 
	Memory at c0000000 (64-bit, prefetchable) 
	I/O ports at e000 
	Expansion ROM at <unassigned> [disabled]
	Capabilities: [40] Vendor Specific Information: Len=0c <?>
	Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
	Capabilities: [ac] MSI: Enable- Count=1/1 Maskable- 64bit-
	Capabilities: [d0] Power Management version 2
	Capabilities: [100] #1b
	Capabilities: [200] Address Translation Service (ATS)
	Capabilities: [300] #13

xorg.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 367.27  (buildmeister@swio-display-x64-rhel04-12)  Thu Jun  9 19:24:36 PDT 2016

#    per
#    http://us.download.nvidia.com/XFree86/Linux-x86/364.15/README/randr14.html

Section "ServerLayout"
    Identifier     "layout"
    Screen      0  "nvidia" 0 0
    Inactive       "intel"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "0:2:0:0"
EndSection

Section "Device"
    Identifier     "intel"
    Driver         "modesetting"
EndSection

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AllowEmptyInitialConfiguration"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "intel"
    Device         "intel"
    Monitor        "Monitor0"
EndSection

nvidia-bug-report.log.gz (112 KB)

Ok, I’ll try to answer my own question:

1.Installed Ubuntu 16.04 Server natively to see if that would resolve the graphics issues
a.This did not directly resolve the issues but gave a better base to work from
b.Determined proper flags to pass for booting - i915.preliminary_hw_support=1, this allowed the Intel graphics to work after installing the following packages:
i.xserver-xorg-video-vesa
ii.xserver-xorg-vidio-intel
iii.xserver-xorg-video-modesetting-lts-utopic
iv.xubuntu-desktop

Even after installing all those packages, X could not see/use the NVidia card

So, to continue testing, we installed NVidia CUDA version 8

Compiled the sample programs
The sample programs CAN utilize the NVidia Graphics!

Todo:
1.Get X to work with the NVidia Graphic Card

Hi Dante!

I am considering to buy a Thinkpad T460P for CUDA and OpenCL programming. Have you been any other CUDA (or OpenCL if you have tested it) issue? Are you satisfied with this laptop?

Thanks

Hi Gerardo, we actually have this one working now; Ubuntu 16.04.01 with latest patches and latest nvidia driver. It’s undergoing testing with the developers and I’ll post back here in a couple of weeks to let you know their thoughts.

Thank you very much.

Hi Dante,

Glad to hear you got it working. We’ve been doing a lot to improve PRIME/RandR 1.4 offloaded outputs since 367, most notably the introduction of PRIME Synchronization, outlined here: https://devtalk.nvidia.com/default/topic/957814/linux/prime-and-prime-synchronization/.

The functionality is still experimental as production support depends on the soon to be released Xorg 1.19, but it can be tested using Git builds of Xorg. If your developers take issue with the screen tearing/stuttering experienced without the update, they might want to give it a try. Production support with easier setup should come soon after the release of 1.19.

Any feedback you have would be greatly appreciated.

Thanks,

Hi Dante, have you finish testing this laptop for cuda and opencl develpment?. What are you thoughts about it?

I would really appreciate your review. Thanks for your time.