Having upgraded from previous version (6.9), I get modes that my monitor can not handle. Moreover, when killing the X server, the monitor is often coloured with cyan, so nothing can be read, until the video card is reset. I tried both with/without kernel framebuffer (vesafb and neofb), my kernel version is 2.6.17-2-686. Trying xorg VESA driver works, but gives a 60Hz refresh. ----- Here's what I have in my xorg.conf ---- Section "Device" Identifier "NeoMagic" Driver "neomagic" EndSection Section "Monitor" Identifier "Vision Master 1451" Option "DPMS" HorizSync 30 - 96 VertRefresh 50 - 160 EndSection Section "Screen" Identifier "Default Screen" Device "NeoMagic" Monitor "Vision Master 1451" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1152x864" "1024x768" EndSubSection EndSection --------------------------------------------- # hwinfo --gfxcard 20: PCI 100.0: 0300 VGA compatible controller (VGA) [Created at pci.281] Unique ID: VCu0.5DbEs+7pdLA Parent ID: vSkL.+oqW+GBE7wA SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0 SysFS BusID: 0000:01:00.0 Hardware Class: graphics card Model: "IBM ThinkPad 570" Vendor: pci 0x10c8 "Neomagic Corporation" Device: pci 0x0005 "MagicMedia 256AV" SubVendor: pci 0x1014 "IBM" SubDevice: pci 0x00dd "ThinkPad 570" Revision: 0x20 Memory Range: 0xf5000000-0xf5ffffff (rw,prefetchable) Memory Range: 0xf4400000-0xf47fffff (rw,non-prefetchable) Memory Range: 0xf4200000-0xf42fffff (rw,non-prefetchable) IRQ: 11 (3888 events) I/O Ports: 0x3c0-0x3df (rw) Module Alias: "pci:v000010C8d00000005sv00001014sd000000DDbc03sc00i00" Driver Info #0: XFree86 v4 Server Module: neomagic Color Depths: 8, 16, 24 Extensions: Options: Config Status: cfg=new, avail=yes, need=no, active=unknown Attached to: #11 (PCI bridge) # hwinfo --monitor 24: None 00.0: 10000 Monitor [Created at monitor.93] Unique ID: rdCR.fnXGQbZSqOD Hardware Class: monitor Model: "IIYAMA LS902U" Vendor: IVM "IIYAMA" Device: eisa 0x1938 "LS902U" Resolution: 720x400@70Hz Resolution: 640x480@60Hz Resolution: 640x480@75Hz Resolution: 800x600@75Hz Resolution: 1024x768@75Hz Resolution: 1280x1024@75Hz Resolution: 640x480@85Hz Resolution: 800x600@85Hz Resolution: 1024x768@85Hz Resolution: 1280x960@85Hz Size: 360x270 mm Driver Info #0: Max. Resolution: 1280x1024 Vert. Sync Range: 50-160 Hz Hor. Sync Range: 30-96 kHz Bandwidth: 94 MHz Config Status: cfg=new, avail=yes, need=no, active=unknown
Actually, after analysing the logs, I see that before (xorg 7.0.0) and now (xorg 7.1.1) the ModeLine used (for 1152x864x16) is the same: Modeline "1152x864" 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync
Replacing v1.1.1 neomagic driver with a v1.0.0.5 (recompiled with the rest of 7.1.1 xorg server) gives everything back. So, the problem is in the driver. Some more precisions: with v1.1.1, for the Modeline "1152x864" 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync the freqs that the card tries to send to the monitor are: hor: 94.2 KHz, ver: 116.8 Hz (which can not be displayed) While v1.0.0.5 driver gives: hor: 66.9 KHz, ver: 74.5 Hz (which is correct) for the same Modeline
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
The same patch concerning the implicit declaration of abs() fixes the problem. (More details here: http://bugs.freedesktop.org/show_bug.cgi?id=7873) --- a/src/neo_driver.c +++ b/src/neo_driver.c @@ -118,6 +118,9 @@ #define _XF86DGA_SERVER_ #include <X11/extensions/xf86dgastr.h> #endif +/* For abs() */ +#include <stdlib.h> + /* Mandatory functions */ static const OptionInfoRec * NEOAvailableOptions(int chipid, int busid); static void NEOIdentify(int flags); *** This bug has been marked as a duplicate of bug 7873 ***
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.