NV(4)

πŸ“¦
version 2.1.23 Β· 2 versions
, in alpine 3.24, nixos 26.05, opensuse-leap 16.0

πŸ’œ NV(4) β€” NVIDIA video driver ✨

okay bestie, pull up a chair, because this is the manual page for nv, the NVIDIA video driver β€” and yes, it's from the Kernel Interfaces Manual section, we love a classic πŸŽ€


✨ NAME ✨

nv β€” NVIDIA video driver πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

drop this into your config and you're literally gaming (well, 2D-gaming):

Section "Device"
  Identifier "devname"
  Driver "nv"
  ...
EndSection

🌸 DESCRIPTION 🌸

So nv is an Xorg driver for NVIDIA video cards, and honestly? She does her job. The driver supports 2D acceleration and gives you framebuffer depths of 8, 15, 16 (except Riva128, sorry babe 😭) and 24.

Visual types, since I know you're gonna ask:

  • depth 8 β€” every visual type is supported, all of them, no cap πŸ’–
  • other depths β€” TrueColor and DirectColor visuals are supported…
  • …with the exception of Riva128, which only supports TrueColor in the higher depths πŸ™ˆ

πŸ”₯ SUPPORTED HARDWARE πŸ”₯

The nv driver supports PCI, PCI-Express and AGP video cards built on these NVIDIA chips β€” here's the whole roster, no gatekeeping:

  • RIVA 128 β€” NV3
  • RIVA TNT β€” NV4
  • RIVA TNT2 β€” NV5
  • GeForce 256, Quadro β€” NV10
  • GeForce2, Quadro2 β€” NV11 & NV15
  • GeForce3, Quadro DCC β€” NV20
  • nForce, nForce2 β€” NV1A, NV1F
  • GeForce4, Quadro4 β€” NV17, NV18, NV25, NV28
  • GeForce FX, Quadro FX β€” NV30, NV31, NV34, NV35, NV36, NV37, NV38
  • GeForce 6XXX β€” NV40, NV41, NV43, NV44, NV45, C51
  • GeForce 7XXX β€” G70, G71, G72, G73, MCP6x
  • GeForce 8XXX, GeForce 9XXX, nForce 7, GeForce G, ION β€” G8x, G9x, GT21x, MCP7x
  • GeForce GTX β€” GT200

πŸŽ€ CONFIGURATION DETAILS πŸŽ€

Bestie, for the general stuff go read xorg.conf(5) β€” this section is only the tea that's specific to this driver, periodt β˜•

Good news: the driver auto-detects the chipset type and how much video memory is present, for all chips. She's observant πŸ’…


⭐ Options for pre-G80 hardware ⭐

These driver Options are supported for pre-G80 hardware:

  • Option "HWCursor" "boolean" β€” turn the hardware cursor on or off. Default: on.
  • Option "NoAccel" "boolean" β€” disable (or re-enable) acceleration. Default: acceleration is enabled.
  • Option "UseFBDev" "boolean" β€” enable or disable use of an OS-specific fb interface (heads up: it's not supported on all OSs 🫢). See fbdevhw(4) for more. Default: off.
  • Option "CrtcNumber" "integer" β€” okay so lots of NVIDIA-chip cards have two video outputs, and the driver tries to autodetect which one your monitor is plugged into. If it picks the wrong one (rude), use this to force a particular output. The options are "0" or "1". Default: autodetected.
  • Option "Dualhead" "boolean" β€” enables simple VBE-based dual head mode. It sets the same resolution on both outputs and lays them out side-by-side. The screens get panned together as one big metamode if your virtual desktop is bigger than both screens combined. iconic behaviour tbh.
  • Option "FlatPanel" "boolean" β€” the driver usually autodetects a digital flat panel, but when that fails you can force it to treat the attached device as one. Important caveat: with this driver, a digital flat panel will only work if it was POSTed by the BIOS β€” meaning the computer must have booted to the panel. And if you've got a dual head card, you might also need to set the CrtcNumber option above. Default: autodetected.
  • Option "FPDither" "boolean" β€” many digital flat panels (especially laptop ones) only have 6 bits per component color resolution 😭 so this tells the driver to dither from 8 bits per component down to 6 before the flat panel truncates it. Default: off.
  • Option "FPScale" "boolean" β€” supported only on GeForce4 and newer chips. Tells the driver to scale lower resolutions up to the flat panel's native resolution. Default: on.
  • Option "Rotate" "CW"
  • Option "Rotate" "CCW" β€” rotate the display clockwise or counterclockwise. Heads up: this mode is unaccelerated. Default: no rotation.
⚠️ Note: the Resize and Rotate extension will be disabled if you use the Rotate "CW" or Rotate "CCW" options. no cap, that's the tradeoff πŸ’€
  • Option "Rotate" "RandR" β€” enable screen rotation using the Resize and Rotate extension instead. This mode is also unaccelerated. Default: no rotation support.
  • Option "ShadowFB" "boolean" β€” enable or disable use of the shadow framebuffer layer. Default: off.

πŸ’« Options for G80 and higher πŸ’«

The following driver Options are available for G80 and higher:

  • Option "HWCursor" "boolean" β€” enable or disable the hardware cursor. Default: on.
  • Option "NoAccel" "boolean" β€” disable or enable acceleration. Default: acceleration is enabled.
  • Option "AccelMethod" "string" β€” choose your acceleration architecture, either "XAA" or "EXA". XAA is the old-but-stable one πŸ‘‘. EXA is newer and supports resizing the desktop larger than it started out with RandR 1.2. If you go with EXA, you might also consider setting Option "MigrationHeuristic" "greedy" to improve performance ✨. Default: XAA.
  • Option "FPDither" "boolean" β€” enable or disable flat panel dithering by default. You can also toggle dithering with the RandR 1.2 "dither" output property. Default: off.
  • Option "AllowDualLinkModes" "boolean" β€” allow validation of dual-link DVI modes. Heads up: not all GPUs are configured at boot time to handle dual-link modes, so they're disabled by default πŸ™ˆ.

🧚 RandR 1.2 properties 🧚

These RandR 1.2 properties are available for flat panels on G80 and higher GPUs:

  • dither β€” enable or disable flat panel dithering. Valid values: 0 (off), 1 (on).
  • scale β€” control how the image is scaled to fit the flat panel. Note that some flat panels do their own scaling, overriding this option. Also: "off" is not valid for laptop flat panels (LVDS). Valid values: "off", "aspect", "fill", and "center". Default: "aspect".

🌈 SEE ALSO 🌈

Xorg(1), xorg.conf(5), Xserver(1), X(7), xrandr(1) β€” go read 'em, iykyk πŸ’–


πŸ‘‘ AUTHORS πŸ‘‘

Authors include: David McKay, Jarno Paananen, Chas Inman, Dave Schmenk, Mark Vojkovich, Aaron Plattner 🫢


Copyright (c) 2003-2008,2010 NVIDIA Corporation

and here's the whole license, verbatim, because legal text is not the vibe to paraphrase:

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

anyway that's the whole page bestie πŸ’… this little time capsule is from X Version 11, package xf86-video-nv 2.1.23, and it lives at section NV(4) β€” mwah, go forth and configure πŸŒΈπŸ¦‹πŸŽ€

πŸ“¦ where this page comes from