You are not logged in.
Hey all.
I've been trying to get my nvidia card to work for several hours and it's been pretty fruitless so far. Sorry for the wall of text, I just want to be thorough so I'm not suggested things I've already tried. Here's some info:
ASUS GL551JW
Geforce GTX 960M
My laptop's battery is shot and only lasts about 20 minutes unplugged. Therefore I use it more as a mobile desktop than anything. I am not concerned with being able to switch between the Nvidia and Intel card. I would be perfectly happy using only the Nvidia card.
I have followed the instructions here: NVIDIA Optimus. If I understand correctly, Optimus should be included with the proprietary Nvidia driver. Please correct me if I'm wrong.
What I've done:
Attempted to disable the Intel GPU in BIOS, no option was available.
Installed the nvidia driver and xorg-xrandr through pacman
The PCI address of the card is 01:00.0 from
lspci | egrep -i nvidia
01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)
I added the "Module" and "Device" sections to /etc/X11/xorg.conf exactly as the tutorial shows. I changed the address format to 1:0:0 as it instructs.
Please correct me if I'm wrong but I believe I am able to skip the lines for .xinitrc because I use Gnome and therefore have GDM. I do not have a .xinitrc in my home directory. I am a bit unsure here conceptually so perhaps it is where I've gone wrong. Please let me know if I should create .xinitrc and add the lines the wiki suggests.
Reading further into the section about display managers (specifically GDM)...
It instructs me to add 2 new .desktop files in /usr/share/gdm/greeter/autostart/optimus.desktop and /etc/xdg/autostart/optimus.desktop. I have done this, as well.
To ensure the nvidia daemon runs at boot, I have run
systemctl enable nvidia-persistenced.service
I don't have the output handy for it but it did not give any obvious error messages, it just told me it successfully created a symlink.
I then rebooted without issue.
Diagnostic:
I know the chip is recognized on the PCI since I was able to get its address.
Here's some output and reasoning for why I believe the card is not working.
lsmod | egrep -i nvidia
nvidia_drm 45056 0
nvidia_modeset 892928 1 nvidia_drm
nvidia 13840384 22 nvidia_modeset
drm_kms_helper 131072 2 i915,nvidia_drm
drm 303104 25 i915,nvidia_drm,drm_kms_helper
Looks like the driver is loaded.
lsmod | egrep -i nouveau
Has no output, looks like the Nvidia driver successfully blacklisted it.
glxinfo | egrep -i nvidia
No output here.
glxinfo | egrep -i intel
GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer,
Vendor: Intel Open Source Technology Center (0x8086)
Device: Mesa DRI Intel(R) Haswell Mobile (0x416)
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
GL_INTEL_performance_query, GL_KHR_blend_equation_advanced,
GL_INTEL_performance_query, GL_KHR_blend_equation_advanced,
GL_INTEL_performance_query, GL_KHR_blend_equation_advanced,
I'm not entirely sure what all of this output means but it implies to me something is being done with the Intel chip and not the Nvidia one.
If I attempt to run nvidia-settings
nvidia-settings
ERROR: Unable to find display on any available system
Running it graphically from the search tool in Gnome appears to do nothing, it just fails silently.
Could anyone offer suggestions on where to look or things to try moving forward? I'm not sure what to do because I'm not encountering any obvious errors. Please let me know if any more output or system info would be helpful for you.
Last edited by brenzo (2017-11-24 01:03:12)
Offline
Welcome to the arch linux forums brenzo. Did you do GDM#Use_Xorg_backend
If you check the journal for gdm is it starting an X session or a Wayland session?
Offline
Welcome to the arch linux forums brenzo. Did you do GDM#Use_Xorg_backend
If you check the journal for gdm is it starting an X session or a Wayland session?
No, I hadn't tried this. Thank you, I must have missed that. Looks like it's Wayland from
loginctl show-session c2 -p Type
Type=wayland
I rebooted and I am now running the Nvidia card, as per the glxinfo output! Thanks again.
I am however now stuck on 640x480 resolution. I tried adding the
xrandr --dpi 96
line to .xinitrc as a troubleshooting guide suggested but it appears to have had no effect.
Running xrandr...
xrandr
Screen 0: minimum 8 x 8, current 640 x 480, maximum 16384 x 16384
eDP-1-1 connected primary 640x480+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
640x480 59.94*
320x240 60.05
DP-1-1 disconnected (normal left inverted right x axis y axis)
HDMI-1-1 disconnected (normal left inverted right x axis y axis)
HDMI-1-2 disconnected (normal left inverted right x axis y axis)
Looks like it's only getting two low res options from the EDID. Would it be advisable to attempt to add it with xrandr or attempt to get it through nvidia-settings?
Offline
I would suggest with xrandr.
Offline
I would suggest with xrandr.
Thanks so much for the help. I was able to generate a new modeline with cvt and everything seems to be working well now!
Offline