Razer R15 Advanced - 100% working NVIDIA-dkms 3070 Max-Q, but only with LTS, why?

After much tom-foolery with Optimus and prime this and gdm-prime that and garuda-manager, and all that, I realized that setting my BIOS "Chipset menu (only has 2 options, Optimus and:) GPU to "discrete GPU only" would completely disable the integrated intel GPU inside.

All I've ever seen is guides on getting prime-manager to work, but I had no care that my intel gpu ever even turned on. This laptop, only just the 3070, still goes for hours playing a game on battery power.

Quick guide

First. my system is a 2021 Razer R15 Advanced RTX 3070 Max-Q, with the 166hz screen (I've since put 32GB 3200hz RAM in, this laptop also has the only double-stack NvME M.2 SSD input on the motherboard that I've ever seen (you can literally fit 2x8TB NvMEs if you were dumb and rich enough, the sit on top the other, with a small heatsink in between):

$ sudo garuda-inxi

#we sudo so that os-prober detects that you aren't dual booting like you shouldn't be :wink:

System:
Kernel: 5.15.71-1-lts arch: x86_64 bits: 64 compiler: gcc v: 12.2.0
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
root=UUID=#s&letters rw [email protected]
splash rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
sysrq_always_enabled=1
Console: pty pts/1 wm: kwin_x11 DM: SDDM Distro: Garuda Linux
base: Arch Linux
Machine:
Type: Laptop System: Razer product: Blade 15 Advanced Model (Mid 2021) -
RZ09-0409 v: 7.04 serial: <filter> Chassis: type: 10 serial: N/A
Mobo: Razer model: CH570 v: 4 serial: N/A UEFI: Razer v: 2.01
date: 09/24/2021
Battery:
ID-1: BAT0 charge: 63.6 Wh (100.0%) condition: 63.6/80.2 Wh (79.2%)
volts: 16.7 min: 15.4 model: Razer Blade type: Unknown serial: <filter>
status: full
Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard K270
serial: <filter> charge: 100% (should be ignored) rechargeable: yes
status: discharging
CPU:
Info: model: 11th Gen Intel Core i7-11800H socket: U3E1 bits: 64
type: MT MCP arch: Tiger Lake gen: core 11 level: v4 built: 2020
process: Intel 10nm family: 6 model-id: 0x8D (141) stepping: 1
microcode: 0x40
Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
L1: 640 KiB desc: d-8x48 KiB; i-8x32 KiB L2: 10 MiB desc: 8x1.2 MiB
L3: 24 MiB desc: 1x24 MiB
Speed (MHz): avg: 2599 high: 2661 min/max: 800/4600 base/boost: 4158/5000
scaling: driver: intel_pstate governor: performance volts: 1.0 V
ext-clock: 100 MHz cores: 1: 2600 2: 2639 3: 2600 4: 2600 5: 2600 6: 2600
7: 2600 8: 2600 9: 2571 10: 2528 11: 2661 12: 2600 13: 2600 14: 2600
15: 2600 16: 2600 bogomips: 73728
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities:
Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: mmio_stale_data status: Not affected
Type: retbleed status: Not affected
Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
prctl and seccomp
Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
sanitization
Type: spectre_v2 mitigation: Enhanced IBRS, IBPB: conditional, RSB
filling, PBRSB-eIBRS: SW sequence
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: NVIDIA GA104M [GeForce RTX 3070 Mobile / Max-Q] vendor: Razer USA
driver: nvidia v: 515.76 alternate: nouveau,nvidia_drm non-free: 515.xx+
status: current (as of 2022-08) arch: Ampere code: GAxxx process: TSMC n7
(7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 8 link-max:
lanes: 16 bus-ID: 01:00.0 chip-ID: 10de:249d class-ID: 0300
Device-2: IMC Networks Integrated RGB Camera type: USB driver: uvcvideo
bus-ID: 3-8:9 chip-ID: 13d3:5279 class-ID: 0e02 serial: <filter>
Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.3
compositor: kwin_x11 driver: X: loaded: nvidia gpu: nvidia display-ID: :0
screens: 1
Screen-1: 0 s-res: 2560x1440 s-dpi: 108 s-size: 602x342mm (23.70x13.46")
s-diag: 692mm (27.26")
Monitor-1: DP-4 size-res: N/A modes: N/A
Monitor-2: HDMI-0 pos: primary res: 2560x1440 dpi: 109
size: 597x336mm (23.5x13.23") diag: 685mm (26.97") modes: N/A
OpenGL: renderer: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2 v: 4.6.0
NVIDIA 515.76 direct render: Yes
Audio:
Device-1: Intel Tiger Lake-H HD Audio vendor: Razer USA
driver: sof-audio-pci-intel-tgl
alternate: snd_hda_intel,snd_sof_pci_intel_tgl bus-ID: 00:1f.3
chip-ID: 8086:43c8 class-ID: 0401
Device-2: NVIDIA GA104 High Definition Audio vendor: Razer USA
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 8
link-max: lanes: 16 bus-ID: 01:00.1 chip-ID: 10de:228b class-ID: 0403
Sound Server-1: ALSA v: k5.15.71-1-lts running: yes
Sound Server-2: PulseAudio v: 16.1 running: no
Sound Server-3: PipeWire v: 0.3.58 running: yes
Network:
Device-1: Intel Wi-Fi 6 AX210/AX211/AX411 160MHz driver: iwlwifi v: kernel
pcie: gen: 2 speed: 5 GT/s lanes: 1 bus-ID: 5b:00.0 chip-ID: 8086:2725
class-ID: 0280
IF: wlp91s0 state: down mac: <filter>
Device-2: Realtek RTL8153 Gigabit Ethernet Adapter type: USB
driver: r8152 bus-ID: 2-3.1:7 chip-ID: 0bda:8153 class-ID: 0000
serial: <filter>
IF: enp0s13f0u3u1 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: wgivpn state: unknown speed: N/A duplex: N/A mac: N/A
Bluetooth:
Device-1: Intel AX210 Bluetooth type: USB driver: btusb v: 0.8
bus-ID: 3-5:6 chip-ID: 8087:0032 class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 1 state: up address: <filter>
Drives:
Local Storage: total: 1.82 TiB used: 1.02 TiB (56.1%)
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: PNY model: CS2130 2TB SSD
size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 type: SSD serial: <filter> rev: CS213531 temp: 47.9 C
scheme: GPT
SMART: yes health: PASSED on: 153d 8h cycles: 910 read-units: 70,973,262
[36.3 TB] written-units: 44,949,722 [23.0 TB]
Partition:
ID-1: / raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 1019.35 GiB
(54.7%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 608 KiB
(0.2%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 1019.35 GiB
(54.7%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 1019.35
GiB (54.7%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
maj-min: 259:2
ID-5: /var/tmp raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 1019.35
GiB (54.7%) fs: btrfs block-size: 4096 B dev: /dev/nvme0n1p2
maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 31.16 GiB used: 4.13 GiB (13.3%)
priority: 100 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 87.0 C mobo: N/A gpu: nvidia temp: 75 C
Fan Speeds (RPM): N/A
Info:
Processes: 444 Uptime: 4h 4m wakeups: 19 Memory: 31.16 GiB used: 10.84 GiB
(34.8%) Init: systemd v: 251 default: graphical tool: systemctl
Compilers: gcc: 12.2.0 alt: 11 Packages: pm: pacman pkgs: 1981 libs: 544
tools: octopi,paru,yay Shell: garuda-inxi (sudo) default: Bash v: 5.1.16
running-in: konsole inxi: 3.3.21
Garuda (2.6.8-1):
System install date:     2022-09-23
Last full system update: 2022-09-29 ↻
Is partially upgraded:   No
Relevant software:       NetworkManager
Windows dual boot:       No/Undetected
Snapshots:               Snapper
Failed units:

Note that I have a 144hz monitor plugged in through HDMI.

The guide is very simple, and I have tried this with both the normal and gaming Dragonized edition KDE Garuda.

Boot using open source drivers, you will end up installing the nvidia-dkms drivers, but for some reason you will run into kernel panics if you launch the install Live USB selecting the NVIDIA driver option.

Run through the installation guide, the laptop should not even detect that you have Optimus, and as such, when it offers to install the non-free NVIDIA drivers, select yes, and then double-check that prime-manager was not installed, in fact make sure the word optimus is not in your image at all :wink:

You should end up with the nvidia-dkms drivers, I also install the cuda SDK as I use hashcat and the like....

Now my question is.... Everything works 100% (as in, I have not run into any Proton/Lutris/Heroic/etc. issues at all! HOWEVER

For some reason, my laptop will only boot successfully (im using strictly btrfs btw) using the Linux - LTS Kernel Linux (headless or not), -zen, and -hardened result in about 20 lines of boot code before a hard freeze, it appears to be right as the NVIDIA-dkms drivers are initialized.

Does anyone know why this might be? As a cyber and information security professional, I know of some flaws with certain ways LTS, especially this kernel of aarch64 LTS do things, and I'd prefer to use the hardened version.

If anyone has questions about the build, or would like any additional information, please let me know. Thanks!

At a quick glance and not being a Nvidia user, I think that with kernels >=5.18 you still need the ibt=off kernel boot parameter. See e.g.

4 Likes

Ah filo my friend, I was literally just reading about this from I think another thread where you stated the NVIDIA issues. At the moment, literally out of about 100 games I've tried, only FIFA22 and Spiderman: Remastered start up, run for 2 seconds, then hard freeze (using Proton Experimental)

I should note that GE-Proton, at least for me, does not work under any condition, likely due to the aforementioned 5.18 issue

thanks again filo.

1 Like

If it can be of any help, I remember reading in the forum a few days ago that there are some unspecified problems in the latest version of the Nvidia drivers (but not being impacted I don't remember much and didn't explore further).
I can't find anything else here. "Outside" this seems to me a good starting point. But not of arrival :slight_smile: , I mean, it is not very clear which HWs are affected.

1 Like

Appears to impact HDMI monitors, not DP. Also, NVIDIA officially submitted a bug report and began working on a fix ~7h ago.

3 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.