Hello,
I’ve been happily using Nixos with optimus on a Dell laptop.
Now I changed the laptop and I’m struggling to make it work. On arch it’s working as expected, so I suppose that drivers for linux do exist.
Here on Nixos, no matter what driver I’m using, I’m not able to make it work: X doesn’t start at all of, if starts, it does with integrated graphics. Plus, no matter what I do, external monitor is not used. Here are some infos:
sudo lshw -c display
[sudo] password di CyberPingU:
*-display
description: simpledrmdrmfb
physical id: 0
bus info: pci@0000:01:00.0
logical name: /dev/fb0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list fb
configuration: depth=32 latency=0 mode=1920x1080 visual=truecolor xres=1920 yres=1080
resources: iomemory:400-3ff iomemory:410-40f memory:7c000000-7cffffff memory:4000000000-40ffffffff memory:4100000000-4101ffffff ioport:3000(size=128)
*-display UNCLAIMED
physical id: 2
bus info: pci@0000:00:02.0
version: 08
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm bus_master cap_list
configuration: latency=0
resources: iomemory:510-50f iomemory:410-40f memory:5128000000-5128ffffff memory:4110000000-411fffffff memory:c0000-dffff memory:4102000000-4108ffffff
*-graphics
product: simpledrmdrmfb
physical id: 3
logical name: /dev/fb0
capabilities: fb
configuration: depth=32 resolution=1920,1080
I say that on arch linux the “graphics” entry doesn’t exist and the first 2 display do not show “UNCLAIMED”.
Here is the lspci output:
[nix-shell:~]$ lspci | grep "VGA\|3D"
00:02.0 VGA compatible controller: Intel Corporation Meteor Lake-P [Intel Arc Graphics] (rev 08)
01:00.0 3D controller: NVIDIA Corporation AD107GLM [RTX 500 Ada Generation Laptop GPU] (rev a1)
Now, following nvidia wiki I tried every single of these entries:
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable;
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.production; # (installs 550)
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta;
In the block
# Enable OpenGL
hardware.graphics = {
enable = true;
};
services.xserver.videoDrivers = ["nvidia"];
hardware.nvidia = {
modesetting.enable = true;
powerManagement.enable = false;
powerManagement.finegrained = false;
open = false;
nvidiaSettings = true;
package = config.boot.kernelPackages.nvidiaPackages.stable; # <-- Here I tried production, eta, stable
prime = {
# Make sure to use the correct Bus ID values for your system!
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
With this Configuration sddm doesn’t start and logs say something like “unable to start framebuffer, please specify a busID for every entry”. But I did… 1:0:0 and 0:2:0 (as you saw from the lshw and from the lspci).
If I try to add
boot.initrd.kernelModules = [ "nvidia" ];
boot.extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
and remove the services.xserver.videoDrivers = ["nvidia"];
otherwise it complains, I can see that X starts. But no nvidia and no dual monitor.
Basically: no nvidia and no dual monitor OR no X at all. These are my choices -.-
I even tried to use the " Running the new RTX SUPER on nixos stable" but this approach didn’t bring
me anywhere.
I have no more clues. Can anyone help me?
Is this graphic card even supported? Also this is a Dell Laptop, but I’m starting to think that the video card is not supported.