WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: xf86-video-nouveau.tcz -> missing nouveau.ko module  (Read 1148 times)

Offline Rich

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 6886
Re: xf86-video-nouveau.tcz -> missing nouveau.ko module
« Reply #30 on: November 09, 2019, 11:43:14 AM »
Hi madmax
I think I figured out the  Unknown symbol drm_legacy_mmap  issue.

Short answer:
Follow Juanitos directions. Then, when you run  make menuconfig , go to  Device Drivers->Graphics support->Nouveau (NVIDIA) cards.
Select  m , then save and exit. Then run  make .  When  make  finishes (several hours) you need to replace your kernel (32 or 64 bit)
with the one that was just built (arch/x86/boot/bzImage  or  arch/ia64/boot/bzImage).

Long answer:
When you enable  Device Drivers->Graphics support->Nouveau (NVIDIA) cards , it adds  CONFIG_DRM_VM=y  to the kernel config
file. This enables  drm_vm.c  to be compiled so the  drm_legacy_mmap  symbol can be resolved.  CONFIG_DRM_VM  is listed as
a  bool  (y or n) which means it can't be compiled as a module. It has to be compiled into the kernel. Since it's not compiled into
your kernel, the  nouveau  driver can't be loaded.

CONFIG_DRM_LEGACY  is not required.

Offline madmax

  • Jr. Member
  • **
  • Posts: 96
Re: xf86-video-nouveau.tcz -> missing nouveau.ko module
« Reply #31 on: November 10, 2019, 12:43:33 PM »
Hello Rich:

Sorry for the delay, I was waiting for your post before replying to Juanito and Curaga at the same time.

Since I don't have the hardware to test, I suggest you compile the kernel yourself ...
...and once you can compile the kernel, you can also compile the Nvidia drivers, which support your card much better than nouveau.

To be honest, these are not the replies I was hoping for. ;^ )

Like I have said before, I'm not a programmer/coder nor do I have any experience in compiling anything.
My limit is/was all the *.bat files I used/clobbered together from on-line sources to use in DOS/Windows environments (long ago now) and my attempts at understanding bash/scripting unfortunately have not borne fruit. 

Hardware wise, from an early age I have been able to diagnose, disassemble and (most times) fix any IT box that has crossed my path.
Actually made a living from that when there was no work available for me as an architect.

But I digress ...

If I were knowledgeable enough to be do that ie: know how to complile an application or make something out of what a source code says, I would have long ago compiled the last version of the NVidia Legacy drivers and sent them to you so that they would be available in the repository for anyone to download.

So compiling a kernel is not something I can do but I do have the necessary legacy NVidia hardware and I have offered my help to test anything you need to test and report back with the results.

I think I figured out the  Unknown symbol drm_legacy_mmap  issue.

Thank you for taking the time to sift through the kernel configuration files from the other distributions.
I was sure the answer to the problem had to be there as the nouveau driver worked without issues in all of them and only need a screen location xorg.conf file in multiple screen setups.

Seeing that all of them had CONFIG_DRM_NOUVEAU=m and not =y or =n sort of waved a flag at me but had no idea what is was about or if it was of any importance at all.

When you enable Device Drivers->Graphics support->Nouveau (NVIDIA) cards, it adds CONFIG_DRM_VM=y to the kernel config file. This enables drm_vm.c to be compiled so the drm_legacy_mmap  symbol can be resolved. CONFIG_DRM_VM is listed as a bool (y or n) which means it can't be compiled as a module. It has to be compiled into the kernel. Since it's not compiled into your kernel, the nouveau driver can't be loaded.

CONFIG_DRM_LEGACY  is not required.
Good to know that CONFIG_DRM_LEGACY is not required for nouveau to work properly.
The prospect was rather worrying for if it was, there would have been something seriously wrong with the nouveau drivers.

Now, if (?) I understand your explanation correctly, the TC kernel needs to have Device Drivers->Graphics support->Nouveau (NVIDIA) cards set to =m so that the nouveau driver can be loaded. ie: the TC kernel has to have support for NVidia cards enabled.

If this is so, the fact that the TC kernel does not have it set to =m is the reason for the nouveau driver not loading/working properly.
ie: a driver available in the repository.

Wouldn't this be a kernel misconfiguration issue which could be corrected in a new updated version (10.2)?

Once again, thank you very much for having taken the time to address this problem.

Best regards,

MM

Offline Rich

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 6886
Re: xf86-video-nouveau.tcz -> missing nouveau.ko module
« Reply #32 on: November 10, 2019, 07:11:25 PM »
Hi madmax
Now, if (?) I understand your explanation correctly, the TC kernel needs to have Device Drivers->Graphics support->Nouveau (NVIDIA) cards set to =m so that the nouveau driver can be loaded. ie: the TC kernel has to have support for NVidia cards enabled.
That's basically correct. Enabling  Nouveau  causes some code to be added to the kernel when it gets compiled.

Quote
If this is so, the fact that the TC kernel does not have it set to =m is the reason for the nouveau driver not loading/working properly.
ie: a driver available in the repository.
The current kernel was not compiled to support the  Nouveau  driver.

Quote
Wouldn't this be a kernel misconfiguration issue which could be corrected in a new updated version (10.2)?
It's not mis-configured, just not configured to support the  Nouveau  driver. Unless a serious problem is found, the kernel
doesn't get updated for a current release.

Online Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 11063
Re: xf86-video-nouveau.tcz -> missing nouveau.ko module
« Reply #33 on: November 10, 2019, 08:46:24 PM »
..nor do I have any experience in compiling anything.

Compiling the kernel is not difficult and the instructions have been given earlier in the thread - why not give it a go?

If you have problems, there are forum members here willing to help.

Offline madmax

  • Jr. Member
  • **
  • Posts: 96
Re: xf86-video-nouveau.tcz -> missing nouveau.ko module
« Reply #34 on: November 11, 2019, 03:09:10 PM »
Hello Rich:

The current kernel was not compiled to support the Nouveau driver.
I see.

It would seem then that my starting this thread ...
http://forum.tinycorelinux.net/index.php/topic,23259.msg145735.html#msg145735
... to figure out why the nouveau driver was not working properly was rather an exercise in futility.

Just to end up here to find out that, no matter what and unless I compile the kernel myself, the Nouveau driver I downloaded from the repository would not work properly.
Ever.

Right, let me see if I understood:

1. The obvious
NVidia cards under Linux work either with the proprietary driver or with the open source Nouveau driver, albeit not as well.
Although this is a common complaint among Linux users on the web, the fact that mainstream distributions use them for their live/installation DVDs would seem to indicate that they work well enough if you are commited to using only open source drivers.   

2. The facts
The proprietary 340.XX legacy drivers are presently not available in the TC10.x repository (I prerfectly understand why this is so) but the only possible alternative (Nouveau) is not supported by the TC kernel even though the drivers are available for download from the repository.

3. The surprise
The fact that the Nouveau drivers are not supported by the TC kernel is not due to a kernel mis-configuration or an involuntary lapse but an actual decision made by the kernel maintainers.

I'd be obliged if I could get an answer to a couple of questions:
  • Why is the TC kernel not compiled to support the Nouveau driver?
    Sort of goes in the opposite direction other distributions maintain with respect to the Nouveau drivers, surely there must be very good reason for this being so.
    (Please don't tell me that different distributions make different decisions, I've already read that elsewhere.)
  • With the TC kernel not compiled to support the Nouveau driver, what sense does it make to have the Nouveau drivers available for download if they will not work properly?
    More so in the absense of any warning or indication that the drivers will not work properly, because ...

... not configured to support the Nouveau driver. Unless a serious problem is found, the kernel doesn't get updated for a current release.

You will surely undertsand why I would consider that having an open source driver in a (any) distribution's current repository which will not work properly because that distribution's current kernel is not compiled to support it would undoutedly make it into any distribution's serious problems list.
A driver problem, a kernel problem or both at the same time.

But then, maybe that's just me.
And I'm not a programmer or a kernel maintainer and my saying all this does not in any way undermine the fact that I highly value and appreciate the work you guys do for TC.

If perchance this is not considered a serious (or serious enough) problem, would it be realistic for me to expect that the TC10.2 release, whenever that comes along, will be compiled to support the open source Nouveau drivers?

Thank you very much for the clarifications you posted earlier and in advance for answering these questions.
You've been a real sport all along.  ; ^)

Best,

MM

Offline madmax

  • Jr. Member
  • **
  • Posts: 96
Re: xf86-video-nouveau.tcz -> missing nouveau.ko module
« Reply #35 on: November 11, 2019, 03:19:47 PM »
Hello Juanito:
Compiling the kernel is not difficult and ...
Says the chap in charge of maintaining the kernel of a unique Linux distribution!  ;^ D !!!

... why not give it a go?
If you have problems, there are forum members here willing to help.

I know and I thank you for the encouragement and the offer.
But for this I really need an 'out of the box' or 'Bob's your uncle' solution.

I have (as surely you do also) far too many things on my plate at this time to stare down a kernel compilation rabbit-hole.
Maybe further on.

Cheers,

MM

Offline Rich

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 6886
Re: xf86-video-nouveau.tcz -> missing nouveau.ko module
« Reply #36 on: November 11, 2019, 08:44:07 PM »
Hi madmax
Why is the TC kernel not compiled to support the Nouveau driver?
Sort of goes in the opposite direction other distributions maintain with respect to the Nouveau drivers, surely there must be very good reason for this being so.
(Please don't tell me that different distributions make different decisions, I've already read that elsewhere.)
I don't know the answer to that. Maybe it was deemed that  xf86-video-nv.tcz  was adequate. It did successfully detect your hardware.
Maybe Juanito or curaga will weigh in on this.

Quote
With the TC kernel not compiled to support the Nouveau driver, what sense does it make to have the Nouveau drivers available for download if they will not work properly?
More so in the absense of any warning or indication that the drivers will not work properly, because ...
That's easy. Juanito had no way of knowing the  Nouveau  driver required a kernel compilation. The  CONFIG_DRM_VM=y  option
does not show up in the configuration menu so you don't even know it exists, let alone getting set to yes.

Online Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 11063
Re: xf86-video-nouveau.tcz -> missing nouveau.ko module
« Reply #37 on: November 11, 2019, 09:25:01 PM »
Says the chap in charge of maintaining the kernel

In fact that's @curaga  ;)

If you confirm that you will not be recompiling the kernel (bzImage/vmlinuz), I'll delete the nouveau-KERNEL extensions since they will not work without a recompiled vmlinuz.