Bug 572789

Summary: nvidia - X crashes with PAT-enabled kernels when vesafb is active
Product: [openSUSE] openSUSE 11.2 Reporter: Jürgen Radzuweit <juergen>
Component: KernelAssignee: E-mail List <kernel-maintainers>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: ddadap, eich, francesco.cosoleto, sndirsch
Version: Final   
Target Milestone: ---   
Hardware: i586   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: xserver log file of failure

Description Jürgen Radzuweit 2010-01-21 20:41:49 UTC
Created attachment 338114 [details]
xserver log file of failure

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.1.6) Gecko/20091201 SUSE/3.5.6-1.1.1 Firefox/3.5.6

I try to use the nvidia driver with a "GeForce4 MX 440 with AGP8X" graphics card. The xserver crashes with a "Fatal server error".


Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Comment 1 Stefan Dirsch 2010-01-21 21:54:09 UTC
Unfortunately we can't track any NVIDIA driver bugs filed against 
openSUSE in Novell's bugzilla. Please complain directly to NVIDIA.
Thanks.
Comment 2 Francesco Cosoleto 2010-03-03 17:25:55 UTC
You can pass the 'agp=off' boot parameter to the kernel, to try to fix this X.org crash. It works for me and I have same graphic card on a NForce system.
Comment 3 Francesco Cosoleto 2010-03-04 17:26:20 UTC
Replace 'agp=off' with 'nopat'.
Comment 4 Francesco Cosoleto 2010-03-05 10:38:17 UTC
I got a reply from nVidia about this problem. Stefan Dirsch, can you please take a look? Not sure whether it's possible apply a workaround in 96.* NVIDIA driver packages to resolve the trouble (disabling PAT or Vesa? it doesn't look there are performance problem working using that), or how much easy may be patching the kernel or the vesafb part as suggested.

From http://www.nvnews.net/vbulletin/showthread.php?p=2201062#post2201062 :

zander: «If the problem does not reproduce without vesafb, then it is an interaction problem between the two drivers, aggravated by a kernel check that's more strict than it needs to be. The only thing the NVIDIA legacy driver could do in this case is to fall back to uncached mappings of BAR1, which would likely yield severe/unacceptable performance penalties in this configuration.

If you need the two drivers to coexist (technically, this is not a configuration we support), you have two options:

- you can push to get vesafb updated to create write-combined mappings via ioremap_wc() on PAT-enabled kernels, rather than via a UC- mapping and a WC MTRR.

- you can modify the kernel to permit the combination of UC- and WC mappings»

Reopen for getting a second opinion. Thanks.
Comment 5 Stefan Dirsch 2010-04-17 13:49:46 UTC
Apparently our kernel team is not interested in doing such changes in our kernel.
It would be requrired to have these upstream first anyway. 

Unfortunately I'm not aware of a framework in openSUSE to add kernel boot parameters and remove them again during uninstall - in a safe way.

Also AFAICS only the legacy driver 96.x.y is affected by that issue and only
with PAT-enabled kernels. Maybe we don't have so many users in this area.

Hence I suggest to document that issue and how to workaround it on www.opensuse.org instead. Closing as WONTFIX.