Conversation
- Add hardware configuration for System76 Oryx Pro laptops - Supports Intel Alder Lake-P + RTX 3070 Ti configuration - Includes NVIDIA PRIME sync mode for HDMI output support - Provides Wayland compatibility settings - Includes documentation and troubleshooting guide 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
| # Wayland-specific NVIDIA environment variables for better compatibility | ||
| environment.sessionVariables = { | ||
| # Fix cursor issues on Wayland | ||
| WLR_NO_HARDWARE_CURSORS = "1"; | ||
| # NVIDIA-specific variables for proper rendering | ||
| __GLX_VENDOR_LIBRARY_NAME = "nvidia"; | ||
| GBM_BACKEND = "nvidia-drm"; | ||
| LIBVA_DRIVER_NAME = "nvidia"; | ||
| }; | ||
|
|
||
| # Additional kernel parameters for NVIDIA stability | ||
| boot.kernelParams = [ | ||
| "nvidia-drm.modeset=1" | ||
| "nvidia-drm.fbdev=1" | ||
| "nvidia.NVreg_PreserveVideoMemoryAllocations=1" | ||
| ]; |
There was a problem hiding this comment.
Did you add these settings based on your testing or where they proposed?
| package = lib.mkDefault config.boot.kernelPackages.nvidiaPackages.production; | ||
|
|
||
| # Use open source kernel modules (recommended for RTX 30 series) | ||
| open = lib.mkDefault true; |
There was a problem hiding this comment.
We do have nvidia generation specific profiles that enable this setting.
| modesetting.enable = lib.mkDefault true; | ||
|
|
||
| # Use production driver (recommended for stability) | ||
| package = lib.mkDefault config.boot.kernelPackages.nvidiaPackages.production; |
There was a problem hiding this comment.
We usually don't set this for laptops.
|
|
||
| hardware = { | ||
| # Enable graphics support | ||
| graphics.enable = lib.mkDefault true; |
There was a problem hiding this comment.
I think the nvidia module already does this?
| # - NVIDIA GeForce RTX 3070 Ti Laptop GPU (GA104 - Ampere) | ||
| # - Hybrid graphics with HDMI output connected to NVIDIA GPU | ||
|
|
||
| services.xserver.videoDrivers = [ "nvidia" ]; |
There was a problem hiding this comment.
I think the nvidia module does this.
| open = lib.mkDefault true; | ||
|
|
||
| # Enable nvidia-settings GUI | ||
| nvidiaSettings = lib.mkDefault true; |
There was a problem hiding this comment.
Don't think this is needed. It sounds more like personal preference.
| prime = { | ||
| # Use sync mode for external display support via HDMI | ||
| # Note: This uses more power but enables HDMI output | ||
| sync.enable = lib.mkDefault true; |
There was a problem hiding this comment.
So when you had this disabled, hdmi wouldn't work?
There was a problem hiding this comment.
The way the Oryx Pro works is annoying, if the GPU is off (using integrated graphics only) it won't actually pass-through the ports attached to the GPU to the rest of the system. This is an issue with Pop! OS as well (external displays only work in hybrid/compute mode, and not on integrated mode).
Summary
This PR adds hardware support for the System76 Oryx Pro laptop series to nixos-hardware.
Hardware Configuration
Configuration Details
Key Features
Bus IDs
PCI:0:2:0PCI:1:0:0Files Added
system76/oryp/default.nix- Main hardware configurationsystem76/oryp/README.md- Documentation and usage instructionsTesting
Usage
Users can import this configuration with:
Notes
🤖 Generated with Claude Code