Bug 474719

Summary: OpenOffice.org v3 Impress no longer recognizes multiple monitors
Product: [Fedora] Fedora Reporter: Noel J. Bergman <noel>
Component: openoffice.orgAssignee: David Tardon <dtardon>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 10CC: caolanm, dtardon, jnavrati
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-29 23:10:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Xorg log file when using the nv driver
none
Xorg log file after switching to the nvidia driver
none
My xorg.conf
none
Fedora 10 xorg.conf
none
Ubuntu 8.10 xorg.conf
none
Merged xorg.conf for Fedora 10
none
xorg.conf for Fedora 10 using Xinerama
none
Xorg.log after switching to Xinerama
none
Fedora 10 generated xorg.conf with nvidia Xinerama
none
Xorg log using Fedora 10 generated xorg.conf
none
Xorg log after disabling xinerama
none
Prints info about Xinerama display
none
F-10 xorg.conf using RandR none

Description Noel J. Bergman 2008-12-04 23:26:01 UTC
Description of problem:

Impress no longer realizes that I have multiple monitors!  If I go into the Slide Show, anyway, Impress splits the slides across the expanded, virtual, display.  Impress does not go full-screen incorrectly, it just handles
the Slide Show incorrectly.  I have tried rebooting with the second display
connected and with it disconnected.  I have tried toggling it off and back on. 
So far, I cannot get Impress to recognize that the second display exists.


Version-Release number of selected component (if applicable):

$  rpm -qa | grep openoffice
openoffice.org-ure-3.0.0-9.10.fc10.x86_64
openoffice.org-math-core-3.0.0-9.10.fc10.x86_64
openoffice.org-math-3.0.0-9.10.fc10.x86_64
openoffice.org-draw-3.0.0-9.10.fc10.x86_64
openoffice.org-brand-3.0.0-9.10.fc10.x86_64
openoffice.org-draw-core-3.0.0-9.10.fc10.x86_64
openoffice.org-calc-3.0.0-9.10.fc10.x86_64
openoffice.org-impress-3.0.0-9.10.fc10.x86_64
openoffice.org-presenter-screen-3.0.0-9.10.fc10.x86_64
openoffice.org-core-3.0.0-9.10.fc10.x86_64
openoffice.org-calc-core-3.0.0-9.10.fc10.x86_64
openoffice.org-graphicfilter-3.0.0-9.10.fc10.x86_64
openoffice.org-pdfimport-3.0.0-9.10.fc10.x86_64
openoffice.org-writer-3.0.0-9.10.fc10.x86_64
openoffice.org-xsltfilter-3.0.0-9.10.fc10.x86_64
openoffice.org-impress-core-3.0.0-9.10.fc10.x86_64
openoffice.org-writer-core-3.0.0-9.10.fc10.x86_64
openoffice.org-langpack-en-3.0.0-9.10.fc10.x86_64

How reproducible:

Entirely reproducible.

Steps to Reproduce:

1. Have two monitors
2. Run Impress (notice, as with all OOoV3 apps that the splash screen is split between the displays)
3. Check Slide Show Settings.  Notice lack of option for 2nd display.
4. Run Slide Show.  Notice how the slide is split across the single, aggregated, display space.
  
Actual results:

See above.  The slide show spans the monitors, rather than being on one, or more properly providing the option in Slide Show Settings to control which monitor has the slides.

Expected results:

I should be able to select multiple monitors in Slide Show Settings, and have the presentation on the selected monitor, preferably with the Presenter Console doing its job.

Additional info:

Fedora 10, with all updates installed as of reporting date.

I have tested this with the nv driver.  I have also tried with nouveau, but nouveau refuses to do anything other than mirror the displays.  I have not recently tried with the real nvidia  driver because it seems that whenever someone uses it you refuse to support the bug report.

Comment 1 Noel J. Bergman 2008-12-04 23:27:53 UTC
Once this is resolved, we can get back to Bug 469572.

Comment 2 Caolan McNamara 2008-12-04 23:40:06 UTC
Presenter console works fine for me with an i845 card and dual head. I might have a dig around to see if I can get a dual head nv arrangement, I'd rather suspect that the problem may be with the specific driver and this will end up being an xorg bug. "nv" has always been an astonishingly sucky driver, with the "vesa" driver faster than it for rendering certain slide transitions.

It might be worth a shot to force "rpm --erase --nodeps openoffice.org-presenter-screen" and see if the old non presenter console arrangement works like it did at the time (F-9, 2.4.X ?) when "Impress no longer realizes that I have multiple monitors!".

Comment 3 Noel J. Bergman 2008-12-05 03:33:26 UTC
Caolan,

> I'd rather suspect that the problem may be with the specific
> driver and this will end up being an xorg bug.

> "nv" has always been an astonishingly sucky driver

I quite agree, and don't hold nouveau in any higher regard (as noted, I have tried it).  I will go ahead and install the real nvidia driver from rpmfusion, and we'll see if there is any improvement.  Doing the same tests on Ubuntu work fine, but I always use the real driver there, since Ubuntu supports its use.

> see if the old non presenter console arrangement works like it
> did at the time (F-9, 2.4.X ?)

No, no.  Bug 469572 was about F10 (rawhide at the time) and 3.0.  What I first experienced, independent of video driver, was a total crash of X.  Then there were some updates issued, and once those were installed the behavior changed from a crash to simply no longer recognizing that there are multiple monitors.

Comment 4 Noel J. Bergman 2008-12-05 04:08:16 UTC
Caolan,

Nope.  After installing the nvidia driver (akmod-nvidia), we still have the same behavior.  Whatever dual-head patches were made to OOov3, they appear to have broken recognition of dual monitors, at least with every driver for NVIDIA I have tried.

I'm going to attach the last two Xorg log files, one with nv and the other after rebooting with nvidia.

Comment 5 Noel J. Bergman 2008-12-05 04:09:18 UTC
Created attachment 325792 [details]
Xorg log file when using the nv driver

Comment 6 Noel J. Bergman 2008-12-05 04:10:05 UTC
Created attachment 325794 [details]
Xorg log file after switching to the nvidia driver

Comment 7 Noel J. Bergman 2008-12-05 04:20:33 UTC
Caolan, you had mentioned a "few multihead fixes for OOo" that weren't present at first but which have been added.  Do I have them?  If not, can I get them?  Either way, can we do some testing?  I'm willing to run a test build with some debugging code in it, if that would be helpful to you.

Comment 8 Caolan McNamara 2008-12-05 09:02:34 UTC
Those "multihead fixes" were...

http://www.openoffice.org/issues/show_bug.cgi?id=93805
http://www.openoffice.org/issues/show_bug.cgi?id=93986

I doubt they're relevant myself.

caolanm->dtardon: You've for a dual-head setup right ?, what hardware/video card do you have driving that ?

Comment 9 David Tardon 2008-12-05 11:20:27 UTC
dtardon->caolanm: Yes, I have. Video card is ATI Radeon X600 (radeon driver in X.org). I don't use TwinView, however.

dtardon->noel: From the problem description I think you have your monitors configured as TwinView--i.e. one virtual screen with double width. Am I right? If I am, I wonder if the problem could be something like that:

"TwinView is a configuration for two monitors connected to one card, that will appear as one screen to the X server. There are fewer disadvantages to TwinView in Linux compared to Windows since the Nvidia driver provides its own Xinerama extension, allowing Xinerama-aware window managers and applications to be aware of monitor borders. Most 3D apps are not prepared for a double-width resolution (including, for example, UT2004) and will annoyingly appear in the middle of the virtual screen, across the split, unless you specify a MetaMode at the correct resolution for only one monitor (see Device section given below)."
(quotation from http://en.gentoo-wiki.com/wiki/X.Org/Dual_Monitors/Nvidia)

Can you attach your /etc/X11/xorg.conf here?

Comment 10 David Tardon 2008-12-05 13:27:36 UTC
Reproduced.

Comment 11 David Tardon 2008-12-05 13:28:45 UTC
Created attachment 325843 [details]
My xorg.conf

Comment 12 Noel J. Bergman 2008-12-05 15:05:18 UTC
I agree, Caolan, that they do not seem significant.  I agree, in part, because I have run both OOov3 release and DEV300m36 (which has those changes) on Ubuntu using the same nvidia 177.82 driver and it works as expected with Twinview.  The former was from the OOo PPA maintained by Ubuntu, the latter straight off of the OOo website.

David, yes, I am using Twinview when using the nvidia driver.  When using nv, I was using whatever it provides, which appears to be Twinview-like.  One benefit of Twinview is that the nvidia-settings program (or the Screen Resolution applet when using nv) can make the changes on the fly without having to write an xorg.conf file.  Again, as I have noted above, using Twinview works with the same nvidia driver and configuration on Ubuntu.

I am attaching the xorg.conf files from both Ubuntu 8.10 (works) and Fedora 10 (fails), and neither have anything in them related to twinview and/or modelines.  The Ubuntu one does, however, defined a Screen, which the Fedora one does not.

Comment 13 Noel J. Bergman 2008-12-05 15:06:19 UTC
Created attachment 325853 [details]
Fedora 10 xorg.conf

Comment 14 Noel J. Bergman 2008-12-05 15:07:06 UTC
Created attachment 325854 [details]
Ubuntu 8.10 xorg.conf

Comment 15 Noel J. Bergman 2008-12-05 15:35:40 UTC
Created attachment 325861 [details]
Merged xorg.conf for Fedora 10

After merging in the sections from the (working) Ubuntu 8.10 xorg.conf.  OOov3 still doesn't recognize multiple monitors.

Comment 16 Noel J. Bergman 2008-12-05 15:45:29 UTC
To enable Xinerama means modifying xorg.conf.  Unfortunately, running nvidia-settings on F10 and clicking to save the configuration results in nvidia-settings terminating without writing the file, nor providing any error message.  I'll reboot into Ubuntu and generate one there for Xinerama.

Comment 17 Noel J. Bergman 2008-12-05 16:16:54 UTC
Caolan and David, I am attaching an xorg.conf file that sets up the two separate displays and uses Xinerama.  Two bits of bad news.

First, this required me to boot an Ubuntu partition because nvidia-settings does not work to write an xorg.conf file on Fedora 10, as noted above.

Second, this probably does "resolve" this bug because we are now back to Bug 469572, which means that attempting to select a menu results in the entire X session crashing.

I will attach the xorg.conf file and the Xorg log file here so that you can see the difference.  Then I'll go address Bug 469572 after reproducing the crash.

Comment 18 Noel J. Bergman 2008-12-05 16:18:08 UTC
Created attachment 325871 [details]
xorg.conf for Fedora 10 using Xinerama

Comment 19 Noel J. Bergman 2008-12-05 16:49:14 UTC
Created attachment 325877 [details]
Xorg.log after switching to Xinerama

Comment 20 Noel J. Bergman 2008-12-05 17:57:54 UTC
I spoke too soon.  

I had posted the xorg.conf after making one more change after reproducing the crash, but then found that Impress did NOT recognize the separate monitors even after switching to Xinerama.  And if I revert that change, BOOM, the entire X session crashes (as in Bug 469572).

The change?

# COMMENTING OUT THIS SECTION CAUSES X11 TO CRASH WITH OOov3 Impress
# Section "Files"
# 	ModulePath   "/usr/lib64/xorg/modules/extensions/nvidia"
# 	ModulePath   "/usr/lib64/xorg/modules"
# EndSection

If that section is NOT present, X crashes.  If it IS present, Impress still does not see multiple monitors, even with two separate displays and Xinerama.

So I will post this information to Bug 469572, but we are back, David and Caolan, to this bug: I cannot get the Impress Slide Show on Fedora 10 to recognize multiple monitors, regardless of which driver or, so far, configuration.

Comment 21 Noel J. Bergman 2008-12-05 18:43:27 UTC
OK, I fixed the issue with nvidia-settings (it was an SE issue, but was not being reported except in the audit.log), and regenerated xorg.conf from scratch on Fedora 10.  We're back to this bug, guys.  Attached is my xorg.conf, and Impress does not recognize multiple monitors.

Interestingly, despite missing the Files section, this xorg.conf does not lead to the crash.

Comment 22 Noel J. Bergman 2008-12-05 18:44:52 UTC
Created attachment 325893 [details]
Fedora 10 generated xorg.conf with nvidia Xinerama

Comment 23 Noel J. Bergman 2008-12-05 18:45:44 UTC
Created attachment 325894 [details]
Xorg log using Fedora 10 generated xorg.conf

Comment 24 Noel J. Bergman 2008-12-05 19:27:52 UTC
OK, I have it working.  Attached is an Xorg log.

I had to turn off Xinerama in xorg.conf.  That is the only way that OpenOffice v3 Impress will recognize the multiple monitors with Fedora 10, although it works with Twinview on Ubuntu.

Can we please get this working on Fedora 10 with more normal dual-head configurations?

Comment 25 Noel J. Bergman 2008-12-05 19:28:51 UTC
Created attachment 325896 [details]
Xorg log after disabling xinerama

This is the only time that it works.

Comment 26 David Tardon 2008-12-08 14:07:36 UTC
I think I have it--our builds actually don't support Xinerama at all because of missing build dependency on libXinerama-devel... I'm building new version right now; will try it as soon as the build has finished.

Comment 27 Caolan McNamara 2008-12-08 14:37:30 UTC
Well, adding a BuildRequires is a good idea, but 
http://kojipkgs.fedoraproject.org/packages/openoffice.org/3.0.0/9.10.fc10/data/logs/i386/root.log
shows that libXinerama-devel got pulled in for the build with the existing indirect dependencies.

i.e. 
DEBUG util.py:250:   libXinerama-devel       i386       1.0.3-2.fc10     build             8.4 k

Comment 28 Noel J. Bergman 2008-12-09 01:22:48 UTC
Likewise for the x86_64 build that I'm using:

DEBUG util.py:250:   libXinerama             x86_64     1.0.3-2.fc10     build              13 k
DEBUG util.py:250:   libXinerama-devel       x86_64     1.0.3-2.fc10     build             8.3 k

Comment 29 David Tardon 2008-12-10 09:13:10 UTC
dtardon->caolanm: Yeah, you're right, it was only my test build that didn't include it. But now it works right (in gnome, at least)...

Comment 30 Noel J. Bergman 2008-12-11 03:24:57 UTC
> But now it works right (in gnome, at least)...

Oh?  Do you have something for me to test?  :-)

Comment 31 David Tardon 2008-12-11 14:50:23 UTC
(In reply to comment #24)
> OK, I have it working.  Attached is an Xorg log.
> 
> I had to turn off Xinerama in xorg.conf.  That is the only way that OpenOffice
> v3 Impress will recognize the multiple monitors with Fedora 10, although it
> works with Twinview on Ubuntu.

It looks like we are stumbling over proper terminology. As I understand it,
TwinView is something like Xinerama on steroids by nVidia and is supported
only by nvidia driver (and only on some cards). Your Ubuntu xorg.conf doesn't
enable it, unless it's enabled by default and it shouldn't be, according to
nVidia's documentation. Neither it enables Xinerama that is disabled by
default too. If I try such a configuration on my system, I get the same image
on both monitors (i.e. mirror).

There evidently were (and maybe still are?) problems with the nv driver and
dual-head. By problems I mean it didn't work--and I'm not sure about current
state of things. There is option Dualhead described in nv's manpage, maybe you
could try it.

The nvidia driver can use TwinView or Xinerama (for one big screen) or neither
one of them (for two screens). No one of your config files enables TwinView;
you can try it, it's described here:
http://us.download.nvidia.com/XFree86/Linux-x86/177.67/README/chapter-13.html
.

Let me ask some questions now: the config file with Xinerama enabled looks
good, so does the log for it--is it really functional? OOo takes configuration
of display from X, so if X knows there are in fact two monitor devices in that
one Xinerama screen, so should OOo. What
    echo $DISPLAY
in some terminal says? What it say in the other (Xinerama-disabled)
configuration? Does something change if you add Virtual and Mode lines (you
may need to modify it with respect to your monitors' resolutions) from my
config to the Xinerama-enabled one?

That's about all for now...

Comment 32 David Tardon 2008-12-11 15:35:45 UTC
Created attachment 326629 [details]
Prints info about Xinerama display

dtardon->noel: Could you run the attached program in terminal in the Xinerama configuration and post its result here?

Comment 33 Noel J. Bergman 2008-12-11 22:07:34 UTC
> your Ubuntu xorg.conf doesn't enable [Twinview]

That is because I don't *have* to enable Twinview in my xorg.conf.  :-)  The nice thing about Twinview over Xinerama is that Twinview can be enabled on the fly in the driver by the nvidia-settings program.  :-)  I am not always attached to a second display, so I simply fire up nvidia-settings and enable Twinview when I need it.

> the config file with Xinerama enabled looks good, so does the
> log for it--is it really functional?

Define functional.  If you mean, do both monitors work, is the desktop where it is supposed to be, etc., yes.  If you mean, does OOo recognize it as a dual-display environment, then no.

> Let me ask some questions now

I won't have access to a 2nd display until tomorrow night, but will address them as soon as I do, including running your diagnostic program.

Comment 34 Noel J. Bergman 2008-12-13 02:16:09 UTC
David,

As requested, here are the results of the tests:

Single Monitor xorg.conf (no Twinview or Xinerama):
  $  echo $DISPLAY
  :0.0
  $  ./xinerama-info 
  Xinerama display has 1 framebuffers
  Dimensions and positions:
  0: (0,0)-(1920,1200)

Single Monitor xorg.conf, Twinview (on the fly):
  $  echo $DISPLAY
  :0.0
  $  ./xinerama-info 
  Xinerama display has 2 framebuffers
  Dimensions and positions:
  0: (0,0)-(1920,1200)
  1: (1920,0)-(1920,1080)

Dual Monitor xorg.conf with Xinerama enabled:
  $  echo $DISPLAY
  :0.0
  $  ./xinerama-info 
  Xinerama display has 2 framebuffers
  Dimensions and positions:
  0: (0,0)-(1920,1200)
  1: (1920,0)-(1920,1080)

Dual Monitor xorg.conf with Xinerama disabled:
  $  echo $DISPLAY
  :0.0
  $  ./xinerama-info 
  No Xinerama!

Notice that Twinview and Xineram give identical results.  And also note that the last one -- the one that reports "No Xinerama!" is the only one that OOo recognizes as having multiple monitors.

Comment 35 David Tardon 2008-12-16 08:24:44 UTC
(In reply to comment #34)
> 
> Notice that Twinview and Xineram give identical results.
Well, TwinView uses nVidia's own implementation of Xinerama, so it's not so big a surprise. What I thought was that the Xinerama information might be wrong, but it's evidently not the case. It seems that OOo thinks that there is more than one screen present, so Xinerama is not used, and, at the same time, that there is just one screen, so it uses dimensions of virtual screen for positioning of splash screen etc. Madness!

I have got one more idea, though: Could you run ooimpress from terminal as

  SAL_USE_VCLPLUGIN=gen ooimpress

and report if it uses the same wrong positioning? With some luck, it could inform us whether the problem is in Gtk+ or X11 part.

(Btw, I updated to F-10 recently and haven't been able to configure dual-head with F-10's Xorg at all. I played with it for several hours and all I was able to get was two screens mirroring each other--as if the Xserver ignored my xorg.conf altogether....)

Comment 36 David Tardon 2008-12-16 12:21:11 UTC
Created attachment 327091 [details]
F-10 xorg.conf using RandR

I've eventually figured out how to use RandR, so there is my dual-head configuration for F-10. I'm able to reproduce the bug with it. What is a little weird is that my xinerama-info program says there is a Xinerama display with 2 framebuffers there, even though Xinerama is explicitly disabled in the xorg.conf .

Comment 37 Noel J. Bergman 2008-12-16 14:41:33 UTC
David, now that you can reproduce the bug, do you still want for me to run that test?

Comment 38 David Tardon 2008-12-16 15:21:56 UTC
dtardon->noel: No, it's not necessary; the gen backend behaves the same as the gtk one.

Comment 39 David Tardon 2008-12-19 11:32:10 UTC
Will be in 3.0.0-9.11 .

Comment 40 Fedora Update System 2009-01-13 08:46:52 UTC
openoffice.org-3.0.1-15.1.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/openoffice.org-3.0.1-15.1.fc10

Comment 41 Fedora Update System 2009-01-15 02:53:49 UTC
openoffice.org-3.0.1-15.1.fc10 has been pushed to the Fedora 10 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update openoffice.org'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-0390

Comment 42 Noel J. Bergman 2009-01-16 00:10:06 UTC
I am reporting this as fixed in 3.0.1-15.1.fc10, which I installed from updates-testing.

Thank you.  :-)

Comment 43 Fedora Update System 2009-01-29 23:09:44 UTC
openoffice.org-3.0.1-15.2.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.