1

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

1 Answer 1

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 Mar 28, 2020 at 18:59
  • What if you set it to intel and then back to nvidia?
    – Dmitry
    Mar 28, 2020 at 21:09
  • It selected the profiles but nothing noticable changed Mar 29, 2020 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, 2020 at 18:55

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .