[arch-general] No nVidia support on Apparmor kernel

Simon Brulhart simon at brulhart.me
Wed Oct 14 17:12:24 UTC 2015


By the way, if you decide to switch to bbswitch-dkms + nvidia-dkms, you
will probably face the same issue I faced yesterday with the nvidia card
not powering off. In this case I would suggest you to take a look at
this thread:
https://bbs.archlinux.org/viewtopic.php?id=189032

Simon

Le 14. 10. 15 17:51, Bruno Pagani a écrit :
> That’s just how extra modules work: they are not kernel built-in (hence the name extra), and must be build using the kernel headers corresponding to the running kernel.
>
> Both nvidia and bbswitch can be compiled for any custom kernel, I suggest that you take a look at DKMS (search for that in the wiki) and corresponding bbswitch-dkms and nvidia-dkms package (not sure about the name, but must be something like this).
>
> Bruno
>
> Le 14 octobre 2015 17:42:13 GMT+02:00, "João Miguel" <jmcf125 at openmailbox.org> a écrit :
>> Hey there,
>>
>> I've used the ABS to compile a kernel with the CONFIG_AUDIT=y and
>> CONFIG_SECURITY_APPARMOR=y options enabled. Apparmor and audit work
>> just
>> fine, but when I tried to start a game, I failed. The following errors
>> occur only when using the apparmor enabled kernel (independently of
>> kernel boot parameters to enable/disable apparmor).
>>
>> $ lsmod | grep nvidia
>> $ modprobe nvidia
>> modprobe: FATAL: Module nvidia not found.
>> $ glxgears
>> Xlib:  extension "GLX" missing on display ":0".
>> Error: couldn't get an RGB, Double-buffered visual
>> $ glxinfo
>> name of display: :0
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Error: couldn't find RGB GLX visual or fbconfig
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>>
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>> Xlib:  extension "GLX" missing on display ":0".
>>
>> Anything that doesn't require fancy graphics works (though libreoffice
>> and some other programs complain anyway).
>>
>> The configuration files are much alike (diff attached) with only
>> apparmor and
>> audit options changed, and a few others presumably by `make config`. I
>> also
>> tried to use `make nconfig` in the PKGBUILD to change them, to the same
>> effect.
>>
>> By following the wiki, I eventually found this out:
>>
>> $ ls /lib/modules/extra*
>> /lib/modules/extramodules-4.2-apparmor:
>> version
>>
>> /lib/modules/extramodules-4.2-ARCH:
>> bbswitch.ko.gz  nvidia.ko.gz  nvidia-uvm.ko.gz  version
>> $ modprobe -c > ARCH.modprobe-c       # with default kernel loaded
>> $ modprobe -c > apparmor.modprobe-c   # with compiled kernel loaded
>> $ #              ^^^-- diff attached to this message
>>
>> The diffs of these files clearly show the apparmor kernel seems to have
>> no nvidia support, while the compile time configuration files show no
>> difference in this matter.
>>
>> Using insmod doesn't work, as those extra modules are compiled for
>> another kernel (error "Invalid module format"). But how are they there?
>> I couldn't find any information on EXTRA modules in the wiki, never
>> heard about them. Seems they are compiled separately:
>>
>> $ pacman -Qo /lib/modules/extramodules-4.2-ARCH/*
>> /usr/lib/modules/extramodules-4.2-ARCH/bbswitch.ko.gz pertence a
>> bbswitch 0.8-37
>> /usr/lib/modules/extramodules-4.2-ARCH/nvidia.ko.gz pertence a nvidia
>> 355.11-3
>> /usr/lib/modules/extramodules-4.2-ARCH/nvidia-uvm.ko.gz pertence a
>> nvidia 355.11-3
>> /usr/lib/modules/extramodules-4.2-ARCH/version pertence a linux 4.2.2-1
>>
>> I guess at least now I know it's not some weird compilation option I
>> forgot about... Might as well put the compiled kernel in the AUR.
>>
>> I doubt nvidia is giving away source code to compile that... Is this a
>> dead end? Or perhaps the guys with nvidia and OpenSUSE found a way?
>>
>> How can I get that nvidia extra module to work on ? And why is it an
>> "extra"?
>>
>> Wait, now I think of it, maybe I can make this work. Maybe I can get
>> this to work with ABS, by pointing to the correct headers to the nvidia
>> package. I will post this now because possibly someone else knows best,
>> and if I end up solving my own problem, at least the solution becomes
>> available for anyone looking for it. I found the answer to 60% of my
>> original questions regarding this problem, while writing this email, if
>> I don't post this now I may never do. I hope you're okay with this.
>>
>> Note: I sent this a while ago, got an error that it was too large, so
>> now I
>> used diff -c3 on the original attachments.
>>
>> Thanks for your time,
>> João Miguel


More information about the arch-general mailing list