nvidia-xconfig(1)
πΈ NAME πΈ
okay so bestie, this is the General Commands Manual page for nvidia-xconfig(1) β and she is here to manipulate X configuration files for the NVIDIA driver. π
nvidia-xconfig β manipulate X configuration files for the NVIDIA driver.
π¦ SYNOPSIS π¦
nvidia-xconfig [ options ]
π DESCRIPTION π
nvidia-xconfig is a tool meant to give you basic control over configuration options available in the NVIDIA X driver. She does her thing in several steps, and yes, we are going through every single one:
- The system X configuration file is found and read into memory. If no configuration file can be found,
nvidia-xconfiggenerates one from scratch using default settings; in this case,nvidia-xconfigwill write the configuration to/etc/X11/xorg.conf. - The configuration in memory is modified to support the NVIDIA driver. This consists of changing the display driver to
"nvidia", removing the commands to load the"GLcore"and"dri"modules, and adding the command to load the"glx"module. - The configuration in memory is modified according to the options specified on the command line. Please see the NVIDIA README for a description of the NVIDIA X configuration file options. Note that
nvidia-xconfigdoes not perform any validation of the X configuration file options requested on the command line; X configuration file option validation is left for the NVIDIA X driver. π no cap, she is not the validator here. - The configuration is written back to the file from which it was read. A backup of the original configuration is created with
".backup"appended. For example, if your X configuration is/etc/X11/xorg.confthennvidia-xconfigwill copy it to/etc/X11/xorg.conf.backupbefore writing the new configuration. The--post-tree (-T)option can be used to print the new configuration to standard out in tree form instead. This option is useful to see whatnvidia-xconfigwill do while leaving the original configuration intact.
The source code to nvidia-xconfig is released under the GPL and available here:
β¨https://download.nvidia.com/XFree86/nvidia-xconfig/β©
Patches are welcome. π«Ά
β¨ OPTIONS β¨
-c XCONFIG,--xconfig=XCONFIGβ useXCONFIGas the input X config file; if this option is not specified, then the same search path used by the X server will be used to find the X configuration file.-o OUTPUT-XCONFIG,--output-xconfig=OUTPUT-XCONFIGβ useOUTPUT-XCONFIGas the output X configuration file; if this option is not specified, then the input X configuration filename will also be used as the output X configuration filename.-s,--silentβ run silently; no messages will be printed to stdout, except for warning and error messages to stderr. π€«-t,--treeβ read the X configuration file, print to stdout the X configuration data in a tree format, and exit. cute little peek, no writes.-v,--versionβ print thenvidia-xconfigversion and exit.-h,--helpβ print usage information for the common commandline options and exit.-A,--advanced-helpβ print usage information for the common commandline options as well as the advanced options, and then exit.
π₯ ADVANCED OPTIONS π₯
--acpid-socket-path=ACPID-SOCKET-PATH,--no-acpid-socket-pathβ set this option to specify an alternate path to the Linux ACPI daemon (acpid)'s socket, which the NVIDIA X driver will use to connect toacpid.--add-argb-glx-visuals,--no-add-argb-glx-visualsβ enables or disables support for OpenGL rendering into 32-bit ARGB windows and pixmaps.--allow-glx-with-composite,--no-allow-glx-with-compositeβ enable or disable the"AllowGLXWithComposite"X configuration option.--busid=BUSID,--no-busidβ this option writes the specifiedBusIDto the device section of the X configuration file. If there are multiple device sections, then it adds theBusIDfield to each of them. To add theBusIDto only a specific device or screen section, use the'--device'or'--screen'options.--preserve-busid,--no-preserve-busidβ by default,nvidia-xconfigpreserves the existingBusIDin the X configuration file only if there are multiple X screens configured for the X server. Use'--preserve-busid'or'--no-preserve-busid'to force theBusIDto be preserved or not preserved, overriding the default behavior.--cool-bits=COOL-BITS,--no-cool-bitsβ enable or disable the"Coolbits"X configuration option. Setting this option will enable support in the NV-CONTROL X extension for manipulating GPU clock and GPU fan control settings. Default value is0. For fan control set it to4. WARNING: this may cause system damage and void warranties. πLike, fr fr be careful.--composite,--no-compositeβ enable or disable the"Composite"X extension.--connected-monitor=CONNECTED-MONITOR,--no-connected-monitorβ enable or disable the"ConnectedMonitor"X configuration option; setting this option forces the X driver to behave as if the specified display devices are connected to the GPU.--connect-to-acpid,--no-connect-to-acpidβ enable or disable the"ConnectToAcpid"X configuration option. If this option is set, the NVIDIA X driver will attempt to connect to the Linux ACPI daemon (acpid). Set this option to off to prevent the X driver from attempting to connect toacpid.--constant-dpi,--no-constant-dpiβ enable or disable the"ConstantDPI"X configuration option, which controls whether the NVIDIA X driver maintains a constant dots per inch (DPI) value by recomputing the reported size in millimeters of the X screen when XRandR changes the size in pixels of the X screen.--custom-edid=CUSTOM-EDID,--no-custom-edidβ enable or disable the"CustomEDID"X configuration option; setting this option forces the X driver to use the EDID specified. This option is a semicolon-separated list of pairs of display device names and filename pairs; e.g"CRT-0:mp\did.bin". Note that a display device name must always be specified even if only one EDID is specified.--dac-8bit,--no-dac-8bitβ most Quadro parts by default use a 10 bit color look up table (LUT) by default; setting this option toTRUEforces these graphics chips to use an 8 bit (LUT).-d DEPTH,--depth=DEPTHβ set the default depth toDEPTH; valid values forDEPTHare8,15,16,24, and30.--device=DEVICEβ thenvidia-xconfigutility operates on one or more devices in the X configuration file. If this option is specified, the device namedDEVICEin the X configuration file will be used. If this option is not specified, all the devices within the X configuration file will be used.--disable-glx-root-clipping,--no-disable-glx-root-clippingβ disable or enable clipping OpenGL rendering to the root window via the"DisableGLXRootClipping"X configuration option.--damage-events,--no-damage-eventsβ use OS-level events to notify the X server when a direct-rendering client has performed rendering that needs to be composited to the screen. Improves performance when using GLX with the composite extension.--preserve-driver-nameβ by defaultnvidia-xconfigchanges the display driver to"nvidia"for all configured X screens; this option preserves the existing driver name of each X screen.--egpu,--no-egpuβ enable or disable the"AllowExternalGpus"X configuration option.-a,--enable-all-gpusβ delete all existing X screens in the current configuration, then configure an X screen on every GPU in your system. main character energy for your GPUs, honestly.--exact-mode-timings-dvi,--no-exact-mode-timings-dviβ forces the initialization of the X server with the exact timings specified in theModeLine.-E FILE,--extract-edids-from-file=FILEβ extract any raw EDID byte blocks contained in the specified X log fileLOG; raw EDID bytes are printed by the NVIDIA X driver to the X log as hexadecimal when verbose logging is enabled with the"-logverbose 6"X server commandline option. Any extracted EDIDs are then written as binary data to individual files. These files can later be used by the NVIDIA X driver through the"CustomEDID"X configuration option.--extract-edids-output-file=FILENAMEβ when the'--extract-edids-from-file'option is used,nvidia-xconfigwrites any extracted EDID to a file, typically"edid.bin"in the current directory. Use this option to specify an alternate filename. Note thatnvidia-xconfig, if necessary, will append a unique number to the EDID filename, to avoid overwriting existing files (e.g.,"edid.bin.1"if"edid.bin"already exists).--flatpanel-properties=FLATPANEL-PROPERTIES,--no-flatpanel-propertiesβ set the flat panel properties. The supported properties are'dithering'and'ditheringmode'. Please see the NVIDIA README'Appendix B. X Config Options'for more details on the possible values and syntax.--flip,--no-flipβ enable or disable OpenGL flipping.--force-generateβ force generation of a new X config file, ignoring any existing system X config file. This is not typically recommended, as things like the mouse protocol, keyboard layout, font paths, etc, are setup by your Unix distribution. Whilenvidia-xconfigcan attempt to infer these values, it is best to use your Unix distribution's X config file for the basis of anything thatnvidia-xconfigcreates.--force-stereo-flipping,--no-force-stereo-flippingβ normally, stereo flipping is only performed when a stereo drawable is visible. This option forces stereo flipping even when no stereo drawables are visible.--handle-special-keys=WHEN,--no-handle-special-keysβ specify when the X server should use the builtin keyboard handler to process special key combinations (such asCtrl+Alt+Backspace); see the X configuration man page for details. The value ofWHENcan be'Always','Never', or'WhenNeeded'.--include-implicit-metamodes,--no-include-implicit-metamodesβ enable or disable the"IncludeImplicitMetaModes"X configuration option.--keyboard=KEYBOARDβ so when nvidia-xconfig is out here generating a brand new X config file (which, to be clear, only happens when it literally cannot find a system X config file, or when you passed--force-generate), this tells it "bestie, use KEYBOARD as the keyboard type" instead of poking around the system trying to guess it. Want the full menu of keyboard types? That's the--keyboard-listoption's whole thing π--keyboard-driver=DRIVERβ ngl, in most cases nvidia-xconfig figures out the right keyboard driver all on its own (it's eitherkbdorkeyboard). This option is your override button for when you know better. Typical tea: if you're running an X.Org X server, usekdb; if you're on an XFree86 X server, usekeyboard. β¨--keyboard-listβ prints all the available keyboard types that--keyboardactually recognizes to stdout, then dips out (exits). A little menu, no cap π--layout=LAYOUTβ okay so the way nvidia-xconfig works, it operates on a Server Layout inside the X config file. Pass this and it'll use the layout named LAYOUT in that file. Don't pass it? It just grabs the first Server Layout in the file. Simple as that π¦--mode=MODEβ adds the mode you specified to the mode list. That's it, that's the whole vibe β¨--mode-debug,--no-mode-debugβ turns the"ModeDebug"X configuration option on or off. When it's enabled, the X driver gets super chatty and prints verbose details about mode validation into the X log file. Very "tell me everything" energy π--mode-list=MODELISTβ removes all existing modes from the X configuration's modelist and drops in the one(s) you specified in the MODELIST string instead. Clean slate, main character energy π--remove-mode=MODEβ yeets the specified mode out of the mode list π--metamodes=METAMODESβ adds the MetaMode X configuration option with the value METAMODES, and it will replace any MetaMode option that was already chilling in the X configuration file. Out with the old, in with the new β¨--mouse=MOUSEβ same deal as the keyboard one, but for mice π When generating a new X config file (which happens when no system X config file can be found, or when--force-generateis specified), use MOUSE as the mouse type instead of probing the system for it. Possible mouse types live in the--mouse-listoption.--mouse-listβ prints the available mouse types that--mouserecognizes to stdout, then exits. Menu time π--multisample-compatibility,--no-multisample-compatibilityβ enables or disables the use of separate front and back multisample buffers. Buffers, but make it two π--nvidia-cfg-path=PATHβ so thenvidia-cfglibrary is what talks to the NVIDIA kernel module to query basic properties of every GPU in the system. Normally nvidia-xconfig only touches this library when it's configuring multiple X screens. This option tells nvidia-xconfig where to look for the library, just in case it can't find it on its own. Honestly? You should normally not need this one at all π«Ά--only-one-x-screenβ disables all but one X screen. One screen only. Solo era π--overlay,--no-overlayβ enable or disable the"Overlay"X configuration option.--cioverlay,--no-cioverlayβ enable or disable the color index overlay π--overlay-default-visual,--no-overlay-default-visualβ enable or disable the"OverlayDefaultVisual"X configuration option.--transparent-index=INDEX,--no-transparent-indexβ the pixel to use as transparent when you're using color index overlays. Valid values for TRANSPARENT-INDEX are0-255. Like, the whole range, bestie β¨-T,--post-treeβ okay so this is like the--treeoption, but it goes through the full process of applying any updates you requested to the X configuration first, and then prints the final config to stdout in a tree format. Effectively it just means the config gets printed to stdout as a tree instead of the results being written to a file. Same result, different delivery method πΈ--power-connector-check,--no-power-connector-checkβ disables or enables the"NoPowerConnectorCheck"X configuration option. (Yes, the wording is flipped like that β that's just how it is, iykyk π)--probe-all-gpus,--no-probe-all-gpusβ disables or enables the"ProbeAllGpus"X configuration option. Also flipped wording. We keep it moving β¨--query-gpu-infoβ prints information about every NVIDIA GPU it recognizes in the system. GPU roll call, everybody say hi π π₯--registry-dwords=REGISTRY-DWORDS,--no-registry-dwordsβ enable or disable the"RegistryDwords"X configuration option.--render-accel,--no-render-accelβ enable or disable the"RenderAccel"X configuration option. Accelerate, bestie π¦--render-extension,--no-render-extensionβ disable or enable the"NoRenderExtension"X configuration option. (Flipped again β the option is literally called NoRenderExtension, so enabling it disables the thing. Iconic confusion, no notes π)--screen=SCREENβ nvidia-xconfig operates on one or more screens within a Server Layout in the X config file. Pass this and it uses the screen named SCREEN in that file. Skip it and it uses all the screens within the selected Server Layout in the X config file. All of them, periodt π--separate-x-screens,--no-separate-x-screensβ a GPU that supports multiple simultaneous display devices can either drive those displays in a single X screen, or as separate X screens. With--separate-x-screens, every GPU that currently has an X screen configured gets updated to have two or more X screens configured (the exact number depends on what that GPU can actually do). And--no-separate-x-screensremoves any extra configured X screens on each GPU. Full details live in the NVIDIA README description of"Separate X Screens on One GPU"β go read it, it's giving lore β¨--x-screens-per-gpu=X-SCREENS-PER-GPUβ same situation: a GPU that supports multiple simultaneous display devices can drive them all in a single X screen, or as separate X screens. When you pass--x-screens-per-gpu=<quantity>, every GPU that currently has an X screen configured gets updated to have<quantity>X screens. Important:<quantity>has to be greater than0. Setting<quantity>to1is equivalent to specifying--no-separate-x-screens. And again, check the NVIDIA README description of"Separate X Screens on One GPU"for the deep dive π§--sli=SLI,--no-sliβ enable or disable SLI. Valid values for SLI are'Off'and'Mosaic'. That's the whole list, don't come at me π--stereo=STEREO,--no-stereoβ enable or disable the stereo mode. Valid values for STEREO are:0(Disabled),1(DDC glasses),2(Blueline glasses),3(Onboard stereo),4(multi-display clone mode stereo),5(SeeReal digital flat panel),6(Sharp3D digital flat panel),7(Arisawa/Hyundai/Zalman/Pavione/Miracube),8(3D DLP),9(3D DLP INV),10(NVIDIA 3D VISION),11(NVIDIA 3D VISION PRO),12(HDMI 3D),13(Tridelity SL). Whew. Thirteen whole flavors of 3D, we're so back πΆοΈ--thermal-configuration-check,--no-thermal-configuration-checkβ disables or enables the"ThermalConfigurationCheck"X configuration option. Keep it cool, literally π¬οΈ--metamode-orientation=ORIENTATION,--no-metamode-orientationβ specifies the MetaModeOrientation. Valid values for ORIENTATION are:"RightOf"(the default),"LeftOf","Above","Below", or"Clone". Positional queen energy π--nvidia-xinerama-info,--no-nvidia-xinerama-infoβ enable or disable providing Xinerama information from the NVIDIA X driver.--nvidia-xinerama-info-order=NVIDIA-XINERAMA-INFO-ORDER,--no-nvidia-xinerama-info-orderβ enable or disable the"nvidiaXineramaInfoOrder"X configuration option. NVIDIA-XINERAMA-INFO-ORDER is a comma-separated list of display device names that describes the order in which nvidiaXineramaInfo should be reported. Example:"CRT, DFP, TV". Order matters, always π--ubb,--no-ubbβ enable or disable the"UBB"X configuration option.--use-edid,--no-use-edidβ enable or disable use of the EDID (Extended Display Identification Data) from your display device(s). The EDID gets used for driver stuff like building lists of available modes, figuring out valid frequency ranges, and computing the DPI (Dots Per Inch). This option defaults toTRUE(the NVIDIA X driver will use the EDID, when available).
π¨ Real talk: it is NOT recommended that you use this option to globally disable use of the EDID. Instead, use--no-use-edid-freqsor--no-use-edid-dpito disable the specific uses you actually want gone. Global off is not the move, bestie π
--use-edid-dpi,--no-use-edid-dpiβ enable or disable use of the physical size information in the display device's EDID (if there is any) to compute the DPI (Dots Per Inch) of the X screen. Defaults toTRUEβ the NVIDIA X driver uses the EDID's physical size, when available, to compute the DPI β¨--use-edid-freqs,--no-use-edid-freqsβ enable or disable use of the HorizSync and VertRefresh ranges given in a display device's EDID (if any). Heads up: EDID-provided range info will override the HorizSync and VertRefresh ranges specified in the Monitor section. Defaults toTRUEβ the NVIDIA X driver will use frequency information from the EDID, when available πΈ--use-display-device=DISPLAY-DEVICE,--no-use-display-deviceβ forces the X driver to use the display device you specified. No negotiating, it's that one π--use-events,--no-use-eventsβ enable or disable the"UseEvents"X configuration option. Setting this enables the X driver to use system events in some cases when it's waiting on the hardware. With this option, the X driver sets an event handler and waits for the hardware through thepoll()system call. This option defaults toFALSEβ³--virtual=WIDTHxHEIGHT,--no-virtualβ specifies the virtual screen resolution. It's givingWIDTHxHEIGHT, keep thexπ¦--x-prefix=X-PREFIXβ the X installation prefix; the default is/usr/X11R6/. Only under rare circumstances should you need this option, so like... don't touch it unless you have to π--color-space=COLORSPACE,--no-color-spaceβ enable or disable the"ColorSpace"X configuration option. Valid values for"COLORSPACE"are:"RGB"and"YCbCr444"π--color-range=COLORRANGE,--no-color-rangeβ sets the"ColorRange"X configuration option. Valid values for"COLORRANGE"are:"Full"and"Limited". Full range or limited range, pick your fighter β--3dvision-usb-path=3DVISION-USB-PATHβ set this option to specify the sysfs path of the connected USB dongle. Dongle located π--3dvisionpro-config-file=3DVISIONPRO-CONFIG-FILEβ tells nvidia-xconfig where the NVIDIA 3DVisionPro config file lives. bestie, make sure the X server can read AND write that file, ok? the NVIDIA X driver stashes the hub + pairing config in there so it survives X restarts π. if you don't pass this option, your 3D VisionPro config just... won't be stored. gone. poof. π--3dvision-display-type=3DVISION-DISPLAY-TYPE,--no-3dvision-display-typeβ for when NVIDIA 3D Vision is on but your display isn't 3D Vision ready (rude of it tbh) β use this to spell out the display type. valid values are:0(assume it's a CRT),1(assume it's a DLP) and2(assume it's a DLP TV and turn on the checkerboard output) β¨--base-mosaic,--no-base-mosaicβ turns the"BaseMosaic"X configuration option on or off π--restore-original-backupβ restores a backup of your X config that was made before nvidia-xconfig did literally anything to it β but only if that backup exists. this special backup happens when nvidia-xconfig edits an X config file it's never touched before (which we assume is a file that predates the NVIDIA X driver ever showing up πΆ). for example: nvidia-xconfig will copy/etc/X11/xorg.confto/etc/X11/xorg.conf.nvidia-xconfig-originalthe very first time it makes changes to that file. cute, right? π«Ά--allow-empty-initial-configuration,--no-allow-empty-initial-configurationβ lets the X server start even when it detected zero connected display devices π (yes, truly. not a single one.)--inband-stereo-signaling,--no-inband-stereo-signalingβ turns the"InbandStereoSignaling"X configuration option on or off β¨--force-yuv-420,--no-force-yuv-420β turns the"ForceYUV420"X configuration option on or off. so here's the vibe: if your current display and GPU both support uncompressed RGB 4:4:4 output and YUV 4:2:0 compressed output with the current mode, then RGB 4:4:4 wins by default. this option forces YUV 4:2:0 output instead (where it's supported). main character choice of you π--force-composition-pipeline=FORCE-COMPOSITION-PIPELINE,--no-force-composition-pipelineβ turns the"ForceCompositionPipeline"X configuration option on or off πΈ--force-full-composition-pipeline=FORCE-FULL-COMPOSITION-PIPELINE,--no-force-full-composition-pipelineβ turns the"ForceFullCompositionPipeline"X configuration option on or off πΈ--allow-hmd=ALLOW-HMD,--no-allow-hmdβ turns the"AllowHMD"X configuration option on or off π¦--prime,--no-primeβ enables PRIME for the generated X config file. β οΈ cannot be run with--no-busidor--no-allow-empty-initial-configuration. on a system with more than 1 GPU, tell it which GPU to use for PRIME with--busid, otherwise the first available one gets picked (no thoughts, head empty). and heads up: to actually enable PRIME you gotta run these after it's done:
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
π EXAMPLES π
nvidia-xconfigβ reads an existing X config file and adapts it to use the NVIDIA driver. if no X config file can be found, it makes a brand new one at/etc/X11/xorg.confwith default settings β¨nvidia-xconfig --post-tree --metamode-orientation=cloneβ reads the existing X configuration file, adds theMetaModeOrientationoption, and then prints the resulting config file to standard out in tree form π³. the configuration file itself is not modified, king behavior honestly πnvidia-xconfig --enable-all-gpusβ examines the system and configures an X screen for each display device it finds πnvidia-xconfig --mode=1600x1200β adds a1600x1200mode to an existing X configuration πnvidia-xconfig --mode-list=1600x1200 1280x1024β removes any existing modes from the X configuration file and replaces them with"1600x1200"and"1280x1024"β¨nvidia-xconfig --metamodes=1024x768 +0+0, 1024x768 +1024+0β adds the MetaMode"1024x768 +0+0, 1024x768 +1024+0"to the existing X configuration file, replacing any existing MetaModes X configuration option πnvidia-xconfig --only-one-x-screen --sli=Autoβ configures the X server to have just one X screen that will use SLI when it's available β‘
π AUTHOR π
Aaron Plattner NVIDIA Corporation
π¦ SEE ALSO π¦
nvidia-settings(1), /usr/share/doc/NVIDIA_GLX-1.0/README.txt
π COPYRIGHT π
Copyright Β© 2005-2010 NVIDIA Corporation.
okay bestie that's the whole thing, you're officially an nvidia-xconfig scholar πβ¨ this masterpiece is from nvidia-xconfig 615.78.08, dated 2026-10-06, and it lives at nvidia-xconfig(1) β go forth and configure responsibly, ily, bye π«Άπ
π¦ where this page comes from
- arch rolling: nvidia-utils 615.78.08-1 Β· LicenseRef-NVIDIA-Driver-License-Agreement
- Copyright (C) 2005-2010 NVIDIA Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms