Dell OptiPlex 7070 with nvidia driver

Qubes release 4.2.0

Brand: Dell Inc.
Model: OptiPlex 7070
BIOS: 1.4.4

Xen: 4.17.2
Kernel: 6.1.62-1

RAM: 32549 Mb

Intel(R) Core™ i7-9700 CPU @ 3.00GHz
Intel Corporation 8th/9th Gen Core 8-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S] [8086:3e30] (rev 0d)
Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] [8086:3e98] (rev 02)
NVIDIA Corporation GK208B [GeForce GT 730] [10de:1287] (rev a1) (prog-if 00 [VGA controller])

Intel Corporation Ethernet Connection (7) I219-LM [8086:15bb] (rev 10)

SHGS31-500GS-2 Rev: 0Q00

HVM: Active
I/O MMU: Active
TPM: Device present (TPM 2.0)
Remapping: yes
Certified: no

Installed fresh Qubes-R4.2.0-x86_64.iso. Installation goes smoothly up until first boot when creating qubes. sys-net is first started up and it errors out; quick and easy resolution is turning on ‘Strict Reset for PCI’. The same is required for sys-usb which held the onboard USB device as well as an additional PCI-E USB Card (FL1100). Once enabled, both work flawlessly on every reboot, autostarting.

Display limited at 60hz over displayport using nouveau, the default driver on startup.

PROBLEM: The nouveau driver couldn’t handle the Geforce 730 card in a daily-driver-worthy state.

issue 1: dragging a domU window created terrible visual artifacts where the windows behaved like the cards in old Windows solitaire.

issue 2: youtube videos in domUs would stutter, no matter the resolution. even thumbnails would stutter

issue 3: refresh rate capped at 60hz at 3360x1440, far below monitor’s capability 120hz.

Installed the nvidia driver with good success on the default installed kernel (kernel shipping with ISO). This installation follows the same outlined here: Nvidia driver installation - #2 by dhn

Required additional steps for me to get it working than what was on the list, including (but not tested to see for spurious edits):

  • kernel parameter nomodeset
  • dracut parameters for initrd generation: --omit-drivers=nouveau --omit-drivers=i915 --add-driver=nvidia
[root@dom0 ~]# dmesg | grep nvidia
[    3.717113] nvidia: loading out-of-tree module taints kernel.
[    3.717122] nvidia: module license 'NVIDIA' taints kernel.
[    3.727611] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    3.806843] nvidia-nvlink: Nvlink Core is being initialized, major device number 236
[    3.807858] nvidia 0000:03:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[root@dom0 ~]# dmesg | grep nouveau
[root@dom0 ~]# dmesg | grep i915
[   19.228441] snd_hda_codec_hdmi hdaudioC0D2: No i915 binding for Intel HDMI/DP codec

3360x1440 @ 90hz now over displayport using nvidia 470.239.06 driver. Turning on display compositing works now, too.

Audio is usb mic/headphones that connects to sys-usb’s hardware and sometime requires a connection to a qube, disconnection, and reconnection for it to take effect (e.g., not show up in audio dropdowns, or switch to playing music). The disconnection and reconnection feels like pretty new and unfamiliar behavior compared to my prior Qubes4.1.2 install with this same hardware.

Could not get U2F Proxy to work for Yubikey, but USB passthrough has been without issue. 100% workable.

Qubes with nouveau was not workable as a daily driver, but using nvidia proprietary resolved all issues I had and makes it feel snappy. 4.2.0 is succeeding as a daily driver for me.

Thanks for the feedback! Would you mind submitting an HCL report too so that we can upload it to the HCL database?