Linux – tty and grub boot unreadable with nvidia K1100M on zbook 15 g2 with intel

arch linuxgraphicsgrub2nvidiatty

I have a zbook 15 g2 workstation with intel HD 4000 discrete card and a NVidia GK107GLM [Quadro K1100M]. I am running Archlinux

uname -a
Linux zbookarch 4.7.1-1-ARCH #1 SMP PREEMPT Wed Aug 17 08:13:35 CEST 2016 x86_64 GNU/Linux

Problem right now

I have huge troubles getting my tty (background terminals) to work properly. Note: grub is showing just fine, it's failing right after boot selection. I also boot messages with green ok clearly using recovery grub entry.

BTW, it does this during the boot log sequence, My grub browser looks fine, It's when I boot the Arch that things go wrong.

nvidia K1100M tty booting broken
nvidia K1100M tty grub broken

As you can see, it's quite painful. I can reach my background terminal using ctrl+alt+F3 to F6 (ctrl+alt+F1 and F2 brings me to my greeter).

My UI works fine once booted, only troubles with TTY. Oh and sometimes, wallpaper gets broken when I unplug screens after flickering a few times, I suspect nvidia here.

My linux experience so far with nvidia
I know it seems really bad, but it's only a broken wallpaper, no big deal 😉 It's kind of beautiful ahah

I'll be listing some infos bellow and some of the points I've already done so far at end of post.

X11 (managed to get Multi Display working!)

It took me a lot of time to get multiple display working and I managed to have my Mini Display Port and Display Port to work by running the following

sudo lshw -c display
  *-display                 
   description: VGA compatible controller
   product: GK107GLM [Quadro K1100M]
   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:37 memory:c9000000-c9ffffff memory:b0000000-bfffffff memory:c0000000-c1ffffff ioport:5000(size=128) memory:c0000-dffff

I found bus info: pci@0000:01:00.0 and added BusID "PCI:1:0:0" to my /etc/X11/xorg.conf in device section, added BusID "PCI:2:0:0" for intel hd device and displays appeared!

Here's my /etc/X11/xorg.conf:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 364.19  (builduser@felix)  Sat Apr 23 14:31:57 UTC 2016

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 364.19  (buildmeister@swio-display-x64-rhel04-11)  Tue Apr 19 15:22:17 PDT 2016
#Manually edited
# First head of second video card, note different BusID.

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           "modesetting"
#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"
    Identifier     "DisplayPort"
    VendorName     "Unknown"
    ModelName      "HP LA2206"
    HorizSync       24.0 - 94.0
    VertRefresh     50.0 - 76.0
    Option         "DPMS"
    Option         "Rotate" "left"
EndSection

Section "Monitor"
    Identifier     "LaptopScreen"
    Option         "Primary" "true"
EndSection

Section "Monitor"
    Identifier     "VGAScreen"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "CMN"
    HorizSync       45.3 - 67.9
    VertRefresh     40.0 - 60.0
EndSection

Section "Device"
    Identifier     "k1100m"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro K1100M"
    BusID          "PCI:1:0:0"
EndSection

Section "Device"

#  Screen      0
    Identifier     "intelhd4000"
    Driver         "intel"
    BusID          "PCI:2:0:0"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro K1100M"
EndSection

Section "Screen"
# Removed Option "metamodes" "nvidia-auto-select +0+0 {rotation=left}; 1680x1050 +0+0 {rotation=left}; 1440x900 +0+0 {rotation=left}; 1280x1024 +0+0 {rotation=left}; 1280x720 +0+0 {rotation=left}; 1024x768 +0+0 {rotation=left}; 800x600 +0+0 {rotation=left}; 640x480 +0+0 {rotation=left}; nvidia-auto-select +0+0 {rotation=left, viewportin=768x1366, viewportout=1920x1079+0+0}; nvidia-auto-select +0+0 {rotation=left, viewportin=800x1280, viewportout=1728x1080+96+0}"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-3"
    Option         "metamodes" "DP-3: nvidia-auto-select +1080+642, DP-4: nvidia-auto-select +0+0 {rotation=left}, VGA-0: nvidia-auto-select +3000+642; VGA-0: 1680x1050 +0+0 {rotation=left}; VGA-0: 1280x1024 +0+0 {rotation=left}; VGA-0: 1280x720 +0+0 {rotation=left}; VGA-0: 1024x768 +0+0 {rotation=left}; VGA-0: 800x600 +0+0 {rotation=left}; VGA-0: 640x480 +0+0 {rotation=left}; VGA-0: nvidia-auto-select +0+0 {rotation=left, viewportin=768x1366, viewportout=1920x1079+0+0}; VGA-0: nvidia-auto-select +0+0 {rotation=left, viewportin=800x1280, viewportout=1728x1080+96+0}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Note: My VGA port is not working, but I don't care much for now.

Using the following, I was able to place my displays correctly:

xrandr --output DP-4 --mode 1920x1080 --rotate normal --left-of DP-3 --output DP-5 --mode 1920x1080 --rotate left --right-of DP-3

But I do see them in Display settings anyway.

Some generic informations

cat /sys/class/graphics/fb0/virtual_size

1920,1080

nvidia-xconfig –query-gpu-info

Number of GPUs: 1

GPU #0:
  Name      : Quadro K1100M
  UUID      : GPU-ddb5df98-f330-324d-b6d9-9d531741e2a7
  PCI BusID : PCI:1:0:0

  Number of Display Devices: 3

  Display Device 0 (TV-3):
      EDID Name             : CMN
      Minimum HorizSync     : 45.284 kHz
      Maximum HorizSync     : 67.929 kHz
      Minimum VertRefresh   : 40 Hz
      Maximum VertRefresh   : 60 Hz
      Maximum PixelClock    : 152.840 MHz
      Maximum Width         : 1920 pixels
      Maximum Height        : 1080 pixels
      Preferred Width       : 1920 pixels
      Preferred Height      : 1080 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 340 mm
      Physical Height       : 190 mm

  Display Device 1 (TV-4):
      EDID Name             : HP Z22i
      Minimum HorizSync     : 24.000 kHz
      Maximum HorizSync     : 94.000 kHz
      Minimum VertRefresh   : 50 Hz
      Maximum VertRefresh   : 76 Hz
      Maximum PixelClock    : 170.000 MHz
      Maximum Width         : 1920 pixels
      Maximum Height        : 1080 pixels
      Preferred Width       : 1920 pixels
      Preferred Height      : 1080 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 480 mm
      Physical Height       : 270 mm

  Display Device 2 (TV-5):
      EDID Name             : HP Z22i
      Minimum HorizSync     : 24.000 kHz
      Maximum HorizSync     : 94.000 kHz
      Minimum VertRefresh   : 50 Hz
      Maximum VertRefresh   : 76 Hz
      Maximum PixelClock    : 170.000 MHz
      Maximum Width         : 1920 pixels
      Maximum Height        : 1080 pixels
      Preferred Width       : 1920 pixels
      Preferred Height      : 1080 pixels
      Preferred VertRefresh : 60 Hz
      Physical Width        : 480 mm
      Physical Height       : 270 mm

xrandr –listmonitors

Monitors: 3
 0: +*DP-3 1920/344x1080/194+1920+798  DP-3
 1: +DP-4 1920/477x1080/268+0+798  DP-4
 2: +DP-5 1080/477x1920/268+3840+0  DP-5

xrandr -q

Screen 0: minimum 8 x 8, current 4920 x 1920, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected primary 1920x1080+1920+798 (normal left inverted right x axis y axis) 344mm x 194mm
   1920x1080     60.01*+  40.00  
DP-4 connected 1920x1080+0+798 (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080     60.00*+
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     60.02  
   1280x720      60.00  
   1024x768      60.00  
   800x600       60.32  
   640x480       59.94  
DP-5 connected 1080x1920+3840+0 left (normal left inverted right x axis y axis) 477mm x 268mm
   1920x1080     60.00*+
   1680x1050     59.95  
   1600x900      60.00  
   1440x900      59.89  
   1280x1024     60.02  
   1280x720      60.00  
   1024x768      60.00  
   800x600       60.32  
   640x480       59.94  
DP-6 disconnected (normal left inverted right x axis y axis)

sudo lspci -v | egrep -A 2 -i "VGA|3D"

01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K1100M] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: Hewlett-Packard Company Device 2254
        Flags: bus master, fast devsel, latency 0, IRQ 37
--
        Bus: primary=3c, secondary=3d, subordinate=3d, sec-latency=0
        Memory behind bridge: c8100000-c81fffff
        Capabilities: [40] Power Management version 3
--
3d:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)
        Subsystem: Intel Corporation Dual Band Wireless-AC 7260
        Flags: bus master, fast devsel, latency 0, IRQ 36
--
        Capabilities: [140] Device Serial Number cc-3d-82-ff-ff-65-c0-6b
        Capabilities: [14c] Latency Tolerance Reporting
        Capabilities: [154] Vendor Specific Information: ID=cafe Rev=1 Len=014 <?>

lsmod | egrep -i "nvidia|nouveau"

nvidia_drm             45056  2
nvidia_modeset        757760  9 nvidia_drm
nvidia              11182080  168 nvidia_modeset
drm_kms_helper        118784  1 nvidia_drm
drm                   294912  5 drm_kms_helper,nvidia_drm

sudo aura -Ss nvidia | grep installed

extra/libvdpau 1.1.1-2 [installed]
extra/libxnvctrl 367.35-1 [installed]
extra/nvidia 367.35-2 [installed]
extra/nvidia-libgl 367.35-1 [installed]
extra/nvidia-settings 367.35-1 [installed]
extra/nvidia-utils 367.35-1 [installed]
extra/xf86-video-nouveau 1.0.12-2 (xorg-drivers xorg) [installed]
community/nvdock 1.02-5 [installed]
multilib/lib32-libvdpau 1.1.1-2 [installed]
multilib/lib32-nvidia-utils 367.35-1 [installed]

I do also have nouveau, but not using it right now

sudo aura -Ss nouveau | grep installed

extra/xf86-video-nouveau 1.0.12-2 (xorg-drivers xorg) [installed]

Grub

I found poor tty resolution with nvidia driver, but it's more about resolution.

I know it could be something related to modesetting, so I tried to disable it.

/etc/default/grub

GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
## I uncommented the following line!
GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1680x1050

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter 
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" 
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper 
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

#GRUB_SAVEDEFAULT="true"

/etc/mkinitcpio.conf

# vim:set ft=sh
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#MODULES="nouveau"
MODULES=""

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=""

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=""

# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# Examples:
##   No raid, lvm2, or encrypted root is needed.
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#
##   This setup loads an lvm2 volume group on a usb device.
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS="base udev autodetect modconf block keyboard keymap filesystems fsck"

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""

Edit: I had MODULES="nouveau", I removed it and ran

sudo mkinitcpio -p linux

Rebooted, didn't solve the problem.

Optimus and bumblebee

I tried to run this once, but it was complicated and I removed that.

I disabled intel hd card from bios, I tought I should concentrate on only one card instead of two, would be easier for now.

If someone has a very similar system and is willing to share its config, it could be nice.

Xorg logs

sudo tail -f /var/log/Xorg*

Then I tried to go into a tty and come back, here's my log:

[ 34835.213] (II) systemd-logind: got pause for 13:64
[ 34835.213] (II) systemd-logind: got pause for 13:66
[ 34835.213] (II) systemd-logind: got pause for 13:73
[ 34835.213] (II) systemd-logind: got pause for 13:67
[ 34835.213] (II) systemd-logind: got pause for 13:81
[ 34835.213] (II) systemd-logind: got pause for 13:68
[ 34835.213] (II) systemd-logind: got pause for 13:78
[ 34835.213] (II) systemd-logind: got pause for 13:79
[ 34835.213] (II) systemd-logind: got pause for 13:69
[ 34835.660] (II) systemd-logind: got resume for 13:64
[ 34835.683] (II) NVIDIA(0): Setting mode "DP-3: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
[ 34837.108] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[ 34837.108] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[ 34837.108] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[ 34837.108] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[ 34837.108] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[ 34837.108] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[ 34837.109] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[ 34837.109] (II) NVIDIA(0):     Config Options in the README.
[ 34837.110] (--) NVIDIA(GPU-0): CRT-0: disconnected
[ 34837.110] (--) NVIDIA(GPU-0): CRT-0: 400.0 MHz maximum pixel clock
[ 34837.110] (--) NVIDIA(GPU-0): 
[ 34837.110] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 34837.110] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[ 34837.110] (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
[ 34837.110] (--) NVIDIA(GPU-0): 
[ 34837.111] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 34837.111] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 34837.111] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 34837.111] (--) NVIDIA(GPU-0): 
[ 34837.111] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 34837.111] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[ 34837.111] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[ 34837.111] (--) NVIDIA(GPU-0): 
[ 34837.112] (--) NVIDIA(GPU-0): CMN (DFP-3): connected
[ 34837.112] (--) NVIDIA(GPU-0): CMN (DFP-3): Internal DisplayPort
[ 34837.112] (--) NVIDIA(GPU-0): CMN (DFP-3): 960.0 MHz maximum pixel clock
[ 34837.112] (--) NVIDIA(GPU-0): 
[ 34837.112] (--) NVIDIA(GPU-0): DFP-4: disconnected
[ 34837.112] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[ 34837.112] (--) NVIDIA(GPU-0): DFP-4: 960.0 MHz maximum pixel clock
[ 34837.112] (--) NVIDIA(GPU-0): 
[ 34837.112] (--) NVIDIA(GPU-0): DFP-5: disconnected
[ 34837.112] (--) NVIDIA(GPU-0): DFP-5: Internal DisplayPort
[ 34837.112] (--) NVIDIA(GPU-0): DFP-5: 960.0 MHz maximum pixel clock
[ 34837.112] (--) NVIDIA(GPU-0): 
[ 34837.112] (--) NVIDIA(GPU-0): DFP-6: disconnected
[ 34837.112] (--) NVIDIA(GPU-0): DFP-6: Internal DisplayPort
[ 34837.112] (--) NVIDIA(GPU-0): DFP-6: 960.0 MHz maximum pixel clock
[ 34837.112] (--) NVIDIA(GPU-0): 
[ 34837.148] (II) systemd-logind: got resume for 13:66
[ 34837.148] (II) systemd-logind: got resume for 13:73
[ 34837.149] (II) systemd-logind: got resume for 13:67
[ 34837.149] (II) systemd-logind: got resume for 13:81
[ 34837.149] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 34837.149] (II) systemd-logind: got resume for 13:68
[ 34837.149] (II) systemd-logind: got resume for 13:78
[ 34837.149] (II) systemd-logind: got resume for 13:79
[ 34837.149] (II) systemd-logind: got resume for 13:69

NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon

I found this Nvidia proprietary driver 304xx failed to connect to the ACPI event daemon, but I can't tell it's related.

But I already have acpid installed (checked with my package manager), but its service is dead;

 sudo systemctl status acpid.service 
● acpid.service - ACPI event daemon
   Loaded: loaded (/usr/lib/systemd/system/acpid.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:acpid(8)

So I started it again, enabled it for future

sudo systemctl start acpid.service

in the logs:

[ 35555.748] (II) systemd-logind: got pause for 13:64
[ 35555.748] (II) systemd-logind: got pause for 13:66
[ 35555.748] (II) systemd-logind: got pause for 13:73
[ 35555.748] (II) systemd-logind: got pause for 13:67
[ 35555.748] (II) systemd-logind: got pause for 13:81
[ 35555.748] (II) systemd-logind: got pause for 13:68
[ 35555.748] (II) systemd-logind: got pause for 13:78
[ 35555.748] (II) systemd-logind: got pause for 13:79
[ 35555.748] (II) systemd-logind: got pause for 13:69
[ 35556.676] (II) systemd-logind: got resume for 13:64
[ 35556.676] (II) Open ACPI successful (/var/run/acpid.socket)
[ 35556.701] (II) NVIDIA(0): Setting mode "DP-3: nvidia-auto-select @1920x1080 +0+0 {ViewPortIn=1920x1080, ViewPortOut=1920x1080+0+0}"
[ 35558.123] (--) NVIDIA(GPU-0): CRT-0: disconnected
[ 35558.123] (--) NVIDIA(GPU-0): CRT-0: 400.0 MHz maximum pixel clock
[ 35558.123] (--) NVIDIA(GPU-0): 
[ 35558.123] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 35558.123] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[ 35558.123] (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
[ 35558.123] (--) NVIDIA(GPU-0): 
[ 35558.124] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 35558.124] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[ 35558.124] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[ 35558.124] (--) NVIDIA(GPU-0): 
[ 35558.125] (--) NVIDIA(GPU-0): DFP-2: disconnected
[ 35558.125] (--) NVIDIA(GPU-0): DFP-2: Internal TMDS
[ 35558.125] (--) NVIDIA(GPU-0): DFP-2: 165.0 MHz maximum pixel clock
[ 35558.125] (--) NVIDIA(GPU-0): 
[ 35558.125] (--) NVIDIA(GPU-0): CMN (DFP-3): connected
[ 35558.125] (--) NVIDIA(GPU-0): CMN (DFP-3): Internal DisplayPort
[ 35558.125] (--) NVIDIA(GPU-0): CMN (DFP-3): 960.0 MHz maximum pixel clock
[ 35558.125] (--) NVIDIA(GPU-0): 
[ 35558.125] (--) NVIDIA(GPU-0): DFP-4: disconnected
[ 35558.125] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[ 35558.125] (--) NVIDIA(GPU-0): DFP-4: 960.0 MHz maximum pixel clock
[ 35558.125] (--) NVIDIA(GPU-0): 
[ 35558.125] (--) NVIDIA(GPU-0): DFP-5: disconnected
[ 35558.125] (--) NVIDIA(GPU-0): DFP-5: Internal DisplayPort
[ 35558.125] (--) NVIDIA(GPU-0): DFP-5: 960.0 MHz maximum pixel clock
[ 35558.125] (--) NVIDIA(GPU-0): 
[ 35558.125] (--) NVIDIA(GPU-0): DFP-6: disconnected
[ 35558.125] (--) NVIDIA(GPU-0): DFP-6: Internal DisplayPort
[ 35558.125] (--) NVIDIA(GPU-0): DFP-6: 960.0 MHz maximum pixel clock
[ 35558.125] (--) NVIDIA(GPU-0): 
[ 35558.157] (II) systemd-logind: got resume for 13:66
[ 35558.157] (II) systemd-logind: got resume for 13:73
[ 35558.158] (II) systemd-logind: got resume for 13:67
[ 35558.158] (II) systemd-logind: got resume for 13:81
[ 35558.158] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 35558.158] (II) systemd-logind: got resume for 13:68
[ 35558.158] (II) systemd-logind: got resume for 13:78
[ 35558.158] (II) systemd-logind: got resume for 13:79
[ 35558.158] (II) systemd-logind: got resume for 13:69

No more acpid error, but still a broken tty. So error could be the following:

[ 35556.701] (II) NVIDIA(0): Setting mode "DP-3: nvidia-auto-select @1920×1080 +0+0 {ViewPortIn=1920×1080, ViewPortOut=1920×1080+0+0}"


Things I tried so far

  • Using nvidia-dkms instead of nvidia package, no difference.
  • I tried moving back to nouveau, but I somehow failed and I needed to restore nvidia by using a usb key and arch-chroot + sudo mkinitcpio -p linux… 🙁
  • Adding nomodeset to GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub.cfg and to run sudo grub-mkconfig -o /boot/grub/grub.cfg and rebooting
  • Removing "nouveau" from mkinitcpio
  • Note to myself; try vga=xxx as suggested here (I still need to find out what I should use to replace xxx).

Similar post on reddit

A friend of mine found this:
nvidia drivers and high resolution tty possible?

From this post, I tried the following:

GRUB_GFXMODE=1920x1080x32
GRUB_GFXPAYLOAD_LINUX=keep

Then run

sudo grub-mkconfig -o /boot/grub/grub.cfg

Reboot, but no luck yet.

Best Answer

I finally managed to get everything working fine. Not quite sure exactly how, but it could be related to more recent nvidia drivers.

All of my tty are now working as expected. Sharing my configuration here in case it helps someone.

I followed the wiki documentation on bumblebee

So I used bumblebee and bbswitch

Package versions I'm using right now (latest):

$ sudo aura -Q | grep nvidia 
lib32-nvidia-libgl 375.26-2
lib32-nvidia-utils 375.26-2
nvidia-dkms 375.26-1
nvidia-settings 375.26-1
nvidia-utils 375.26-2

$ sudo aura -Q | grep bumblebee
bumblebee 3.2.1-12

$ sudo aura -Q | grep bbswitch 
bbswitch-dkms 0.8-55

Note that only having these installed, I was able to see my tty, but I wasn't able to startx anymore.

I was getting the following error:

[  2557.515] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[  2557.515] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
[  2557.515] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
[  2557.515] (EE) NVIDIA(0):     you continue to encounter problems, Please try
[  2557.515] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.
[  2557.681] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0

After doing many attempts, I realized I had to delete /etc/X11/xorg.conf. After doing so, I was able to run startx.

For everything else, I followed the bumblebee wiki.

For reference, here's my /etc/default/grub:

GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1920x1080x32

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter 
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" 
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper 
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

#GRUB_SAVEDEFAULT="true"

I think important line is GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset".

I've been running with a very low framerate, right click context menu were taking forever to open (1s or 2s, was so damn long...). Everything seems to run very smoothly now. Dismissing the context menu is still a bit long, but everything is way faster than before, I suppose my nvidia driver settings were bad or something like that.

I also enabled both cards "hybrid graphics" in my bios settings.

Edit 1: multi display not working for nvidia card right now, I tried a few things and now other TTYs are only a _ blinking and nothing in the logs in /var/log/Xorg* :(

Edit 2: background terminals do work when I boot in recovery mode (From Advanced menu in grub)

Related Question