Package Details: nvidia-390xx 390.151-1

Git Clone URL: (read-only, click to copy)
Package Base: nvidia-390xx
Description: NVIDIA drivers for linux, 390xx legacy branch
Upstream URL:
Keywords: 400 500 600 GeForce nvidia
Licenses: custom
Conflicts: nvidia
Submitter: Svenstaro
Maintainer: jonathon
Last Packager: jonathon
Votes: 54
Popularity: 0.187726
First Submitted: 2020-03-11 17:30 (UTC)
Last Updated: 2022-05-16 19:12 (UTC)

Pinned Comments

jonathon commented on 2020-10-19 12:40 (UTC) (edited on 2021-02-18 21:18 (UTC) by jonathon)


I have adopted the 390xx packages to keep them secure. I do not run any 390xx hardware so will not notice any breakages and cannot test any changes.

Until such time as someone else steps up to maintain these packages - ideally someone who actually has 390xx hardware - I have to rely on you to tell me what changes are needed.

Don't expect a response if you post only "this doesn't work", and do not email me to complain about the package not working!

Use this forum thread for discussion:

forcegk commented on 2020-03-20 02:18 (UTC)

Hello, I'd recommend to you all using the nvidia-390xx-dkms package. If anyone here knows how to change the script in order for the package to recompile every time linux kernel gets updated, please let me know via email. Thank you.

Latest Comments

jonathon commented on 2022-06-08 14:45 (UTC)

Please open a thread on the forum rather than trying to use package comments for troubleshooting.

prashanthvsdvn commented on 2021-12-19 07:03 (UTC)

Kindly change line 38 from install -Dm644 /usr/share/licenses/nvidia-dkms/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" to install -Dm644 /usr/share/licenses/nvidia-390xx-dkms/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" to avoid packaging error

CyrIng commented on 2021-09-19 19:00 (UTC)

Since a while 390xx is crashing while lower states. Sometimes XID, other no log. Despite being less optimized, Kernel 5.14 mainstream GPU driver is however stable.

wcale commented on 2021-09-17 10:31 (UTC)

Thank you, I forgot to upgrade the tools! Of course this solved the issue and now everything compiles without problems.

jonathon commented on 2021-09-14 14:40 (UTC)

Compatiblity for kernel 5.14 is already present in the nvidia-390xx-utils package group. Update that package group first, then rebuild this package.

wcale commented on 2021-09-14 14:33 (UTC)


I had an error on 5.14.3-arch1, but fortunately it is easily fixable. So, if anyone gets an error like this:

nvidia-390xx/src/nvidia/390.144/build/nvidia/os-interface.c:583:18: error: ‘struct task_struct’ has no member named ‘state’; did you mean ‘__state’? 583 | current->state = TASK_INTERRUPTIBLE; | ^~~~~ | __state

There's a patch for a newer version of nvidia driver that shows necessary changes (

So, looking at the changes in the patch - I manually edited os-interface.c and nvlink_linux.c in /usr/src/nvidia-390.144/nvidia and replaced

current->state = TASK_INTERRUPTIBLE;



Then I got another error:

nvidia-390xx/src/nvidia/390.144/build/nvidia-drm/nvidia-drm-drv.c:814:10: error: ‘struct drm_device’ has no member named ‘pdev’; did you mean ‘dev’? 814 | dev->pdev = pdev; | ^~~~ | dev

as pdev was removed in the patch mentioned above, I just commented out dev->pdev = pdev; in nvidia-drm/nvidia-drm-drv.c

Driver compiled and works.

jonathon commented on 2021-04-03 18:04 (UTC)

That's correct, it's the same as how the nvidia package only works with the linux kernel.

There's very little point in having a "precompiled" package on the AUR as it needs to be recompiled for each kernel update. Therefore, unless you are compiling once for multiple machines use the DKMS package instead.

Kovalets commented on 2021-04-03 17:13 (UTC)

does not work with kernel 5.10

NullRoute commented on 2021-04-02 02:03 (UTC) (edited on 2021-04-02 02:03 (UTC) by NullRoute)

Confirmed nvidia-390xx-390.141-3 works with linux kernel 5.11.11-arch1-1 Thank you!

Kovalets commented on 2021-03-20 09:48 (UTC)

I installed linux-lts (kernel 5.10) after installing this driver, my graphical environment stopped starting. Linux kernel 5.11 installation helped how do i run this driver on kernel 5.10?

(sorry for my English)

jonathon commented on 2021-03-12 20:45 (UTC)

What do you mean, add support for 5.10? This driver has worked with kernel 5.10 for months?

Kovalets commented on 2021-03-12 20:33 (UTC)

Friends, thanks for your work! Please add support for LTS kernel 5.10

air-g4p commented on 2021-02-24 07:52 (UTC) (edited on 2021-02-24 08:38 (UTC) by air-g4p)

@jonathon - Thanks for updating the PKGBUILD with the 5.11.patch. No surprises here, but I did re-compile nvidia-390xx-dkms 390.141-2 to ensure it would build correctly for everyone else running 5.11-x kernels - and indeed, it does!

Closing out the pahole issue, heftig has already added pahole as a dependency for linux-headers 5.11.1.arch1-1.


jonathon commented on 2021-02-18 21:52 (UTC)

Thanks everyone for testing and confirmation. The pahole issue should only affect the testing branch, and heftig is looking to fix that prior to it reaching stable (

air-g4p commented on 2021-02-17 16:46 (UTC) (edited on 2021-02-18 05:28 (UTC) by air-g4p)

Great work done by @BlackIkeEagle / Ike Devolder in writing the linux-5.11.patch!

You may find it easier to use Ike's PKGBUILD:

I can confirm the patch builds without issue against the 5.11 linux and linux-zen kernels. No nvidia performance issues following reboot!

Thanks Ike!

somercet commented on 2021-02-16 14:34 (UTC) (edited on 2021-02-16 15:03 (UTC) by somercet)

Adding the linux-5.11.patch requires a new dependency: extra/pahole

Build log without pahole:

Adding this allows nvidia-390xx-dkms to build properly under linux-5.11.arch1-1.

Rebooted to test, works.

Video card is: 01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 520] (rev a1)

BlackIkeEagle commented on 2021-02-01 20:19 (UTC) (edited on 2021-02-01 20:20 (UTC) by BlackIkeEagle)

For the ones interested in refining and testing the patch for upcoming linux 5.11:

based on the initial work: and then fiddled around to make it work for 390xx

its only tested as in, the module compiles and is loadable on 5.11.x

lfercorrea commented on 2021-01-26 23:19 (UTC)

Recently, i've updated my system and noticed that 3d applications doesn't work anymore. The error is aways the same described bellow:

----- R_InitOpenGL ----- Setup X display connection dlopen( Initializing OpenGL display Using XFree86-VidModeExtension Version 2.2 DGA DirectVideo Mouse (Version 2.0) initialized Free86-VidModeExtension Activated at 1920x1080 libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast Using 8/8/8 Color bits, 8 Alpha bits, 24 depth, 8 stencil display. Fatal X Error: Major opcode of failed request: 154 Minor opcode of failed request: 6 Serial number of failed request: 57 GLXBadContext Fatal X Error: Major opcode of failed request: 154 Minor opcode of failed request: 3 Serial number of failed request: 56 BadValue (integer parameter out of range for operation) Fatal X Error: Major opcode of failed request: 154 Minor opcode of failed request: 5 Serial number of failed request: 59 BadMatch (invalid parameter attributes) GL_RENDERER: (null) GL_EXTENSIONS: (null)

lqptjq commented on 2021-01-10 18:07 (UTC)

@iron_overheat Yes (GF117 for reference). I don't think a Xorg update could be responsible for screen tearing unless they break backward compatibility. Anyway, it's now working fine with the latest update and kernel 5.10.5, thanks!

CyrIng commented on 2021-01-07 19:59 (UTC)

I have some rare flashing since day one!

iron_overheat commented on 2021-01-07 19:58 (UTC)

@lqptjq I am having extreme tearing issues as well. But I've been having them since a X.Org version update I believe, so maybe that is the culprit? Are you also on a Optimus laptop?

Regardless, someone who knows their stuff should really look into V-Sync issues with this driver. Cheers!

lqptjq commented on 2021-01-06 14:02 (UTC)

I'm facing screen tearing issues since kernel upgrade 5.10. It used to work fine on 5.9 and my Xorg configuration / kernel parameters haven't changed since then. Does anyone have VSync working on latest kernel?

jonathon commented on 2021-01-04 23:20 (UTC)

@earlybird, DKMS already is a dependency for nvidia-390xx-dkms (and has been for a long time).

earlybird commented on 2021-01-04 20:25 (UTC)

Can you add dkms as dependency please thanks

air-g4p commented on 2021-01-02 08:27 (UTC) (edited on 2021-01-02 13:03 (UTC) by air-g4p)

Fantastic! Thank you to all who contributed to the much appreciated fixes contained in the latest package base. From what I can gather that group includes at least: jonathon, loqs and some Deb devs.

I can confirm that DKMS correctly installed the nvidia-390xx module against each of my four kernels, all of which are in the 5.10.4 series.

Happy and Safe New Year to ALL!!

iaji commented on 2021-01-02 03:52 (UTC)

i just want to confirm that the latest patch (2021-01-01+UTC7) works for GT730. thanks, chief.

nadir_ishiguro commented on 2021-01-01 18:41 (UTC)

I would just like to thank you for you, jonathon. I'm very grateful for your work.

sebalis commented on 2021-01-01 17:04 (UTC)

It worked flawlessly. This is a great new year present. Thanks again!

I updated my nvidia-390xx-dkms first, so that I could report if that would still work in the 5.9 kernel. Then I did a full system upgrade to see if the DKMS install process would work. Then, for good measure, I compiled and installed nvidia-390xx-dkms again to see if that would work in the new environment. After each of these steps, I rebooted the system.

After the last reboot, as another simplistic test, I opened the most complex Calc file I have, which I developed on this Dell Latitude E6420 and with which I have seen other (even older) laptops struggle. My system performed very well on it, maybe better than before. But I can’t be sure and don’t know if this actually makes sense as a test.

One final thought: I wonder if the patch file for 5.10 should be included in this package tree instead of being pulled from Gtlab. In any case, everything went very smoothly and I’m happy and grateful.

jonathon commented on 2021-01-01 16:16 (UTC)

nvidia-uvm module support is fixed. Just update as normal.

sebalis commented on 2021-01-01 15:21 (UTC)

Can someone help me and other more general users assess the impact of losing support for CUDA and OpenCL, and also assess how likely we are to eventually get this back for the mainline linux kernel? I will have to decide whether to simply start updating again or switch to the linux-lts kernel beforehand. Personally, my interests include some of the software mentioned in – GIMP, ImageMagick and LibreOffice Calc for example. I don’t have much software that use graphics a lot – Stellarium and Celestia for example – would these be unaffected?

Many thanks to everyone who is spending time on this.

yaspoon commented on 2021-01-01 13:59 (UTC) (edited on 2021-01-01 14:02 (UTC) by yaspoon)

To get this to build on 5.10.3-arch1-1 for my Nvidia GTX 570 I had to disable nvidia-uvm as mentioned by Jonathon by changing the PKGBUILD build function from:

build() {
    cd "${_pkg}"/kernel
    make SYSSRC=/usr/src/linux module


build() {
    cd "${_pkg}"/kernel
    NV_EXCLUDE_KERNEL_MODULES=nvidia-uvm make SYSSRC=/usr/src/linux module

This disables cuda and OpenCL I should mention!

helasraizam commented on 2020-12-31 23:53 (UTC) (edited on 2020-12-31 23:54 (UTC) by helasraizam)

If you get stuck trying to downgrade like I did, just downgrade linux and linux-headers to 5.10.1:

yay -S downgrade # install downgrade from AUR
sudo downgrade linux linux-headers

then choose version 5.10.1 for both; be sure not to set PkgIgnore as the patches are nearly ready. Sorry for the spam.

jonathon commented on 2020-12-31 20:44 (UTC) (edited on 2020-12-31 20:46 (UTC) by jonathon)

Please use this forum thread for discussing issues and solutions for this driver package:

Please stop spamming the comments here with confirmation of the same issue. We know the driver is broken. Complaining isn't going to fix it.

qwq233 commented on 2020-12-31 18:22 (UTC)

FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'radix_tree_preloads

air-g4p commented on 2020-12-31 07:28 (UTC) (edited on 2020-12-31 07:29 (UTC) by air-g4p)

Unsurprisingly, DKMS threw the same errors I documented below with the 5.10.4 kernels for both linux and linux-zen, today.

However, perhaps a glimmer of New Year's hope: DKMS installed nvidia successfully against the 5.10.4.a-1-hardened kernel. Following reboot, I can confirm that optirun glxspheres64 is working correctly under the hardened kernel.

If anyone knows why DKMS is succeeding only for the hardened kernel, please explain the issue, here.

@NullRoute: good note!

Happy New Year to All!!!

air-g4p commented on 2020-12-28 05:51 (UTC) (edited on 2020-12-28 05:53 (UTC) by air-g4p)

DKMS throws the same errors against both my 5.10.3 kernels as I documented previously against my 5.10.2 kernels:

==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.3-arch1-1
Error! Bad return status for module build on kernel: 5.10.3-arch1-1 (x86_64)
Consult /var/lib/dkms/nvidia/390.138/build/make.log for more information.
==> Warning, `dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.3-arch1-1' returned 10

==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.3-zen1-1-zen
Error! Bad return status for module build on kernel: 5.10.3-zen1-1-zen (x86_64)
Consult /var/lib/dkms/nvidia/390.138/build/make.log for more information.
==> Warning, `dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.3-zen1-1-zen' returned 10

@somercet - Correct. You will also see your EXACT same FATAL build error in my 23 Dec comment.


somercet commented on 2020-12-28 01:11 (UTC)

This PKGBUILD works on 5.10.1, but not 5.10.2 or 5.10.3. The error I get on both is:

FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'radix_tree_preloads'

The full build log is here:

Using 390.138-8

If this is the end of the line for the 390xx drivers, I would like to thank everyone who's worked so hard to keep Nvidious' stupid drivers working. In my own defense, I can only say: I should have spent more than $50 on a video card all those years ago. :-P

cong_hui commented on 2020-12-25 15:35 (UTC)

I ran into some problems. This is an error file. I am using xanmod and arch kernel.

air-g4p commented on 2020-12-23 06:06 (UTC) (edited on 2020-12-23 08:34 (UTC) by air-g4p)

Despite that the nvidia-390xx package base was updated on 20 Dec, and that the latest PKGBUILD pulls in the kernel-5.10.patch and contains the correct b2sum for that file: a clean compilation today using the latest PKGBUILD (unsurprisingly) failed the exact same way as I posted yesterday.

MODPOST /home/user/.builds/nvidia-390xx/src/NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/Module.symvers FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'radix_tree_preloads' make[2]: [scripts/Makefile.modpost:111: /home/user/.builds/nvidia-390xx/src/NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/Module.symvers] Error 1 make[1]: [Makefile:1709: modules] Error 2 make[1]: Leaving directory '/usr/lib/modules/5.10.2-arch1-1/build' make: *** [Makefile:81: modules] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

Also note: the exact same build failure above also occurs when building in a clean chroot.


Zod commented on 2020-12-22 13:21 (UTC)

dkms status: nvidia, 390.138, 5.10.2-104-tkg-MuQSS, x86_64: installed

Besides chksum updates the above commit seems to be the only difference between 5.10.1 and 5.10.2 in the arch kernel

tonikelope commented on 2020-12-22 11:05 (UTC)

When the kernel and headers was upgraded today from 5.4.84-1-lts -> 5.4.85-1-lts the nvidia module was not recompiled. I had to reinstall nvidia-390xx-dkms to make it recompile with the new kernel. I don't know if it is a DKMS or PKGBUILD problem.

air-g4p commented on 2020-12-22 05:32 (UTC) (edited on 2020-12-22 08:24 (UTC) by air-g4p)

Hi Folks,

There are still problems with the kernel 5.10.X series. I pulled 3 new kernels today from the Testing repos.

As you can see, no problem with the 5.9-X kernel:

==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.9.16.a-1-hardened

However, DKMS errors out with both 5.10.2 kernels:

==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.2-zen1-1-zen
Error! Bad return status for module build on kernel: 5.10.2-zen1-1-zen (x86_64)
Consult /var/lib/dkms/nvidia/390.138/build/make.log for more information.
==> Warning, `dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.2-zen1-1-zen' returned 10

==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.2-arch1-1
Error! Bad return status for module build on kernel: 5.10.2-arch1-1 (x86_64)
Consult /var/lib/dkms/nvidia/390.138/build/make.log for more information.
==> Warning, `dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.2-arch1-1' returned 10

Then I re-compiled nvidia 390-xx with the patched PKGBUILD, and after about 6 minutes into the build, I got:

MODPOST /home/user/.builds/nvidia-390xx/src/NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/Module.symvers FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'radix_tree_preloads' make[2]: [scripts/Makefile.modpost:111: /home/user/.builds/nvidia-390xx/src/NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/Module.symvers] Error 1 make[1]: [Makefile:1709: modules] Error 2 make[1]: Leaving directory '/usr/lib/modules/5.10.2-arch1-1/build' make: *** [Makefile:81: modules] Error 2 ==> ERROR: A failure occurred in build(). Aborting...

Please let me know if you know how to fix that.


tonikelope commented on 2020-12-21 12:38 (UTC) (edited on 2020-12-21 12:39 (UTC) by tonikelope)

nvidia-dkms 390.138-8 @ Kernel 5.4.84-1-lts WORKING (Required updating PKGBUILD for using LTS KERNEL /usr/src/linux-lts)


vnctdj commented on 2020-12-20 23:16 (UTC)

Oh! That was because the file hasn't been overwritten, I had to delete it manually... Now that's OK, thanks!

jonathon commented on 2020-12-20 22:55 (UTC) (edited on 2020-12-20 22:57 (UTC) by jonathon)

Checksum seems to be correct and consistent:

$ curl -s | b2sum
8d7c054ff08ed6212aa81f3db6597c1e016609bdddfb19161274e5e75b0ae8b5c5501740ca6a75367d152b16f8350319bd2577561aa796cfe49840c4bd2c2d5d  -

vnctdj commented on 2020-12-20 22:34 (UTC)

Still a failure :/

jonathon commented on 2020-12-20 22:21 (UTC) (edited on 2020-12-20 22:22 (UTC) by jonathon)

TIL about downloading raw vs. blob.

This time it should work...

vnctdj commented on 2020-12-20 22:09 (UTC)

jonathon, it's still the same with the new checksum unfortunately.

jonathon commented on 2020-12-20 21:57 (UTC) (edited on 2020-12-20 22:16 (UTC) by jonathon)

So am I.

vnctdj commented on 2020-12-20 21:49 (UTC)

I've just tried to update the package but the new patch failed on 5.9.14-arch1-1:

[...] kernel-5.10.patch ... FAILED

I'm confused!

air-g4p commented on 2020-12-20 19:55 (UTC)

@BlackIkeEagle - yep, working perfectly on 5.9 AND 5.10:

(2/3) Install DKMS modules ==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.1-arch1-1 ==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.9.14-1-ck ==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.9.15.a-1-hardened ==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.1-zen1-1-zen ==> depmod 5.10.1-zen1-1-zen ==> depmod 5.10.1-arch1-1 ==> depmod 5.9.14-1-ck ==> depmod 5.9.15.a-1-hardened

Thanks for your effort...MUCH appreciated!!!

Merry Christmas to ALL!

Zod commented on 2020-12-20 14:26 (UTC) (edited on 2020-12-20 14:30 (UTC) by Zod)

dkms status:

nvidia, 390.138, 5.9.14-arch1-1, x86_64: installed

nvidia, 390.138, 5.10.1-arch1-1, x86_64: installed

And for good measure..

nvidia, 390.138, 5.10.1-103-tkg-MuQSS, x86_64: installed

All done with the Herecura kernel-5.10.patch

BlackIkeEagle commented on 2020-12-20 08:58 (UTC)

@Cyring Glad it works, I have only tested the compilation part.

CyrIng commented on 2020-12-19 20:40 (UTC)

@BlackIkeEagle: thanks, the Herecura's packages at Gitlab work perfectly with kernel 5.10

BlackIkeEagle commented on 2020-12-19 17:11 (UTC)

Hi, the following patch:, based on the work of @xtrymind works for 5.4, 5.9 and 5.10

iron_overheat commented on 2020-12-18 18:29 (UTC) (edited on 2020-12-18 18:30 (UTC) by iron_overheat)

My bad. I had forgotten to add

patch -Np1 -i ../kernel-5.10.patch

I had added b2sum= and source= but forgotten to add this crucial part for 5.10 patch... Now works as intended. Thanks everyone, specially @xtrymind for making the patch! Hopefully @jonathon adds the patch as soon as a working cross-version PKGBUILD is made. Cheers!

air-g4p commented on 2020-12-18 13:08 (UTC)

Hi @HunabKu,

I would if I could, but I am not the Maintainer...

Good Luck

HunabKu commented on 2020-12-18 12:41 (UTC) (edited on 2020-12-18 12:43 (UTC) by HunabKu)

Hi @air-g4p,

i was this problem with no mainline kernel like zen and ck in past.

Always works with mainline kernel and nvidia-390xx-dkms package.

Please consider to use them together.

air-g4p commented on 2020-12-18 07:45 (UTC)

Hi All,

Further proof that the patched PKGBUILD will build against any 5.10 kernel - I've got linux and linux-zen (both 5.10-X) working.

However, the same patched PKGBUILD will fail against any 5.9 kernel. I built linux-ck 5.9.14-1-ck today, and got this dkms error:

==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.9.14-1-ck Error! Bad return status for module build on kernel: 5.9.14-1-ck (x86_64) Consult /var/lib/dkms/nvidia/390.138/build/make.log for more information. ==> Warning, `dkms install --no-depmod -m nvidia -v 390.138 -k 5.9.14-1-ck' returned 10

@iron_overheat - IDK anything about your kernel family, but did you try building against the project's 5.10rc kernel?


iron_overheat commented on 2020-12-17 23:34 (UTC) (edited on 2020-12-17 23:35 (UTC) by iron_overheat)

@xtrymind , I am having the exact same errors as @air-g4p. I am using TkG patched kernel (also here), which was building fine before when changing MIT to GPL on uvm_common.c and uvm_unsupported.c.

air-g4p commented on 2020-12-17 16:02 (UTC)

@Zod and @xtrymind,

Yep - PKGBUILD related.

Yes, it is now very clear this is solely a 5.10 > 5.9 issue, see:

Thanks to each of you for your effort(s), which ARE appreciated!


air-g4p commented on 2020-12-17 13:53 (UTC) (edited on 2020-12-17 13:55 (UTC) by air-g4p)

HMMH...the 5-10.patch is still failing for me from a clean installation, see:


kernel-5.10.patch ... Passed

Please let me know if you have better ideas.


Zod commented on 2020-12-17 11:51 (UTC) (edited on 2020-12-17 11:59 (UTC) by Zod)

$dkms status nvidia, 390.138, 5.10.1-arch1-1, x86_64: installed

Thanks xtrymind

somercet commented on 2020-12-17 06:07 (UTC)

xtrymind: compiled, rebooted, and works. Thank you.

01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 520] (rev a1)

xtrymind commented on 2020-12-16 20:59 (UTC)

here is my patch for 5.10 kernel, build successfully and ran it on my pc

air-g4p commented on 2020-12-16 07:21 (UTC) (edited on 2020-12-16 07:26 (UTC) by air-g4p)

Hi All,

390xx-dkms ran correctly for me throughout the 5.9-X kernel series. However, after installing the 5.10 kernel today, dkms threw this error:

 ==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.1-arch1-1
Error! Bad return status for module build on kernel: 5.10.1-arch1-1 (x86_64)
Consult /var/lib/dkms/nvidia/390.138/build/make.log for more information.
==> Warning, `dkms install --no-depmod -m nvidia -v 390.138 -k 5.10.1-arch1-1'     returned 10

For anyone interested the entire make.log is here:

As expected, following reboot, I get the dreaded:

$ optirun glxspheres64

[  106.241443] [ERROR]Cannot access secondary GPU - error: [XORG] (EE)    Failed to load module "nouveau" (module does not exist, 0)

[  106.241494] [ERROR]Aborting because fallback start is disabled.

Please let me know if you have any thoughts about this.


xtrymind commented on 2020-12-15 23:11 (UTC)

@iron_overheat try this patch

but i'm stuck with ERROR: modpost: "swiotlb" [/linux/nvidia-390xx/src/NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia.ko] undefined!

iron_overheat commented on 2020-12-15 20:38 (UTC) (edited on 2020-12-15 21:01 (UTC) by iron_overheat)

@jonathon I'm awaiting for 5.10 kernel support. Is that entirely on nvidia's side, or can you create a 5.10 patch? Once again, here are my errors, but in code format in case my previous attempt was ignored due to an external pastebin:

/home/l0linux/.cache/yay/nvidia-390xx/src/NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c: In function


/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c:50:48: error: passing 
argument 1 of ‘drm_prime_pages_to_sg’ from incompatible pointer type 

   50 |     return drm_prime_pages_to_sg(nv_user_memory->pages,    
      |                                  ~~~~~~~~~~~~~~^~~~~~~    
      |                                                |    
      |                                                struct page **

In file included from /home/l0linux/.cache/yay/nvidia-390xx/src/NVIDIA-Linux-
./include/drm/drm_prime.h:91:59: note: expected ‘struct drm_device *’ but 
argument is of type ‘struct page **’

   91 | struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,    
      |                                        ~~~~~~~~~~~~~~~~~~~^~~

compat32/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c:51:48: warning: 
passing argument 2 of ‘drm_prime_pages_to_sg’ makes pointer from integer 
without a cast [-Wint-conversion]

   51 |                                  nv_user_memory->pages_count);    
      |                                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~    
      |                                                |    
      |                                                long unsigned int

In file included from /home/l0linux/.cache/yay/nvidia-390xx/src/NVIDIA-Linux-
./include/drm/drm_prime.h:92:26: note: expected ‘struct page **’ but argument 
is of type ‘long unsigned int’

   92 |            struct page **pages, unsigned int nr_pages);    
      |            ~~~~~~~~~~~~~~^~~~~

compat32/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c:50:12: error: too few 
arguments to function ‘drm_prime_pages_to_sg’

   50 |     return drm_prime_pages_to_sg(nv_user_memory->pages,    
      |            ^~~~~~~~~~~~~~~~~~~~~

In file included from /home/l0linux/.cache/yay/nvidia-390xx/src/NVIDIA-Linux-
./include/drm/drm_prime.h:91:18: note: declared here

   91 | struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,    
      |                  ^~~~~~~~~~~~~~~~~~~~~

compat32/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c:52:1: error: control 
reaches end of non-void function [-Werror=return-type]

   52 | }    
      | ^

cc1: some warnings being treated as errors

make[2]: *** [scripts/ /home/l0linux/.cache/yay/nvidia-
drm-gem-user-memory.o] Error 1

make[1]: *** [Makefile:1805: /home/l0linux/.cache/yay/nvidia-390xx/src
/NVIDIA-Linux-x86_64-390.138-no-compat32/kernel] Error 2

maxx77 commented on 2020-12-15 15:21 (UTC)

@jonathon Just doing

yay -S nvidia-390xx-dkms

I reinstall linux-headers but still the same error.

jonathon commented on 2020-12-15 13:28 (UTC) (edited on 2020-12-15 13:29 (UTC) by jonathon)

@maxx77, /usr/src/linux is provided by linux-headers which is a makedepends of the package. Your error implies that your setup is broken or you are ignoring package dependencies during build.

maxx77 commented on 2020-12-15 12:48 (UTC) (edited on 2020-12-15 12:48 (UTC) by maxx77)

Not working with kernel 5.4.80-2

Creating directory NVIDIA-Linux-x86_64-390.138-no-compat32
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 390.138....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
patching file kernel/common/inc/nv-linux.h
patching file kernel/
Hunk #1 succeeded at 2045 (offset 139 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file kernel/common/inc/nv-linux.h
Hunk #1 succeeded at 535 (offset 4 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file kernel/common/inc/nv-mm.h
(Stripping trailing CRs from patch; use --binary to disable.)
patching file kernel/
Hunk #1 succeeded at 4072 (offset 5 lines).
(Stripping trailing CRs from patch; use --binary to disable.)
patching file kernel/nvidia/nvidia.Kbuild
patching file kernel/common/inc/nv-linux.h
patching file kernel/common/inc/nv-mm.h
patching file kernel/
patching file kernel/nvidia-drm/nvidia-drm-drv.c
patching file kernel/nvidia-drm/nvidia-drm-gem.h
patching file kernel/nvidia-drm/nvidia-drm-utils.c
patching file kernel/nvidia-uvm/uvm8_tools.c
patching file kernel/nvidia-uvm/uvm8_va_range.h
patching file kernel/nvidia/nv.c
==> Les sources sont prêtes.
==> Création du paquet nvidia-390xx 390.138-7 (mar 15 déc 2020 13:19:26)
==> Vérification des dépendances pour l’exécution…
==> Vérification des dépendances pour la compilation…
==> ATTENTION : Utilisation de l’arbre $srcdir/ existant
==> Suppression du répertoire $pkgdir/ existant…
==> Lancement de build()…
make[1]: *** /usr/src/linux : Aucun fichier ou dossier de ce type. Arrêt.
make: *** [Makefile:81 : modules] Erreur 2
==> ERREUR : Une erreur s’est produite dans build().
error making: nvidia-390xx (nvidia-390xx-dkms)

iron_overheat commented on 2020-12-14 19:27 (UTC)

Sorry for asking early but is 5.10 patch coming? 5.9 patch fails to manually build using 5.10 headers. Here are my errors:

riazufila commented on 2020-11-30 00:47 (UTC)

@anjanik012 Thanks for that info.

I have Linux Zen as my kernel. I need to install linux-zen-headers along with nvidia-390xx-dkms right? But why is the dependencies not included with linux-zen-headers? Or am I okay with linux-headers?

anjanik012 commented on 2020-11-28 11:20 (UTC)

@riazufila Install nvidia-390xx-dkms instead of nvidia-390xx.

riazufila commented on 2020-11-24 07:16 (UTC)

How to I recompile this package after every kernel update?

air-g4p commented on 2020-11-02 06:56 (UTC)

@jonathon - I just wanted to thank you for stepping up to become the temporary maintainer of this package which is important to many folks!

Whatever you are currently doing is working well.

nvidia-390xx-dkms 390.138-7 builds without error and my nVidia DKMS kernel modules are installing correctly, including against 5.9.3-arch1-1 (still in the testing repos), which I grabbed today.


susanne commented on 2020-10-26 09:19 (UTC)

worked - many thanks @engelmarkus, you made my day :-)

engelmarkus commented on 2020-10-25 22:10 (UTC) (edited on 2020-10-25 22:12 (UTC) by engelmarkus)

@susanne, as a workaround try the following:

> makepkg --nobuild

Go to the folder where your packages are usually built and open these two files:


Replace the two lines saying "MODULE_LICENSE("MIT");" with "MODULE_LICENSE("GPL");". Then run

> makepkg --noextract -i

and you're done.

Btw, for paragraphs leave a blank line in between.

susanne commented on 2020-10-25 18:28 (UTC) (edited on 2020-10-25 18:31 (UTC) by susanne)

jonathon, thanks a lot for temporarily taking care of this package (unfortunately my skills are far too low to do the job) I got an error message, when trying to build the module for linux-rt-5.9.1 . It worked flawlessly with previous rt-versions): ..... ld -r -o /var/lib/dkms/nvidia/390.138/build/nvidia-modeset/nv-modeset-interface.o /var/lib/dkms/nvidia/390.138/build/nvidia-modeset/nvidia-modeset-linux.o LD [M] /var/lib/dkms/nvidia/390.138/build/nvidia-drm.o MODPOST /var/lib/dkms/nvidia/390.138/build/Module.symvers FATAL: modpost: GPL-incompatible module nvidia-uvm.ko uses GPL-only symbol 'migrate_enable' make[2]: [scripts/Makefile.modpost:111: /var/lib/dkms/nvidia/390.138/build/Module.symvers] Fehler 1 make[1]: [Makefile:1697: modules] Fehler 2 make[1]: Verzeichnis „/usr/lib/modules/5.9.1-rt18-2-rt/build“ wird verlassen make: *** [Makefile:81: modules] Fehler 2 .... would be great if you by chance find some minutes to have a look into it... many thanks in advance, Suse unfortunately I have no clue how to insert paragraphs for better reading :-(

m31aur commented on 2020-10-20 15:00 (UTC)

Works charmingly on 5.4 - 5.8 and 5.9 Thank you all.

jonathon commented on 2020-10-19 12:40 (UTC) (edited on 2021-02-18 21:18 (UTC) by jonathon)


I have adopted the 390xx packages to keep them secure. I do not run any 390xx hardware so will not notice any breakages and cannot test any changes.

Until such time as someone else steps up to maintain these packages - ideally someone who actually has 390xx hardware - I have to rely on you to tell me what changes are needed.

Don't expect a response if you post only "this doesn't work", and do not email me to complain about the package not working!

Use this forum thread for discussion:

CyrIng commented on 2020-10-19 09:04 (UTC)

Thank you. It works with kernel 5.9.1

anjanik012 commented on 2020-10-19 05:15 (UTC)

Now working for 5.4.72-1-lts. Thanks for the quick fix :)

jonathon commented on 2020-10-18 23:36 (UTC)

Thanks to loqs this should now work for both 5.4 and 5.9.

anjanik012 commented on 2020-10-18 21:07 (UTC) (edited on 2020-10-18 21:09 (UTC) by anjanik012)

@SimPS For kernel 5.4.72-1-lts I downgraded PKGBUILD to commit a6dfb5c85dfb and removed some parts

diff --git a/PKGBUILD b/PKGBUILD
index b844031..6d2805f 100644
@@ -4,7 +4,7 @@
 # Contributor: Thomas Baechler <>

-pkgname=(nvidia-390xx nvidia-390xx-dkms)
 pkgdesc="NVIDIA drivers for linux, 390xx legacy branch"
@@ -70,22 +70,6 @@ build() {
     make SYSSRC=/usr/src/linux module

-package_nvidia-390xx() {
-    pkgdesc="NVIDIA drivers for linux, 390xx legacy branch"
-    depends=('linux' "nvidia-390xx-utils=${pkgver}" 'libglvnd')
-    _extradir="/usr/lib/modules/$(</usr/src/linux/version)/extramodules"
-    install -Dt "${pkgdir}${_extradir}" -m644 \
-      "${srcdir}/${_pkg}/kernel"/nvidia{,-modeset,-drm,-uvm}.ko
-    find "${pkgdir}" -name '*.ko' -exec gzip -n {} +
-    echo "blacklist nouveau" |
-        install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf"
-    install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE"
 package_nvidia-390xx-dkms() {
     pkgdesc="NVIDIA driver sources for linux, 390xx legacy branch"
     depends=('dkms' "nvidia-390xx-utils=$pkgver" 'libglvnd')

Now the driver is working for now on lts kernel. I'll use it until there is a patch available for lts

SimPS commented on 2020-10-18 17:03 (UTC)

5.4.72 - lts kernel broke driver. Could you fix it please?

forcegk commented on 2020-10-18 17:01 (UTC)

Hi guys, this year seems to be taking me even more time, so I decided to leave the maintainership of the package, as no one emailed me about taking over it, and also, I am now practically not using the nvidia laptop anymore, so I am not the right person to maintain this AUR. Thank you @sebalis for the message, and also to all amazing people I exchanged emails with for fixing bugs and more. See ya!

commented on 2020-10-18 12:54 (UTC)

make a patch for lts kernel please

sebalis commented on 2020-10-18 11:52 (UTC)

(Disregard my comment about timing – kernel 5.9 is out right now.)

sebalis commented on 2020-10-18 11:46 (UTC)

Many, many thanks both to @forcegk for taking the maintainer role until two days ago and to @jonathon for changing the PGKBUILD a few moments ago. I only do regular updates so I won’t know for a while if it works for me, but this is very hopeful. Thanks to you I can continue using my trusted laptop – and this goes to everyone posting fixes too). How can we keep this package going in the long run?

gruntz commented on 2020-10-18 07:56 (UTC) (edited on 2020-10-18 08:01 (UTC) by gruntz)

This is how I build the package for kernel 5.9:

1) Git clone the "Git Clone URL:" above as usual.
2) Go to and copy the loqs`s patch into the cloned source, and name it, for example, "kernel-5.9.patch"
3) Generate hash sum for the new file with: "sha256sum kernel-5.9.patch" command ( replace filename if needed )
4) Edit "PKGBUILD", and add:
4.1) kernel-5.9.patch to the "source" array;
4.2) add the generated sum to "sha256sums" array;
4.3) add "patch -Np1 -i ../kernel-5.9.patch" in the "prepare()" section;
5) Save file, exit, and makepkg as normal.

HunabKu commented on 2020-10-16 17:03 (UTC)

maintainer is gone :(

somercet commented on 2020-10-14 19:44 (UTC)

Sorry, but kernel 5.9 broke the driver again. Can anyone check this?

local/linux 5.9.arch1-1 local/linux-api-headers 5.8-1

makepkg -Cf build log:

s0lid7 commented on 2020-09-20 16:04 (UTC)

I'm using nvidia 630gt and since last update i can not boot using nvidia driver. Using onboard (intel) graphics boots normally. I tried susanne's advice to downgrade xorg-server and xorg-server-common to version 1.20.8-3. Rokero's advice didn't help either since there is no such file for me. I did though regenerate nvidia-xconfig but still no luck.

It is the third time in last 6 months that the same (?) problem occurs and it is frustrating since i can not use programs which require opengl 3.3. If there is a way to help avoiding that kind of issues i would be happy to help.

knaick commented on 2020-09-09 17:49 (UTC)

@forcegk I am new to kernel related issues. What can I do to help getting this driver working again ?? Where should I start looking ?

forcegk commented on 2020-09-09 14:24 (UTC)

@air-g4p :D

air-g4p commented on 2020-09-09 14:19 (UTC)


I really appreciate your follow-up comments, but I am a pretty sure we were both concurrently cross-typing. No, I am not mad at you...and of course, I have never had an expectation of professional support. Do I get frustrated (and sometimes) vent when things break? Sure, pretty much the human condition.

I am glad you told me you are watching the comments. I will try to offer only constructive comments.

If you know 'grazzolini' on #archlinux you might want to have one or more chats with him. IIRC, he used to maintain nvidia-390xx, and is really smart!

Keep up the good work @forecegk! Your efforts are appreciated!


air-g4p commented on 2020-09-09 14:03 (UTC)


Sorry if my critique came across too strong. The best I could ever hope to do as a Maintainer is exactly what you are doing already: merging upstream patches!

Sure, do I wish we had a highly skilled dev to maintain this AUR? However, I am NOT that person. Of course, finding such a dev is very unlikely to happen.

@forcegk - thank you for your efforts to date, and please check the comments here frequently - as it is obvious many folks care deeply about 'our'/this AUR!


forcegk commented on 2020-09-09 14:01 (UTC)

@air-g4p, at this point I do not know if you are mad at me or not for the package being broken for some setups. Wether are you or not, I encourage you to take over the packages and fix them by yourself, as I do not experience any problem with them, thus being unable to debug them, and so I need your collaboration.

Anyway, in my opinion, I get why you might be mad, this is not working for you, and we people tend to get frustrated when things do not work, but I do not work at NVIDIA and so, you should expect unprofessional maintenance of this package at least.

Keep in mind that I always read all comments and try to merge suggested changes asap.

air-g4p commented on 2020-09-09 13:50 (UTC)

@adriaticc - superLOLs at the 'Comrade' bit, given my lifelong vehement opposition to the many spectacularly failed global attempts to implement 'Communism'!

However, if you meant 'Comrade' in the sense that we only have each other to rely on to figure out how to 'unbreak' this broken AUR - that part I am in 100% agreement with!

Thank you for your suggestion to comment out: BusID "PCI:01:00:0" despite the config file advice that it should not be needed unless two nVidia cards concurrently exist on the same system, UNLIKE my Optimus setup.

In any event, following reboot, I can successfully run: optirun XXX. Therefore, I do appreciate your input! I have no intention of modifying my kernel boot options as I run 4 kernels, and optirun is currently working.

Cheers Comrade!

medicineman25 commented on 2020-09-08 00:49 (UTC) (edited on 2020-09-08 00:49 (UTC) by medicineman25)

@susanne, thank you for the link. I tried to downgrade all the way to 7.1 and it did not work.

Any suggestions on how to make this work would be fantastic. I can run nouveau for now but can't get SLI with that and thus can't stretch my card to play AAA like Doom (which, yes: does work with two SLI'd Quadro5000s)

The error seems to occur after creating an xorg.conf with nvidia-xconfig. The driver listed is "nvidia" and it finds it but is unable to initialize so I'm guessing an ABI issue?

Happy to post xorg.conf later if that helps.

adriaticc commented on 2020-09-08 00:05 (UTC) (edited on 2020-09-08 00:10 (UTC) by adriaticc)

Comrade @air-g4p this is the user repository, and this is a package for a driver no longer supported by Archlinux, so WE are pretty much "downstream" :)

I just tested optimus-manager and found that it works fine, but optirun and bumblebee produced the "Cannot access secondary GPU" error mentioned below. As per the archwiki, I had to add a line to my /etc/bumblebee/xorg.conf.nvidia file specifying the pci bus id. The line should already be there commented out, but you will need to replace the actual bus id from lspci, converting hex digits to decimal.

With this change and a restart of bumblebeed.service, I was able to use optirun, but only intermittently. The output of dmesg showed XID numbers which I learned are NVIDIA error codes. After installing bbswitch, the problem went away and I was able to use optirun flawlessly. Does this work for you?

Edit: I should note that I also use nvidia-drm.modeset=1 on my kernel command line, in case that matters.

forcegk commented on 2020-09-07 18:59 (UTC)

Um, it seems like there is some trouble going on the comments. For clarification: No, I don't have the expertise to debug, make the patches necessary, etc to maintain the package, I just merge them, because there was a time where it had no maintainer and I needed to update it, so I took over.

If someone is willing to be maintainer, not only I don't mind transferring the "maintainership", but I also encourage that one person to take over, as I don't use an nvidia-390xx card on my main machine.

So, @air-g4p, don't worry, you are right, and I agree with you completely. Would you like to be maintainer?

(Also, today I checked and optimus is working for me with optimus-manager and bbswitch)

Best regards

air-g4p commented on 2020-09-07 16:19 (UTC) (edited on 2020-09-07 16:28 (UTC) by air-g4p)

@adriatcc Please maintain your composure. I never suggested @forcegk was actively blocking a new maintainer.

I did imply that @forcegk's current level of maintenance is: inadequate.

Downstream needs to watch Upstream, and adapt, as required, period.

And YES, I REQUIRE switching between Intel and nVidia graphics, otherwise I would have never purchased an Optimus laptop!

adriaticc commented on 2020-09-07 15:58 (UTC)

@air-g4p let's not criticize the volunteers who give what they can. Unless there's evidence that @forcegk is actively preventing an interested maintainer from taking over, their contribution thus far does not mean they owe us the additional work of somehow finding an interested maintainer.

Let's simply collaborate to solve bugs as is tradition in collaborative communities like this. The package is working fine for me (with and without dkms), but I've stopped using card switching and instead use the nvidia card exclusively. Have you tried that approach yet? What were your findings?

air-g4p commented on 2020-09-07 15:34 (UTC) (edited on 2020-09-07 15:37 (UTC) by air-g4p)

@susanne While I appreciate you taking the time to find and test a temporary workaround solution involving an intentional downgrade of both xorg-server and xorg-server-common packages, this results in a 'partially upgraded' system status, which is/are 100% NON-supported by Arch devs!

It would be far more preferable for those of who care about 390-xx to obtain a Maintainer who actually actively maintained THIS AUR, as opposed to someone merely checking in every 1-2 months, or so.

Seriously, @forcegk, if you neither have the time, nor the requisite expertise to maintain this AUR, please find someone who has both, and transfer control to them!


susanne commented on 2020-09-05 16:32 (UTC)

@medicineman25 you will find the 2 packages on , good luck!

medicineman25 commented on 2020-09-05 09:29 (UTC)

@susanne would you be able to make a package of that xorg version, or just emailing it to me so I can downgrade?

I just built a fresh system today and I'm getting:


(EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please seee..m....... (EE) No devices detected Fatal server error: (EE) no screens found

It's definitely the right driver. I tried rebuilding with nvidia-xconfig but no idice.

susanne commented on 2020-09-02 10:02 (UTC)

I was facing the same issues as @rokero on my Optimus-laptop, downgrading both xorg-server and xorg-server-common to version 1.20.8-3 today did the trick for me

air-g4p commented on 2020-09-02 09:01 (UTC)


It appears there is something very broken with nvidia-390xx-dkms 390.138-5.

For example: I compiled the latest linux-ck today. That build and my DKMS modules installed without error:

==> dkms install --no-depmod -m bbswitch -v 0.8 -k 5.7.19-1-ck ==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.7.19-1-ck ==> dkms install --no-depmod -m vboxhost -v 6.1.12_OSE -k 5.7.19-1-ck ==> depmod 5.7.19-1-ck

However, following reboot into linux-ck, I see, similar to rokero, below:

~ > $ optirun glxspheres64 [ 95.026724] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected.

[ 95.026821] [ERROR]Aborting because fallback start is disabled. ~ > [0] $ primusrun glxspheres64 primus: fatal: Bumblebee daemon reported: error: [XORG] (EE) No devices detected.

I am getting these same errors on each of my other three (fully updated) kernels.

Please work to identify and correct the root cause(s) of these failures.

Thank you...

HunabKu commented on 2020-08-29 10:51 (UTC) (edited on 2020-08-29 10:54 (UTC) by HunabKu)

try to delete (if exists) the nvidia conf file in /etc/X11/ or /etc/X11/xorg.conf.d/
and regenerate with sudo nvidia-xconfig.

Tip: nvidia-xconfig need xorg devel package to be installed.

HunabKu commented on 2020-08-29 10:51 (UTC) (edited on 2020-08-29 10:52 (UTC) by HunabKu)

@rokero try to delete (if exists) the nvidia conf file in /etc/X11/ or /etc/X11/xorg.conf.d/
and regenerate with sudo nvidia-xconfig.

tips: nvidia-xconfig need xorg devel package to be installed.

rokero commented on 2020-08-27 10:19 (UTC)

[ 495.021820] [ERROR]Cannot access secondary GPU - error: [XORG] (EE) No devices detected.

[ 495.021870] [ERROR]Aborting because fallback start is disabled.

problem driver, no detected secundary GPU.

onyx67 commented on 2020-08-18 14:36 (UTC)

problem solved with the version >> nvidia-390xx-dkms 390.138-5

air-g4p commented on 2020-08-17 04:37 (UTC)

@ forcegk,

nvidia-390xx-dkms 390.138-5 compiled and installed correctly against all four of my kernels:

==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.8.1-zen1-1-zen ==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.7.15.a-1-hardened ==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.8.1-arch1-1 ==> dkms install --no-depmod -m nvidia -v 390.138 -k 5.7.14-1-ck

Thank you for your good work done here!

deliodc commented on 2020-08-16 21:55 (UTC)


onyx67 commented on 2020-08-16 09:57 (UTC) (edited on 2020-08-16 13:40 (UTC) by onyx67)

I had an error during the update.It seems that the sources are no longer compatible with the latest Linux kernel. Here is the error during the update:

dkms install --no-depmod -m nvidia -v 390.138 -k 5.8.1-arch1-1 [2020-08-15T15:12:48+0200] [ALPM-SCRIPTLET] Error! Bad return status for module build on kernel: 5.8.1-arch1-1 (x86_64) 2020-08-15T15:12:48+0200] [ALPM-SCRIPTLET] Consult /var/lib/dkms/nvidia/390.138/build/make.log for more information. [2020-08-15T15:12:48+0200] [ALPM-SCRIPTLET] ==> Warning, `dkms install --no-depmod -m nvidia -v 390.138 -k 5.8.1-arch1-1' returned 10

The last few lines of the log: make [2]: [scripts/ /var/lib/dkms/nvidia/390.138/build/nvidia/nv-instance.o] Error 1 make [2]: Waiting for unfinished business... make [2]: [scripts/ /var/lib/dkms/nvidia/390.138/build/nvidia/nv-gpu-numa.o] Error 1 make [2]: [scripts/ /var/lib/dkms/nvidia/390.138/build/nvidia/nv-frontend.o] Error 1 make [2]: [scripts/ /var/lib/dkms/nvidia/390.138/build/nvidia/nv.o] Error 1 make [1]: [Makefile:1756: /var/lib/dkms/nvidia/390.138/build] Error 2 make[1]: exit the directory "/usr/lib/modules/5.8.1-arch1-1/build". make: *** [Makefile:81: modules] Error 2

SimPS commented on 2020-08-15 06:18 (UTC)

@adriaticc how should I use this patch? I don't know, could you please explain me?

adriaticc commented on 2020-08-15 06:10 (UTC) (edited on 2020-08-15 06:21 (UTC) by adriaticc)

@forcegk This simplified patch skips the stuff and just adapts __vmalloc and mmap_sem. I did this before I noticed the Debian patch, which I assume is more complicated because Debian kernels are more heavily patched, meaning they have to actually check the args of __vmalloc rather than going by the kernel version.

diff -ur NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-linux.h NVIDIA-Linux-x86_64-390.138-no-compat32.patched/kernel/common/inc/nv-linux.h
--- NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-linux.h    2020-08-14 22:55:11.263087850 -0700
+++ NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-linux.h    2020-08-14 22:56:44.029754054 -0700
@@ -535,7 +535,11 @@

 static inline void *nv_vmalloc(unsigned long size)
+    void *ptr = __vmalloc(size, GFP_KERNEL);
     void *ptr = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
     if (ptr)
         NV_MEMDBG_ADD(ptr, size);
     return ptr;
diff -ur NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-mm.h NVIDIA-Linux-x86_64-390.138-no-compat32.patched/kernel/common/inc/nv-mm.h
--- NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-mm.h   2020-05-14 05:29:21.000000000 -0700
+++ NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-mm.h   2020-08-14 22:57:42.109753768 -0700
@@ -29,6 +29,11 @@
 typedef int vm_fault_t;

+#include <linux/version.h>
+#define mmap_sem mmap_lock
 /* get_user_pages
  * The 8-argument version of get_user_pages was deprecated by commit

SimPS commented on 2020-08-15 05:50 (UTC)

Not working with 5.8 kernel. How should I fix it?

air-g4p commented on 2020-08-11 08:25 (UTC) (edited on 2020-08-11 08:34 (UTC) by air-g4p)


nvidia-390xx-dkms 390.138-3 breaks against my 5.8.X kernels, including linux and zen.

Please re-compile your dkms package to support the 5.8.X kernel series.


nyyu commented on 2020-08-09 08:07 (UTC)


somercet commented on 2020-08-05 04:06 (UTC) (edited on 2020-08-11 15:32 (UTC) by somercet)

Added the kernel-5.8.patch to the PKGBUILD and 5.8.arch1-2 compiled properly. TY!

somercet commented on 2020-07-31 00:50 (UTC)

Thanks forcegk and everyone, I rebuilt the driver/utils/opencl (390.138-3) under 5.7.11-arch1-1, rebooted, and it worked.

Saccy commented on 2020-07-14 13:39 (UTC)

Problem was solved after kernel was updated to 5.7.8 (Tested on zen kernel)

Saccy commented on 2020-07-13 20:11 (UTC) (edited on 2020-07-13 20:12 (UTC) by Saccy)

Failing to start X with the latest drivers: Kernel: 5.7.7 Zen1-1 (Tested on vanilla 5.7.7 arch1-1 kernel and with the LTS kernel) Executing my usual '$startx .xinitrc' directs me to X log, where the following is printed: All NVIDIA Errors: Failed to initialize the NVIDIA kernel module. Please see the system's kernel log for additional error messages and consult the NVIDIA README for deatils. X: Falling back to old probe method for modesetting' and the above is repeated again, after which X stops

'$dmesg' provides: All NVRM: API mismatch: the client has the version 390.138, but this kernel module has the version 390.132. Please make sure that this kernel module and all NVIDIA driver components have the same version. - Twice as X repeated the attempt.

Had dependency issues while updating using yay so had to fully reinstall the NVidia 390xx packages. Updated from 390.132-38 to 390.138-3. All packages up to date as per 13th July. Kernel modules loaded: i915, nvidia, nvidia_modeset nvidia_uvm, nvidia_drm This is on a Optimus laptop, GPU: GeForce 820M

sebalis commented on 2020-07-09 23:26 (UTC)

@friday13 – I encountered the same problem during a full upgrade, the only difference being that I’m using nvidia-390xx (not nvidia-390xx-dkms – I have learned to reinstall this package after each kernel upgrade). I solved it by removing both nvidia-390xx and nvidia-390xx-utils with dependencies (pacman -Rsc nvidia-390xx nvidia-390xx-utils) and then reinstalling nvidia-390xx.

friday13 commented on 2020-07-08 22:32 (UTC)

error: failed to prepare transaction (could not satisfy dependencies)
:: installing nvidia-390xx-utils (390.138-3) breaks dependency 'nvidia-390xx-utils=390.132' required by nvidia-390xx-dkms

clever commented on 2020-06-27 14:40 (UTC)

How to makepkg for linux-zen?

CyrIng commented on 2020-06-22 14:36 (UTC)

What helped to make it boot under 5.7 was to remove the Nvidia kernel module from the initramfs. Probably the MSI module option, also. See below.

freezeheat commented on 2020-06-22 13:53 (UTC) (edited on 2020-06-22 14:00 (UTC) by freezeheat)

@blackintel I had the same problem but in my case the Xorg hanged and a freeze that required a manual shutdown(ACPI), checking the logs didn't help, but I tried a few things and now it works, this is my scenario(this is not a step by step solution).

  1. pacman -Syyu, upgrade the system.
  2. git pull for this repository and makepkg -sirc, removal of package and reinstall of package nvidia-390xx-dkms, this time for patch 5.7.
  3. startx, Xorg starts to run(no GUI), hangs and freezes, ACPI restart.
  4. Boot without X server, retried step 2, result is the same for step 3.
  5. Tried to pacman -Rs nvidia-390xx-dkms, startx, it starts... checking Xorg logs, everything works with NVIDIA drivers(I didn't restart the machine).
  6. Reboot, now using Nouveau.
  7. Git complete reset ( WARNING it will re-download the files and remove anything that isn't supposed to be in the repo in its initial state(git clone):
    git clean -fxd
    git fetch --all
    git reset --hard origin/master
  8. makepkg -sirc, reboot, startx, works.... no idea why.

blackintel commented on 2020-06-20 20:22 (UTC)

Hey! Which kernel version is working with this package? I'm in 5.7.4 Kernel and NVIDIA Drivers doesn't work.

CyrIng commented on 2020-06-17 05:08 (UTC)

@IsaakAleksandrov No more issue with such setup:

uname -srm
Linux 5.7.2-arch1-1 x86_64

gcc --version
gcc (GCC) 10.1.0

cat /etc/modprobe.d/modprobe.conf
options nvidia NVreg_EnableMSI=1
blacklist nouveau

cat /etc/modprobe.d/modprobe.conf

cat /etc/X11/xorg.conf.d/20-nvidia.conf
Section "Device"
        Identifier "Nvidia Card"
        Driver "nvidia"
        VendorName "NVIDIA Corporation"
        BoardName "GF110 [GeForce GTX 570 Rev. 2] (rev a1)"

IsaakAleksandrov commented on 2020-06-15 12:36 (UTC)

Has the hanging started with 5.7.2 specifically, or does it happen with 5.7.1 as well? My own 5.7.1 system boots fine, though I've yet to update to 5.7.2. The only difference on my end would be that I don't run an Optimus laptop, nor with this particular 5.7 patch.

CyrIng commented on 2020-06-15 10:24 (UTC) (edited on 2020-06-15 10:25 (UTC) by CyrIng)

EFI booting from systemd-boot also hangs on a fresh kernel 5.7.2 install. Only starting in rescue mode (or single), to wait before starting X, is stable. No modeset option is used; nouveau is black-listed; nvidia-persistenced disabled

Hardware: MSI GeForce GTX570

Current kernel modules loaded:

nvidia_drm             53248  1
nvidia_modeset       1056768  6 nvidia_drm
nvidia              14733312  215 nvidia_modeset
drm_kms_helper        258048  1 nvidia_drm
drm                   581632  4 drm_kms_helper,nvidia_drm
ipmi_msghandler        73728  2 ipmi_devintf,nvidia

Kernel logs:

nvidia: loading out-of-tree module taints kernel.
nvidia: module license 'NVIDIA' taints kernel.
nvidia: module verification failed: signature and/or required key missing - tainting kernel
nvidia-nvlink: Nvlink Core is being initialized, major device number 238
nvidia 0000:0a:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
NVRM: loading NVIDIA UNIX x86_64 Kernel Module  390.132  Fri Nov  1 00:40:14 PDT 2019 (using threaded interrupts)
nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  390.132  Fri Nov  1 04:06:17 PDT 2019
[drm] [nvidia-drm] [GPU ID 0x00000a00] Loading driver
[drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:0a:00.0 on minor 0
caller _nv001015rm+0x1bf/0x1f0 [nvidia] mapping multiple BARs

Saccy commented on 2020-06-14 19:16 (UTC)

Hi, booting hangs on kernel 5.7.2 when nvidia-drm.modeset=1 is set. Optimus laptop system. When not set, Xorg does not launch and whole system freezes. Forced to boot with LTS instead of 5.7, any idea what the problem could be?

somercet commented on 2020-06-04 23:50 (UTC) (edited on 2020-06-06 23:23 (UTC) by somercet)

jopadan, IsaakAleksandrov: linux-api-headers is still 5.6.11-1 (yes, testing is enabled). linux-headers 5.7.arch1-1 is also installed. I wonder if that is a problem. I will keep checking.

jopadan commented on 2020-06-04 07:59 (UTC)

changes for 5.7 are in <asm/set_memory.h>

I wrote a patch for 5.7 to be able to compile again

IsaakAleksandrov commented on 2020-06-03 03:33 (UTC)

@somercet Sure. Try applying this: For me, at least, the driver still compiles without issue with that applied.

somercet commented on 2020-06-03 03:16 (UTC) (edited on 2020-06-04 23:50 (UTC) by somercet)

Error building under linux/linux-headers-5.7.arch1-1-x86_64:


CONFTEST: set_memory_uc
CONFTEST: set_memory_array_uc
CONFTEST: change_page_attr
CC [M] aur/nvidia-390xx/src/NVIDIA-Linux-x86_64-390.132-no-compat32/kernel/nvidia/os-usermap.o
aur/nvidia-390xx/src/NVIDIA-Linux-x86_64-390.132-no-compat32/kernel/nvidia/nv-vm.c: In function ‘nv_set_memory_array_type’:
aur/nvidia-390xx/src/NVIDIA-Linux-x86_64-390.132-no-compat32/kernel/nvidia/nv-vm.c:86:13: error: implicit declaration of function ‘set_memory_array_uc’; did you mean ‘set_pages_array_uc’? [-Werror=implicit-function-declaration]
86 | set_memory_array_uc(pages, num_pages);
| ^~~~~~~~~~~~~~~~~~~
| set_pages_array_uc

Is there a kernel-5.7.patch?

forcegk commented on 2020-05-21 22:51 (UTC)

@Artemis ok, I will take a look. I also run linux-ck-ivybridge, but I have the linux kernel installed too, firstly because if something goes wrong I have one backup kernel, and secondly for that matter. For now I'd just install linux and linux-headers if that is not a big problem. From june the 1st on, I will be having a lot more free time, and so I can try fix some problems with the package. Let me know if there is some other problem. Cheers!

Artemis commented on 2020-05-21 19:27 (UTC) (edited on 2020-05-21 19:27 (UTC) by Artemis)

I run linux-ck and the build fails because the PKGBUILD on lines 61 and 68 refers to /usr/src/linux which in my case needed to be changed to /usr/src/linux-ck-ivybridge. Can this be made so it works out of the box?

forcegk commented on 2020-05-12 09:00 (UTC)

For anyone having trouble with installing the dkms module on linux-ck 5.6.12 or other linux kernel compiled with gcc 10, you can either install gcc 10 from testing, or compile it with your (presumably gcc 9) installed compiler.

That is, executing this command after updating:

sudo IGNORE_CC_MISMATCH=1 dkms install -m nvidia -v 390.132

Running on the Linux kernel you want to install the module to.

forcegk commented on 2020-04-27 16:46 (UTC)

@iKevin that makes much more sense! Happy to hear that you figured it out. Have a nice day and tell me if you have any other problem!

iKevin commented on 2020-04-27 16:43 (UTC)

Hi @forcegk

I figured it out. No space left on device!! Wow, I have to be more careful.

iKevin commented on 2020-04-27 15:43 (UTC)

Hi @forcegk I get the same error with:

yay -S nvidia-390xx-dkms

I must have some other issue with my system. I will look more deeply into what might have gone wrong. Perhaps the package that does the "extraction" is messed up. I will get back to you and thanks for your help!!

forcegk commented on 2020-04-27 14:57 (UTC) (edited on 2020-04-27 14:58 (UTC) by forcegk)

@iKevin I don't know what you did, but I'd suggest installing nvidia-390xx-dkms. For that you could use AUR helper assistance (i.e. yay -S nvidia-390xx-dkms)

You could also do: git clone && cd nvidia-390xx && makepkg -s && sudo pacman -U nvidia-390xx-dkms-*.tar.xz

I suggest the usage of an AUR helper though. Cheers!

iKevin commented on 2020-04-27 14:49 (UTC)


I need to update the driver today and I received this error message:

Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86_64 390.132 .. Extraction failed.

Any tips on tracking down the problem? I am sure I did something wrong but don't know where to start?


engelmarkus commented on 2020-04-08 23:21 (UTC)

@chris56 If you use nvidia-390xx you need to run a "makepkg -i" every time after you've upgraded the kernel. If you use nvidia-390xx-dkms, it's enough if you "git clone && makepkg -i" the package when you get an (nonfatal) error during your system upgrade, that's usually with every major kernel update, e. g. 5.6 -> 5.7, as dkms will automatically try to recompile the kernel module.

chris56 commented on 2020-04-08 23:10 (UTC)

Does this package need to be updated every time there is a kernel update, or does it just need to be recompiled? In other words, if there is a linux kernel update, do I need to wait until this package gets updated on AUR first and download the new sources before upgrading the kernel? Or can I go ahead and update linux, then do a makepkg -si on the existing downloaded package?

CyrIng commented on 2020-04-07 19:27 (UTC)

Marche parfaitement bien, merci

air-g4p commented on 2020-04-07 08:30 (UTC)

@forcegk Thank you for getting nvidia-390xx-dkms updated. It built fine with makepkg today. Completely understood and no worries given the ridiculous and ever evolving set of COVID-19 challenges we all face. Cheers and stay healthy!

forcegk commented on 2020-04-06 19:54 (UTC)

Hi! Sorry for the long wait, but due to coronavirus, work has stacked up and I really didn't find a moment for updating this.

All problems should be now fixed. Let me know if you encounter anymore.

engelmarkus commented on 2020-04-06 09:34 (UTC)

You are aware that several packages here ("nvidia-390xx-*") share the same comment section?

"recompile every time linux kernel gets updated" - that's what the dkms package does, there's no other sane way. I suggest you all switch to the nvidia-390xx-dkms package that exists here in the aur as well.

air-g4p commented on 2020-04-06 08:33 (UTC) (edited on 2020-04-06 09:04 (UTC) by air-g4p)

@forcegk Building with makepkg or in a clean chroot also fails quickly under 5.6.2-arch1-2. Please address these incompatibilities soon, as nvidia-390xx-dkms has recently been removed from the pacman repos...thanks!

As to your query: how to change the script in order for the package to recompile every time linux kernel gets updated? I'm pretty sure pacman is unable to upgrade any AUR installed package on any user's system. Pacman is only aware of the latest AUR package version installed via sudo pacman -U, so I am not sure this is possible. Please ask a dev on #archlinux if it can be done, or not.

If you find a solution, please discuss it here, as I frequently run into a kernel build lag between my various Arch kernels and zfs-linux (the laggard)...Cheers

engelmarkus commented on 2020-04-02 23:08 (UTC) (edited on 2020-04-02 23:09 (UTC) by engelmarkus)

You can apply this patch to make it work with the 5.6 series.

CyrIng commented on 2020-04-01 22:47 (UTC)

Hello It does not build with Linux Kernel 5.6.arch1-1

Geeko commented on 2020-03-23 06:50 (UTC)

It also requires dkms, and linux-headers is listed in dkms's optdependencies section.

Did you follow the provided links? (especially to bug tracker)? It is written there

commented on 2020-03-22 20:24 (UTC)

This package requires linux-headers even if have installed linux-pf-headers-generic. I use linux-pf.

Geeko commented on 2020-03-21 11:44 (UTC) (edited on 2020-03-21 11:44 (UTC) by Geeko)

Section with optional dependencies should be removed. See and

Cristophero commented on 2020-03-21 06:54 (UTC)

Muchas gracias!

forcegk commented on 2020-03-20 02:19 (UTC)

@HunabKu, you need to compile against the linux-headers, and then you'll be able to install the nvidia-390xx-dkms package

forcegk commented on 2020-03-20 02:18 (UTC)

Hello, I'd recommend to you all using the nvidia-390xx-dkms package. If anyone here knows how to change the script in order for the package to recompile every time linux kernel gets updated, please let me know via email. Thank you.

HunabKu commented on 2020-03-19 15:08 (UTC) (edited on 2020-03-19 15:08 (UTC) by HunabKu)

Same issue here, i use linux-ck, i installed "linux-ck-core2-headers" but i have these message with 390.132-34 i had not with 390.132-32 : "/usr/src/linux : Aucun fichier ou dossier de ce type. Arrêt."

NovaMoon commented on 2020-03-19 13:05 (UTC)

Updating to the 5.5.10-arch1-1 kernel today didnt rebuild the dkms module. had to fully rebuild manually. not sure if its on my end or something with the package.

lcjr commented on 2020-03-18 13:53 (UTC)

@forcegk I'm using linux-lts and on build completion it wants to install the dkms package and the current linux(5.5) kernel.

forcegk commented on 2020-03-16 15:58 (UTC)

@triplc sorry no I can not, but you only need to install linux headers to compile. Once it is done, the dkms package will work on any kernel

triplc commented on 2020-03-16 04:17 (UTC)

Could you please make this package work with non default kernel? I use -lts and -ck kernel. I do not have linux default kernel.

==> Sources are ready. ==> Making package: nvidia-390xx 390.132-33 (Mon 16 Mar 2020 11:13:29 AM +07) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> WARNING: Using existing $srcdir/ tree ==> Removing existing $pkgdir/ directory... ==> Starting build()... make[1]: /usr/src/linux: No such file or directory. Stop. make: [Makefile:81: modules] Error 2 ==> ERROR: A failure occurred in build(). Aborting... Error making: nvidia-390xx (nvidia-390xx-dkms)

forcegk commented on 2020-03-15 18:46 (UTC)

@Reisenfag, sure it is not satisfied. I would recommend installing nvidia-390xx-utils previously, or using an AUR helper such as yay, which will do that for you.

Reisenfag commented on 2020-03-15 18:22 (UTC)

If you do a new installation, the nvidia-390xx-utils dependency is not satisfied.

Geeko commented on 2020-03-15 13:52 (UTC)

Thank you for taking this package. Can you apply this ( patch to avoid screen tearing on nvidia optimus systems? More info: