You are not logged in.

#1 2017-10-24 10:18:18

jussih
Member
From: Finland
Registered: 2017-10-24
Posts: 12

[SOLVED] ThinkPad T540P and onboard NVidia problems

Hello,

I recently installed Arch on my T540P, and for some reason I can't disablde the nvidia GPU. The "nvidia" driver is still being loaded during boot, even though I blacklisted it. I would like to do it the BumbleBee way.

In other words, if I try to turn the card off with the BBSwitch, the output is

sudo tee /proc/acpi/bbswitch  <<<OFF
dmesg |tail -1
[  415.585860] bbswitch: device 0000:01:00.0 is in use by driver 'nvidia', refusing OFF

I have removed all nvidia modules from /etc/mkinitcpio.conf (and yes regenerated the initramfs!)

I also have blacklisted the "nvidia" and "nouveau" in /etc/modprobe.d/****_blacklist.conf files.

I'm running GNOME on Xorg, and the only xorg config files are

ls /usr/share/X11/xorg.conf.d/
10-nvidia-drm-outputclass.conf  40-libinput.conf
10-quirks.conf                  70-synaptics.conf

ls /etc/X11/
xinit  xorg.conf.bak  xorg.conf.d  xorg.conf.nvidia-xconfig-original

ls /etc/X11/xorg.conf.d/
00-keyboard.conf




EDIT:

another display issue I have is that after shutting down or hibernating/sleeping the laptop, I only get black screen when turning back on / resuming. I have to hard power off the laptop with the power button to get around this. I guess this is a problem with the graphics drivers as well, could anyone help me debug it?

Last edited by jussih (2017-10-26 15:19:10)

Offline

#2 2017-10-25 12:42:34

jussih
Member
From: Finland
Registered: 2017-10-24
Posts: 12

Re: [SOLVED] ThinkPad T540P and onboard NVidia problems

Sorry for bumping post from yesterday, I'm still having the same issue. For some odd reason I can't unload the nvidia driver, here is my initramfs

lsinitcpio /boot/initramfs-linux.img
buildconfig
config
hooks
hooks/udev
init
init_functions
VERSION
lib64
sbin
bin
lib
usr
usr/lib64
usr/sbin
usr/bin
usr/bin/fsck
usr/bin/fsck.ext3
usr/bin/fsck.ext2
usr/bin/fsck.ext4
usr/bin/systemd-tmpfiles
usr/bin/udevadm
usr/bin/switch_root
usr/bin/mount
usr/bin/blkid
usr/bin/modinfo
usr/bin/modprobe
usr/bin/lsmod
usr/bin/rmmod
usr/bin/insmod
usr/bin/depmod
usr/bin/kmod
usr/bin/yes
usr/bin/wget
usr/bin/wc
usr/bin/vi
usr/bin/uptime
usr/bin/unshare
usr/bin/unlink
usr/bin/uniq
usr/bin/uname
usr/bin/umount
usr/bin/truncate
usr/bin/true
usr/bin/touch
usr/bin/tftp
usr/bin/test
usr/bin/telnet
usr/bin/tail
usr/bin/tac
usr/bin/sync
usr/bin/strings
usr/bin/stat
usr/bin/sort
usr/bin/sleep
usr/bin/shuf
usr/bin/sha512sum
usr/bin/sha256sum
usr/bin/sha1sum
usr/bin/sh
usr/bin/setfont
usr/bin/seq
usr/bin/sed
usr/bin/route
usr/bin/rmdir
usr/bin/rm
usr/bin/reboot
usr/bin/readlink
usr/bin/pwd
usr/bin/ps
usr/bin/printf
usr/bin/poweroff
usr/bin/ping6
usr/bin/ping
usr/bin/pidof
usr/bin/pgrep
usr/bin/openvt
usr/bin/nslookup
usr/bin/nsenter
usr/bin/netstat
usr/bin/nc
usr/bin/mv
usr/bin/mountpoint
usr/bin/mktemp
usr/bin/mkpasswd
usr/bin/mknod
usr/bin/mkfifo
usr/bin/mkdir
usr/bin/md5sum
usr/bin/ls
usr/bin/losetup
usr/bin/loadkmap
usr/bin/loadfont
usr/bin/ln
usr/bin/less
usr/bin/killall
usr/bin/kill
usr/bin/kbd_mode
usr/bin/iptunnel
usr/bin/iprule
usr/bin/iproute
usr/bin/ipneigh
usr/bin/iplink
usr/bin/ipaddr
usr/bin/ip
usr/bin/install
usr/bin/init
usr/bin/ifconfig
usr/bin/hexdump
usr/bin/head
usr/bin/halt
usr/bin/grep
usr/bin/getopt
usr/bin/fstrim
usr/bin/free
usr/bin/fatattr
usr/bin/false
usr/bin/expr
usr/bin/env
usr/bin/echo
usr/bin/du
usr/bin/dmesg
usr/bin/dirname
usr/bin/df
usr/bin/dd
usr/bin/cut
usr/bin/cttyhack
usr/bin/cp
usr/bin/clear
usr/bin/chroot
usr/bin/chown
usr/bin/chmod
usr/bin/chgrp
usr/bin/cat
usr/bin/blkdiscard
usr/bin/basename
usr/bin/awk
usr/bin/ash
usr/bin/[
usr/bin/busybox
usr/lib
usr/lib/libdl.so.2
usr/lib/libe2p.so.2
usr/lib/libcom_err.so.2
usr/lib/libext2fs.so.2
usr/lib/modprobe.d
usr/lib/modprobe.d/bumblebee.conf
usr/lib/modprobe.d/systemd.conf
usr/lib/modprobe.d/nvidia.conf
usr/lib/modprobe.d/bluetooth-usb.conf
usr/lib/udev
usr/lib/udev/scsi_id
usr/lib/udev/ata_id
usr/lib/udev/rules.d
usr/lib/udev/rules.d/80-drivers.rules
usr/lib/udev/rules.d/64-btrfs.rules
usr/lib/udev/rules.d/60-persistent-storage.rules
usr/lib/udev/rules.d/50-udev-default.rules
usr/lib/libsystemd.so.0
usr/lib/libdbus-1.so.3
usr/lib/libnl-3.so.200
usr/lib/libnl-genl-3.so.200
usr/lib/libm.so.6
usr/lib/libudev.so.1
usr/lib/libpcap.so.1
usr/lib/libgpg-error.so.0
usr/lib/libdevmapper.so.1.02
usr/lib/libattr.so.1
usr/lib/liblz4.so.1
usr/lib/libidn.so.11
usr/lib/libseccomp.so.2
usr/lib/libip4tc.so.0
usr/lib/libgcrypt.so.20
usr/lib/libcryptsetup.so.4
usr/lib/libcap.so.2
usr/lib/libacl.so.1
usr/lib/libkmod.so.2
usr/lib/systemd
usr/lib/systemd/libsystemd-shared-235.so
usr/lib/systemd/systemd-udevd
usr/lib/librt.so.1
usr/lib/libmount.so.1
usr/lib/libuuid.so.1
usr/lib/libblkid.so.1
usr/lib/libpthread.so.0
usr/lib/libz.so.1
usr/lib/liblzma.so.5
usr/lib/ld-linux-x86-64.so.2
usr/lib/libc.so.6
usr/lib/libcrypt.so.1
usr/lib/modules
usr/lib/modules/4.13.7-1-ARCH
usr/lib/modules/4.13.7-1-ARCH/modules.devname
usr/lib/modules/4.13.7-1-ARCH/modules.builtin.bin
usr/lib/modules/4.13.7-1-ARCH/modules.symbols.bin
usr/lib/modules/4.13.7-1-ARCH/modules.softdep
usr/lib/modules/4.13.7-1-ARCH/modules.alias.bin
usr/lib/modules/4.13.7-1-ARCH/modules.dep.bin
usr/lib/modules/4.13.7-1-ARCH/kernel
usr/lib/modules/4.13.7-1-ARCH/kernel/libps2.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/mmc_core.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/i8042.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/usbcore.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/libata.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/mbcache.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/usb-storage.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/jbd2.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/serio_raw.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/usb-common.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/serio.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/cdrom.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/hid-generic.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/hid.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/atkbd.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/fscrypto.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/xhci-pci.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/crc16.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/rtsx_pci.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/libahci.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/scsi_mod.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/ahci.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/ext4.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/ehci-pci.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/sd_mod.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/rtsx_pci_sdmmc.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/ehci-hcd.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/mmc_block.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/usbhid.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/xhci-hcd.ko
usr/lib/modules/4.13.7-1-ARCH/kernel/sr_mod.ko
usr/local
usr/local/sbin
usr/local/bin
usr/local/lib
etc
etc/ld.so.cache
etc/modprobe.d
etc/modprobe.d/nvidia_blacklist.conf
etc/modprobe.d/nouveau_blacklist.conf
etc/modprobe.d/rtlsdr.conf
etc/modprobe.d/hackrf.conf
etc/modprobe.d/bbswitch.conf
etc/modprobe.d/airspy.conf
etc/ld.so.conf
etc/initrd-release
etc/fstab
etc/mtab
tmp
run
dev
sys
proc
new_root

The blacklist config files are blacklisting both nvidia and nouveau drivers. Also the bumblebee config file already has blacklisted different nvidia drivers. Still I can't kill the nvidia card with

sudo tee /proc/acpi/bbswitch  <<<OFF
dmesg |tail -1
[  662.662778] bbswitch: device 0000:01:00.0 is in use by driver 'nvidia', refusing OFF

Can anybody help me here?

Last edited by jussih (2017-10-25 13:05:36)

Offline

#3 2017-10-25 12:53:17

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,435

Re: [SOLVED] ThinkPad T540P and onboard NVidia problems

Please use [ code ] not [ quote ] tags for pasting command output.  This is likely GNOME trying to be intelligent. Have you enabled the  bumblebee service? That should run before GNOME does and prevent it from loading. What are the contents of your blacklist files? There was a similar issue in this thread https://bbs.archlinux.org/viewtopic.php?id=229001 maybe you get some pointers from that.

And a bump is still a bump, although it's better with the added information, that info could have been appended to the OP, please don't make a habit of bumping.

Offline

#4 2017-10-25 13:22:48

jussih
Member
From: Finland
Registered: 2017-10-24
Posts: 12

Re: [SOLVED] ThinkPad T540P and onboard NVidia problems

V1del wrote:

Please use [ code ] not [ quote ] tags for pasting command output.  This is likely GNOME trying to be intelligent. Have you enabled the  bumblebee service? That should run before GNOME does and prevent it from loading. What are the contents of your blacklist files? There was a similar issue in this thread https://bbs.archlinux.org/viewtopic.php?id=229001 maybe you get some pointers from that.

And a bump is still a bump, although it's better with the added information, that info could have been appended to the OP, please don't make a habit of bumping.

Thank you very much for your reply. I promise I won't bump anymore, I was just getting a bit desperate as I wasn't getting anywhere smile

The bumblebee is running

systemctl status bumblebeed
● bumblebeed.service - Bumblebee C Daemon
   Loaded: loaded (/usr/lib/systemd/system/bumblebeed.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-10-25 16:10:16 EEST; 9min ago
 Main PID: 407 (bumblebeed)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/bumblebeed.service
           └─407 /usr/bin/bumblebeed

However, how can I make sure it is being run before the gdm/GNOME service? I think this is the issue, as my blacklist files contain these lines:

blacklist nvidia
blacklist nvidia-drm
blacklist nvidia-modeset
blacklist nvidia-uvm
blacklist nouveau

I also added "After" flag for the gdm service at  /etc/systemd/system/display-manager.service and it looks like:

[Unit]
Description=GNOME Display Manager

# replaces the getty
Conflicts=getty@tty1.service
After=getty@tty1.service bumblebeed.service

# replaces plymouth-quit since it quits plymouth on its own
Conflicts=
After=

# Needs all the dependencies of the services it's replacing
# pulled from getty@.service and
# (except for plymouth-quit-wait.service since it waits until
# plymouth is quit, which we do)
After=rc-local.service plymouth-start.service systemd-user-sessions.service

# GDM takes responsibility for stopping plymouth, so if it fails
# for any reason, make sure plymouth still stops
OnFailure=plymouth-quit.service

[Service]
ExecStart=/usr/bin/gdm
KillMode=mixed
Restart=always
IgnoreSIGPIPE=no
BusName=org.gnome.DisplayManager
StandardOutput=syslog
StandardError=inherit
EnvironmentFile=-/etc/locale.conf
ExecReload=/bin/kill -SIGHUP $MAINPID

[Install]
Alias=display-manager.service

so the gdm service should be run after the bumblebee service has started? However I can see the nvidia module being loaded.. Is there any way to see what is loading the nvidia driver?

Last edited by jussih (2017-10-25 15:19:52)

Offline

#5 2017-10-26 12:22:10

jussih
Member
From: Finland
Registered: 2017-10-24
Posts: 12

Re: [SOLVED] ThinkPad T540P and onboard NVidia problems

I got a bit further again, I added nomodeset to the kernel boot options, now however the bootup hangs, I tried the fix (adding acpi_osi params to kernel boot options) but still the machine seems to hang.

I'm not sure if it is the NVidia GTX730M, the user in the thread you linked had a newer version of the nvidia graphics card. I tried different acpi_osi flags but for now I haven't got any success.

EDIT: Got a success by removing the nomodeset flags from boot options but adding "acpi_osi=Linux" there instead! I'm now having 5 watts less power drain smile Hope this helps someone else too.

Last edited by jussih (2017-10-26 15:18:51)

Offline

Board footer

Powered by FluxBB