I originally reported this in bug 6942 but was adviced to post a new one. Background: I have laptop with a i915GM graphics card and a 1400x1050 screen. Lately I got access to two 1680x1050 LCD screens, one to have at home, one at work. The first is an Acer (don't remember numbers), the other a Dell E207WFP. So I want a setup such that I can connect either of these external screens and have the same dual screen/display setup (not xinerama, but with two X sessions). After quite a bit of testing and trial, I got to the situation reported over in the other bug, but not long after I was able (by sheer luck) to get what I wanted to work on the Acer (1680x1050 + 1400x1050). The only "special" thing in xorg.conf is option "MonitorLayout" "CRT,LFP" and the screen1 leftof screen0 stuff in ServerLayout. I expected this to work when I came back to the office and the Dell monitor, but alas. It seems that the monitor receives the correct resolution from the graphics card, but interprets it wrong. It tells me that the input is 1280x1024, whereas the shown area seems to be something like 1680x1000 (a slim black border on top and bottom). The image is sheared, not truncated, so I'm not able to see all the content at once (I can move it up and down, but the black borders persist and hides some part of the desktop at all times.) An additional effect of this, is that the text is close to unreadable on this monitor. When I at first didn't succeed at all with the installed i810 driver (which is the one used in both the cases above), I tried the modesetting branch. The problems with that one was of some other nature. It required me to specify 64MB of memory to each of the output devices to load at all, and then it showed nothing on the local laptop display, whereas kdm showed up on the external and in correct resolution. When I logged in, the resolution on the external dropped to 1280x1024. I would like to help debug the modesetting branch, but I'm no longer able to compile it as it won't configure with the message configure: error: Must have X server >= 1.3 source tree for mode setting code. Please specify --with-xserver-source My i810 driver is the one from Kubuntu Edgy.
Without logs to compare the differences there's not a lot to go on.
(In reply to comment #1) > Without logs to compare the differences there's not a lot to go on. > Yes, no surprise there. What output would be needed of what?
/var/log/Xorg.0.log from the run at work and at home. If you are trying with the modesetting branch, then can you assign the bug to Eric.
Created attachment 8853 [details] Log for Dell E207WFP at work
I will attach the home log later. Some additional information, I had to edit the 915resolution script, as neither of the two resolutions were present in the available modes. Thus both 1680x1050 and 1400x1050 are placed over some of the other resolutions (the lowest I think?). I'm also curious whether I'd rather should have chosen something else than "CRT,LFP" given that the external monitor is a LCD and not a CRT.
That explains it. 915resolution doesn't always work. You might want to try overriding the 800x600 mode.
(In reply to comment #6) > That explains it. 915resolution doesn't always work. You might want to try > overriding the 800x600 mode. > This didn't lead to any improvements, actually the external monitor now seems to show 1280x1000, and the monitor says the input is 70Hz (whereas it was 60Hz with the previous 915resolution settings). As mentioned above, the previous 915resolution settings work at home (setting modes 3a, 4b and 5a to be 1680x1050).
My point is, that 915resolution is unreliable and overriding modes doesn't always work. It really depends on what the BIOS is doing. I'd suggest switching back to the modesetting branch and gathering more detail for Eric. As for compiling the driver, you now need to download the latest git sources for the xserver as well, and that's why it wants v1.3. I'll mark this for Eric's attention as you should really be using the modesetting branch to attempt what you are doing due to the lack of BIOS support for your modes.
Created attachment 8855 [details] Log for Dell using modesetting branch If I remember correctly, I got even less image on my monitors this time around, that is nothing at all. Log is attached. I tried setting the VideoRam value to both 64 and 128 MB without it having any effect whatsoever. Note that I haven't set VideoRam at all using the i810 driver.
While I haven't intentionally broken zaphod mode (where you use two separate device sections in your config file) in the modesetting branch, that's an inefficient and non-recommended way to configure your driver. Please try with no X configuration, or the minimal one necessary, and use multiple Monitor sections (currently not documented, but check the mailing list for pointers for other people) to do any configuration of output location/mode/options you want after that. The xrandr tool can be used to configure monitor layout at runtime.
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Created attachment 8897 [details] Log for Dell using modesetting branch I guess I'm somewhat confused as to exactly how I should provide no X configuration. Just a simple device saying the name of the driver made Xorg complain that I had no Screen section, so I copied in the screen and monitor section for the main screen, from the (halfway) working i810 setup. This didn't start anything because it complained about too little memory. Setting VideoRAM to 65536 for the device, let me start X, resulting in nothing on the laptop monitor, and a partially stretched 1280x1024 display on the external monitor. I tried to add in the additional monitor and screen sections for that monitor from the other xorg.conf, without any difference in result. Attaching log.
Created attachment 9014 [details] Log for Dell using modesetting branch I've tested the latest of the modesetting branch, but whatever I do, I'm not getting any image on my LFP (or is it LVDS?). Looking at the external screens input info, it looks like it may get the correct resolution, but it also seems that X (or KDM) thinks there should be an image on the LFP and thus I'm not able to log in. Also, I'm not able to change to any of the other ttys at this point or do anything else, and need to reboot (Ctrl+alt+del do work). Will attach the xorg.conf I tested with.
Created attachment 9015 [details] xorg.conf for intel modesetting driver After adding the monitor-VGA option, it now looks like the external monitor is ok (see comment to last attachment), but as I don't get an image on the LFP, I tried with a monitor-LFP (and monitor-LVDS, no difference I think) option. No luck there either. Now, I still have those Screen sections around, as X won't start without them (currently having 7.2 installed, Kubuntu Feisty), but are they actually used? Maybe they confuse the rest of the setup?
Comment on attachment 8853 [details] Log for Dell E207WFP at work fixing mime type
Can you try with no configuration and without external displays hooked up, and see if the LVDS (LFP) works then? If it still doesn't work then, then can you try replacing the I9XX_P2_LVDS_SLOW_LIMIT setting with 90000 instead of 112000?
Also, be sure to use the latest code from the master branch.
I will get to this in a couple of days, having crunch time myself here. Will I need to install new server headers to make sure the randr stuff is up to date? Or is it enough to compile the driver itself?
Created attachment 9246 [details] Log no config, no external monitor No success, although it seems X didn't actually quit/abort.
Created attachment 9247 [details] slow limit set to 90k No difference in operation as far as I could see.
That log was truncated, so it wasn't useful. Please try again with the code from master with no modifications, and make sure it has two DumpRegsBegin/End sections (not just the one at server startup)
Created attachment 9297 [details] Log no config, no external monitor I hope this one isn't truncated.
I updated again today, but didn't have any more luck (although it seems that similar setups are reported to work over in the mailinglist). I wouldn't mind doing a more complete test if necessary (xserver (have 7.2 installed), driver, etc), but would need guidance on how to do that without messing too much with the local setup. For now I've just installed the driver. The server compiled fine, but I didn't figure out how to test with it without installing it over the distro installed version.
The 1.9.93 driver does not work with the 1.2 X server from X.org 7.2.
Created attachment 9486 [details] Latest git xorg.0.log I have no tried to use git (as of 4 hours ago) of everything (xserver, inteldriver, mouse/keyboard/evdev) and the .conf seen in the next attachment. I hope I'm testing the way that would be useful for you. It is now erroring on lines 462 and 463 in the log, claiming there is no working screens.
Created attachment 9489 [details] simple xorg.conf for 1 screen
Since you have a big modes list of mode names that aren't going to be the ones chosen by the server for detected modes, you won't end up with any valid modes. I would recommend removing your attempt to configure the list of modes.
thanks, that did the trick. The latest git is now working on my local screen with correct resolution. In addition cloning works with the external wide screen with correct resolution (1680x1050). Having two different pipes do not yet work, looks like it was the mentioned max resolution taking effect, as I got a skewed clone on the local panel.
This bug appears to be resolved, at least from the comments here.
(In reply to comment #29) > This bug appears to be resolved, at least from the comments here. > Then you misunderstood :) I firmly believe that as long as I'm not able to have a working dual screen setup on non-DRI mode, then we're looking at a regression from the old i810 driver. The only thing resolved, is that I'm able to use the laptop, without external screensk, with this driver.
In bugzilla, you need to submit one issue per bug report if you want developers to actually look at it. I've fixed one issue reported here (the first part of the subject), so it's time to submit individual bugs for the rest as appropriate.
Lars, it sounds like you'll need to add a 'Virtual' option to your Screen section's Display section. Make it as large as the two displays you'd like to see connected (e.g. if you have a 1400x1050 internal display and a 1280x1024 external display, you'd add Virtual 2680 1050 to the display section if you wanted them side by size). Once you've done that, you can use the 'xrandr' tool (make sure you have a recent version) to enable/disable outputs on the fly. If you want a more static configuration, you can use the new driver specific options corresponding to each output type (e.g. Option "monitor-VGA" "monitor section" in your intel driver section, along with a new monitor section named "monitor section" describing how you'd like it placed relative to your other displays), the manpage has details.
Following Jesse's comments, both dynamic switching (by xrandr) and static configuration (in xorg.conf) works fine on my i915GM. I'd close this bug as there're too many historical comments which are not related to the current situation. Lars, please open a new bug if you still have problem with Jesse's solutions.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.