[SOLVED] tty / console blank after loading nvidia drivers
hello dear community!
i've experienced this problem for some time now but simply didn't find any time to solve it.
i've got a mainboard with an integrated nvidia graphics chipset (nforce 630a) and the correct drivers (v 177.82) installed. the problem is that when gdm is started my tty's run on a resolution/mode that is not supported by my tft-screen. (says 'out if range ...').
as this seems to have been addressed before, i found this thread quite helpful.
so i tried everything just like described and it seems to be in affect at first (during startup, the console resolution is influenced by what i set through vga=771 for 800x600 resolution), but when the x-session has started (and i guess thats when the nvidia-driver is loaded), the tty's can't get displayed no more (monitor gives 'out of range'-message).
to me, it seems as if the nvidia driver kills the vesafb that is correctly loaded (at least lsmod says so).
i also tried to additionally load vga16fb but this didn't help either.
has anybody experienced something similar? how might i solve this? any suggestions are very welcome! thanks...
ps: just to be make sure; i unblacklisted 'vesafb' from '/etc/modprobe.d/blacklist-framebuffer' , added 'fbcon' and 'vesafb' to '/etc/initramfs-tools/modules', ran 'sudo update-initramfs -u' and of course added a 'vga=XXX' (with XXX being a linux video mode number) to the kernel boot parameter.
Re: tty / console blank after loading nvidia drivers
ah, right... i forgot to mention that i use ubuntu 8.04. i'm not completely aware of what role the xserver-driver (nvidia proprietary in my case) plays for the virtual tty consoles. i guess it somehow must do something sice the boot-up-console works fine.
so what i tried is to add a modeline to my xorg.conf for the resolution i chose for the console (vga=771 =~ 800x600). this (rather conservative) resolution should be available, at least the output of 'sudo hwinfo --framebuffer' says so (Mode 0x0303: 800x600 (+800), 8 bits).
really nobody got a hint for me?
Re: tty / console blank after loading nvidia drivers
some more details:
- no suspicious warnings or errors in /var/log/Xorg.0.log found
- when switching to tty[1-6], my display says:
Code:
frequency out of range: 65 khz / 52 hz,
please change the display mode to 1600x1200 with 60hz
i then checked the specs for my display and while the 65 khz (horizsync) are within the specificiations, 52hz (vertrefresh) is too low and the minimum accepted frequency would be 56hz.
my modelines in xorg.conf should be fine though, Xorg.0.log says
Code:
(II) NVIDIA(0): Assigned Display Device: DFP-0
(II) NVIDIA(0): Validated modes:
(II) NVIDIA(0): "1600x1200@60"
(II) NVIDIA(0): "1280x1024@60"
(II) NVIDIA(0): "1024x768@70"
(II) NVIDIA(0): "800x600@70"
(II) NVIDIA(0): "640x480@72"
(II) NVIDIA(0): Virtual screen size determined to be 1600 x 1200
which looks fine to me.
also a bit further above in Xorg.0.log i find
Code:
(II) Loading extension XFree86-DRI
(II) LoadModule: "nvidia"
(II) Loading /usr/lib/xorg/modules/drivers//nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
compiled for 4.0.2, module version = 1.0.0
Module class: X.Org Video Driver
this also appears correct
then there are two entries that i am not sure about:
Code:
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/lib/xorg/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.0.0
ABI class: X.Org ANSI C Emulation, version 0.3
(II) Loading sub module "wfb"
(II) LoadModule: "wfb"
(II) Loading /usr/lib/xorg/modules//libwfb.so
(II) Module wfb: vendor="X.Org Foundation"
compiled for 1.4.0.90, module version = 1.0.0
ABI class: X.Org ANSI C Emulation, version 0.3
well, fb probably stands for framebuffer and from what i found out until now, a framebuffer is what is needed for the vitual tty consoles. i just wonder if these are the right ones or if they somehow interfere with vesafb???
one thing that i would like to find out is where the 52hz vertical refresh come from, they are certainly NOT from the modelines i added. but i guess this must be set somewhere, so if anybody has a clue where, please let me know!
Re: tty / console blank after loading nvidia drivers
\\:D/ GOOD NEWS! I JUST SOLVED THIS ISSUE! \\:D/
before telling how, i'd like to mention that while looking for a solution i came across numerous reports about bugs or problematic behaviour of usplash (the ubuntu splash screen). usplash is active on default but one can easily disable it through editing /boot/grub/menu.lst , but please make a backup first in case something goes wrong!
this is what you need to do in order to disable usplash which as i mentioned could lead to additional problems:
in the menu.lst file, first look for the 'defoptions' section somewhere near the middle and remove 'splash' there, so it won't be added to the default kernel parameters again on the next kernel-update.
then, also remove the word 'splash' from the lines starting with 'kernel /vmlinuz-...'.
and here is what i did to finally get a working console:
in /etc/modprobe.d/nvidia-kernel-nkc i added an additional parameter 'NVreg_UseVBios=0' at the end of the existing ones. after rebooting, everything worked fine with the settings described in my previous postings.
after the reboot, the output of 'cat /proc/driver/nvidia/registry' should contain the line 'UseVBios: 0'; this read 'UseVBios: 1' before adding the parameter.
the idea for this came from this thread at the nvidia-forums, so props to the ones there who figured things with this the parameter out! =D>
another nice thing now is that i can use higher resolutions on the virtual consoles tty[1-6] using the vga=XXX parameter mentioned earlier.
1600x1200 (code 796) wont work in my case but 1280x1024 (code 775) is also pretty fine with me.
the reason for the not working 1600x1200 resolution is probably that vesafb doesn't support it (not part of the vesa standard anyway). there seems to be another frambuffer driver called 'uvesafb' which should be capable of this, but as far as i have found out now, the usage of uvesafb would require to recompile the kernel with a different configuration.
Re: tty / console blank after loading nvidia drivers
I am wondering if anyone can help me:
I am running the 64bit 8.10 live CD.
and I can not find the file:
/etc/modprobe.d/nvidia-kernel-nkc
Therefore I can not set UseVBios to 0 to try it.
I am trying this out on the live CD because I want everything working properly before I take the plunge. This issue with the blank tty's is the only thing holding me back.
I am trying to get this running on a Clevo M860TU with an Nvdia 9800M GT
Re: [SOLVED] tty / console blank after loading nvidia drivers
if you run the live-cd you probably don't have any nvidia-driver installed. this is one thing that doesn't work really good one live-systems since afaik the system needs to be rebooted for external proprietary graphics drivers (like nvidia) to work, which is what doesn't work with a live-system because it can't store its state.
but why are you sticking to 6.10? there has been huge progress since these old days of 6.10, i really recommend using a more recent version, also on older hardware! if you need LTS take 8.04, 9.04 is to be released officially in about a week, but is not LTS.
the problem with the missing nvidia-kernel-nkc on live-systems will be the same here though.
EDIT: note that handling of kernel-module options seems to have changed in 9.04 (beta); there might be no file 'nvidia-kernel-nkc' in /etc/modprobe.d (and no options-file as well), at least on my machine running ubuntu 9.04 64bit beta this was the case.
but setting NVreg_UseVBios=0 can also be done more directly via kernel-options in /boot/grub/menu.lst . at least this way i got it working for nvidia-driver version 180.44.
for further reading i suggest this thread on ubuntuforums and then https://help.ubuntu.com/community/BootOptions.
Re: [SOLVED] tty / console blank after loading nvidia drivers
I am sorry - that was a silly Typo.
It's 64bit 8.10
I can get the Nvidia Drivers to load (or at least have the issue with the blank tty) with downloading the Drivers, insalling them, and simply restarting x.
Once that is done, ttys are blank, and useless.
I will try the kernel options way - it makes sence, simpy did not think or it...
Re: [SOLVED] tty / console blank after loading nvidia drivers
sudo nano /etc/modprobe.conf
add this line
options nvidia NVreg_UseVBios=0
Re: [SOLVED] tty / console blank after loading nvidia drivers
any news as to how to set NVreg_UseVBios to 0 in Jaunty?
thanks! been searching for a while, but found no solution..
Re: [SOLVED] tty / console blank after loading nvidia drivers
You can set NVreg_UseVBios to 0 in Jaunty by creating a new file in /etc/modprobe.d/ with just this line as content
Code:
options nvidia NVreg_UseVBios=0
i named it nvidia-fix.conf but the name doesn't really matter it changed the NVreg_UseVBios to 0 i can see the change by the result of cat /proc/driver/nvidia/registry
but I still have a blank console.