! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
xfdesktop fails on X Window error when run in multihead mode with nVidia
Status:
RESOLVED: WONTFIX
Product:
Xfdesktop
Component:
General

Comments

Description leg22 2005-11-16 16:01:48 CET
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.)
Comment 1 Brian J. Tarricone (not reading bugmail) 2005-11-16 17:01:10 CET
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.
Comment 2 Brian J. Tarricone (not reading bugmail) 2006-07-12 23:22:50 CEST
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.
Comment 3 Brian J. Tarricone (not reading bugmail) 2006-10-17 20:59:35 CEST
Closing due to lack of response; this should work fine for 4.4.
Comment 4 leg22 2006-10-19 13:30:04 CEST
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
Comment 5 Brian J. Tarricone (not reading bugmail) 2006-10-20 06:18:45 CEST
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.
Comment 6 leg22 2006-10-20 14:16:11 CEST
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
Comment 7 Brian J. Tarricone (not reading bugmail) 2006-10-21 01:53:42 CEST
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?

Comment 8 Olivier Fourdan editbugs 2006-10-21 08:16:22 CEST
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 ().

Comment 9 Brian J. Tarricone (not reading bugmail) 2006-10-21 08:42:42 CEST
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?
Comment 10 Olivier Fourdan editbugs 2006-10-21 15:49:09 CEST
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.
Comment 11 leg22 2006-10-22 17:29:50 CEST
I can attach the xorg.conf file I used when running the test program if so desired.
Comment 12 Brian J. Tarricone (not reading bugmail) 2006-10-22 21:11:57 CEST
(In reply to comment #11)
> I can attach the xorg.conf file I used when running the test program if so
> desired.

Please do.
Comment 13 Brian J. Tarricone (not reading bugmail) 2006-10-24 03:53:30 CEST
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...
Comment 14 leg22 2006-10-24 14:32:10 CEST
Created attachment 839 
xorg.conf that causes xfdesktop to crash

When X11 is started using this configuration, both displays become active but xfdesktop dies.
Comment 15 leg22 2006-10-24 14:34:58 CEST
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.
Comment 16 Brian J. Tarricone (not reading bugmail) 2006-10-29 23:54:11 CET
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...
Comment 17 Brian J. Tarricone (not reading bugmail) 2006-10-29 23:56:18 CET
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.
Comment 18 leg22 2006-10-30 19:53:58 CET
I haven't found any indication online that the open source drivers support multihead configurations.
Comment 19 Brian J. Tarricone (not reading bugmail) 2006-11-01 18:32:08 CET
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.
Comment 20 Fabio Bonfante 2007-04-23 21:01:23 CEST
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 ;-)
Comment 21 Harold Aling 2007-09-23 18:34:56 CEST
> i attach for example my xorg.conf. hope to be useful in some manner ;-)
> 

Blaming this on Nvidia/Xorg...

Bug #1231

Reported by:
leg22
Reported on: 2005-11-16
Last modified on: 2009-07-14

People

Assignee:
Brian J. Tarricone (not reading bugmail)
CC List:
1 user

Version

Attachments

enum-displays.c (1.26 KB, text/plain)
2006-10-20 06:18 CEST , Brian J. Tarricone (not reading bugmail)
no flags
xorg.conf that causes xfdesktop to crash (3.93 KB, application/octet-stream)
2006-10-24 14:32 CEST , leg22
no flags
working xorg.conf (11.54 KB, text/plain)
2007-04-23 21:01 CEST , Fabio Bonfante
no flags

Additional information