Getting Nvidia Graphics Card to work (First Linux system)

I have been trying to get my first Linux system up and running. I downloaded wow and tried to play it realized how laggy the game was. So I found out i was missing my Nvidia drivers. But every time I try to download the utils and drivers my computer won't reboot and says this " Oh no! Something has gone wrong." I than have to reinstall Linux. I have done this over 5 times I keep trying something else and I still get the same outcome. My Computer is an Legion y530-15inch with an Nvidia gp107m[Geforce GTX 1050 ti Mobile} and Intel UHD Graphics 630 (Mobile). If someone could give me some guidance I would be very appreciative Thanks!!!

Hi there,

To help us help you .. heres some docs on providing good system information and how to set up your graphics card and drivers.

How to provide good information in your posts

https://wiki.manjaro.org/index.php?title=Configure_Graphics_Cards

To start off .. these will give us system info, and list both manjaro hardware detection profiles you have installed and the ones available.

inxi -Fxxxza --no-host
mhwd -li && mhwd -l

Please have a look at the first link to format your code/output/posts so they are more readable.

Namely, just wrap them with three tics ``` above,below code.. or highlight and press the </> button.

System:
Kernel: 5.6.15-1-MANJARO x86_64 bits: 64 compiler: gcc v: 10.1.0
parameters: BOOT_IMAGE=/boot/vmlinuz-5.6-x86_64
root=UUID=0522697e-a05c-4ae9-8297-eeddb9da3132 rw quiet apparmor=1
security=apparmor udev.log_priority=3
Desktop: Gnome 3.36.3 wm: gnome-shell dm: GDM 3.34.1 Distro: Manjaro Linux
Machine:
Type: Laptop System: LENOVO product: 81FV v: INVALID serial:
Chassis: type: 10 v: INVALID serial:
Mobo: LENOVO model: INVALID v: SDK0K17763 WIN serial:
UEFI: LENOVO v: 8JCN48WW date: 11/02/2018
Battery:
ID-1: BAT0 charge: 40.1 Wh condition: 40.5/52.5 Wh (77%) volts: 12.7/11.4
model: CPT-COS L17C3PG1 type: Li-poly serial: status: Charging
CPU:
Topology: Quad Core model: Intel Core i5-8300H bits: 64 type: MT MCP
arch: Kaby Lake family: 6 model-id: 9E (158) stepping: A (10)
microcode: CA L2 cache: 8192 KiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
bogomips: 36812
Speed: 800 MHz min/max: 800/4000 MHz Core speeds (MHz): 1: 821 2: 844
3: 815 4: 838 5: 861 6: 839 7: 857 8: 839
Vulnerabilities: Type: itlb_multihit status: KVM: Split huge pages
Type: l1tf
mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
Type: mds mitigation: Clear CPU buffers; SMT vulnerable
Type: meltdown mitigation: PTI
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional,
IBRS_FW, STIBP: conditional, RSB filling
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: Intel UHD Graphics 630 vendor: Lenovo driver: i915 v: kernel
bus ID: 00:02.0 chip ID: 8086:3e9b
Device-2: NVIDIA GP107M [GeForce GTX 1050 Ti Mobile] vendor: Lenovo
driver: nouveau v: kernel bus ID: 01:00.0 chip ID: 10de:1c8c
Display: x11 server: X.org 1.20.8 driver: nouveau compositor: gnome-shell
resolution:
OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) v: 4.6 Mesa 20.0.7
direct render: Yes
Audio:
Device-1: Intel Cannon Lake PCH cAVS vendor: Lenovo driver: snd_hda_intel
v: kernel bus ID: 00:1f.3 chip ID: 8086:a348
Device-2: NVIDIA GP107GL High Definition Audio driver: snd_hda_intel
v: kernel bus ID: 01:00.1 chip ID: 10de:0fb9
Sound Server: ALSA v: k5.6.15-1-MANJARO
Network:
Device-1: Realtek RTL8822BE 802.11a/b/g/n/ac WiFi adapter driver: rtw_pci
v: N/A port: 5000 bus ID: 07:00.0 chip ID: 10ec:b822
IF: wlp7s0 state: down mac:
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Lenovo driver: r8169 v: kernel port: 3000 bus ID: 08:00.0
chip ID: 10ec:8168
IF: enp8s0 state: up speed: 1000 Mbps duplex: full mac:
Drives:
Local Storage: total: 1.03 TiB used: 6.99 GiB (0.7%)
ID-1: /dev/nvme0n1 vendor: Lenovo O.E.M. model: RPFTJ128PDD2EWX
size: 119.24 GiB block size: physical: 512 B logical: 512 B
speed: 15.8 Gb/s lanes: 2 serial: rev: 11.82 scheme: GPT
ID-2: /dev/sda vendor: Seagate model: ST1000LM049-2GH172 size: 931.51 GiB
block size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
rotation: 7200 rpm serial: rev: LXM3
Partition:
ID-1: / raw size: 118.95 GiB size: 116.58 GiB (98.01%)
used: 6.99 GiB (6.0%) fs: ext4 dev: /dev/nvme0n1p2
Sensors:
System Temperatures: cpu: 61.0 C mobo: N/A gpu: nouveau temp: 47 C
Fan Speeds (RPM): N/A
Info:
Processes: 281 Uptime: 23m Memory: 7.65 GiB used: 2.24 GiB (29.3%)
Init: systemd v: 245 Compilers: gcc: N/A Shell: zsh v: 5.8
running in: gnome-terminal inxi: 3.0.37```

Sorry for not having the best format in my posting! Thanks for helping me with this

> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI


Warning: No installed USB configs!
> 0000:08:00.0 (0200:10ec:8168) Network controller Realtek Semiconductor Co., Ltd.:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
         network-r8168            2016.04.20                true            PCI


> 0000:01:00.0 (0300:10de:1c8c) Display controller nVidia Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-440xx-prime            2019.10.25               false            PCI
video-hybrid-intel-nvidia-435xx-prime            2019.10.25               false            PCI
video-hybrid-intel-nvidia-430xx-bumblebee            2019.10.25               false            PCI
video-hybrid-intel-nvidia-418xx-bumblebee            2019.10.25               false            PCI
video-hybrid-intel-nvidia-390xx-bumblebee            2019.10.25               false            PCI
    video-nvidia-440xx            2019.10.25               false            PCI
    video-nvidia-435xx            2019.10.25               false            PCI
    video-nvidia-430xx            2019.10.25               false            PCI
    video-nvidia-418xx            2019.10.25               false            PCI
    video-nvidia-390xx            2019.10.25               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI


> 0000:00:02.0 (0300:8086:3e9b) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-440xx-prime            2019.10.25               false            PCI
video-hybrid-intel-nvidia-435xx-prime            2019.10.25               false            PCI
video-hybrid-intel-nvidia-430xx-bumblebee            2019.10.25               false            PCI
video-hybrid-intel-nvidia-418xx-bumblebee            2019.10.25               false            PCI
video-hybrid-intel-nvidia-390xx-bumblebee            2019.10.25               false            PCI
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI

You could just edit the originals, friend :wink:

Moving on .. It looks like you have an optimus machine with dual-gfx
If you just want to use the nvidia all the time (and the extra power) hopefully there is a switch in your BIOS.
But to get it working 'normally' you probably want the latest PRIME profile.
More information on PRIME here: https://wiki.archlinux.org/index.php/PRIME
Basically it will use intel by default, and use nvidia when you use prime-run
To install that profile you can use the GUI, or in terminal commands its just
(actually lets update and reboot first)

sudo pacman-mirrors -f && sudo pacman -Syyu
sudo mhwd -i pci video-hybrid-intel-nvidia-440xx-prime

That should be it after a reboot.
But optimus/nvidia is known to be ... annoying.
If you have trouble booting for some reason or another - it is probably just something like a line in the display manager or similar that needs editing. Most likely recoverable. But we would need to see the error to know what to fix.

Tip - if you cant boot graphically, hit e at grub selection
(if it is hidden tap Shift during boot)
Then add a 3 to the boot options
That should let you boot without gfx and do some work.

1 Like

Sounds good! :smile: ll give it all a try I just rebooted and currently running those commands in the terminal.

I just finished running those command lines and rebooted so far everything looks to be working!

I just ran
inxi-Fxxxza --no-host
mhwd -li &&mhwd -1
and it looked like I was getting the same outputs. I didn't see any differences. But I now have nvidia X server setting which is displaying my graphics card so that's progress!

But I don't think it is running off my nvidia gpu yet.

Ok .. so now you can test, for example

glxinfo | grep 'renderer string'
prime-run glxinfo | grep 'renderer string'
~ >>> glxinfo | grep 'renderer string'                                         
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
~ >>> prime-run glxinfo | grep 'renderer string'                               
OpenGL renderer string: GeForce GTX 1050 Ti/PCIe/SSE2
~ >>>                                                

You should see intel from the first and nvidia from the second.

Which you do .. good.

All seems well, so now you can use prime-run any time you want to use the nvidia GPU.

Most likely thats just games, so I will note here that in steam .. you would edit game launch options and (assuming you dont use/need any other options) put exactly:

prime-run %command%

I'm seeing this... I think it means it didn't work.

/usr/bin/prime-run: line 2: fg: no job control
~ >>>                                                                       [1]

Huh?
Did you actually put in

prime-run %command%

into the terminal? That wont work.

I meant .. for example ... prime-run firefox, etc .. but again, most likely you dont want to do that.

For steam .. it was particular instructions for editing game options within steam itself, like this:

oh gotcha my bad... haha so If I were to run a game that's not through steam like World of Warcraft through wine. would I use prime-run % battle.net ? since wow boots from batle.net or would i put world of warcraft there

Dont need the % -- the %command% is a variable you are using in steam to mean the game.

prime-run inkscape
for anything normal/native

Wine or similar is a whole other thing .. I am not sure how it works in wine .. but I think I remember some other threads about it ..

Also or is there a way to always be using my nvidia graphics card? and use prime-run firefox so if i want to browse or so on i could just use the prime command to use my intel graphics card

soi s there a way to make it soglxinfo | grep 'renderer string' it would output my nvidia and my prime-run glxinfo | grep 'renderer string' would output my intel?

If you want to always use a certain program on the nvidia you can do something like copy the .desktop file and edit it .. something like

cp /usr/share/applications/firefox.desktop ~/.local/share/applications/firefox-nvidia.desktop

Then edit that firefox-nvidia.desktop file to include prime-run on the executable(s) line(s).

Or.. as I said before, if you just want nvidia all the time, you might be lucky enough to have an option in BIOS to just turn the intel card off.
(though then you would need a different mhwd profile for just nvidia)

Or you can set up reverse-prime.. which is somewhat involved but doable. That would use the nvidia by default.

Again though - aside from something extremely gpu-intensive like media editing or 3D or games .. there probably isnt much point.

Sounds good!!!! Thanks for all your help sir! :smiley:

Forum kindly sponsored by