Disable Intel and only use nVidia

Hello! I’m trying to replace my Kubuntu installation with a Manjaro system. I’m currently stuck with the proper configuration I need with nVidia proprietary drivers. I need a configuration using the nVidia GPU alone, without the Intel GPU and without any offloading with PRIME.

It was incredibly simple to do this in Kubuntu: the nvidia-settings application had a specific tab for selecting one of these three options (Intel only, nVidia only, PRIME). I’m a little surprised to see that the same application (and same version) does not include that tab. I think it is currently using PRIME by default. I tried many ways to disable and only use nVidia, but no way worked. In particular, I guess the reference point is this:

https://wiki.archlinux.org/index.php/PRIME#Constant_hangs/freezes_with_Vulkan_applications/games_using_VSync_with_closed-source_drivers_and_reverse_PRIME

where I see that I should use the command:

xrandr --output HDMI-0 --set "PRIME Synchronization" 0 #replace HDMI-0 with your xrandr output ID

so I used:

xrandr --output eDP1 --set "PRIME Synchronization" 0

but I got:

X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  11 (RRQueryOutputProperty)
  Serial number of failed request:  41
  Current serial number in output stream:  41

So, any idea why the choice is missing in nvidia-settings? Any idea what the error means? Anyone who can provide info on how to go with nVidia only?
Thanks!

How to go to nVidia only:

  • Log off

  • Switch to TTY2 by pressing Ctrl+Alt+F2

  • Log in there

  • Execute:

    mhwd --listinstalled
    
  • Execute:

    sudo mhwd --remove pci xxx
    

    where xxx are all the lines shown by the previous command

  • Execute:

    sudo mhwd --install pci video-nvidia-440xx
    

    (if your card is supported by the 440 series driver, take another version if not)

  • Execute:

    sudo reboot 
    

Presto! nVidia only! (and the way I run)

Hello,
thanks for your help. Unfortunately I already tried to install nvidia-driver-440xx, but the only thing I get after the reboot is a black screen.
Anyway, I followed all the steps you reported precisely again, but I keep getting a black screen. I fixed by reinstalling the previous one: video-hybrid-intel-nvidia-440xx-prime.

Given that you need to use a hybrid driver i think you might be using a laptop. Given that you might need to still use the hybrid driver so that you can use the IGPU’s output to the display. What you seem to be looking for would be to create a Reverse PRIME configuration. Take note though that you use the proprietary NVIDIA driver though, so the Xorg config is not the same as the one shown in the wiki.

What’s the output of:

inxi --full --verbosity=7 --filter --no-host
mhwd --listinstalled

:question:

Hello,
this is the output:

System:    Kernel: 5.8.0-2-MANJARO x86_64 bits: 64 compiler: N/A Desktop: KDE Plasma 5.19.4 tk: Qt 5.15.0 wm: kwin_x11 
           dm: SDDM Distro: Manjaro Linux 
Machine:   Type: Laptop System: Dell product: Precision 5520 v: N/A serial: <filter> Chassis: type: 10 serial: <filter> 
           Mobo: Dell model: 06X96V v: A00 serial: <filter> UEFI: Dell v: 1.19.2 date: 05/22/2020 
Battery:   ID-1: BAT0 charge: 55.3 Wh condition: 55.3/97.0 Wh (57%) volts: 12.7/11.4 model: SMP DELL GPM0365 type: Li-ion 
           serial: <filter> status: Full 
           Device-1: hid-34:88:5d:8a:90:e8-battery model: Bluetooth Mouse M336/M337/M535 serial: N/A charge: N/A 
           status: Discharging 
Memory:    RAM: total: 15.49 GiB used: 1.47 GiB (9.5%) 
           RAM Report: permissions: Unable to run dmidecode. Root privileges required. 
CPU:       Topology: Quad Core model: Intel Xeon E3-1505M v6 bits: 64 type: MT MCP arch: Kaby Lake rev: 9 L2 cache: 8192 KiB 
           bogomips: 48016 
           Speed: 800 MHz min/max: 800/4000 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800 5: 800 6: 800 7: 800 8: 800 
           Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat arch_perfmon art avx avx2 bmi1 bmi2 bts clflush 
           clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64 dtherm dts epb ept ept_ad erms est f16c 
           flexpriority flush_l1d fma fpu fsgsbase fxsr hle ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida intel_pt 
           invpcid invpcid_single lahf_lm lm mca mce md_clear mmx monitor movbe mpx msr mtrr nonstop_tsc nopl nx pae pat pbe 
           pcid pclmulqdq pdcm pdpe1gb pebs pge pln pni popcnt pse pse36 pti pts rdrand rdseed rdtscp rep_good rtm sdbg sep 
           smap smep smx ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm tm2 tpr_shadow tsc tsc_adjust 
           tsc_deadline_timer vme vmx vnmi vpid x2apic xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr 
Graphics:  Device-1: Intel HD Graphics P630 vendor: Dell driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:591d 
           Device-2: NVIDIA GM107GLM [Quadro M1200 Mobile] vendor: Dell driver: nvidia v: 440.100 bus ID: 01:00.0 
           chip ID: 10de:13b6 
           Device-3: Microdia Integrated_Webcam_HD type: USB driver: uvcvideo bus ID: 1-12:4 chip ID: 0c45:6713 
           Display: x11 server: X.Org 1.20.8 compositor: kwin_x11 driver: intel,nvidia unloaded: modesetting,nouveau 
           alternate: fbdev,nv,vesa resolution: 3840x2160~60Hz s-dpi: 192 
           OpenGL: renderer: Mesa Intel HD Graphics P630 (KBL GT2) v: 4.6 Mesa 20.1.5 direct render: Yes 
Audio:     Device-1: Intel CM238 HD Audio vendor: Dell driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:a171 
           Sound Server: ALSA v: k5.8.0-2-MANJARO 
Network:   Device-1: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel port: e000 bus ID: 02:00.0 chip ID: 8086:24fd 
           IF: wlp2s0 state: up mac: <filter> 
           IP v4: <filter> type: dynamic noprefixroute scope: global broadcast: <filter> 
           IP v6: <filter> type: noprefixroute scope: link 
           WAN IP: <filter> 
Drives:    Local Storage: total: 476.94 GiB used: 25.17 GiB (5.3%) 
           ID-1: /dev/nvme0n1 vendor: Samsung model: PM961 NVMe SED 512GB size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 
           serial: <filter> rev: CXY72D7Q scheme: GPT 
           Message: No Optical or Floppy data was found. 
RAID:      Message: No RAID data was found. 
Partition: ID-1: / size: 451.39 GiB used: 25.17 GiB (5.6%) fs: ext4 dev: /dev/nvme0n1p2 label: N/A 
           uuid: 479076b3-4021-4b29-9df0-2c61d204b215 
           ID-2: /boot/efi size: 299.4 MiB used: 280 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 label: N/A uuid: 4A74-F999 
Swap:      ID-1: swap-1 type: partition size: 17.04 GiB used: 0 KiB (0.0%) priority: -2 dev: /dev/nvme0n1p3 label: N/A 
           uuid: 405f6590-8b11-4b21-a2f9-61693c540628 
Unmounted: Message: No unmounted partitions found. 
USB:       Hub: 1-0:1 info: Full speed (or root) Hub ports: 16 rev: 2.0 speed: 480 Mb/s chip ID: 1d6b:0002 
           Device-1: 1-4:2 info: Intel Bluetooth wireless interface type: Bluetooth driver: btusb interfaces: 2 rev: 2.0 
           speed: 12 Mb/s chip ID: 8087:0a2b 
           Device-2: 1-9:3 info: Elan Micro Touchscreen type: HID driver: hid-multitouch,usbhid interfaces: 1 rev: 2.0 
           speed: 12 Mb/s chip ID: 04f3:24a1 
           Device-3: 1-12:4 info: Microdia Integrated_Webcam_HD type: Video driver: uvcvideo interfaces: 2 rev: 2.0 
           speed: 480 Mb/s chip ID: 0c45:6713 
           Hub: 2-0:1 info: Full speed (or root) Hub ports: 10 rev: 3.0 speed: 5 Gb/s chip ID: 1d6b:0003 
Sensors:   System Temperatures: cpu: 52.0 C mobo: N/A 
           Fan Speeds (RPM): cpu: 3298 fan-2: 3298 
Info:      Processes: 241 Uptime: 9m Init: systemd v: 245 Compilers: gcc: 10.1.0 Packages: pacman: 1260 Shell: Bash v: 5.0.18 
           running in: konsole inxi: 3.1.05 
mhwd --listinstalled
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI
video-hybrid-intel-nvidia-440xx-prime            2019.10.25               false            PCI


Warning: No installed USB configs!

I suspect I should be installing video-nvidia as you said. The other one is only for hybrid setup, which is the one I do not want. This explains why the menu I’m looking for is missing. But for some reason I get a black screen.
In the system settings, I see that video-linux is also installed. Isn’t that nouveau? Should I uninstall it?
Thanks.

Did you check your BIOS to see if you can just disable the iGPU?

I just checked. I don’t see such an option.

Yup: the Quadro M1200 is supported by the 440 series, so get rid of the video-linux and hybrid drivers and install the nVidia only as per my original post.

As you’re going to mess with display drivers, it’s a good idea to create a full system backup before starting:

More specifically, the Make a Cold System Backup section!

:innocent:

Yes, I already followed this approach. Still black screen. This is the situation I currently have:

Removing hybrid and installing video-nvidia results in a black screen.
Do you see anything wrong in the configuration in the picture?
There is nothing in this system that needs to be backed up. I’m only investigating a possible migration from Kubuntu. I can experiment freely.
Thanks for your help.

The problem is the output to your display is routed through the IGPU, as such what comes closest to what you want is a reverse Prime configuration as i explained earlier.

Yes, I read that part, but it is completely unclear to me whether that is really my case and how to implement that on this machine. It is unlikely I can make that work without more info. Do you think that is somehow related to Optimus Manager - Manjaro Linux?

optimus-manager --switch nvidia

seems interesting, but I’m unsure if that is an up to date document.

I also read another document here, but with that conf file, I’m back to my black screen: NVIDIA Optimus - ArchWiki.

Also I keep reading about this command:

xrandr --output HDMI-0 --set "PRIME Synchronization" 0 #replace HDMI-0 with your xrandr output ID

which is mentioned in the same page you refer to:

https://wiki.archlinux.org/index.php/PRIME#Constant_hangs/freezes_with_Vulkan_applications/games_using_VSync_with_closed-source_drivers_and_reverse_PRIME

but nothing happens, I just get the weird error I reported above.

Could you please post your current basic working .conf file? We might need to manually rework that file a bit to make a working Reverse prime configuration in your case.

Hello,
sorry for the ignorance, which conf file do you need?

I’ve read that the current approach for offloading is setting env variables: Chapter 34. PRIME Render Offload. I therefore tried to put those in /etc/environment, but it seems Plasma is not appreciating it. It seems to crash and have severe issues with repainting, so it is not probably the proper way to go.
If I set those only for glxgears instead, it seems to work properly. But I’d like to use that approach system-wide.

After much reading, my understanding is that Ubuntu includes a “prime-select” tool that does what I need, but it is not available in Manjaro. I tried a few tools in github, but mostly broke the system.

It should be in /etc/X11/xorg.conf.d/ and normaly be a link named 90-mhwd.conf

I thought about that, but it seems to be empty:

##
## Generated by mhwd - Manjaro Hardware Detection
##

From my experience the most hassle-free option, similar to Ubuntu’s method is using Optimus Manager with the switch. You’d only need video-hybrid-intel-nvidia-440xx-prime for it to work. I’d uninstall previous “video-nvidia-440xx” from a tty then install the “hybrid” one above.
More info here GitHub - Askannz/optimus-manager: A Linux program to handle GPU switching on Optimus laptops.

AFAIK Manjaro’s wiki about Optimus is still valid. There have been lots of threads about various methods in the archived forum as well, but I don’t have the time now to study them all, I’ll just leave them for reference below.

I don’t think one could boot up straight with nVidia as a dGPU from a laptop as it still needs the Intel drivers to start, this is dictated in the BIOS/UEFI. In most BIOS/UEFIs there is some secret code you can type for accessing hidden settings where you could take a look for more entries regarding dGPU and whatnot, you can search the web for it, and maybe you could be lucky disabling the Intel GPU right from the BIOS/UEFI. But double-check everything before applying because you could be left with a blank screen forever (almost) :wink:

1 Like

Hello,
thanks for the info. Unfortunately I already tried optimus-manager, but guess it is outdated too. I see that it has 5 switching methods: None (I don’t know what this is), nouveau (I guess this is not for me), bbswitch (I’ve been told this is deprecated), ACPI (tried this, but it disabled nvidia entirely, it didn’t even load the module probably) and custom (I don’t know how to implement). I’ll read the links you provided though, thanks.

The only thing I’ve been able to use is the env variable described here: Chapter 34. PRIME Render Offload. But if I place it in /etc/environment, kwin is messed up badly.

I also found projects claiming to do what Ubuntu does, but I typically get a black screen.

Hi, sorry for the late reply but where did you read in my link above that Optimus Manager has 5 switches? It has 3 as it states and it’s very straightforward, forget all the rest:

  • optimus-manager --switch nvidia to switch to the Nvidia GPU
  • optimus-manager --switch intel to switch to the Intel GPU and power the Nvidia GPU off
  • optimus-manager --switch hybrid to switch to the Intel GPU but leave the Nvidia GPU available for on-demand offloading, similar to how Optimus works on Windows

Looks like there are numerous threads about switching GPUs in “Optimus” laptops, I assume they contain the same info. This link says practically the same as the above link in a more detailed way Guide: Install and configure optimus-manager for hybrid GPU setups (Intel/NVIDIA) - Tutorials - Manjaro Linux Forum