Nvidia drivers arent installing on pureos


#1

Please help. Can’t install 1070 drivers. Its being stupid and I’m being blind.


#2

We’re blind if you don’t give us information about what’s going on when you install it, anyways, the nvidia free driver works proper bad, and the propietary isn’t in PureOS repositories.


#3

I think I’m just going to give up on pureOS. I’ve tried searching on their software store but like you said no propriatary and I downloaded driver for my gpu online from nvidia but am getting X server error.


#4

I know people are quick to point out the proprietary stuff just isn’t baked into PureOS at all, and this is by design.

That being said, because it is a Debian distro you can modify it however you want. The real problem is that figuring out what repo names are and how to add them to your software list are not the easiest things to do in Linux world.

What I’m trying to say is that you can enable all kind of proprietary software via repos. In most cases your first step should be enabling the debian proprietary distro. Search the forums here, as I think someone talked about it and have the actual address / commands to add it.

This is probably one of my biggest gripes with Linux in general. It is severely disjointed. There are a lot of competing agendas across the play field and a lot of incomplete documentation.

My advice is, if you want to use propreitary software, don’t start by using an OS specifically designed NOT to use it. Try Ubuntu, Fedora, Elementary, etc. These will all work with your stuff in many cases right out of the box.


#5

I believe PureOS uses Wayland by default, not Xorg. Thus, the X server errors. When you login, I believe you can click the gear icon to change to Xorg if you wish.

That said, I have had a pretty miserable experience with Nvidia drivers no matter what distro. Nvidia just doesn’t care about Linux and have no interest in ensuring their devices work well on it.

Edit: To follow up on @2disbetter’s point, I wouldn’t recommend PureOS on anything other than Librem hardware, really (or maybe old Thinkpads). Purism went out of their way to choose hardware that worked with free software. Most hardware doesn’t meet this criterion, and so trying to run PureOS on most hardware is just not going to be fun.


#6

Already have a good OS running but was interested in pureOS and I dislike propriatary but unlike some, I will take it if it neans my conputer can work. I like all is open source but I also need a functioning OS.


#7

I was considering their laptops but the GPU seemed very weak while the rest of the specs were good. Also, I need desktop. I have a laptop but always prefer desktop. I’m not exactly rolling in cash so I think I might setup a trade with my 1070 for a rx580 but not certain if they really want to accept as they use qubes as their main driver.


#8

you can point your middle finger at the nVidia gods for their driver embargo … and go for something more last gen in terms of AMD dGPU like an > https://www.amd.com/en/products/graphics/radeon-rx-vega-56


#9

The new Navi series are excellent, I’d look at the 5600XT or similar, rather than a R56 or rx580 or similar.

As for what distro to use, I found LinuxMint (Debian) about the best polished, newbie friendly choice. Like PureOS, it mirrors Debian upstream, but doesn’t cut out the non-free repos. It also is a bit easier to install, and slightly more stable than Debian testing (while having more recent packages than Debian stable).


#10

If you insist on open source and purity - and these are good things to want - then your nVidia experience may well be unpleasant.

I have a laptop with an nVidia graphics card, running Ubuntu, and using the proprietary driver - and it is stable and functions correctly - and has done for many years through many updates and version changes. Maybe that is an option that would work better for @user1.

As other people have commented, it doesn’t really make a lot of sense to choose a specialist distro that intentionally excludes closed source software, and thereby hardware that requires closed source software, and then install an nVidia graphics card.

In my own experience, if you want purity then the Intel integrated graphics work pretty well and that is reflected in Purism’s current offerings. So you wouldn’t look beyond that unless you really need graphics grunt.

The only problem I had with nVidia graphics + Ubuntu is that on Ubuntu version changes (e.g. 18.04 to 18.10 or 18.10 to 19.04) it will seemingly drop the proprietary driver (and revert to a default driver) - and so it helps if you know how to reinstate the proprietary driver from the command line. If that bugs you, you can limit Ubuntu version changes to once every 2 years i.e. only use the LTS versions. But then it will be self-fulfilling that you will forget how to reinstate the proprietary driver. :slight_smile:


#11

People should be free to use the software and their computer for whatever reason and however they want. I choose PureOS because I like the defaults? Should I not be allowed to run some GPU intense task like training a neural network or cracking a password? I want to study the stuff!

I too have this problem and I don’t want to stop using PureOS because of it.

Adding more to the conversation:

  • I blacklisted nouveau
  • Ran update-initramfs -u
  • Stopped gdm and gdm3 with service stop gdm and service stop gdm3
  • Ran the installer.

I noticed in the error message there were some warnings about not being able to detect if secure boot/UEFI are enabled. Also some warning messages complaining about missing keys and kernel tainting.


#12

You have omitted a lot of information.

What make and model (spec) of computer are you attempting to install on?

What version of PureOS are you using?

What exact commands are you doing and have you done?

What version of the proprietary driver are you attempting to install?

What exact messages are you getting?

Wouldn’t worry about that. I think that is normal with the proprietary nVidia driver.

Absolutely. Noone is telling you otherwise or stopping you.

However that freedom includes attempting to install combinations of software that have not been tested together and don’t necessarily work well or at all together - and that includes the freedom to debug it yourself. :slight_smile:

In no way do I speak for Purism but I hope you can see that Purism might not consider it a high priority to devote resources to getting intentionally proprietary, closed, blackbox software to work. If it works, great. If it doesn’t, members of the community may try to help and we may or may not succeed.


#13

Kind of a late response and I am put off from using their OS. Very plain, boring, doesn’t perform well on my laptop either. Rather stick to arch over deb. I cannot remember what version I had used of pureos but it was of whatever version at the time of my post. I cannot remember what commands I had used since it has been a while. Oh well. I hope the OS on the librem 5 will be better though it isn’t looking so great so far.


#14

Yes.

My questions were for @opaqueotter. I assumed that you had long given up.


#15

Oh ok. Sorry about that.


#16

In no way do I speak for Purism but I hope you can see that Purism might not consider it a high priority to devote resources to getting intentionally proprietary, closed, blackbox software to work. If it works, great. If it doesn’t, members of the community may try to help and we may or may not succeed.

Ah yes, absolutely. I don’t expect them at all to help with stuff like this and I hope PureOS doesn’t change its ethos and stays focused on security.

You have omitted a lot of information.

Right, here it is.

Device:

  • Dell Inspiron 3542 upgraded to 8GB ram + 500Gb SSD
  • Processor: Intel® Core™ i7-4510U CPU @ 2.00GHz
  • Running the latest PureOS 9.0:
$ lsb_release -a
No LSB modules are available.
Distributor ID:	PureOS
Description:	PureOS
Release:	9.0
Codename:	amber
  • Video: See output of lshw below
$ sudo lshw -C video
  *-display                 
       description: VGA compatible controller
       product: Haswell-ULT Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 0b
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:43 memory:f7400000-f77fffff memory:d0000000-dfffffff ioport:f000(size=64) memory:c0000-dffff
  *-display
       description: 3D controller
       product: GM108M [GeForce 840M]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:08:00.0
       version: a2
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list rom
       configuration: driver=nouveau latency=0

So, nouveau is the current driver.

I’m trying to install the latest nvidia driver for 64 bit systems:

  • NVIDIA-Linux-x86_64-440.64.

What I’ve done:

sudo vim /etc/modprobe.d/blacklist.conf

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

:wq

Then I also created another file with

 echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

After that: sudo update-initramfs -u which gave a warning because of my encrypted disk, but I believe its not a problem:

$ sudo update-initramfs -u 
update-initramfs: Generating /boot/initrd.img-4.19.0-5-amd64
cryptsetup: WARNING: Resume target luks-e63b950b-0b20-4cc1-bf50-43de0c5ae378 
    uses a key file
setupcon: The keyboard model is unknown, assuming 'pc105'. Keyboard may be configured incorrectly.

I rebooted, went to directly to the terminal with Ctrl+Alt+F2, logged in and killed gdm and gdm3 services with:

sudo service gdm stop
sudo service gdm3 stop

Lastly I executed the installer with sudo ./NVIDIA-Linux-x86_64-440.64.run. I had already given the file execution permissions with sudo chmod +x NVIDIA-Linux-x86_64-440.64.run.

Here are the last lines of the installation log, starting from where we begin to see errors:

 make[1]: Leaving directory '/usr/src/linux-headers-4.19.0-5-common'
-> done.
-> Kernel module compilation complete.
-> Unable to determine if Secure Boot is enabled: No such file or directory
ERROR: Unable to load the kernel module 'nvidia.ko'.  This happens most frequently when this kernel module was built against the wrong or improperly configured kernel sources, with a version of gcc that differs from the one used to build the target kernel, or if another driver, such as nouveau, is present and prevents the NVIDIA kernel module from obtaining ownership of the NVIDIA GPU(s), or no NVIDIA GPU installed in this system is supported by this NVIDIA Linux graphics driver release.

Please see the log entries 'Kernel module load error' and 'Kernel messages' at the end of the file '/var/log/nvidia-installer.log' for more information.
-> Kernel module load error: Exec format error
-> Kernel messages:
[   45.434067] device virbr0-nic entered promiscuous mode
[   45.596971] virbr0: port 1(virbr0-nic) entered blocking state
[   45.596974] virbr0: port 1(virbr0-nic) entered listening state
[   45.649227] virbr0: port 1(virbr0-nic) entered disabled state
[   45.992370] IPv6: ADDRCONF(NETDEV_UP): wlp6s0: link is not ready
[   46.011622] fuse init (API version 7.27)
[   47.101122] wlp6s0: authenticate with ac:c6:62:d6:73:d0
[   47.117752] wlp6s0: send auth to ac:c6:62:d6:73:d0 (try 1/3)
[   47.136812] wlp6s0: authenticated
[   47.140157] wlp6s0: associate with ac:c6:62:d6:73:d0 (try 1/3)
[   47.151008] wlp6s0: RX AssocResp from ac:c6:62:d6:73:d0 (capab=0x1411 status=0 aid=2)
[   47.151104] wlp6s0: associated
[   47.766311] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   47.766313] Bluetooth: BNEP filters: protocol multicast
[   47.766317] Bluetooth: BNEP socket layer initialized
[   49.184350] rfkill: input handler disabled
[   49.617288] IPv6: ADDRCONF(NETDEV_CHANGE): wlp6s0: link becomes ready
[   61.425427] rfkill: input handler enabled
[  358.406025] version 39.2
[  358.408000] ipmi device interface
[  358.417950] nvidia: loading out-of-tree module taints kernel.
[  358.417958] nvidia: module license 'NVIDIA' taints kernel.
[  358.417958] Disabling lock debugging due to kernel taint
[  358.424853] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[  358.428122] module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1, loc 000000005799fa54, val ffffffffc1bbe68a
ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.

Help is very welcome


#17

As that is a fairly old graphics card, you might want to confirm that the latest driver supports your card.

I recently reinstalled on a computer that has an even slightly older graphics card and neither nVidia driver 435 nor 440 would accept my card. I had to use 390.

However there are some important other differences between your setup and mine: I was installing under Ubuntu, which means a normal package install from the repo. Recent versions of Ubuntu have better support for the proprietary nVidia driver but the support doesn’t seem completely mature. It is a good idea to watch carefully as it builds the driver for your kernel version.

Obviously running a random shell script without knowing what’s in it is questionable security and may not be reliable either.

contains anything helpful?


#18

contains anything helpful?

That’s that very output I pasted, I don’t see anything super useful. Lines above just look like compiler normal compiler messages:

86_64-440.64/kernel/nvidia-drm/nvidia-drm-gem-user-memory.o
   ld -r -o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-interface.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-frontend.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-pci.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-acpi.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-cray.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-dma.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-i2c.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-mempool.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-mmap.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-p2p.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-pat.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-usermap.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-vm.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-vtophys.o /tmp/selfgz3760/NV
   IDIA-Linux-x86_64-440.64/kernel/nvidia/os-interface.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/os-mlock.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/os-pci.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/os-registry.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/os-usermap.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-modeset-interface.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-pci-table.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-kthread-q.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-memdbg.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-ibmnpu.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-report-err.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-rsync.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-msi.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv_uvm_interface.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/
   nvidia/nvlink_linux.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/linux_nvswitch.o
   ld -r -o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-modeset/nv-modeset-interface.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-modeset/nvidia-modeset-linux.o /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-modeset/nv-kthread-q.o
     LD [M]  /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia.o
     LD [M]  /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-uvm.o
     LD [M]  /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-modeset.o
     LD [M]  /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-drm.o
     Building modules, stage 2.
     MODPOST 4 modules
     CC      /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-drm.mod.o
     CC      /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-modeset.mod.o
     CC      /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-uvm.mod.o
     CC      /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia.mod.o
     LD [M]  /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-drm.ko
     LD [M]  /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-modeset.ko
     LD [M]  /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia-uvm.ko
     LD [M]  /tmp/selfgz3760/NVIDIA-Linux-x86_64-440.64/kernel/nvidia.ko
   make[2]: Leaving directory '/usr/src/linux-headers-4.19.0-5-amd64'
   make[1]: Leaving directory '/usr/src/linux-headers-4.19.0-5-common'
-> done.
-> Kernel module compilation complete.
-> Unable to determine if Secure Boot is enabled: No such file or directory
ERROR: Unable to load the kernel module 'nvidia.ko'.  This happens most frequently when this kernel module was built against the wrong or improperly configured kernel sources, with a version of gcc that differs from the one used to build the target kernel, or if another driver, such as nouveau, is present and prevents the NVIDIA kernel module from obtaining ownership of the NVIDIA GPU(s), or no NVIDIA GPU installed in this system is supported by this NVIDIA Linux graphics driver release.

Please see the log entries 'Kernel module load error' and 'Kernel messages' at the end of the file '/var/log/nvidia-installer.log' for more information.
-> Kernel module load error: Exec format error
-> Kernel messages:
[   45.434067] device virbr0-nic entered promiscuous mode
[   45.596971] virbr0: port 1(virbr0-nic) entered blocking state
[   45.596974] virbr0: port 1(virbr0-nic) entered listening state
[   45.649227] virbr0: port 1(virbr0-nic) entered disabled state
[   45.992370] IPv6: ADDRCONF(NETDEV_UP): wlp6s0: link is not ready
[   46.011622] fuse init (API version 7.27)
[   47.101122] wlp6s0: authenticate with ac:c6:62:d6:73:d0
[   47.117752] wlp6s0: send auth to ac:c6:62:d6:73:d0 (try 1/3)
[   47.136812] wlp6s0: authenticated
[   47.140157] wlp6s0: associate with ac:c6:62:d6:73:d0 (try 1/3)
[   47.151008] wlp6s0: RX AssocResp from ac:c6:62:d6:73:d0 (capab=0x1411 status=0 aid=2)
[   47.151104] wlp6s0: associated
[   47.766311] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   47.766313] Bluetooth: BNEP filters: protocol multicast
[   47.766317] Bluetooth: BNEP socket layer initialized
[   49.184350] rfkill: input handler disabled
[   49.617288] IPv6: ADDRCONF(NETDEV_CHANGE): wlp6s0: link becomes ready
[   61.425427] rfkill: input handler enabled
[  358.406025] version 39.2
[  358.408000] ipmi device interface
[  358.417950] nvidia: loading out-of-tree module taints kernel.
[  358.417958] nvidia: module license 'NVIDIA' taints kernel.
[  358.417958] Disabling lock debugging due to kernel taint
[  358.424853] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[  358.428122] module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1, loc 000000005799fa54, val ffffffffc1bbe68a
ERROR: Installation has failed.  Please see the file '/var/log/nvidia-installer.log' for details.  You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.

I will try with an earlier driver, 390~ and report back.