NVIDIA / NVIDIA/nvidia-settings

Underscan disables panning with "apply" button, but not with xorg.conf

Open
#24 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
345
Forks
92
PR merge metrics
No merged PRs in 30d

Description

Hello,

My system:

  • Fresh install of Linux Mint 18.3 on a Mac Mini 2010 (works great).
  • Video card is nVidia 320m, outputting to a Panasonic Plasma (nominally 1080p).
  • nVidia drivers v340.104.

My cheap TV requires ~50 px underscan to not clip my desktop around the edges. If I open the nvidia-settings gui, I can easily set this up. I can then save the configuration to /etc/X11/xorg.conf, and the underscanned viewport will persist on restart, as per what's written (or what I change) in xorg.conf.

Importantly, when I click the "apply" button in the nvidia-settings gui, the mouse is constrained to the reduced viewport, as desired, and the screen does not pan when I ram the mouse into any of the screen edges. However, after a reboot or log in, the viewport remains correct, but now moving the mouse to the bottom or left of the screen pans it by the extra ~100 px buffer.

Some kind of magic happens when I press the "Apply" button that is not included in the xorg.conf output? I have tried setting ConstrainCursor manually in a few sections, but it has no effect.

Here is my xorg.conf file for reference:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 361.42  (buildd@lgw01-18)  Tue Apr  5 14:33:28 UTC 2016

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Panasonic-TV"
    HorizSync       15.0 - 68.0
    VertRefresh     23.0 - 61.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 320M"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-1"
    Option         "metamodes" "nvidia-auto-select +0+0 {viewportout=1822x1024+49+27}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the nvidia-settings GUI Apply behavior and the supplied /etc/X11/xorg.conf, especially the metamodes viewportout setting and the attempted ConstrainCursor options. Compare the runtime configuration after Apply with the configuration restored after reboot; done means the underscan persists without edge panning.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.