Tutorial - Install proprietary Nvidia driver in EasyOS

Moderator: BarryK

don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

Tutorial - Install proprietary Nvidia driver in EasyOS

Post by don570 »

Dell Optipex 990 desktop with Nvidia GT 1030 card in PCIe slot
Easy OS 5.5.5 - a fresh install - frugal method

I had success in installing the proprietary Nvidia driver in EasyOS so I am
writing the instructions to help other users.
________________________________________________________

Step 1 : The newest nvidia driver package that would work was version 525.147.05
which can be downloaded here
More recent versions just don't work :roll:
NVIDIA-Linux-x86_64-525.147.05.run should now be stored in /files

Step 2 : kernel source SFS and devx SFS must be installed
You will need to know kernel version to make the right choice
check kernel version

Code: Select all

# uname -r
5.15.135

The normal way to install SFS files is to use the internet
Setup > SFSget download SFS combo packages
However I don't have internet access at home so I had to download at a library and install myself.
I disconnected my networking before using
Setup > SFSget download SFS combo packages
to install kernel source and devx SFS
I just followed the screen instructions.
Note: I don't have a home connection to the internet so I downloaded from a library
BarryK gave basic instructions to install SFS files without internet here
Install the kernel source SFS and devx SFS from here
The spec file and corresponding icon must be downloaded as well. Its important that network connection is shut off.
Click on network tray icon and choose "Disconnect"
You can now use BarryK app ---->
Setup > SFSget download SFS combo packages

The instructions are easy to follow fortunately.
Place files in kirkstone's SFS folder
The result of Bootmanager configure bootup [see image]

screenshot-bootmanager.png
screenshot-bootmanager.png (45.44 KiB) Viewed 1204 times

Step 3 : At same time you MUST blacklist the nouveau driver. This is the OpenSource driver that your machine probably is running now.
To blacklist:
System > Bootmanager configure bootup
By blacklisting it you ensure that you won't use the nouveau X driver when you boot again. I discovered that if the nouveau driver is running the nvidia-installer app
won't work.

Step 4 : Reboot your machine. A low resolution open source driver will now be used., but this is OK. The key thing is that the nouveau driver isn't in use.
The kernel source and devx SFS files should now be loaded. You can check by typing 'gcc -v' in terminal.

Step 5 : The next steps should go surprising quickly and easily if you have set up the computer correctly according to previous steps.
extract the package:

Code: Select all

cd /files
sh NVIDIA-Linux-x86_64-525.147.05.run -x

Step 6 : CD into NVIDIA folder to run nvidia-installer app

Code: Select all

cd NVIDIA-Linux-x86_64-525.147.05
./nvidia-installer -a -ui=none  --no-x-check 

Follow instructions in terminal.
Do you want to run nvidia-xconfig?
App recommends not to tamper with Xorg.
However I found that instead of typing N(o)
you should type Y(es) since this did (apparently ???) set up Xorg properly so the driver is loaded at boot time.

Step 7 : That's it!!!!
You just have to reboot. There is no 'depmod -a' command required or writing of xorg.conf file
The resolution of screen should be correct automatically.

When you reboot you can check if everything is OK by launching nvidia settings app from start menu
system > nvidia settings

screenshot-nvidia-setting (1).png
screenshot-nvidia-setting (1).png (106.68 KiB) Viewed 1204 times

_________________________________________________________

Extra notes: The files that are installed are located in folder
/mnt/.easy_rw/mainrw
Presumably a package could be constructed from those files??? However
/usr/share/X11/xorg.conf.d/nvidia-drm-outputclass.conf isn't inside.

I noticed that there is an odd file that is created by installer. Maybe it controls Xorg driver that is loaded???
/usr/share/X11/xorg.conf.d/nvidia-drm-outputclass.conf

screenshot-nvidia-xorg.png
screenshot-nvidia-xorg.png (78.24 KiB) Viewed 1273 times
Last edited by don570 on Mon Nov 06, 2023 10:26 pm, edited 5 times in total.
User avatar
BarryK
Posts: 2253
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 552 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by BarryK »

Thanks for figuring all of that out and documenting the steps!

User avatar
bigpup
Moderator
Posts: 6230
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 721 times
Been thanked: 1277 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by bigpup »

extract the package:

Code: Select all

cd /files
sh NVIDIA-Linux-x86_64-525.125.06.run -x

Step 6 : CD into NVIDIA folder to run nvidia-installer app

Code: Select all

cd NVIDIA-Linux-x86_64-525.125.06
./nvidia-installer -a -ui=none --no-x-check

That is one way to do it.

However, the Nvidia run package is designed to just run it to do all of this (extract package and install)

change to the directory containing the driver package. open a terminal there, and install the driver by running, as root, sh ./NVIDIA-Linux-x86_64-525.125.06.run

I do this in Puppy Linux versions,

Should work the same in EasyOS.

Forum Global Moderator
The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by don570 »

BigPup

by running, as root, sh ./NVIDIA-Linux-x86_64-525.125.06.run

I'll try it that way and report back.

By the way my method is a modification of JamesBond' method.
He uses sandbox
https://lightofdawn.org/wiki/wiki.cgi/C ... aDriverSFS

______________________________________________________

I found a slightly newer nvidia package version that works so I'll edit my first post.
http://download.nvidia.com/XFree86/Linu ... 25.147.05/
___________________________________________

don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by don570 »

I tried a new method.

From bottom tray I selected running without X

Then from console

Code: Select all

cd /files
sh NVIDIA-Linux-x86_64-525.147.05.run

This reduces number of steps. However it is still necessary to
blacklist 'nouveau' with 'BootManager configure boot'
and then reboot

Note: when you are asked by installer program if you want to make changes to xorg.conf
you type Y(es)
___________________________________________

User avatar
BarryK
Posts: 2253
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 552 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by BarryK »

@don570
Thanks for figuring all of that out.

I have created a script to compile the nvidia kernel modules, X11 driver, and create an SFS with that and the GL libraries. This script will be run every time I compile the Linux kernel.

Technical note, the source, patches and scripts to compile the Linux kernel and nvidia are here:

http://distro.ibiblio.org/easyos/source ... -20231106/

...however, I have improved the '5nvidia.sh' script, so the one in 'build-kernel.tar.gz' is not the latest.

Have posted about this to my blog:

https://bkhome.org/news/202311/automati ... ating.html

...the biggest feature will be automatic updating of nvidia sfs when kernel version changes. None of it is tested. This will all come into play when Easy 5.6.1 is released.

don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

nvidia driver available

Post by don570 »

I made a pet file (rather than SFS) for the kernel 5.15.135 used in Easy OS 5.5.5
There is a warning to blacklist the nouveau driver and then reboot to finish the install.
Download
Size: 398k
MD5sum : ffa2db3d16a8a31b6c84a22128b4d16a
nvidia-525.147.05_k5.15.135.pet
https://drive.google.com/file/d/17nqrtv ... sp=sharing
_____________________________________________________________

User avatar
BarryK
Posts: 2253
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 552 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by BarryK »

@don570
Did it work for you to insert nouveau into SKIPLIST variable in /etc/rc.d/MODULESCONFIG?
That is what the GUI module blacklister does, but you can edit the file directly, like so:

Code: Select all

SKIPLIST=" nouveau arcfb cirrusfb cyber2000fb cyblafb ... 

...note the space character at the beginning.

I have an old Acer laptop with dual Intel and nvidia gpus. I ran Easy on it, then loaded the nvidia 525.147.06 sfs, then rebooted, it loaded the nouveau kernel driver.

So, inserted nouveau into SKIPLIST, rebooted, that worked, but then it loaded the i915 kernel driver so is using the intel gpu.

I inserted "i915" into SKIPLIST but that didn't work, it still loaded. So, created /etc/modprobe.d/i915.conf, with this in it:

Code: Select all

install i915 /bin/false

Rebooted, that did the trick, i915 kernel driver did not load, but then X would not start. Running lsmod showed no nvidia driver loaded.
Tried to use modprobe to load them, but just got an error message.

I'm wondering if the nvidia gpu is too old?
It is GeForce GT 420M
I bought this laptop early 2013, it was one of the last with traditional bios. Over 10 years old, still going strong, Core i3 cpu, 4gb ram.
The only thing wrong with it is the speakers have become highly distorted.

Anyway, anyone know if the 525.* supports that old gpu?

don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

Supported chips file of nvidia

Post by don570 »

Looks like only 390.xx driver according to supported chips file

The 390.xx driver supports the following set of GPUs:

NVIDIA GPU product Device PCI ID* VDPAU features
GeForce GT 425M 0DF0 C
GeForce GT 420M 0DF1 C
GeForce GT 435M 0DF2 C
GeForce GT 420M 0DF3 C

http://download.nvidia.com/XFree86/Linu ... chips.html

The good news is VDPAU is compatible . That means VLC player will work!!
http://download.nvidia.com/XFree86/Linu ... pport.html
______________________________________________________________

Clarity
Posts: 3236
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1319 times
Been thanked: 435 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by Clarity »

Hello @BarryK

As you go forward with the addition of the nvidia v525 component for EASY, you might also consider adding the nvidia v390 as well. This allows users to be able to select the proper driver for their card (yours too) during EASY pristine setup. It appears, to me, that these 2 driver versions cover most all of, both, old and new nvidia cards seen on this forum.

Just a thought that might be helpful.

don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

Legacy video boards

Post by don570 »

Legacy video boards

I agree with clarity
Legacy drivers are needed.
________________________________

By the way I was able to compile the 390.75 driver on my machine
and it works (I am using it now with Blender)
But then I tried a second time to compile it and I couldn't.
The warning message was I had wrong kernel sources or had nouveau driver installed.
_________________________________________

User avatar
BarryK
Posts: 2253
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 552 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by BarryK »

I have compiled 390.* and created an sfs.
It will be available when Easy 5.6.1 is released.

Note, the 525.* and 390.* sfs's have /etc/modprobe.d/nvidia.conf, that take care of preventing nouveau and i915 kernel modules from loading.
Some computers have dual intel and nvidia gpus, so a good idea to also disable i915.

Clarity
Posts: 3236
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1319 times
Been thanked: 435 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by Clarity »

BarryK wrote: Fri Nov 10, 2023 8:12 am

... Some computers have dual intel and nvidia gpus, so a good idea to also disable i915.

The dual ports does NOT apply to me, but was just thinking:

  • If a user has a HDMI monitor connected to the nvidia and a 2nd monitor connected tothe motherboard, would a disabled i915 be a cause for problem?

  • And, would the presence of the i915 module even with no monitor be a source of problem when running the system completely over the nvidia adapter?

Just a thought

don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by don570 »

I always use the HDMI output of my nvidia board and it works well.
I have noticed a black strip 1/4" wide at the top and sides of my monitor though.
I've never even tested the Dell video output.
_________________________________________

What amazes me is how the audio mixer can work properly.
But it does fortunately.
__________________________________________

Clarity
Posts: 3236
Joined: Fri Jul 24, 2020 10:59 pm
Has thanked: 1319 times
Been thanked: 435 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by Clarity »

This is just a reference screen that one PUP provides to install support.

I dont know if something like this could pop-up during a pristine boot when nvidia is detected.

Again, this is just thought as I dont have the skills to provide such that I would feel acceptable to a developer. I am merely providing a view of other mechanisms I have seen over the forum. This is not a request, just a view.

Screenshot.jpg
Screenshot.jpg (22.1 KiB) Viewed 965 times
User avatar
bigpup
Moderator
Posts: 6230
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 721 times
Been thanked: 1277 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by bigpup »

If a user has a HDMI monitor connected to the nvidia and a 2nd monitor connected to the motherboard, would a disabled i915 be a cause for problem?

And, would the presence of the i915 module even with no monitor be a source of problem when running the system completely over the nvidia adapter?

I cannot answer about the two monitor hookup.

In a desktop computer.
Having the Nvidia card as the selected output graphics device in the computers bios setup.
Having the i915 driver loaded or not loaded makes no difference.
It is not being used.

A laptop computer that has both Intel CPU integrated graphics and a Nvidia graphics card.
Now you are getting into the Nvidia Optimus graphics for laptops.

Basically the laptop starts and runs using the integrated Intel graphics built into the lntel processor. Uses this for all normal stuff.
The Nvidia hardware gets used when a big graphics demand happens.
This is suppose to save on power usage for battery life.

Puppy is not really setup to use Optimus, but it usually does work with the Intel part of it.

Wonder if this boot option will help.

Code: Select all

i915.modeset=0

This is an option for Intel driver sometimes needed.

Could look in the computers bios setup for graphics mode options.
Optimus
Uma

Changing this may help.

Example bios.
Yours may be different with enable/disable or something.

Forum Global Moderator
The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

User avatar
Federico
Posts: 142
Joined: Tue Jun 20, 2023 2:40 pm
Has thanked: 1 time
Been thanked: 19 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by Federico »

This is absolutely awesome!!!!
I've been waiting for this for a long time.

I'm currently writing this message from my desktop with an RTX 3080 12 GB and a 55" TV as screen, with 4K resolution.

I would like to explicitely thank BarryK for adding the possibility of:

- blacklisting kernel modules
- compiling stuff on Easy

this opens up obviously a whole new set of possibilities. Easy is growing really fast. I think that it's finally becoming a new mainstream Linux distribution by now.
And obviously I also thank the author of this guide.

@ Everyone

1) To fix overscan when running 4K (3840x2160 pixels) you have to open System --> Nvidia X Server Settings --> X Server Display Configuration. There on the right, when you are in Basic configuration (not Advanced) there is a slider called Underscan. You should set it to the correct value for you (for me that was 36).

2) There are a couple of "obscure" points in this guide. First of all, it is not possible to download anything without an Internet connection. It does not matter when or where you download something. The point of the question is just that you need it, and that's it.
I just used the SFSget Download SFS Combo Packages utility and selected the ftp.nluug.nl/ repository. I had no problems downloading the 2 files from there, one by one.

3) To blacklist the nouveau kernel module may be quite tricky (it has been for me).
When you go to System --> Configure BootManager and you press the small green button Click here to blacklist modules, the nouveau module may not appear among the modules listed inside the left column. In order to let it appear and gain the ability to blacklist it, I had to first press the lower green button Click here to add a new module. From there I added the nouveau module from the left to the right column, then restarted the system, then again Click here to add a new module and removed it from the right to the left column; and finally Click here to blacklist modules and it was listed, and I could blaklist it.

4) The driver installation may also be executed on another system without NVidia hardware: it does not matter. As soon as the driver has been installed and the nouveau module has been blacklisted, the system will be able to use NVidia graphics cards and start the X Server from any system on which they are installed.

Desktop PC
Case: Sharkoon S25-W MB: Asus Rog Strix B550-A PSU: XFX Pro 750W CPU: AMD Ryzen 5700X @ 4.6 GHz RAM: Corsair 32 GB DDR4 @ 3000 MHz Heatsink: Scythe Mugen 5 rev. B VGA: Asus Tuf RTX 3080 12 GB OC

Laptop PC: Asus Zenbook UX325E

User avatar
BarryK
Posts: 2253
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 552 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by BarryK »

Federico wrote: Wed Nov 15, 2023 10:49 pm

3) To blacklist the nouveau kernel module may be quite tricky (it has been for me).
When you go to System --> Configure BootManager and you press the small green button Click here to blacklist modules, the nouveau module may not appear among the modules listed inside the left column. In order to let it appear and gain the ability to blacklist it, I had to first press the lower green button Click here to add a new module. From there I added the nouveau module from the left to the right column, then restarted the system, then again Click here to add a new module and removed it from the right to the left column; and finally Click here to blacklist modules and it was listed, and I could blaklist it.

A quick way to blacklist a kernel module is to add it to the SKIPLIST variable in /etc/rc.d/MODULESCONFIG, for example, insert nouveau:

Code: Select all

SKIPLIST=" nouveau arcfb cirrusfb cyber2000fb cyblafb hgafb neofb pm2fb s1d13xxxfb ...

...make sure there is a leading space character.

The nvidia sfs files that I have created, achieve the blacklist a different way. They have /etc/modprobe.d/nvidia.conf with this content:

Code: Select all

blacklist i915
install i915 /bin/false
blacklist nouveau
install nouveau /bin/false
don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

easy os 5.6.3

Post by don570 »

Beginning with easy os 5.6.3 and future versions
users should use nvidia SFS that BarryK provides...
Make sure you check the kernel version 'uname -r'

https://distro.ibiblio.org/easyos/amd64 ... kirkstone/
_________________________________________________________

User avatar
Federico
Posts: 142
Joined: Tue Jun 20, 2023 2:40 pm
Has thanked: 1 time
Been thanked: 19 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by Federico »

Hi Everyone,
I discovered that unfortunately there's a small problem after the driver installation, at least when using also Intel graphics chipsets. Now Easy also works from my NVidia desktop. But when I use it back on my laptop again, which is an Intel Tiger Lake with Intel Iris graphics chipset, the OpenGL acceleration doesn't work:

Code: Select all

# glxgears
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  150 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  27
  Current serial number in output stream:  28
# 

the same error occurs obviously when launching any application which uses OpenGL acceleration. I researched a little bit and I've found that this is common on hybrid Nvidia / Intel configurations.
However, known solutions for other distributions doesn't seem to work on Easy. I also cannot say if this is only related to hybrid Nvidia / Intel configurations. It may also happen on other hardware.
I think that this should be easily solvable. This should be due simply to the fact that the NVidia driver installation program replaces some files which are needed for using OpenGL with other hardware.
Any help is appreciated.

Thank you

Last edited by Federico on Wed Nov 22, 2023 2:15 am, edited 1 time in total.

Desktop PC
Case: Sharkoon S25-W MB: Asus Rog Strix B550-A PSU: XFX Pro 750W CPU: AMD Ryzen 5700X @ 4.6 GHz RAM: Corsair 32 GB DDR4 @ 3000 MHz Heatsink: Scythe Mugen 5 rev. B VGA: Asus Tuf RTX 3080 12 GB OC

Laptop PC: Asus Zenbook UX325E

User avatar
bigpup
Moderator
Posts: 6230
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 721 times
Been thanked: 1277 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by bigpup »

What driver is being used when this happens?

I am going to guess it is using Vesa driver.

Blacklisting the i915 Intel driver is probably the problem.
That driver needs to be available.

Laptops with Intel CPU internal graphics and an add on Nvidia card.
Normally use the Intel graphics, until a very high graphics demand, where the Nvidia card takes over.
But the Operating system has to be able to do this changeover.

So far, I have never seen a Puppy Linux OS able to do this.
They always just use the Intel hardware.

I suspect EasyOS is the same.

Here is more info about this:
viewtopic.php?t=1550
.

Forum Global Moderator
The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by don570 »

I discovered that unfortunately there's a small problem after the driver installation, at least when using also Intel graphics chipsets. Now Easy also works from my NVidia desktop. But when I use it back on my laptop again, which is an Intel Tiger Lake with Intel Iris graphics chipset, the OpenGL acceleration doesn't work:

There is three nvidia drivers.
1) The proprietary one that is accelerated and allows CUDA and openGL
2) The 'nouveau' that is open source and allows openGL but not CUDA
3) The third is 'nvidia' and is definitely not accelerated. It is chosen by 'xorgwizard' when it can't find 'nouveau'

So I think you blacklisted 'nouveau' and that made 'xorgwizard' chose third driver 'nvidia'.
This happened to me once when I was experimenting.

It is possible to get nouveau back with the Boot Manager App
(At bottom there is a buttom that allows adding of drivers)

However what I did was start with a fresh install of Easy OS and install the proprietary nvidia SFS again.
the newest version of SFS blacklists (or removes??) nouveau and intel automatically.
_______________________________________________
If you are trying to compile the proprietary driver yourself then
Big Pup suggested blacklisting both 'nouveau' and the i915 Intel driver
before the process of compiling nvidia software in a console.
That makes sense to me.
I knew that I was using an unaccelerated driver because of the low resolution of screen.
Poor performance of glxgears is another way.

_________________________________________________________
__________________________________________

User avatar
bigpup
Moderator
Posts: 6230
Joined: Tue Jul 14, 2020 11:19 pm
Location: Earth, South Eastern U.S.
Has thanked: 721 times
Been thanked: 1277 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by bigpup »

The only driver that needs to be blacklisted is the nouveau driver.

The third is 'nvidia' and is definitely not accelerated

.
That is the nvidiafb driver in the kernel.
It should already be blacklisted if nouveau driver was ever used.

This is not EasyOS but Bookworm Pup64 using the compiled Nvidia proprietary driver.

This is it's blacklist:
Notice i915 is NOT blacklisted.
.

Screenshot(3).jpg
Screenshot(3).jpg (46.85 KiB) Viewed 673 times

.
The computer this is on is a desktop, has Integrated Intel CPU graphics, which will use the i915 driver.
This computers bios allows selecting what graphics hardware to use.
Nvidia or Intel.
Right now it is set to use the Nvidia card.
But I could set it to use the Integrated graphics in the Intel CPU and Puppy would boot using the loaded i915 driver.

A laptop with both Intel integrated graphics and a separate Nvidia graphics card, is a different animal, when it comes to what hardware it is using when booting.
I refer to my earlier post, with a link to topic talking about this type laptop setup.

Forum Global Moderator
The things you do not tell us, are usually the clue to fixing the problem.
When I was a kid, I wanted to be older.
This is not what I expected :o

User avatar
Federico
Posts: 142
Joined: Tue Jun 20, 2023 2:40 pm
Has thanked: 1 time
Been thanked: 19 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by Federico »

Thank you everyone,

for the sake of clarity I'll provide more information. First of all, I use Easy as installed on a USB stick, as well as the majority of people I think, so that I can use on every possible PC I own.
The installation of the NVidia proprietary driver made it possible to boot my desktop with an NVidia RTX 3080 through the Easy USB stick. The desktop works fine: I have a clear image in 4K, I could correct the overscan perfectly and 3D acceleration works also perfectly: no errors with opengl when the NVidia driver is loaded, and the glxgears command shows the multicolored spinning gears as expected.

As explained, the issue only arises when I boot my laptop again through the Easy USB stick. This laptop is an Intel Tiger Lake Core i5, with Intel Iris Xe graphics chipset.
But, it shouldn't be related just to my particular configuration.

For sure, I only blacklisted the nouveau driver, in order for the proprietary Nvidia driver to work.

I'll provide more output:

Code: Select all

# glxgears
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  150 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  27
  Current serial number in output stream:  28
#

Code: Select all

# glxinfo
name of display: :0
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  150 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  51
  Current serial number in output stream:  52

Code: Select all

# lspci -k | grep -EA3 'VGA|3D|Display'
0000:00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)
	DeviceName: Onboard - Video
	Subsystem: ASUSTeK Computer Inc. Device 1452
	Kernel driver in use: i915
# 

/etc/X11/xorg.conf

Code: Select all

#barry Kauler 2011
#pre-constructed xorg.conf, for use by /usr/sbin/xorgwizard-automatic
#110627 working on mageia1 build, this needs fixing.
#111029 Terryphi reported 1cm screen displacement, changed vert freq range from 56-76 to 59-76.
#120329 more placemarkers for xorgwizard-automatic script.
#121013 change depth from 16 to 24. note, some arm boards need 16.
#20220406 commented-out "HorizSync    35-81" line in "Monitor" section. ref:
# https://bkhome.org/news/202204/attempting-fix-xorg-horiz-and-vert-sync-limits.html
#20230415 VertRefresh  59-76 increase range to 56-96  ref:
# https://forum.puppylinux.com/viewtopic.php?p=86417#p86417

# **********************************************************************
# Module section -- this  section  is used to specify
# which dynamically loadable modules to load.
# **********************************************************************
#
Section "Module"
#	Load "synaptics" #loadsynaptics

# This loads the DBE extension module.

    Load        "dbe"  	# Double buffer extension

# This loads the miscellaneous extensions module, and disables
# initialisation of the XFree86-DGA extension within that module.
    SubSection  "extmod"
      Option    "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection

# This loads the font modules
#    Load        "type1"
#    Load        "freetype"

# This loads xtrap extension, used by xrandr
#    Load       "xtrap"

# This loads the GLX module (if present). xorg 7.4/5, need explicit disable to disable... change "Disable" to "Load" if reqd...
#    Disable       "glx" #LOADGLX

# This loads dri module (if present). 7.4 loads it by default, have to disable... change "Disable" to "Load" if reqd...
#    Disable       "dri" #LOADDRI

EndSection

# **********************************************************************
# Files section.  This allows default font paths to be set
# **********************************************************************

Section "Files"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)

    FontPath   "/usr/share/fonts/misc/"
    FontPath   "/usr/share/fonts/Type1/"
    FontPath   "/usr/share/fonts/TTF/"

EndSection

# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to disable the <Crtl><Alt><Fn> VT switch sequence
# (where n is 1 through 12).  This allows clients to receive these key
# events.

#    Option "DontVTSwitch"

# Enables mode switching with xrandr
# There is a report that this can cause Xorg not to work on some
# video hardware, so default is commented-out...
# but i want to use it in xorgwizard so leave on...

    Option "RandR" "on"

# With this, Xorg won't talk to HAL to add evdev devices and you'll be back
# with the old Xorg behavior (pre-7.4)...

#    Option "AutoAddDevices" "false"

# For no-Hal, kirk also suggests this...

#    Option "AllowMouseOpenFail" "true"

# Xorg 7.4, Ubuntu Jaunty, CTRL-ALT-BACKSPACE is disabled by default...

    Option "DontZap" "false"

EndSection


Section "ServerLayout"
#	InputDevice "Synaptics Mouse" "AlwaysCore" #serverlayoutsynaptics
	Identifier     "X.org Configured"
	Screen      0  "Screen0" 0 0
#	InputDevice    "Mouse0" "CorePointer"
#	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

#160914 removed, now using /etc/X11/xorg.conf.d/10-evdev.conf
#Section "InputDevice"
#	Identifier  "Keyboard0"
#	Driver      "kbd"
#	Option      "XkbRules" "xorg"
#	Option      "XkbModel" "pc102" #xkbmodel0
#	Option      "XkbLayout" "us" #xkeymap0
#	#Option      "XkbVariant" "" #xkbvariant0
#EndSection

#160914 removed, now using /etc/X11/xorg.conf.d/10-evdev.conf
#Section "InputDevice"
#	Identifier  "Mouse0"
#	Driver      "mouse"
#	Option	    "Protocol" "IMPS/2" #mouse0protocol
#	Option	    "Device" "/dev/mouse"
#	#Option      "Emulate3Buttons"
#	#Option      "Emulate3Timeout" "50"
#	Option      "ZAxisMapping" "4 5" #scrollwheel
#EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
	#HorizSync    35-81 #monitor0horizsync
	#VertRefresh  56-96 #monitor0vertrefresh
	#UseModes     "Modes0" #monitor0usemodes
	Option      "PreferredMode" "1920x1080" #monitor0prefmode
EndSection
	
Section "Modes"
	Identifier "Modes0"
	#modes0modeline0
EndSection

#110627 remove...
##server can find BusID automatically, comment out...
#Section "Device"
#	Identifier  "Card0"
#	Driver      "vesa" #card0driver
#	VendorName  "Unknown Vendor"
#	BoardName   "Unknown Board"
##	BusID       "PCI:0:2:0" #card0busid
#EndSection

Section "Screen"
	Identifier "Screen0"
#	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth 24
	#Option         "metamodes" "1280x800_60 +0+0" #METAMODES_0
	Subsection "Display"
		Depth       24
		Modes       "1920x1080" #screen0modes
	EndSubsection
EndSection
#PuppyHardwareProfile='8086:9a49_'

Code: Select all

# awk -F':' '/video/{print $4}' /etc/group
root,spot,fido,zeus,firefox,chromium,vivaldi,blender,deltachat,pdfquirk,digikam,nanosaur,ottomatic,thunderbird,jitsimeet,audacity,endlesssky,
zoom,webcamoid,phototool,dust3d,gitqlient,cromagrally,mypaint,librecad,guitar,dbgate,qgis,cozy,gramps,ppsspp,krita,okular,openshot,hexchat,
calibre,kdenlive,ungoogledchromium,telegram,altus,minitube

Thanks everyone again for the support.

Last edited by Federico on Wed Nov 22, 2023 6:10 am, edited 4 times in total.

Desktop PC
Case: Sharkoon S25-W MB: Asus Rog Strix B550-A PSU: XFX Pro 750W CPU: AMD Ryzen 5700X @ 4.6 GHz RAM: Corsair 32 GB DDR4 @ 3000 MHz Heatsink: Scythe Mugen 5 rev. B VGA: Asus Tuf RTX 3080 12 GB OC

Laptop PC: Asus Zenbook UX325E

User avatar
BarryK
Posts: 2253
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 552 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by BarryK »

If you are using the nvidia sfs that I created, it has /etc/modprobe.d/nvidia.conf, with this in it:

Code: Select all

blacklist i915
install i915 /bin/false
blacklist nouveau
install nouveau /bin/false
User avatar
BarryK
Posts: 2253
Joined: Tue Dec 24, 2019 1:04 pm
Has thanked: 93 times
Been thanked: 552 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by BarryK »

Perhaps one solution would be, to solve the usb stick booting on different computers, for the 'initrd' to detect if there is no nvidia gpu, and if so then not load the nvidia sfs.

Maybe in the 'init' script, run the busybox lspci utility:

Code: Select all

# busybox lspci | grep 'Class 10de:'

Reference:
https://envytools.readthedocs.io/en/lat ... pciid.html

don570
Posts: 623
Joined: Sat Nov 21, 2020 4:43 pm
Has thanked: 5 times
Been thanked: 98 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by don570 »

You should use the i915 driver . It is well written and supports OpenGL
As BarryK mentioned his nvidia SFS blacklists i915 driver.
There are few Linux programs that use nvidia CUDA instructions.
__________

User avatar
Federico
Posts: 142
Joined: Tue Jun 20, 2023 2:40 pm
Has thanked: 1 time
Been thanked: 19 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by Federico »

@ Barry

No, I just followed the guide from the beginning: I just installed the Kernel source and devx sfs files. Afterwards I blacklisted the nouveau driver.
I'm going to try the busybox solution you suggested now.

Thanks a lot!

@ don570

The i915 driver is in use, as you can clearly read on the output of the lspci command I added to my last post.

Desktop PC
Case: Sharkoon S25-W MB: Asus Rog Strix B550-A PSU: XFX Pro 750W CPU: AMD Ryzen 5700X @ 4.6 GHz RAM: Corsair 32 GB DDR4 @ 3000 MHz Heatsink: Scythe Mugen 5 rev. B VGA: Asus Tuf RTX 3080 12 GB OC

Laptop PC: Asus Zenbook UX325E

User avatar
Federico
Posts: 142
Joined: Tue Jun 20, 2023 2:40 pm
Has thanked: 1 time
Been thanked: 19 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by Federico »

@ BarryK

sorry but I don't seem to find any script named just 'init' on the system. Do you mean /root/.xinitrc or /etc/X11/xinit/xinitrc or something inside /etc/init.d? Where should I add that line?
Would you be more specific?

Thanks in advance

Desktop PC
Case: Sharkoon S25-W MB: Asus Rog Strix B550-A PSU: XFX Pro 750W CPU: AMD Ryzen 5700X @ 4.6 GHz RAM: Corsair 32 GB DDR4 @ 3000 MHz Heatsink: Scythe Mugen 5 rev. B VGA: Asus Tuf RTX 3080 12 GB OC

Laptop PC: Asus Zenbook UX325E

User avatar
Federico
Posts: 142
Joined: Tue Jun 20, 2023 2:40 pm
Has thanked: 1 time
Been thanked: 19 times

Re: Tutorial - Install proprietary Nvidia driver in EasyOS

Post by Federico »

I found this:

https://pupuweb.com/solved-how-fix-open ... ver-linux/

it looks like this is an old and well known issue. This can be considered as an Nvidia issue, or a Linux issue, if we want, according to the point of view.

I tried creating the text file on /etc/X11/xorg.conf.d/ with the content:

Code: Select all

Section "OutputClass"
    Identifier "Nvidia Prime"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "PrimaryGPU" "no"
    Option "SLI" "Auto"
    Option "BaseMosaic" "on"
EndSection

and I tried both naming it 10-nvidia.conf and 10-gpu-nvidia.conf, to no avail.

So I found, downloaded and installed the nvidia-prime package here (nvidia-prime_0.8.14_all.deb): https://ubuntu.pkgs.org/20.04/ubuntu-ma ... l.deb.html.
This also doesn't seem to work:

Code: Select all

# prime-select
Usage: /bin/prime-select nvidia|intel|on-demand|query
# 
# prime-select intel
Info: selecting the intel profile
Traceback (most recent call last):
  File "/bin/prime-select", line 364, in <module>
    switcher.enable_profile(arg)
  File "/bin/prime-select", line 126, in enable_profile
    self._backup_grub_config()
  File "/bin/prime-select", line 335, in _backup_grub_config
    shutil.copyfile(self._grub_path, destination)
  File "/usr/lib/python3.10/shutil.py", line 254, in copyfile
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '/etc/default/grub'
# 
# prime-select nvidia
Info: selecting the nvidia profile
Traceback (most recent call last):
  File "/bin/prime-select", line 364, in <module>
    switcher.enable_profile(arg)
  File "/bin/prime-select", line 126, in enable_profile
    self._backup_grub_config()
  File "/bin/prime-select", line 335, in _backup_grub_config
    shutil.copyfile(self._grub_path, destination)
  File "/usr/lib/python3.10/shutil.py", line 254, in copyfile
    with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '/etc/default/grub'
# 

no change after executing prime-select intel and restarting the system. But there are many strange warnings. Cannot say if the program is working correctly, or maybe if it doesn't find something because it was made for Ubuntu. The solution must be close. Hope this may be helpful to anyone in my same situation.

Desktop PC
Case: Sharkoon S25-W MB: Asus Rog Strix B550-A PSU: XFX Pro 750W CPU: AMD Ryzen 5700X @ 4.6 GHz RAM: Corsair 32 GB DDR4 @ 3000 MHz Heatsink: Scythe Mugen 5 rev. B VGA: Asus Tuf RTX 3080 12 GB OC

Laptop PC: Asus Zenbook UX325E

Post Reply

Return to “EasyOS”