Can I switch to proprietary drivers with a GPU and a CPU with integrated graphics?

Hello everyone,

I recently noticed some graphics problems after the stable 2024-05-13 update. I already described the problems here and thought they were resolved after another update (which was not the case; they only disappeared in certain situations).

I want to try to fix it by switching from the open-source to the proprietary drivers but I am not sure if that’s possible because I am using a hybrid system (my CPU has an integrated graphics, see below).
The manjaro guide to configuring graphics cards says that for several GPUs PIRME GPU offloading

will automatically be available for hybrid graphics systems using intel/modesetting for the integrated card and free drivers (AMDGPU or Nouveau) for the dGPU.

As far as I can see, it does not say if this is possible with the proprietary drivers as well. I don’t even think I need PRIME GPU offloading. As you can see, I am really not sure how things work here and would be very grateful to get some advice or hints to resources that could help me.

Some information about my system:

Output of inxi --full --admin --filter --width:

System:
  Kernel: 6.1.98-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 14.1.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.1-x86_64
    root=UUID=220113d4-7c42-4307-b854-540214ec07d1 rw quiet splash apparmor=1
    security=apparmor udev.log_priority=3
  Desktop: GNOME v: 46.3.1 tk: GTK v: 3.24.43 wm: gnome-shell
    tools: gsd-screensaver-proxy dm: GDM v: 46.2 Distro: Manjaro base: Arch Linux
Machine:
  Type: Desktop Mobo: ASUSTeK model: P8B75-M LX PLUS v: Rev X.0x
    serial: <superuser required> part-nu: SKU uuid: <superuser required>
    UEFI: American Megatrends v: 0501 date: 10/10/2012
CPU:
  Info: model: Intel Core i5-3330 bits: 64 type: MCP arch: Ivy Bridge
    gen: core 3 level: v2 built: 2012-15 process: Intel 22nm family: 6
    model-id: 0x3A (58) stepping: 9 microcode: 0x21
  Topology: cpus: 1x cores: 4 smt: <unsupported> cache: L1: 256 KiB
    desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB L3: 6 MiB
    desc: 1x6 MiB
  Speed (MHz): avg: 1599 high: 1600 min/max: 1600/3200 scaling:
    driver: intel_cpufreq governor: schedutil cores: 1: 1600 2: 1597 3: 1600
    4: 1600 bogomips: 23955
  Flags: avx ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: KVM: VMX unsupported
  Type: l1tf mitigation: PTE Inversion
  Type: mds mitigation: Clear CPU buffers; SMT disabled
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data status: Unknown: No mitigations
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines; IBPB: conditional; IBRS_FW;
    STIBP: disabled; RSB filling; PBRSB-eIBRS: Not affected; BHI: Not affected
  Type: srbds status: Vulnerable: No microcode
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics
    vendor: ASUSTeK P8H77-I driver: i915 v: kernel arch: Gen-7
    process: Intel 22nm built: 2012-13 ports: active: none
    empty: DP-1,HDMI-A-1,VGA-1 bus-ID: 00:02.0 chip-ID: 8086:0152
    class-ID: 0380
  Device-2: NVIDIA GK106 [GeForce GTX 650 Ti] vendor: Gigabyte driver: nvidia
    v: 470.256.02 alternate: nouveau,nvidia_drm non-free: series: 470.xx+
    status: legacy-active (EOL~2024-09-xx) arch: Kepler code: GKxxx
    process: TSMC 28nm built: 2012-2018 pcie: gen: 1 speed: 2.5 GT/s lanes: 16
    link-max: gen: 3 speed: 8 GT/s bus-ID: 01:00.0 chip-ID: 10de:11c6
    class-ID: 0300
  Device-3: Microdia Webcam Vitade AF driver: snd-usb-audio,uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 2-1.5:3
    chip-ID: 0c45:6366 class-ID: 0102 serial: <filter>
  Display: x11 server: X.org v: 1.21.1.13 with: Xwayland v: 24.1.1
    compositor: gnome-shell driver: X: loaded: modesetting,nvidia
    alternate: fbdev,nouveau,nv,vesa dri: crocus gpu: i915,nvidia
    display-ID: :1 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-size: <missing: xdpyinfo>
  Monitor-1: HDMI-0 pos: primary,right res: 1920x1080 hz: 60 dpi: 102
    size: 477x268mm (18.78x10.55") diag: 547mm (21.54") modes: N/A
  Monitor-2: VGA-0 pos: left res: 1920x1080 hz: 60 dpi: 102
    size: 477x268mm (18.78x10.55") diag: 547mm (21.54") modes: N/A
  API: OpenGL Message: Unable to show GL data. glxinfo is missing.
Audio:
  Device-1: Intel 7 Series/C216 Family High Definition Audio
    vendor: ASUSTeK P8Z77-V LX driver: snd_hda_intel v: kernel bus-ID: 00:1b.0
    chip-ID: 8086:1e20 class-ID: 0403
  Device-2: NVIDIA GK106 HDMI Audio vendor: Gigabyte driver: snd_hda_intel
    v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 16 link-max: gen: 3
    speed: 8 GT/s bus-ID: 01:00.1 chip-ID: 10de:0e0b class-ID: 0403
  Device-3: Microdia Webcam Vitade AF driver: snd-usb-audio,uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 2-1.5:3
    chip-ID: 0c45:6366 class-ID: 0102 serial: <filter>
  API: ALSA v: k6.1.98-1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: JACK v: 1.9.22 status: off tools: N/A
  Server-2: PipeWire v: 1.2.1 status: off tools: pw-cli
  Server-3: PulseAudio v: 17.0 status: active with: pulseaudio-alsa
    type: plugin tools: pacat,pactl
Network:
  Device-1: Realtek RTL8192CE PCIe Wireless Network Adapter vendor: ASUSTeK
    driver: rtl8192ce v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: d000
    bus-ID: 03:00.0 chip-ID: 10ec:8178 class-ID: 0280
  IF: wlp3s0 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: ASUSTeK P8 series driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: c000 bus-ID: 04:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: enp4s0 state: down mac: <filter>
  Info: services: mld, NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Cambridge Silicon Radio Bluetooth Dongle (HCI mode) driver: btusb
    v: 0.8 type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-4:2
    chip-ID: 0a12:0001 class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 1 state: up address: see --recommends
Drives:
  Local Storage: total: 1.36 TiB used: 233.32 GiB (16.7%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/sda maj-min: 8:0 vendor: SanDisk model: SDSSDH3 500G
    size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 00RL scheme: GPT
  ID-2: /dev/sdb maj-min: 8:16 vendor: Hitachi model: HDS721010DLE630
    size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 3.0 Gb/s
    tech: HDD rpm: 7200 serial: <filter> fw-rev: A650 scheme: GPT
Partition:
  ID-1: / raw-size: 57.74 GiB size: 56.53 GiB (97.91%) used: 47.9 GiB (84.7%)
    fs: ext4 dev: /dev/sda3 maj-min: 8:3
  ID-2: /boot/efi r: 256 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1947 libs: 463 tools: gnome-software,pamac
    pm: flatpak pkgs: 0 Compilers: clang: 18.1.8 gcc: 14.1.1 Shell: Zsh v: 5.9
    running-in: gnome-terminal inxi: 3.3.35
aw-size: 513 MiB size: 512 MiB (99.80%)
    used: 324 KiB (0.1%) fs: vfat dev: /dev/sda4 maj-min: 8:4
  ID-3: /home raw-size: 372.53 GiB size: 365.62 GiB (98.14%)
    used: 185.42 GiB (50.7%) fs: ext4 dev: /dev/sda1 maj-min: 8:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: partition size: 7.45 GiB used: 0 KiB (0.0%) priority: -2
    dev: /dev/sda2 maj-min: 8:2
Sensors:
  System Temperatures: cpu: 52.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 8 GiB available: 7.63 GiB used: 3.12 GiB (40.9%)
  Processes: 242 Power: uptime: 39m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 3.04 GiB services: gsd-power,upowerd
    Init: systemd v: 256 default: graphical tool: systemctl
  Packages: pm: pacman pkgs: 1947 libs: 463 tools: gnome-software,pamac
    pm: flatpak pkgs: 0 Compilers: clang: 18.1.8 gcc: 14.1.1 Shell: Zsh v: 5.9
    running-in: gnome-terminal inxi: 3.3.35

Available drivers:


mhwd -l
> 0000:01:00.0 (0300:10de:11c6) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
    video-nvidia-470xx            2023.03.23               false            PCI
    video-nvidia-390xx            2023.03.23               false            PCI
           video-linux            2024.05.06                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI


> 0000:04:00.0 (0200:10ec:8168) Network controller Realtek Semiconductor Co., Ltd.:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
         network-r8168            2023.09.12                true            PCI


> 0000:00:02.0 (0380:8086:0152) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2024.05.06                true            PCI

Installed drivers:

mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-470xx-prime            2023.03.23               false            PCI
     video-modesetting            2020.01.13                true            PCI


Warning: No installed USB configs!

Your system identifies as a desktop system.

There should be no issues - usually the integrated gpu is disabled when a pci gpu is attached.

Hi @david2,

This is already the proprietary driver.

However, it seems you are using hybrid, so that might explain the dissapear under certain conditions that you mentioned.

Please provide the output of:

prime-run glxgears

If glxgears isn’t availablee, install mes-autils:

pamac install mesa-utils

Thanks for your answer!
Right, do you know why both linux-modesetting and the proprietary driver are installed? I was only looking at the Manjaro Settings Manager which does not show any installed proprietary drivers:
image

Sure, here you are:


% prime-run glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
6192 frames in 5.0 seconds = 1238.360 FPS
6009 frames in 5.0 seconds = 1201.604 FPS
6062 frames in 5.0 seconds = 1211.869 FPS
6072 frames in 5.0 seconds = 1214.236 FPS
6447 frames in 5.0 seconds = 1289.246 FPS
6280 frames in 5.0 seconds = 1255.944 FPS
5996 frames in 5.0 seconds = 1199.008 FPS
6028 frames in 5.0 seconds = 1205.479 FPS
5940 frames in 5.0 seconds = 1187.842 FPS
6075 frames in 5.0 seconds = 1214.901 FPS

Now that I’ve never seen before. All I can think of is you package database is screwed up. For that I think you might follow this guide:

https://wiki.archlinux.org/title/Pacman/Restore_local_database#

I did it but I don’t think it changed anything.

Then I don’t know why it’s showing that way, or what could be the matter for you wanting to do this. But, since it works correctly, it’s obviously only a GUI thing, as evident in your outputs.

So let me tell you this:

Since you have a Hybrid GPU, you can choose when to use the dedicated Nvidia GPU, as by default the integrated one will be used. To run a program using the Nvidia card, run it with the prefix prime-run. For example:

prime-run steam

In this case, steam and all the games it launches will use the Nvidiaa card.

The same can be used to run any program using the Nvidia card instead of the integrated one.

For more, see:

https://wiki.archlinux.org/title/Hybrid_graphics

And let’s hope someone who does know why this happens and what’s to do sees this post.

1 Like

Thanks, that’s good to know.

Unfortunately, it is not possible to only use the dedicated graphics card. This could have been an idea to solve the problem. If nothing else works, I might just go for a fresh installation of Manjaro.

Hybrid graphics is for laptops.

Desktop does not use hybrid setups.

Either you use one or the other - not withstanding GPU passthrough - and that is an entirely different subject.

Does that mean that I can just use a “normal” graphics driver (so no nvidia-prime profile)?

1 Like

It seems that way. At least to me…

Yes - simply install the driver - in your case it is the 470xx driver

2 Likes
% sudo mhwd -i pci video-nvidia-470xx 
Error: config 'video-nvidia-470xx' conflicts with config(s): video-hybrid-intel-nvidia-470xx-prime

Can I remove video-hybrid-intel-nvidia-470xx-prime first?

Yes, but DO NOT REBOOT before installing the other driver.

After removing video-hybrid-intel-nvidia-470xx-prime and installing video-nvidia-470xx, the grub menu did not show the Manjaro installation anymore but only the Windows system and another Manjaro system which are both installed on an internal HDD. The manjaro installation on the SSD which I use all the time was, as just said, not shown anymore. So I booted into the Manjaro installation on the HDD and updated grub. Even though the installation on the SSD was found, it did not show up in the grub menu after a reboot. So I booted into the HDD manjaro again, chrooted into the installation on the SSD and restored the previous graphics configuration (so I deinstalled video-nvidia-470xx and installed video-modesetting and video-hybrid-intel-nvidia-470xx-prime) and ran 'update-grub` again. Now, the grub menu does not show up at all even though the BIOS menu shows the bootable UEFI-partition on the SSD:


I am now creating a live-usb to restore the grub bootloader. I really have no idea what happened here but I will keep you updated.

1 Like

I restored the grub bootloader and the grub menu showed both linux installations. However, I can only start the memtester:

Can anyone help me undertstand what is wrong here?
This are the partitions in my system:

manjaro@manjaro ~]$ lsblk  
PATH,PTTYPE,PARTTYPE,FSTYPE,PARTTYPENAME
PATH       PTTYPE PARTTYPE                             FSTYPE   PARTTYPENAME
/dev/loop0                                             squashfs 
/dev/loop1                                             squashfs 
/dev/loop2                                             squashfs 
/dev/loop3                                             squashfs 
/dev/sda   gpt                                                  
/dev/sda1  gpt    0fc63daf-8483-4772-8e79-3d69d8477de4 ext4     Linux filesystem
/dev/sda2  gpt    0657fd6d-a4ab-43c4-84e5-0933c84b4f4f swap     Linux swap
/dev/sda3  gpt    0fc63daf-8483-4772-8e79-3d69d8477de4 ext4     Linux filesystem
/dev/sda4  gpt    ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 vfat     Microsoft basic data
/dev/sdb   gpt                                                  
/dev/sdb1  gpt    de94bba4-06d1-4d40-a16a-bfd50179d6ac ntfs     Windows recovery environment
/dev/sdb2  gpt    c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat     EFI System
/dev/sdb3  gpt    e3c9e316-0b5c-4db8-817d-f92df00215ae          Microsoft reserved
/dev/sdb4  gpt    ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 ntfs     Microsoft basic data
/dev/sdb5  gpt    de94bba4-06d1-4d40-a16a-bfd50179d6ac ntfs     Windows recovery environment
/dev/sdb6  gpt    ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 ntfs     Microsoft basic data
/dev/sdb7  gpt    c12a7328-f81f-11d2-ba4b-00a0c93ec93b vfat     EFI System
/dev/sdb8  gpt    0657fd6d-a4ab-43c4-84e5-0933c84b4f4f swap     Linux swap
/dev/sdb9  gpt    0fc63daf-8483-4772-8e79-3d69d8477de4 ext4     Linux filesystem
/dev/sdb10 gpt    0fc63daf-8483-4772-8e79-3d69d8477de4 ext4     Linux filesystem
/dev/sdc   dos                                         iso9660  
/dev/sdc1  dos    0x0                                  iso9660  Empty
/dev/sdc2  dos    0xef                                 vfat     EFI (FAT-12/16/32)
/dev/sr0

The SSD is /dev/sda and the HDD is /dev/sdb. On the SSD I only want Manjaro and on the HDD there is Windows and an older Manjaro installation I need to remove. I don’t understand why there is a Windows partition on the SSD and I also don’t know where GRUB should be installed on the SSD. When I try to mount the Manjaro installation on the SSD, an error shows up:

mount: /mnt/boot/efi: fsconfig system call failed: /dev/disk/by-uuid/702E-A58D: Can't lookup blockdev.
       dmesg(1) may have more information after failed mount system call.
 --> mount: [/mnt/home]

That’s probably a remnant from a Windows installation that happened at some stage. Or something, I’m unsure.

What I am sure about, however, is that I don’t really know what’s going on here. There are a lot of partitions there, and while I’m not saying it’s wrong, I am saying that it’s confusing the living daylights out of me.

Assuming you don’t have any data you want to keep on the SSD, this would be my suggestion, though:

  1. Disconnect the HDD completely; ensure only the SSD is connected.
  2. Boot into the BIOS/UEFI and make sure that securee boot, fast boot and any RAID is disabled.
  3. Bot the computer into a live environment, format the SSD with the ext4 file system; and
  4. reboot into the newly installed OS to make sure everything is good.
  5. Turn off, connect the HDD and go with this:

This should go without saying, but if there is important data on the SSD, first MAKE PROPER BACKUPS because this will format the disk, thus removing all said data!

I think a little cleanup might be a good idea!

Why do you think it’s better to disconnect the HDD when reinstalling Manjaro on the SSD?

Because, if you wish to keep Windows, I think that’s the safest way to protect it while keeping it from interfering in any way. In short, I think it’s the safest way.