Red Hat Bugzilla – Bug 474719
OpenOffice.org v3 Impress no longer recognizes multiple monitors
Last modified: 2009-01-29 18:10:24 EST
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
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.
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.
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.
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.
Once this is resolved, we can get back to Bug 469572.
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!".
> 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.
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.
Created attachment 325792 [details]
Xorg log file when using the nv driver
Created attachment 325794 [details]
Xorg log file after switching to the nvidia driver
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.
Those "multihead fixes" were...
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 ?
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?
Created attachment 325843 [details]
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.
Created attachment 325853 [details]
Fedora 10 xorg.conf
Created attachment 325854 [details]
Ubuntu 8.10 xorg.conf
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.
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.
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.
Created attachment 325871 [details]
xorg.conf for Fedora 10 using Xinerama
Created attachment 325877 [details]
Xorg.log after switching to Xinerama
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).
# 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"
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.
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.
Created attachment 325893 [details]
Fedora 10 generated xorg.conf with nvidia Xinerama
Created attachment 325894 [details]
Xorg log using Fedora 10 generated xorg.conf
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?
Created attachment 325896 [details]
Xorg log after disabling xinerama
This is the only time that it works.
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.
Well, adding a BuildRequires is a good idea, but
shows that libXinerama-devel got pulled in for the build with the existing indirect dependencies.
DEBUG util.py:250: libXinerama-devel i386 1.0.3-2.fc10 build 8.4 k
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
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)...
> But now it works right (in gnome, at least)...
Oh? Do you have something for me to test? :-)
(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:
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
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...
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?
> 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.
As requested, here are the results of the tests:
Single Monitor xorg.conf (no Twinview or Xinerama):
$ echo $DISPLAY
Xinerama display has 1 framebuffers
Dimensions and positions:
Single Monitor xorg.conf, Twinview (on the fly):
$ echo $DISPLAY
Xinerama display has 2 framebuffers
Dimensions and positions:
Dual Monitor xorg.conf with Xinerama enabled:
$ echo $DISPLAY
Xinerama display has 2 framebuffers
Dimensions and positions:
Dual Monitor xorg.conf with Xinerama disabled:
$ echo $DISPLAY
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.
(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
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....)
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 .
David, now that you can reproduce the bug, do you still want for me to run that test?
dtardon->noel: No, it's not necessary; the gen backend behaves the same as the gtk one.
Will be in 3.0.0-9.11 .
openoffice.org-3.0.1-15.1.fc10 has been submitted as an update for Fedora 10.
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
I am reporting this as fixed in 3.0.1-15.1.fc10, which I installed from updates-testing.
Thank you. :-)
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.