WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: TC & NVidia  (Read 29077 times)

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: TC & NVidia
« Reply #30 on: June 26, 2019, 10:43:14 PM »
Hello SeventhSin

Each year there's always some glitch that makes building Nvidia drivers challenging, this year it was just a couple of missing or renamed dependencies;
libelf-dev and
procps-ng


In the end "NVIDIA x86_64 Driver 390.87" which should support all your NVIDIA hardware was successful

From Xorg Log
Code: [Select]
[  1104.992]
X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
[  1104.992] Build Operating System: Linux 4.19.10-tinycore64 x86_64
[  1104.992] Current Operating System: Linux box 4.19.10-tinycore64 #1999 SMP Tue Dec 18 15:18:54 UTC 2018 x86_64
[  1104.992] Kernel command line: BOOT_IMAGE=/boot/vmlinuz64-41910 noswap tz=GMT loglevel=3 waitusb=5:UUID=b313c2c4-fedf-4c44-bf42-6a6fca54b311 tce=UUID=b313c2c4-fedf-4c44-bf42-6a6fca54b311/tc10-x86_64 opt=UUID=b313c2c4-fedf-4c44-bf42-6a6fca54b311 home=UUID=b313c2c4-fedf-4c44-bf42-6a6fca54b311
[  1104.992] Build Date: 04 March 2019  10:59:41AM
...
[  1104.998] (II) LoadModule: "glx"
[  1104.999] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
[  1105.007] (II) Module glx: vendor="NVIDIA Corporation"
[  1105.007] compiled for 4.0.2, module version = 1.0.0
[  1105.007] Module class: X.Org Server Extension
[  1105.007] (II) NVIDIA GLX Module  390.87  Tue Aug 21 16:10:56 PDT 2018
[  1105.007] (II) LoadModule: "nvidia"
[  1105.008] (II) Loading /usr/local/lib/xorg/modules/drivers/nvidia_drv.so
[  1105.008] (II) Module nvidia: vendor="NVIDIA Corporation"
[  1105.008] compiled for 4.0.2, module version = 1.0.0
[  1105.008] Module class: X.Org Video Driver
[  1105.009] (II) NVIDIA dlloader X Driver  390.87  Tue Aug 21 15:44:49 PDT 2018
[  1105.009] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[  1105.009] (--) using VT number 2

[  1105.017] (II) Loading sub module "fb"
[  1105.017] (II) LoadModule: "fb"
[  1105.017] (II) Loading /usr/local/lib/xorg/modules/libfb.so
[  1105.018] (II) Module fb: vendor="X.Org Foundation"
[  1105.018] compiled for 1.20.4, module version = 1.0.0
[  1105.018] ABI class: X.Org ANSI C Emulation, version 0.4
[  1105.018] (II) Loading sub module "wfb"
[  1105.018] (II) LoadModule: "wfb"
[  1105.018] (II) Loading /usr/local/lib/xorg/modules/libwfb.so
[  1105.021] (II) Module wfb: vendor="X.Org Foundation"
[  1105.021] compiled for 1.20.4, module version = 1.0.0
[  1105.021] ABI class: X.Org ANSI C Emulation, version 0.4
[  1105.021] (II) Loading sub module "ramdac"
[  1105.021] (II) LoadModule: "ramdac"
[  1105.021] (II) Module "ramdac" already built-in
[  1105.040] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[  1105.040] (==) NVIDIA(0): RGB weight 888
[  1105.040] (==) NVIDIA(0): Default visual is TrueColor
[  1105.040] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[  1105.040] (**) NVIDIA(0): Enabling 2D acceleration
[  1106.017] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[  1106.017] (--) NVIDIA(0):     DFP-0
[  1106.017] (--) NVIDIA(0):     DFP-1
[  1106.017] (--) NVIDIA(0):     DFP-2 (boot)
[  1106.017] (--) NVIDIA(0):     DFP-3
[  1106.017] (--) NVIDIA(0):     DFP-4
[  1106.017] (--) NVIDIA(0):     DFP-5
[  1106.020] (II) NVIDIA(0): NVIDIA GPU GeForce GTX 1060 (GP106-B) at PCI:1:0:0 (GPU-0)
[  1106.020] (--) NVIDIA(0): Memory: 3145728 kBytes
[  1106.020] (--) NVIDIA(0): VideoBIOS: 86.06.3e.00.08
[  1106.020] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[  1106.020] (--) NVIDIA(GPU-0): DFP-0: disconnected
[  1106.020] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[  1106.020] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[  1106.020] (--) NVIDIA(GPU-0):
[  1106.021] (--) NVIDIA(GPU-0): DFP-1: disconnected
[  1106.021] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[  1106.021] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[  1106.021] (--) NVIDIA(GPU-0):
[  1106.021] (--) NVIDIA(GPU-0): LGD (DFP-2): connected
[  1106.021] (--) NVIDIA(GPU-0): LGD (DFP-2): Internal DisplayPort
[  1106.021] (--) NVIDIA(GPU-0): LGD (DFP-2): 1440.0 MHz maximum pixel clock
[  1106.021] (--) NVIDIA(GPU-0):
[  1106.021] (--) NVIDIA(GPU-0): DFP-3: disconnected
[  1106.021] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
[  1106.021] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
[  1106.021] (--) NVIDIA(GPU-0):
[  1106.021] (--) NVIDIA(GPU-0): DFP-4: disconnected
[  1106.021] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[  1106.021] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[  1106.021] (--) NVIDIA(GPU-0):
[  1106.021] (--) NVIDIA(GPU-0): DFP-5: disconnected
[  1106.021] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[  1106.021] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[  1106.021] (--) NVIDIA(GPU-0):
[  1106.022] (==) NVIDIA(0):
[  1106.022] (==) NVIDIA(0): No modes were requested; the default mode "nvidia-auto-select"
[  1106.022] (==) NVIDIA(0):     will be used as the requested mode.
[  1106.022] (==) NVIDIA(0):
[  1106.022] (II) NVIDIA(0): Validated MetaModes:
[  1106.022] (II) NVIDIA(0):     "DFP-2:nvidia-auto-select"
[  1106.022] (II) NVIDIA(0): Virtual screen size determined to be 1920 x 1080
[  1106.024] (--) NVIDIA(0): DPI set to (143, 144); computed from "UseEdidDpi" X config
[  1106.024] (--) NVIDIA(0):     option
[  1106.024] (II) NVIDIA: Using 24576.00 MB of virtual memory for indirect memory
[  1106.024] (II) NVIDIA:     access.
[  1106.058] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[  1106.058] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[  1106.058] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[  1106.058] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[  1106.058] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[  1106.058] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[  1106.058] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[  1106.058] (II) NVIDIA(0):     Config Options in the README.
[  1106.073] (II) NVIDIA(0): Setting mode "DFP-2:nvidia-auto-select"
[  1107.016] (==) NVIDIA(0): Disabling shared memory pixmaps
[  1107.016] (==) NVIDIA(0): Backing store enabled
[  1107.016] (==) NVIDIA(0): Silken mouse enabled
[  1107.016] (**) NVIDIA(0): DPMS enabled
[  1107.016] (II) Loading sub module "dri2"
[  1107.016] (II) LoadModule: "dri2"
[  1107.017] (II) Module "dri2" already built-in
[  1107.017] (II) NVIDIA(0): [DRI2] Setup complete
[  1107.017] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[  1107.017] (II) Initializing extension Generic Event Extension
[  1107.017] (II) Initializing extension SHAPE
[  1107.017] (II) Initializing extension MIT-SHM
[  1107.017] (II) Initializing extension XInputExtension
[  1107.017] (II) Initializing extension XTEST
[  1107.017] (II) Initializing extension BIG-REQUESTS
[  1107.017] (II) Initializing extension SYNC
[  1107.017] (II) Initializing extension XKEYBOARD
[  1107.017] (II) Initializing extension XC-MISC
[  1107.017] (II) Initializing extension XFIXES
[  1107.017] (II) Initializing extension RENDER
[  1107.017] (II) Initializing extension RANDR
[  1107.017] (II) Initializing extension COMPOSITE
[  1107.017] (II) Initializing extension DAMAGE
[  1107.017] (II) Initializing extension MIT-SCREEN-SAVER
[  1107.017] (II) Initializing extension DOUBLE-BUFFER
[  1107.017] (II) Initializing extension RECORD
[  1107.017] (II) Initializing extension DPMS
[  1107.017] (II) Initializing extension Present
[  1107.017] (II) Initializing extension DRI3
[  1107.017] (II) Initializing extension X-Resource
[  1107.017] (II) Initializing extension XVideo
[  1107.017] (II) Initializing extension XVideo-MotionCompensation
[  1107.017] (II) Initializing extension XFree86-VidModeExtension
[  1107.017] (II) Initializing extension XFree86-DGA
[  1107.017] (II) Initializing extension XFree86-DRI
[  1107.017] (II) Initializing extension DRI2
[  1107.017] (II) Initializing extension GLX
[  1107.017] (II) Initializing extension GLX
[  1107.017] (II) Indirect GLX disabled.
[  1107.017] (II) Initializing extension NV-GLX
[  1107.017] (II) Initializing extension NV-CONTROL
[  1107.017] (II) Initializing extension XINERAMA
...
[  1189.642] (--) NVIDIA(GPU-0): DFP-0: Internal DisplayPort
[  1189.642] (--) NVIDIA(GPU-0): DFP-0: 1440.0 MHz maximum pixel clock
[  1189.642] (--) NVIDIA(GPU-0):
[  1189.642] (--) NVIDIA(GPU-0): DFP-1: disconnected
[  1189.642] (--) NVIDIA(GPU-0): DFP-1: Internal TMDS
[  1189.642] (--) NVIDIA(GPU-0): DFP-1: 165.0 MHz maximum pixel clock
[  1189.642] (--) NVIDIA(GPU-0):
[  1189.642] (--) NVIDIA(GPU-0): LGD (DFP-2): connected
[  1189.642] (--) NVIDIA(GPU-0): LGD (DFP-2): Internal DisplayPort
[  1189.642] (--) NVIDIA(GPU-0): LGD (DFP-2): 1440.0 MHz maximum pixel clock
[  1189.642] (--) NVIDIA(GPU-0):
[  1189.643] (--) NVIDIA(GPU-0): DFP-3: disconnected
[  1189.643] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
[  1189.643] (--) NVIDIA(GPU-0): DFP-3: 165.0 MHz maximum pixel clock
[  1189.643] (--) NVIDIA(GPU-0):
[  1189.643] (--) NVIDIA(GPU-0): DFP-4: disconnected
[  1189.643] (--) NVIDIA(GPU-0): DFP-4: Internal DisplayPort
[  1189.643] (--) NVIDIA(GPU-0): DFP-4: 1440.0 MHz maximum pixel clock
[  1189.643] (--) NVIDIA(GPU-0):
[  1189.643] (--) NVIDIA(GPU-0): DFP-5: disconnected
[  1189.643] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[  1189.643] (--) NVIDIA(GPU-0): DFP-5: 165.0 MHz maximum pixel clock
[  1189.643] (--) NVIDIA(GPU-0):

Will tackle the x86 version tomorrow

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: TC & NVidia
« Reply #31 on: June 27, 2019, 01:45:57 AM »
Ok we’re getting ready to submit to the repo
But I don’t think you need all the X support modules as it make the extension huge




Sent from my iPhone using Tapatalk

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: TC & NVidia
« Reply #32 on: June 27, 2019, 03:07:04 AM »
Vesa is limited to certain resolutions, and has no 2d acceleration. Nouveau has accel, but it's unstable and not able to reclock many nvidia cards. So it depends on any particular card if it's even faster than vesa.
The only barriers that can stop you are the ones you create yourself.

SeventhSin

  • Guest
Re: TC & NVidia
« Reply #33 on: June 27, 2019, 08:45:43 AM »
Vesa is limited to certain resolutions, and has no 2d acceleration. Nouveau has accel, but it's unstable and not able to reclock many nvidia cards. So it depends on any particular card if it's even faster than vesa.

Thank you for clarifying, curaga.

Ok we’re getting ready to submit to the repo


Fantastic coreplayer2 ! Great news. Thank you for investing your time to build this. Could you please clarify for me what you mean by:

But I don’t think you need all the X support modules as it make the extension huge

Namely, what support modules are you referring to ?

SeventhSin

  • Guest
Re: TC & NVidia
« Reply #34 on: June 27, 2019, 09:12:39 AM »
For the most part Core runs in the frame buffer and is hardware independent.     Unless you have other intentions full 3D graphic support for all the above hardware is not required.  Otherwise it's better to compile the proprietary driver and extract only the required components for your specific usage.

Maybe better to state your goals?

As promised, I shall better clarify my goals (and subsequently the purpose of the thread):

I am building a platform with Core x86|x64 as its base. It is not meant to be a (Tiny)Core spin off, but rather vanilla Core with a minimum number of built-in tweaks necessary to enable dynamic on the fly configuration of the system according to variables detected at run-time. Since the system will be PXE booted, the size of the base image is very important, that is why I am performing all my testing on Core as opposite to TinyCore (GUI version).

Currently I'm in the process of getting used to (Tiny)Core's graphics subsystem. My goal at this stage is to identify how many graphics systems (cards) "work" with whatever is present in the repos right now. Because my goal is not to "get a specific card to work", I am testing on different hardware.

I hope this clarifies it a bit.

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: TC & NVidia
« Reply #35 on: June 27, 2019, 04:43:13 PM »
Namely, what support modules are you referring to ?
Hello [emoji112]
Hmmm...  while the kernel module is still relatively large even in compressed form, the GLX, OpenGL modules supporting Xorg make up 80% of the 40+mb size of the NVIDIA extension. 
I’ve already separated OpenCL, Cuda and documentation into their own extensions.
I’m suspecting you’ll need to separate the kernel modules for your needs.

Anyhow 32bit and 64bit NVIDIA extensions are complete, will upload to submissions ASAP



Sent from my iPhone using Tapatalk

SeventhSin

  • Guest
Re: TC & NVidia
« Reply #36 on: June 27, 2019, 04:57:45 PM »
Anyhow 32bit and 64bit NVIDIA extensions are complete, will upload to submissions ASAP

Awesome coreplayer2 !

What will I be looking for in the repo ? Something like nvidia-390.87-4.19.10-tinycore.tcz & friends ?


Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11624
Re: TC & NVidia
« Reply #37 on: June 27, 2019, 05:08:44 PM »
Hi coreplayer2
Hmmm...  while the kernel module is still relatively large even in compressed form, the GLX, OpenGL modules supporting Xorg make up 80% of the 40+mb size of the NVIDIA extension. ...
OK, I'll ask the obvious question. Did you  strip  the binaries?

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: TC & NVidia
« Reply #38 on: June 27, 2019, 05:37:34 PM »
Hello Rich
Not yet stripped but that occurs with submitqc --fix

then final testing

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: TC & NVidia
« Reply #39 on: June 27, 2019, 06:19:21 PM »
Hi Rich

checking the Nvidia pre-compiled binaries I find they're all stripped

Code: [Select]
/mnt/sdb3/tc10-x86/optional/nvidia-390.87-4.19.10-tinycore/usr/lib $ file *.so.390.87
libEGL_nvidia.so.390.87:       ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libGLESv1_CM_nvidia.so.390.87: ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libGLESv2_nvidia.so.390.87:    ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libGLX_nvidia.so.390.87:       ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-cfg.so.390.87:       ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-eglcore.so.390.87:   ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-encode.so.390.87:    ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-fbc.so.390.87:       ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-glcore.so.390.87:    ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-glsi.so.390.87:      ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-gtk2.so.390.87:      ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-gtk3.so.390.87:      ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-ifr.so.390.87:       ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
libnvidia-ml.so.390.87:        ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
/mnt/sdb3/tc10-x86/optional/nvidia-390.87-4.19.10-tinycore/usr/local/lib/xorg/modules/drivers $ file *.so.390.87
nvidia_drv.so: ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped
/mnt/sdb3/tc10-x86/optional/nvidia-390.87-4.19.10-tinycore/usr/local/lib/xorg/modules/extensions $ file *.so.390.87
libglx.so.390.87: ELF 32-bit LSB pie executable, Intel 80386, version 1 (SYSV), dynamically linked, stripped

Next up to strip the kernel compatible binaries but iirc I haven't always had the best results stripping those...   will check
Code: [Select]
/mnt/sdb3/tc10-x86/optional/nvidia-390.87-4.19.10-tinycore/usr/local/lib/modules/4.19.10-tinycore/kernel/drivers/video $ file *.ko
nvidia-modeset.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=52d5cd9261667170ef0936e57cf8dd23210e1758, stripped
nvidia.ko:         ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=7d6a4024414054768f07c704dc79964f8badd8d0, stripped
« Last Edit: June 27, 2019, 06:35:18 PM by coreplayer2 »

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: TC & NVidia
« Reply #40 on: June 27, 2019, 07:12:34 PM »
Hello Rich

Now I remember..

Code: [Select]
/mnt/sdb3/tc10-x86/optional/nvidia-390.87-4.19.10-tinycore/usr/local/lib/modules/4.19.10-tinycore/kernel/drivers/video $ file *.ko
nvidia-modeset.ko: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=52d5cd9261667170ef0936e57cf8dd23210e1758, stripped
nvidia.ko:         ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), BuildID[sha1]=7d6a4024414054768f07c704dc79964f8badd8d0, stripped
Stripped to the maximum extent as shown above where file reports "Stripped" renders the binary unusable.  However --strip-unneeded strips the minimum whilst maintaining usability. 
So that's currently where we're at!

SeventhSin

  • Guest
Re: TC & NVidia
« Reply #41 on: June 28, 2019, 07:04:09 AM »
@coreplayer2

Would it be possible to have the extension bump the screen resolution to max before startx ? If there isn't any compelling reason not to do it, this would be useful on "X-less" Core x86. It would also make behavior more consistent across video extensions (check: http://forum.tinycorelinux.net/index.php/topic,22991.0.html).

RIGHT NOW:
tce-load -wi graphics-KERNEL : immediate screen resolution bump, before startx
tce-load -wi xf86-video-intel : immediate screen resolution bump, before startx

DESIRABLE:
tce-load -wi graphics-KERNEL : immediate screen resolution bump, before startx
tce-load -wi xf86-video-intel : immediate screen resolution bump, before startx
tce-load -wi nvidia-390.87-4.19.10-tinycore : immediate screen resolution bump, before startx
« Last Edit: June 28, 2019, 07:05:45 AM by SeventhSin »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14815
Re: TC & NVidia
« Reply #42 on: June 28, 2019, 07:43:55 AM »
xf86-video-intel is an xorg driver and thus will not change anything before "startx" - it has graphics-KERNEL.tcz as a dep, which is what changes the resolution.

SeventhSin

  • Guest
Re: TC & NVidia
« Reply #43 on: June 28, 2019, 08:24:02 AM »
xf86-video-intel is an xorg driver and thus will not change anything before "startx" - it has graphics-KERNEL.tcz as a dep, which is what changes the resolution.

Yes, the post linked above mentions this fact. Please have a look.
« Last Edit: June 28, 2019, 08:25:37 AM by SeventhSin »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: TC & NVidia
« Reply #44 on: June 28, 2019, 01:05:06 PM »
It is not possible for the proprietary Nvidia drivers to change the console resolution. That would require Nvidia to have a change of heart and release the drivers as open source.
The only barriers that can stop you are the ones you create yourself.