On Tue, 24 Mar 2009 18:00:24 -0400 (EDT) "Aaron W. Hsu" <[email protected]> wrote:
> I have an intel device which seems to work pretty well if I use the > VBLANK mode trick with glxgears, but it plays large videos terribly. I > am wondering why. I noticed that overlay does not seem to be > configured when I ran xvinfo. Is there some reason for this? Is this > normal for my chipset? Did I misconfigure something? > As Dan mentioned, 2D Video Overlay isn't available any more, but the terrible video playback may not be related. Let's just say the new intel(4) driver has a lot of personality. > All the goodies follow: > > pchb0 at pci0 dev 0 function 0 "Intel GM45 Host" rev 0x07 > vga1 at pci0 dev 2 function 0 "Intel GM45 Video" rev 0x07 > k > Section "Module" > Load "dbe" > Load "dri" > Load "extmod" > Load "glx" > Load "freetype" > EndSection > The above are not necessary. They are all loaded by default. See your Xorg.0.log for details. > > Section "Monitor" > #DisplaySize 330 210 # mm > Identifier "Monitor0" > VendorName "LEN" > ModelName "4053" > Option "DPMS" > EndSection > > Section "Monitor" > #DisplaySize 330 210 # mm > Identifier "Monitor1" > VendorName "LEN" > ModelName "4053" > Option "DPMS" > EndSection > Something doesn't make sense here. The closest I've found to your description is an LCD for a laptop? LENOVO Y730 4053-2EU LAPTOP LCD PANEL 17" GLOSSY WUXGA http://www.247laptoplcd.com/servlet/the-61437/LENOVO-Y730-4053-dsh-2EU-LAPTOP/Detail or LENOVO Y730 4053-2AU LAPTOP LCD PANEL 17" GLOSSY WUXGA http://www.247laptoplcd.com/servlet/the-61436/LENOVO-Y730-4053-dsh-2AU-LAPTOP/Detail The LCD itself might be used in stand-alone displays as well as laptops, but I couldn't find one, let alone the specs for the LCD. I'm sure you're thinking, "Why the hell does that matter?" but sadly the display really does matter with the intel(4) driver. One of the crazy things the intel(4) driver does is query the display, and if it's a fixed resolution LCD, the driver tries to "rescale" the resolution you stated in your xorg.conf to what the display can actually handle. Though this new "feature" is required for some laptops and other LCD's to operate, it does not work very well, and it does cause problems for devices which do not need this "feature" present. > Section "Device" > ### Available Driver options are:- > ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", > ### <string>: "String", <freq>: "<f> Hz/kHz/MHz" > ### [arg]: arg optional > #Option "NoAccel" # [<bool>] > #Option "SWcursor" # [<bool>] > #Option "ColorKey" # <i> > #Option "CacheLines" # <i> > #Option "Dac6Bit" # [<bool>] > #Option "DRI" # [<bool>] > #Option "NoDDC" # [<bool>] > #Option "ShowCache" # [<bool>] > #Option "XvMCSurfaces" # <i> > #Option "PageFlip" # [<bool>] > Identifier "Card0" > Driver "intel" > VendorName "Intel" > BoardName "GM45 Video" > BusID "PCI:0:2:0" > EndSection > > Section "Device" > ### Available Driver options are:- <snip> > Identifier "Card1" > Driver "radeon" > VendorName "ATI" > BoardName "Mobility Radeon HD 3650" > BusID "PCI:1:0:0" > EndSection > good, you've actually got two cards in the machine. A number of dual/multi head cards can be run "Zaphod Mode" (i.e. two or more "Device" sections for a single card), but the new intel(4) driver does not support this. > (WW) intel(0): libpciaccess reported 0 rom size, guessing 64kB > (EE) intel(0): Bad VBT signature > (WW) intel(0): VBIOS initialization failed. Owain Ainsworth (oga@) has been collecting pcidump output on the intel chipsets. If possible, send the output of the following to him: # pcidump -v # pcidump -x # pcidump -xx off-list at bezerooa<at>googlemail.com > (==) intel(0): Using EXA for acceleration > (II) intel(0): 2 display pipes available. > (II) Loading sub module "ddc" > (II) LoadModule: "ddc" > (II) Module "ddc" already built-in The VESA Display Data Channel (DDC) is how the chipset driver learns about the attached display. In the link below, you can see there are two versions of this standard. http://www.x.org/archive/X11R7.1/doc/RELNOTES4.html > (II) Loading sub module "i2c" > (II) LoadModule: "i2c" > (II) Module "i2c" already built-in > (II) intel(0): Output VGA using monitor section Monitor0 > (II) intel(0): Output LVDS has no monitor section > (II) intel(0): I2C bus "LVDSDDC_C" initialized. > (II) intel(0): Attempting to determine panel fixed mode. > (II) intel(0): I2C device "LVDSDDC_C:ddc2" registered at address 0xA0. This tells us DDC2 is being used. > (II) intel(0): EDID vendor "LEN", prod id 16467 > (==) intel(0): Write-combining range (0xa0000,0x10000) was already > clear (II) intel(0): EDID vendor "LEN", prod id 16467 > (II) intel(0): Output VGA disconnected > (II) intel(0): Output LVDS connected > (II) intel(0): Using exact sizes for initial modes > (II) intel(0): Output LVDS using initial mode 1680x1050 > (==) intel(0): Write-combining range (0xa0000,0x10000) was already > clear (II) intel(0): detected 512 kB GTT. > (II) intel(0): detected 32764 kB stolen memory. > (==) intel(0): video overlay key set to 0x101fe > (==) intel(0): Using gamma correction (1.0, 1.0, 1.0) > (==) intel(0): DPI set to (96, 96) So the driver figures out you've got an LVDS display attached, and tries using an initial mode. > (II) intel(0): 0x000d8000-0x000e1fff: HW cursors (40 kB) > (II) intel(0): 0x000e2000-0x000e9fff: logical 3D context (32 kB) > (II) intel(0): 0x000ea000-0x002e9fff: fake bufmgr (2048 kB) > (II) intel(0): 0x002ea000-0x002f8fff: exa G965 state buffer (60 kB) > (II) intel(0): 0x002f9000-0x002f9fff: power context (4 kB) > (II) intel(0): 0x00300000-0x00e7bfff: front buffer (11760 kB) X tiled > (II) intel(0): 0x00e7c000-0x030effff: exa offscreen (35280 kB) > (II) intel(0): 0x01fff000: end of stolen memory > (II) intel(0): 0x030f0000-0x030f0fff: HW status (4 kB) > (II) intel(0): 0x030f1000-0x03c6cfff: back buffer (11760 kB) X tiled > (II) intel(0): 0x03c6d000-0x047e8fff: depth buffer (11760 kB) Y tiled > (II) intel(0): 0x047e9000-0x067e8fff: classic textures (32768 kB) > (II) intel(0): 0x10000000: end of aperture > (WW) intel(0): ESR is 0x00000010, page table error > (WW) intel(0): PGTBL_ER is 0x00100000, CS instruction GTT PTE > (WW) intel(0): Existing errors found in hardware state. This is strange, and I'm not entirely sure what it means, but "errors found in hardware state" seems like more of an error (EE) than something that only deserves a warning (WW). > (II) intel(0): Selecting standard 18 bit TMDS pixel format. This is probably correct, but some newer LCD's use a 24-bit pixel format. See the "LVDS24Bit" option in the intel(4) man page. > drmOpenDevice: node name is /dev/drm0 > drmOpenDevice: open result is 14, (OK) > drmOpenByBusid: Searching for BusID pci:0000:00:02.0 > drmOpenDevice: node name is /dev/drm0 > drmOpenDevice: open result is 14, (OK) > drmOpenByBusid: drmOpenMinor returns 14 > drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0 Good. You've got DRM configured and working. Now here's my suggestion for video playback; try disabling either DDC2 or DCC (both 1 & 2). In your "Device" section you can use: Option "DDC" "false" # Both version 1 and 2 Option "DDC1" "false" # Only version 1 Option "DDC2" "false" # Only version 2 The above will prevent the intel(4) driver from attempting anything stupid in the way of rescaling, because without DDC the driver will no longer be able to tell what type of display is attached. You will most likely need to add a "Modes" line to your "Display" subsection to keep the intel(4) driver from running off into the weeds trying to use the *MAX* resolution. Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" "1280x768" "whatever" EndSubSection EndSection NOTE: The above is just me guessing. You *need* to put the right resolutions for you display, which means you need to find the documentation for it. --I tried, but I'm too lazy, and my mind reading skills leave a lot to be desired. (; Sure, running at max resolution is fun, but the other funky thing about the intel(4) driver (and chipsets) is if you are running at MAX resolution, you cannot play video very well, or in some cases, at all. I suspect the reason for this limitation is due to using up all the (shared) resources trying to push the larger resolution(s). The solution I've found here with other Intel chips is to just use a lower resolution and video plays fine. It even plays fine full-screen, something the previous driver ("i810(4)") could never do. -- J.C. Roberts

