I'm installing a new system - new hardware, old OS (well, not old; it's Linux Mint 18). My system has on-board Intel graphics (previously it was a Z77 board, now it's Z170), and a discrete GPU - that I do not want to use for my display; but I do need to use it for computation, so I do need nVIDIA's driver in place.

Anyway, there are multiple phases to my story, but let me cut it short:

  • Before the HW upgrade, my Cinnamon would crash and load in fallback mode - which I could live with, sort of, since at least the resolution was my monitor's native one - 1920x1080.
  • After the HW upgrade, I get the same crash and fallback mode - but now, for some reason, the resolution is limited to 720x400 (or even 640x480? who knows).

My questions:

  • How can I get the higher resolutions back again?
  • How can I get Cinnamon to (1) not crash while (2) not using nouveau and (3) having the nVIDIA kernel driver up and (4) not trying to use it?
  • I have an extra, old-ish nVIDIA card lying around; will it help if I try to use that somehow, instead of the on-board graphics?

lshw -c VGA results:

       description: VGA compatible controller
       product: GK106 [GeForce GTX 650 Ti Boost]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:16 memory:f6000000-f6ffffff memory:e0000000-e7ffffff memory:e8000000-e9ffffff ioport:e000(size=128) memory:f7000000-f707ffff
       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 04
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915_bpo latency=0
       resources: irq:130 memory:f2000000-f2ffffff memory:c0000000-cfffffff ioport:f000(size=64)

contents of /etc/X11/xorg.conf:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 375.39  (buildmeister@swio-display-x86-rhel47-09)  Tue Jan 31 20:47:44 PST 2017

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

Section "Files"

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

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

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24

I've been able to address the "can't increase the maximum resolution" part - not Cinnamon crashing which I'll ignore in this answer (woe is me).

Anyway, it's a combination of two issues:

  1. the /etc/X11/xorg.conf file, which the nVIDIA driver generates, completely ignores the presence of the Intel on-board graphics adapter, probably making X itself fall back to some always-supposed-to-work, lowest-common-denominator-of-PCs display driver (frame buffer device? Maybe). If you remove /etc/X11/xorg.conf, the X server itself does some sort of auto-detection magic with all the drivers it has.

but that's not quite enough, you see, at this point you still get the low resolution; and while the list of available resolutions now includes all values up to 1920×1080, selecting one of them does nothing. Which brings us to...

  1. Launch arandr (if it's missing, sudo apt-get install arandr will install it with some dependencies). In the menu bar, choose "Outputs". Now locate the outgoing video connection you're using (in my case it's HDMI 1); enter that submenu; you should see the same list of resolutions as with the Cinnamon display settings – select the natural resolution (1920×1080 in my case). Finally, on the menu bar, choose "Layout → Apply". This should actually trigger the resolution change.

Step 2 can also be taken using lxrandr (intended for LXDE) or the undelying xrandr command-line utility, for which arandr and lxrandr are front-ends.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.