You are not logged in.
I had nvidia (with nvidia-utils installed, so nouveau should be blacklisted, even though it shows on the kernel modules list for the GPU in lspci.) But decided to change to nvidia-open-dkms. After rebooting, the nvidia gpu no longer can be selected. I am using an FX705GM Laptop with an i7-8750H with an NVIDIA GTX 1060 Mobile dedicated GPU. NVIDIA Optimus is required, and runs at system start. (It cannot run right now because the nvidia gpu is not being detected by anything except lspci.)
1 ❯ systemd-analyze
Startup finished in 15.902s (firmware) + 5.207s (loader) + 1.371s (kernel) + 46.625s (initrd) + 21.243s (userspace) = 1min 30.350s
graphical.target reached after 5.096s in userspace.
❯ mkinitcpio -P
bash: mkinitcpio: command not found
So I cannot regen the init like other threads have mentioned. The modprobe.d blacklist has nouveau in it (I put it there manually since the file didn't exist before.)
lspci -k | grep -A 2 -i "vga"
00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630]
DeviceName: Onboard - Video
Subsystem: ASUSTeK Computer Inc. Device 1b4e
--
01:00.0 VGA compatible controller: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] (rev a1)
Subsystem: ASUSTeK Computer Inc. Device 1b4e
Kernel modules: nouveau, nvidia_drm, nvidia
nvidia-xconfig:
❯ sudo nvidia-xconfig
[sudo] password for ian:
Using X configuration file: "/etc/X11/xorg.conf".
VALIDATION ERROR: Data incomplete in file /etc/X11/xorg.conf.
Device section "Device0" must have a Driver line.
ERROR: Unable to find any GPUs in the system.
Backed up file '/etc/X11/xorg.conf' as '/etc/X11/xorg.conf.nvidia-xconfig-original'
Backed up file '/etc/X11/xorg.conf' as '/etc/X11/xorg.conf.backup'
New X configuration file written to '/etc/X11/xorg.conf'
And when I use optimus-manager:
[13] INFO: Running Xorg pre-start hook
[13] INFO: Previous state was: {'type': 'pending_pre_xorg_start', 'requested_mode': 'nvidia', 'current_mode': None}
[13] INFO: Requested mode is: nvidia
[32] INFO: Available modules: ['nouveau', 'nvidia', 'nvidia_drm', 'nvidia_modeset', 'nvidia_uvm']
[32] INFO: Unloading modules: ['nouveau']
[35] INFO: Skipping Nvidia power up: switching_mode=none
[56] INFO: Loading module: nvidia
[324] ERROR: Xorg pre-start hook failed
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/optimus_manager/kernel.py", line 240, in _load_module
subprocess.check_call(
~~~~~~~~~~~~~~~~~~~~~^
f"modprobe {module} {' '.join(options)}",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
shell=True, text=True, stderr=subprocess.PIPE, stdout=subprocess.DEVNULL)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/subprocess.py", line 419, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'modprobe nvidia NVreg_UsePageAttributeTable=1' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/optimus_manager/hooks/pre_xorg_start.py", line 42, in main
setup_kernel_state(config, prev_state, requested_mode)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/optimus_manager/kernel.py", line 21, in setup_kernel_state
_nvidia_up(config, hybrid=(requested_mode == "hybrid"))
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/optimus_manager/kernel.py", line 96, in _nvidia_up
_load_nvidia_modules(config, available_modules)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/optimus_manager/kernel.py", line 156, in _load_nvidia_modules
_load_module(available_modules, "nvidia", options=nvidia_options)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.13/site-packages/optimus_manager/kernel.py", line 245, in _load_module
raise KernelSetupError(f"Failed to modprobe {module}: {error.stderr}") from error
optimus_manager.kernel.KernelSetupError: Failed to modprobe nvidia: None
[329] INFO: Writing state: {'type': 'pre_xorg_start_failed', 'switch_id': '20250615T001842', 'requested_mode': 'nvidia'}
I'm on XFCE, not using wayland.
Last edited by coldreactive (2025-06-15 11:22:37)
Offline
lspci -k | grep -A 2 -i "vga"
You grepped away the relevant line…
bash: mkinitcpio: command not found
Errrr… using dracut?
pacman -Qikk mkinitcpio dracut
nvidia-xconfig:
Do not run that. Ever. It generates a static server layout which is full of horrible cruft and breaks your optimus setup.
The Xorg server has very good auto-detection, configuration only needs to augment that unless you have *very* special designs in mind (and no config tool will generate those for you)
Now for the money:
NVIDIA Corporation GP106M
https://wiki.archlinux.org/title/NVIDIA#Installation
https://en.wikipedia.org/wiki/Pascal_(m … hitecture)
Is pascal pre or post Turing?
(tbf: Would have been great if nviida had gone through them strictly chronologically)
Offline
I copied that lspci from another thread to use it here, I don't know what grep does, and I probably don't want to, as I barely retain information on what arch stuff does. I just want nvidia drivers that don't break. Because apparently fedora ones broke several months ago, and I had to reinstall because I didn't use snapshots. So I switched back to arch, then saw, after a while, nvidia recommended using the nvidia-open package. But I guess I forgot to notice it was for turing and later only.
Here's that pacman command:
❯ pacman -Qikk mkinitcpio dracut
error: package 'mkinitcpio' was not found
Name : dracut
Version : 107-1
Description : An event driven initramfs infrastructure
Architecture : x86_64
URL : https://github.com/dracut-ng/dracut-ng
Licenses : GPL-2.0-or-later
Groups : None
Provides : initramfs
Depends On : bash coreutils cpio filesystem findutils gawk grep kmod pkgconf procps-ng
sed systemd util-linux
Optional Deps : binutils: --uefi option support [installed]
bluez: bluetooth (keyboard) [installed]
btrfs-progs: scan for Btrfs on block devices [installed]
busybox: allows use of busybox (on your own risk)
bzip2: bzip2 compression [installed]
cifs-utils: support CIFS [installed]
connman: support for connman networking
cryptsetup: support for encrypted with LUKS filesystems [installed]
dash: allows use of dash (on your own risk)
dhclient: legacy networking support
dmraid: dmraid dracut module support [installed]
e2fsprogs: ext2/3/4 filesystem support [installed]
elfutils: strip binaries to reduce initramfs size
f2fs-tools: fsfs filesystem support [installed]
fuse3: live on NTFS (dmsquash-live-ntfs module) [installed]
gzip: gzip compression [installed]
iproute2: legacy networking support [installed]
iputils: networking support [installed]
lvm2: support Logical Volume Manager [installed]
lzop: lzop compression
mdadm: support MD devices, also known as software RAID devices [installed]
multipath-tools: dmraid dracut module support
nbd: support network block devices
ndctl: NVDIMM support
networkmanager: networkmanager support [installed]
nfs-utils: support NFS [installed]
ntfs-3g: live on NTFS (dmsquash-live-ntfs module) [installed]
nvme-cli: NVMe-oF support (nvmf module)
open-iscsi: support iSCSI (iscsi module)
openssh: install ssh and scp along with config files and specified keys (ssh-client
module) [installed]
pigz: faster gzip compression
plymouth: plymouth boot splash
rng-tools: enable rngd service to help generating entropy early during boot
sbsigntools: uefi_secureboot_cert/key configuration option support
squashfs-tools: support for building a squashed initramfs
tar: live tar image [installed]
tpm2-tools: tpm2 support for e.g. LUKS
xz: xz compression [installed]
Required By : eos-dracut linux
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 1719.87 KiB
Packager : Frederik Schwan <freswa@archlinux.org>
Build Date : Thu 01 May 2025 09:01:10 AM CDT
Install Date : Mon 05 May 2025 08:11:21 PM CDT
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
dracut: 793 total files, 0 altered files
I guess pascal is pre-turing? Even though I've been told by other sources that I should always use the latest for GTX 1060M. But, sure.
Thankfully, I don't have to worry about nvidia-xconfig mucking up optimus. Because I have it set to auto run nvidia optimus and switch immediately to the nvidia gpu, which has optimus-manager replace the xorg config. So as soon as I switched back to nvidia-dkms from nvidia-open-dkms, it works as intended.
Last edited by coldreactive (2025-06-15 11:12:35)
Offline