Nvidia driver - GeForce G102M

Zdravim

Mam problem s nvidia driverem na GPU: GeForce G102M, Gnome mi pada do fallbacku, ptze nejede akcelerace. Nvidia driver jsem na tomto stroji pouzival nekdy do leta 2012, kdy po jednom z updatu jadra a nvidia ovladacu mi to zacalo zlobit. V tu dobu jsem nemel prilis mnoho casu se tim zabyvat a jelikoz jsem nvidia driver pouzival jen kvuli HDMI, ktere jsem v te dobe jiz nepotreboval, vratil jsem zpet nouveau. Pred casem pro linux vysla jedna z mych srdcovek a sice CS1.6, u ktereho na nouveau mam jen asi 15-20 fps, zatimco na windows 100fps. Chci tedy vyzkouset, jak to pojede na nvidia driveru, ale po vic nez pul roce znovu narazim na stejny problem jako v lete. Bohuzel jiz nevim, se kterou verzi se mi to rozbilo :frowning:

[root@asus ~]# lspci -vvv | awk '/^..:.*VGA/,/^$/'
02:00.0 VGA compatible controller: nVidia Corporation C79 [GeForce G102M] (rev b1) (prog-if 00 [VGA controller])
	Subsystem: ASUSTeK Computer Inc. Device 1c52
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 21
	Region 0: Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Region 3: Memory at f8000000 (64-bit, prefetchable) [size=32M]
	Region 5: I/O ports at dc00 [size=128]
	[virtual] Expansion ROM at fafe0000 [disabled] [size=128K]
	Capabilities: [60] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Kernel driver in use: nvidia

Podle release notes na nvidia strankach je tato karta stale mezi podporovanymi.
Postupoval jsem nasledovne (zkousel jsem i akmod misto kmod-nvidia):

[root@asus ~]# yum install kmod-nvidia

Instalace probehla v poradku, vcetne zavislosti jako napr.: xorg-x11-drv-nvidia, xorg-x11-drv-nvidia-libs, …

[root@asus ~]# grep $(uname -r) /boot/grub2/grub.cfg | grep blacklist
        linux   /vmlinuz-3.7.3-101.fc17.x86_64 root=/dev/mapper/vg_asus-lv_root ro rd.md=0 rd.dm=0 rd.lvm.lv=vg_asus/lv_root  KEYTABLE=us quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 rd.lvm.lv=vg_asus/lv_swap LANG=en_US.UTF-8 vga=normal nouveau.modeset=0 rd.driver.blacklist=nouveau video=vesa:off
[root@asus ~]# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
[root@asus ~]# dracut /boot/initramfs-$(uname -r).img $(uname -r)

Po rebootu mi vzdy najede GS fallback rezim. Prikladam nejake info:

[kuku@asus ~]$ cat /etc/fedora-release && uname -sr
Fedora release 17 (Beefy Miracle)
Linux 3.7.3-101.fc17.x86_64
[root@asus ~]# lsmod | grep nvidia
nvidia              11283758  26 
i2c_core               38354  3 nvidia,i2c_nforce2,videodev
[root@asus ~]# dmesg | grep nvidia
[   20.403635] nvidia: module license 'NVIDIA' taints kernel.
[   20.403637] nvidia: module license 'NVIDIA' taints kernel.
[   20.453433] nvidia 0000:02:00.0: setting latency timer to 64
[kuku@asus ~]$ glxinfo
name of display: :0.0
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  137 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0x3600003
  Serial number of failed request:  33
  Current serial number in output stream:  33
[kuku@asus ~]$ head .xsession-errors
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  137 (NV-GLX)
  Minor opcode of failed request:  4 ()
  Resource id in failed request:  0xc00003
  Serial number of failed request:  35
  Current serial number in output stream:  35
[kuku@asus ~]$ grep -E "\(EE\)|\(WW\)" /var/log/Xorg.0.log | head
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    64.895] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[    64.895] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
[    64.895] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
[    64.895] (EE) NVIDIA(0):     you continue to encounter problems, Please try
[    64.895] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.
[    65.633] (WW) NVIDIA(GPU-0):     Mode is rejected: Only EDID-provided modes are allowed on
[    65.633] (WW) NVIDIA(GPU-0):     cPATH (DFP-0) (continuous frequence modes not allowed).
[    65.634] (WW) NVIDIA(GPU-0):     Mode is rejected: Only EDID-provided modes are allowed on
[    65.634] (WW) NVIDIA(GPU-0):     cPATH (DFP-0) (continuous frequence modes not allowed).

Normalne, zadny xorg.conf nemam, ale zkousel jsem i nechat si jej vygenerovat pres nvidia-xconfig a nvidia-settings, ale ani jedno nepomohlo.
Myslim, ze v xorg.conf problem neni. Na nouveau s tim nemam problem.

Google vetsinou radi reinstall nvidia driveru, ale to jsem udelal uz asi 5x a porad to same.
Nez vyzkousim drivery stazene primo na nvidia.com, nenapada nekoho co bych s tim mohl jeste zkusit?

kuku.mp3

Driver primo ze stranek bych nezkousel, i kdyz v tomto pripade by to mohlo mit nejaky vedlejsi efekt, ktery by treba pomohl.

Soustredil bych se na ty hlasky EE z Xorg.0.log. Cely zadrhel podle me totiz bude, ze sice mas modul kernelu, ale nemas modul pro Xorg. Podstatne je totiz mit i balik xorg-x11-drv-nvidia-libs a to spravne nainstalovany (tedy pro prislusnou achitekturu, jeste radeji overit pomoci rpm -V xorg-x11-drv-nvidia-libs).

Balik xorg-x11-drv-nvidia-libs samozrejme mam, dokonce jsem zkousel instalovat i 32bit verzi toho baliku, nepomohlo. Zameril jsem se na /var/log/Xorg.0.log a koukam, ze X server mou grafarnu rozpoznava jako G205M, ackoli se jedna o G102M.

Problem bude nejspis tady, zkusim najit blizsi info o zmenach v tomto baliku.

[   258.760] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[   258.760] (EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
[   258.760] (EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
[   258.760] (EE) NVIDIA(0):     you continue to encounter problems, Please try
[   258.760] (EE) NVIDIA(0):     reinstalling the NVIDIA driver.
[   259.492] (II) NVIDIA(0): [b]NVIDIA GPU GeForce G205M (C79) at PCI:2:0:0 (GPU-0)[/b]
[   259.493] (--) NVIDIA(0): Memory: 524288 kBytes
[   259.493] (II) NVIDIA(0): Board ID: 0x7500
[   259.493] (II) NVIDIA(0): GPU RAM Type: DDR2
[   259.493] (--) NVIDIA(0): VideoBIOS: 62.79.78.00.06
[   259.493] (--) NVIDIA(0): Found 2 heads on board
[   259.493] (II) NVIDIA(0): Supported display device(s): CRT-0, DFP-0
[   259.493] (II) NVIDIA(0): Bus detected as Integrated
[   259.493] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[   259.493] (II) NVIDIA(0): DFP scaling is supported on this GPU
[   259.493] (II) NVIDIA(0): SPS  : 1
[   259.493] (II) NVIDIA(0): User configuration of GPU PowerMizer is supported
[   259.493] (II) NVIDIA(0): 
[kuku@asus ~]$ sudo lspci -vvv | awk '/^..:.*VGA/,/^$/'
02:00.0 VGA compatible controller: nVidia Corporation C79 [b][GeForce G102M][/b] (rev b1) (prog-if 00 [VGA controller])
	Subsystem: ASUSTeK Computer Inc. Device 1c52
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 21
	Region 0: Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Region 3: Memory at f8000000 (64-bit, prefetchable) [size=32M]
	Region 5: I/O ports at dc00 [size=128]
	[virtual] Expansion ROM at fafe0000 [disabled] [size=128K]
	Capabilities: [60] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Kernel driver in use: nvidia

kuku.mp3

Mam na flashce testovaci F18tku - doupdatnul jsem ji a vyzkousel tam hodit nvidia driver na stejnem stroji - stejny postup jako na F17 a akcelerace jede, ikdyz se karta identifikuje jako GeForce G205M:

[kuku@asus ~]$ cat /etc/fedora-release && uname -sr
Fedora release 18 (Spherical Cow)
Linux 3.7.6-201.fc18.x86_64
[kuku@asus ~]$ glxinfo | grep -i render
direct rendering: Yes
OpenGL renderer string: GeForce G205M/integrated/SSE2
[kuku@asus ~]$ lspci | grep VGA
02:00.0 VGA compatible controller: NVIDIA Corporation C79 [GeForce G102M] (rev b1)

Premyslim, jestli v F17 nemam nekde nejake shnile nastaveni nebo podobnou kulisarnu. S upgradem jsem chtel jeste pres zimu pockat az se 18tka trochu odladi - pokud to na F17 nevyresim, asi me to donuti k upgradu o neco driv.

kuku.mp3

Podle me mas a upgrade to nemusi vyresit. Mas tam nekde zahnile knihovny od nvidie. Vylistuj si co obsahuji baliky xorg-x11-drv-nvidia* (jsou minimalne dva) a podivej se po souborech v okoli
/usr//lib64/xorg/modules/drivers
/usr/lib64/nvidia/xorg
a take ve 32bitovem /lib. Je mozne ze ti tam nekde zustal nejaky soubor, ktery se natahuje a neni spravny k danemu modulu jadra a verzi Xorg - velmi casto se to stava prave po instalaci ovladace nikoli z RPM ale ze stranek nvidie.

Zkus ty baliky nasledne odinstalovat a zkontroluj, ze ti tam z nich nic nezustalo, nasledne prohledej filesystem zda tam neni libglx.so a spol. od nvidie (pozor je tam puvodni z xorg).

Zkontroloval jsem vse, co jsi mi poradil, ale nic podezreleho jsem nenasel. Pred instalaci mam pouze jeden libglx.so, ten xorgu a v /usr/lib64/nvidia nic neni, v modules/drivers taky nic, az po instalaci se tam soupne nvidia_drv.so.

Kazdopadne me napadlo porovnat lsofem soubory mezi F17 a F18, ktere ma Xorg otevrene, kdyz bezim s nvidia driverem. F17 mela otevreny ten xorgu, zatimco F18 nvidie. Tak me napadlo, udelat symbolicky link z /usr/lib64/nvidia/ (kam to balik instaluje) do /usr/lib64/xorg/modules/extensions/nvidia/ a voila, uz to jede. Neprisel jsem na to, kde je ta chyba a proc se normalne neloaduje nvidia libglx.so, ale jako workaround mi to staci.

Nejspis to pak na F18 preinstaluju, misto upgradu.

Diky za pomoc

kuku.mp3