Slackware 13.37 doesn't determine monitor size correctly
I have a display problem since updating to Slackware 13.37. Everything was fine on Slackware 13.1, but when I switched to 13.37 some piece of software came up with the wrong monitor size. I have a 1600x900 LCD monitor but the X screen came up as 1024x768 with blackness on either side of it. Under Slackware 13.1 the X screen came up as 1600x900 as it should without any prompting from me; I didn't even have an Xorg.conf file. I tried using the Xorg.conf file which was needed and work for older Slackwares, eg 12.*, but it didn't work. (Saying it didn't work is a gross understatement! That old Xorg.conf completely screwed up mouse, keyboard, and monitor; the screen was flashing and nothing worked. The only way to get control back was to SSH into the machine from my laptop and reboot. Killing the X server via that SSH console did NOT the flashing or get me back to my console login; only reboot worked.)
I find I can get the screen to be the right size manually by going through KDE's "System Settings" --> "Display and Monitor" --> "Size & Orientation", then disabling "LVDS1" and setting VGA1 to 1600x900. The size of my odd-sized monitor is being correctly detected for the "Auto" choice. Upon reboot LVDS1 stays disabled but VGA1 reverts to 1024x768 so I have to do this each time.
I've done some search of the on-line literature regarding the error messages I am seeing in the boot log. As near as I can tell the relevant error and other messages are:
[ error message from dmesg ]
fb: conflicting fb hw usage inteldrmfb vs VESA VGA - removing generic driver
[ consequences from /var/log/messages ]
vesafb: framebuffer at 0xd0000000, mapped to 0xf8080000, using 1536k, \
vesafb: mode is 1024x768x8, linelength=1024, pages=9
vesafb: scrolling: redraw
vesafb: Pseudocolor: size=8:8:8:8, shift=0:0:0:0
fb0: VESA VGA frame buffer device
ERST: Table is not found!
People are suggesting changing all kinds of things to alleviate the side effects of the "conflicting" error message above, even modifying GRUB parameters (which won't work for me since I use LILO).
So, I have a manual work around which I must do each time I log in. Does someone know how I can get X or KDE to force 1600x900 upon start (while Linux/X/whoever find and fix the problem) or does someone know of a real fix?
Thanks in advance,
"fb: conflicting fb hw usage inteldrmfb vs VESA VGA - removing generic driver"
I agree. Why not get the correct driver?
See if this helps any too. http://www.linuxquestions.org/questi...driver-879488/
I doubt the conflicting message is the source of any resolution problems under X. The generic vesa framebuffer driver is able to hand over control to the DRM KMS drivers such as inteldrm. You can confirm if the problem is the conflict or not by disabling the vesa framebuffer driver by passing "vga=normal" to the kernel. Since it's a kernel option, it works if you are using grub or lilo. Just add that vga=normal to the append line in /etc/lilo.conf and rerun lilo. Try that and let us know if it solves your resolution problem.
As per your suggestion I tried passing vga=normal to the boot by adding it to the append line in lilo.conf. Lilo itself rejected it:
root@atomik 0 PID=2219> lilo
Fatal: APPEND or LITERAL may not contain "vga="
Then I tried putting vga=normal into lilo.conf as its own line as the man page suggested. That did nothing so problem not solved.
Let me ask a different question: I put this query in the Slackware forum since the problem showed up for me with Slack 13.37. so I thought someone here might have seen it before me and had a solution handy. However I suspect the problem is not really a Slackware problem. After all Slackware is only a collection of programs and data. Here is some additional information I've gotten:
1. This is NOT a KDE problem. When I boot up with XFCE the screen is also too narrow just as it is in KDE.
2. In looking at the /var/log/Xorg.0.log file it is clear that X recognizes that my monitor on VGA1 has several modes
[ 1694.617] (II) intel(0): Printing probed modes for output VGA1
[ 1694.617] (II) intel(0): Modeline "1600x900"x60.0 ...
[ 1694.617] (II) intel(0): Modeline "1280x1024"x60.0 ...
[ 1694.617] (II) intel(0): Modeline "1152x864"x75.0 ...
[ 1694.617] (II) intel(0): Modeline "1024x768"x75.1 ...
[ 1694.617] (II) intel(0): Modeline "1024x768"x60.0 ...
and that my video output (no monitor, not even a connector) on LVDS1 also has several modes
[ 1694.548] (II) intel(0): Printing probed modes for output LVDS1
[ 1694.548] (II) intel(0): Modeline "1280x800"x58.1 ...
[ 1694.548] (II) intel(0): Modeline "1024x768"x60.0 ...
Xorg.log then goes on to say:
[ 1694.617] (II) intel(0): Output LVDS1 connected
[ 1694.617] (II) intel(0): Output VGA1 connected
So, given that X (falsely) thinks that LVDS1 is connected it then apparently tries to use the highest resolution mode it has in common with the two outputs (Using fuzzy aspect match for initial modes) namely "1024x768"x60.0.
[ 1694.617] (II) intel(0): Using fuzzy aspect match for initial modes
[ 1694.617] (II) intel(0): Output LVDS1 using initial mode 1024x768
[ 1694.617] (II) intel(0): Output VGA1 using initial mode 1024x768
3. Note that I did not change my hardware when upgrading to Slackware 13.37, and this was all working with my previous Slackware, so this is a software or data issue.
So does anyone have any idea WHERE code may have changed which would cause screen resolution to be screwed up, i.e. TO WHOM do I go to ask this question?
ALTERNATIVELY, is there some way I can (1) force X to ignore LVDS1 or (2) get KDE to automagically do the manual workarounds?
Thanks in advance,
OK, sorry, the 'vga =' is actually in /etc/lilo.conf by default. You just need to adjust the value to normal. That'll teach me to respond to someone first thing in the morning :-)
I think we can get VGA1 to use the correct resolution by default. Try creating an xorg.conf file that contains just these few lines:
I spoke too soon. Work-around not found.
|All times are GMT -5. The time now is 05:32 PM.|