There’s no need to ‘install’, compiling is sufficient. Then the binary is in the nva subfolder.
You can start it being in that directory with ./nvafakebios /path/to/vbios.rom or from anywhere else /path/to/nvafakebios /path/to/vbios.rom or copy it to your /usr/sbin folder.
vbios.rom is the file you extracted earlier.
lsmod |grep nvidia will tell you if the driver is still loaded.
./nvafakebios vbios.rom
WARN: can’t probe 0000:01:00.0
PCI init failure
modprobe nvidia
Modprobe: error: could not insert ‘nvidia_304’: operation not permitted
you have to run it as root, use sudo.
Did you unload nvidia module first and checked with lsmod?
OMG !!! It is working !!! But when I reload the result disappeared ! I mean i need to repeat all operations (./nvafakebios bios.rom). How can we save this ? And i see so ugly ubuntu logo when the system is loading.
Astonishing. The procedure has to be done on every boot, this should be doable creating a script and a systemd service that runs before displaymanager is started to automate it. I’ll think of something.
Meanwhile, do you have another nvidia-bug-report for me when it’s working?
What do you mean with ‘ugly ubuntu logo’ is it somehow distorted?
You are the Great one :)
Where can i find it “nvidia-bug-report” ?
Maybe, we need some script ?
‘ugly ubuntu logo’ like 16bit art
nvidia-bug-report.sh is a script that comes with the nvidia-driver. Just run it as root and it produces a tar.gz with the relevant logfiles.
Done
nvidia-bug-report.log.gz (60.5 KB)
Looks good. The ubuntu logo is displayed by ‘plymouth’, a ubuntu service. It tries to initialize hi-res graphics which doesn’t work due to the nvidia-driver refusing to load the vbios. Means, the yet-to-create script has to be started a bit earlier and this will be fixed as well.
No artifacts, ideal working. I ran painkiller with 3d acceleration , clive barkers undying e.t.c.
Can we create something like system application that would be
- can install like any other applications (sudo apt-get install, e.t.c.) with individual parameters (i mean my version vbios.rom, for example, just add path and name of the vbios file ? sudo apt-get install autofakebios /home/user/folder myvbios.rom)
- autoload when user choose option in the grub
- a part of root directory (./)
- load nvafakebios with current, properly configuration (in my case my version of vbios.rom)
- easy way to remove app and restore basic configuration without prop. driver
Packaging and menu building is a bit outside the scope of this forum, the ubuntu forums are a better place for that.
To have it started at boottime (all done as root, sudo -s gets you root shell)
create a directory /lib/nvfix (mkdir -p /lib/nvfix)
copy nvafakebios and vbios.rom there
create a textfile /lib/nvfix/nvfix.sh containing
#!/bin/sh
#nvfix.sh
/bin/systemctl stop nvidia-persistenced
/sbin/modprobe -r nvidia
/lib/nvfix/nvafakebios /lib/nvfix/vbios.rom
/sbin/modprobe nvidia
/bin/systemctl start nvidia-persistenced
make it executable (chmod 744 /lib/nvfix/nvfix.sh ,root should be owner: chown root /lib/nvfix/nvfix.sh)
To check if that works and all the paths are correct, after boot call as root /lib/nvfix/nvfix.sh
See if X starts
To automate,
create a text file /lib/systemd/system/nvfix.service
[Unit]
Description=Load Nvidia VBIOS
Before=plymouth.service
[Service]
Type=oneshot
ExecStart=/lib/nvfix/nvfix.sh
[Install]
WantedBy=plymouth.service
Reload systemd (systemctl daemon-reload)
Enable service (systemctl enable nvfix.service)
If it works, try with newer nvidia driver versions, 340 and 384.
The folder and script, well, we have some issues
nvfix.zip (61.5 KB)
What kind of issues?
please , see my private message, exactly i think “failed to stop nvidia-persistenced.service: Unit nvidia-persistenced.service not loaded”
Of course, the script has to be run as root.
The message about missing nvidia-persistenced.service can be safely ignored, that is only existing in newer driver versions, I just prepared the script for that.
- I created a text file /lib/systemd/system/nvfix.service with your script
- Reloaded systemd (systemctl daemon-reload)
- Enabled service (systemctl enable nvfix.service)
- Installed 340.102 driver
- Reloaded - ugly blue screen with lubuntu logo (i used this distro with xfce) like 16bit art and black screen, command line and old algorithm (nvafakebios e.t.c.).
Driver 340.102 is working, script is’t working :(
Change the nvfix.sh to
#!/bin/sh
#nvfix.sh
/bin/systemctl stop nvidia-persistenced 2>&1 >/var/log/nvfix.log
/sbin/modprobe -r nvidia 2>&1 >>/var/log/nvfix.log
/lib/nvfix/nvafakebios /lib/nvfix/vbios.rom 2>&1 >>/var/log/nvfix.log
/sbin/modprobe nvidia 2>&1 >>/var/log/nvfix.log
/bin/systemctl start nvidia-persistenced 2>&1 >>/var/log/nvfix.log
Reboot and see if that file /var/log/nvfix.log gets created and what its contents are.
The script does’t work :( and i did’t find log file /var/log/nvfix.log , i checked several times.