Bug 496123

Summary: gnome-display-properties does nothing to handle framebuffer being too small for requested configuration
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: control-centerAssignee: Control Center Maintainer <control-center-maint>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bnocera, control-center-maint, rstrode
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-04-17 09:58:22 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
ubuntu's icky patch none

Description Adam Williamson 2009-04-16 18:38:52 UTC
A fairly common issue with multi-head display configurations is that, when you try to arrange monitors side-by-side, it fails due to the framebuffer being too small.

This was commonly the case with the Intel driver up through Fedora 10, as the driver didn't support dynamic framebuffer re-allocation until the Fedora 11 cycle. It now does, so we'll be OK for F11 on that front, but now we have the nouveau driver as the default for NVIDIA chipsets, which does RandR 1.2 (yay) but doesn't do framebuffer reallocation (boo). So it has the exact problem Intel used to have. Try and configure a side-by-side multihead setup out of the box with an NVIDIA adapter on Fedora 11 and it'll almost certainly fail because the available framebuffer size isn't large enough. We had multiple reports of this in the nouveau Test Day, for e.g.

Currently, when hitting this problem, g-d-p either just tries and it doesn't work, or it fails with a cryptic error message. We should improve this behaviour somehow.

I mailed the upstream maintainer, Federico Mena Quintero. He pointed out that Ubuntu has something of a gimcrack solution to this: it's a patch that implements an xorg.conf parser and tries to write an appropriate Virtual line into xorg.conf (this is how you manually specify a big enough framebuffer for a multi-head setup to actually work). We might not necessarily want to have this hack (and besides it probably doesn't work at present if xorg.conf doesn't exist, which is likely to be the case on Fedora), but it's worth evaluating, I guess.

At least, g-d-p should pop up an error dialog with a better explanation of the problem, and possibly a link to a Wiki page or something which explains how to fix it manually.

I'm attaching the Ubuntu patch to be evaluated. (The screen-package.h header it includes basically just does: "gboolean ubuntu_packages_install (GtkWindow *window, const char **packages);")

Comment 1 Bastien Nocera 2009-04-16 19:58:50 UTC
1) The drivers should be fixed
2) libXRandR should give us better error feedback

We'll see whether it's possible to have a better error message, but having to touch the xorg.conf is obviously out of the question.

Comment 2 Adam Williamson 2009-04-16 20:26:39 UTC
Yes, 1 is obviously the long-term solution, but we'll have F11 in this state with NVIDIA adapters for at least a few months, so it'll probably crop up quite a bit. And I wouldn't be surprised if it happens to a few other drivers as they move to RandR 1.2 in future.

2, I think from what Federico said, the error should be distinguishable. The Ubuntu patch seems to be able to do it. So we could use a less messy version which just displayed a better error dialog. That'd be fine, I think. I agree that trying to parse xorg.conf is really not a good idea :)

Don't know why the attachment didn't get through...I'll add it again...

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 3 Adam Williamson 2009-04-16 20:27:08 UTC
Created attachment 339916 [details]
ubuntu's icky patch

Comment 4 Bastien Nocera 2009-04-16 22:28:30 UTC
All the code is already in check_required_virtual_size(), it just needs to be enabled. There's nothing usable in the Ubuntu patch, because we don't want to just be working around driver bugs.

Comment 5 Bastien Nocera 2009-04-17 09:58:22 UTC
Given that nouveau now has framebuffer resizing (bug 487356), I'm closing this. Feel free to push the bug upstream if you feel that it's still necessary.

*** This bug has been marked as a duplicate of bug 487356 ***

Comment 6 Adam Williamson 2009-04-17 16:53:40 UTC
yeah, I was about to post that. I am amazed at ben's awesomeness :)

Indeed this now becomes far less important - intel, radeon and nvidia account for way over 95% of the graphics card market, and we're covered on all three fronts now as far as this goes. So practically speaking it hardly matters any more. Won't bother about it now.

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers