I am using a dual output nVidia video card with nVidia's Linux kernel driver. When I run X11 in multihead mode (i.e., such that each output uses a separate display), xfdesktop fails with the following error: The program 'xfdesktop' received an X Window System error. This probably reflects a bug in the program. The error was 'BadMatch (invalid parameter attributes)'. (Details: serial 887 error_code 8 request_code 2 minor_code 0) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.) Reproducible: Always Steps to Reproduce: 1. Configure X11 to use a separate display on each video channel (i.e., make sure that Xinerama is NOT enabled). 2. Login to X11 using xfce. 3. Try running xfdesktop manually. Actual Results: The binary immediately printed the aforementioned error and exited. Expected Results: xfdesktop should have started and thereby enabled the various features it provides (e.g., clicking with the right-hand mouse button to open a menu). Distribution: Mandriva 2006.0 Kernel: 2.6.12 nVidia driver revision: 7676 X11 implementation: X.org 6.9 GTK+2 version: 2.8.3 (I observed this bug with earlier versions of the above software when using xfce 4.2.1.)
No idea what could be causing this; there was a bug in the SVN trunk version that I fixed that would cause this problem, but the bug isn't present in the 4.2 branch. I'll check into it when I'm back from my trip.
Would it be possible to test this against 4.4beta2 to see if the bug is still present? It's doubtful there will be another release in the 4.2.x series.
Closing due to lack of response; this should work fine for 4.4.
This bug still affects xfce 4.4 beta 2 (or 4.3.90.2); xfdesktop crashes almost immediately with the previously described error after being started with a multiheaded nVidia configuration: Distribution: Mandriva Linux 2007.0 Kernel: 2.6.17 nVidia driver revision: tried both 8774 (latest stable release) and 9625 (beta) from nVidia X11 implementation: X.org 7.1 GTK+2 version: 2.10.3
Created attachment 834 enum-displays.c Can you compile and run this app on your system with X running in TwinView clone mode? Compilation instructions at the top. Paste the output here. Thanks.
Here is what I obtained while in TwinView clone mode (there are 2 identical LCD screens attached to the graphics card): This display has 1 screen(s). Screen 0: Name: :0.0 Size: 1600x1200 2 monitor(s): Monitor 0: 1600x1200+0+0 Monitor 1: 1600x1200+0+0
Huh. That's... kinda weird. But I guess it sorta makes sense, though I feel like the driver is abusing X. Olivier, you heard of anything like that? Any thoughts?
I'm sorry, I don't see anything wrong that could explain why xfdesktop dies with with a BadMatch... If you can identify the source of the problem, you can enclose it within gdk_error_trap_push ()/gdk_error_trap_pop () and test the result of gdk_error_trap_pop ().
Actually, I was more talking about the result of my test app in comment #6. The setup is two physical monitors in nvidia's "clone mode" where each monitor displays the same contents. gdk_display_get_n_screens() is returning 1, but gdk_screen_get_n_monitors() for that screen returns 2, and gdk_screen_get_monitor_geometry() returns the *same* geometry for both monitors. Kinda weird, no?
Hard to make an assumption without the actual xorg.conf. Such a configuration is possible, even if not meant. On the other hand, it wouldn't be the first time we have some issues between nVidia proprietary driver and gtk+ reported layout, see bug #1005 for example.
I can attach the xorg.conf file I used when running the test program if so desired.
(In reply to comment #11) > I can attach the xorg.conf file I used when running the test program if so > desired. Please do.
Also, please try adding: Option "NoTwinViewXineramaInfo" "true" to your xorg.conf Device section and see if that fixes the problem. There's really no reason I can see to provide xinerama info in clone mode...
Created attachment 839 xorg.conf that causes xfdesktop to crash When X11 is started using this configuration, both displays become active but xfdesktop dies.
Note that the xfdesktop problem I originally reported occurs only when both TwinView AND Xinerama are not used, i.e., two separate screens and devices are set up in xorg.conf (see the attachment I just uploaded) and the enum-displays program reports This display has 2 screen(s). Screen 0: Name: :0.0 Size: 1600x1200 1 monitor(s): Monitor 0: 1600x1200+0+0 Screen 1: Name: :0.1 Size: 1600x1200 1 monitor(s): Monitor 0: 1600x1200+0+0 As long as only one screen is configured (with appropriate metamodes so as to use both physical displays), xfdesktop starts without any problem.
Oh, I was under the impression that clone mode was causing this as well. Anyway, now I have even less of an idea what could be causing this. The only oddity in your xorg.conf I can see is that you have "Virtual 1600 1200" in your Screen->Display subsections. I thought a "Modes" line was mandatory as well, but I'm not sure. Maybe that could be causing it? Why use 'Virtual' anyway? Using: Modes "1600x1200" <other wanted modes> is much more 'normal'. Otherwise... I have no idea. The enum-displays output in comment #15 looks as it should. If I use "Xnest :1 -scrns 2 -ac" to simulate this, I get the exact same output as you do, and xfdesktop runs just fine on the Xnest server. Unfortunately, testing your config is a bit difficult for me: I have a geforce card with VGA and DVI outputs, but the only VGA device I have is my CRT monitor in my bedroom, and the only DVI device I have is my CRT TV in my living room, neither of which I want to lug around. Maybe I can borrow a LCD monitor from work or something...
Oh, idea. Is it possible for you to try with the opensource 'nv' driver? Does it have multihead capabilities? If you can reproduce the bug there, I might be able to use my laptop, connected to my DVI TV. I can't use the binary nvidia driver on the laptop as it's a ppc architecture.
I haven't found any indication online that the open source drivers support multihead configurations.
Yes, that appears to be the case. Can you try removing the "Virtual" lines and using a more traditional "Modes" line? I'm not sure if that would really do anything, but I'm out of ideas.
Created attachment 1103 working xorg.conf well, i'm currently running xfce 4.4 on an nvidia in moltihead mode without problem...(well relatively this bug) even with different monitor and resolution on an amd64 w/. My configuration... gentoo distro, kernel 2.6-19 (and some gentoo patches) xorg-x11 7.1 nvidia-drivers-1.0.9746 gtk-2.10.9 i attach for example my xorg.conf. hope to be useful in some manner ;-)
> i attach for example my xorg.conf. hope to be useful in some manner ;-) > Blaming this on Nvidia/Xorg...