0

I have a Lenovo ThinkPad P1 (gen 2) laptop with Ubuntu 19.10 installed. I want to use an external monitor connected through hdmi but my laptop does not recognize it (on Windows I have no issue at all). I believe this is because I have an Optimus laptop (if this is the right terminology), meaning I have a nvidia graphics card and also an intel one. If I'm correct my nvidia is connected to the external display. This makes me believe I just need to enable the nvidia graphics card so that my monitor can be used. Because there are a lot of difficult programs (nvidia prime, bumblebee) made for switching the graphics cards, but all of these are very complicated and have issues, I decided I just want to only use the nvidia graphics card. In boot settings in the display menu I have an option which is normally set to 'hybrid graphics'. When I changed it to 'discrete graphics' (this should be my nvidia card), It was not able to boot, saying something like:

ucsi_acpi USBC000:00: con1: failed to register alternate nodes
usci_acpi USBC000:00: PPM init failed (-110)

To be clear: all I want is to use my external monitor, I don't care about battery since I am connected to a power source.

I have done some things to try to enable my nvidia card, but it's not working yet.

Below some info about my system:

  • lshw -C display
WARNING: you should run this program as super-user.
  *-display                 
       description: VGA compatible controller
       product: TU117GLM [Quadro T1000 Mobile]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:16 memory:ed000000-edffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:3000(size=128) memory:ee080000-ee0fffff
  *-display
       description: VGA compatible controller
       product: UHD Graphics 630 (Mobile)
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 00
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: iomemory:600-5ff iomemory:400-3ff irq:180 memory:6040000000-6040ffffff memory:4000000000-400fffffff ioport:4000(size=64) memory:c0000-dffff
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.
  • lspci -k
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
    Subsystem: Lenovo 8th Gen Core Processor Host Bridge/DRAM Registers
    Kernel driver in use: skl_uncore
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
    Kernel driver in use: pcieport
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630 (Mobile)
    Subsystem: Lenovo UHD Graphics 630 (Mobile)
    Kernel driver in use: i915
    Kernel modules: i915
00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 07)
    Subsystem: Lenovo Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem
    Kernel driver in use: proc_thermal
    Kernel modules: processor_thermal_device
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
    Subsystem: Lenovo Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
    Subsystem: Lenovo Cannon Lake PCH Thermal Controller
    Kernel driver in use: intel_pch_thermal
    Kernel modules: intel_pch_thermal
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
    Subsystem: Lenovo Cannon Lake PCH USB 3.1 xHCI Host Controller
    Kernel driver in use: xhci_hcd
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
    Subsystem: Lenovo Cannon Lake PCH Shared SRAM
00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 (rev 10)
    Subsystem: Lenovo Cannon Lake PCH Serial IO I2C Controller
    Kernel driver in use: intel-lpss
    Kernel modules: intel_lpss_pci
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
    Subsystem: Lenovo Cannon Lake PCH HECI Controller
    Kernel driver in use: mei_me
    Kernel modules: mei_me
00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #17 (rev f0)
    Kernel driver in use: pcieport
00:1b.4 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #21 (rev f0)
    Kernel driver in use: pcieport
00:1c.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #1 (rev f0)
    Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 (rev f0)
    Kernel driver in use: pcieport
00:1d.6 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #15 (rev f0)
    Kernel driver in use: pcieport
00:1e.0 Communication controller: Intel Corporation Device a328 (rev 10)
    Subsystem: Lenovo Device 229f
    Kernel driver in use: intel-lpss
    Kernel modules: intel_lpss_pci
00:1f.0 ISA bridge: Intel Corporation Device a30e (rev 10)
    Subsystem: Lenovo Device 229f
00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
    Subsystem: Lenovo Cannon Lake PCH cAVS
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel, snd_soc_skl, sof_pci_dev
00:1f.4 SMBus: Intel Corporation Cannon Lake PCH SMBus Controller (rev 10)
    Subsystem: Lenovo Cannon Lake PCH SMBus Controller
    Kernel driver in use: i801_smbus
    Kernel modules: i2c_i801
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller (rev 10)
    Subsystem: Lenovo Cannon Lake PCH SPI Controller
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10)
    Subsystem: Lenovo Ethernet Connection (7) I219-V
    Kernel driver in use: e1000e
    Kernel modules: e1000e
01:00.0 VGA compatible controller: NVIDIA Corporation TU117GLM [Quadro T1000 Mobile] (rev a1)
    Subsystem: Lenovo Device 229f
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device: NVIDIA Corporation Device 10fa (rev a1)
    Subsystem: Lenovo Device 229f
    Kernel driver in use: snd_hda_intel
    Kernel modules: snd_hda_intel
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
    Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981
    Kernel driver in use: nvme
    Kernel modules: nvme
04:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
    Kernel driver in use: pcieport
05:00.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
    Kernel driver in use: pcieport
05:01.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
    Kernel driver in use: pcieport
05:02.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
    Kernel driver in use: pcieport
05:04.0 PCI bridge: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] (rev 06)
    Kernel driver in use: pcieport
06:00.0 System peripheral: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] (rev 06)
    Subsystem: Lenovo JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018]
    Kernel driver in use: thunderbolt
    Kernel modules: thunderbolt
2c:00.0 USB controller: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] (rev 06)
    Subsystem: Lenovo JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018]
    Kernel driver in use: xhci_hcd
52:00.0 Network controller: Intel Corporation Device 2723 (rev 1a)
    Subsystem: Intel Corporation Device 0080
    Kernel driver in use: iwlwifi
    Kernel modules: iwlwifi
53:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
    Subsystem: Lenovo RTS525A PCI Express Card Reader
    Kernel driver in use: rtsx_pci
    Kernel modules: rtsx_pci
  • prime-select query
nvidia
  • Nvidia X Server Settings (application) nvidia x server settings screenshot
  • Software & Updates (application) tab Additional Drivers software & updates screenshot

    Now the options which seem to indicate something that I think is not right:

  • glxinfo | grep OpenGL

OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2) 
OpenGL core profile version string: 4.5 (Core Profile) Mesa 19.2.8
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 19.2.8
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 19.2.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
  • Settings (application) tab Details screenshot
0

Try calling sudo prime-select nvidia from the console explicitly.

I think I had a similar bug where it would think the nvidia option is enabled after driver installation, only it wasn't. Doing the above fixed that. I even have the functioning on-demand option now.

4
  • It says "Info: the nvidia profile is already set". Unfortunately nothing changed – Maarten Meijer Mar 28 '20 at 18:59
  • What if you set it to intel and then back to nvidia? – Dmitry Mar 28 '20 at 21:09
  • It selected the profiles but nothing noticable changed – Maarten Meijer Mar 29 '20 at 15:58
  • Not sure what to say, then. You can try searching the Xorg logs for errors. Or try modprobe -r nvidia-drm ; modprobe nvidia-drm modeset=1 and see what happens. Also try reinstalling the nvidia drivers: sudo apt purge nvidia-*, followed by installing. I suggest you try 435, though (I'm using them now). Or 430. – Dmitry Mar 29 '20 at 18:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.