WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Xorg-7.5, neomagic 1.2.4 is broken  (Read 2587 times)

Offline hunderteins

  • Newbie
  • *
  • Posts: 2
Xorg-7.5, neomagic 1.2.4 is broken
« on: August 11, 2011, 04:29:23 AM »
Hello,
  sorry for the inconvenience. Tiny Core Linux has a nasty bug on old IBM Thinkpads
with the Neomagic NM2200 chipset. After upgrading to Xorg-7.5.tcz the screen stays
black.
  There is a similar report in gentoo https://bugs.gentoo.org/292466. seems the symbol
xf86UDelay is missing.
 
  I applied the patch from there against xf86-video-neomagic-1.2.4 and got
it working in Xorg-7.5.tcz, too.

diff --git a/src/neo_driver.c b/src/neo_driver.c
index ddb6812..e4c60f2 100644
--- a/src/neo_driver.c
+++ b/src/neo_driver.c
@@ -114,6 +114,8 @@ CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 #include <X11/extensions/xf86dgastr.h>
 #endif

+#include <unistd.h>
+
 /* Mandatory functions */
 static const OptionInfoRec *   NEOAvailableOptions(int chipid, int busid);
 static void     NEOIdentify(int flags);
@@ -2489,7 +2491,7 @@ neoRestore(ScrnInfoPtr pScrn, vgaRegPtr VgaReg, NeoRegPtr restore,
      * In some rare cases a lockup might occur if we don't delay
      * here. (Reported by Miles Lane)
      */
-    xf86UDelay(200000);
+    usleep(200000);
     /*
      * Disable horizontal and vertical graphics and text expansions so
      * that vgaHWRestore works properly.
@@ -2502,7 +2504,7 @@ neoRestore(ScrnInfoPtr pScrn, vgaRegPtr VgaReg, NeoRegPtr restore,
      * Sleep for 200ms to make sure that the two operations above have
      * had time to take effect.
      */
-    xf86UDelay(200000);
+    usleep(200000);
     /*
      * This function handles restoring the generic VGA registers.  */
     vgaHWRestore(pScrn, VgaReg,

Thank you for your attention and keep on the good work.
Regards, Sven

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11044
Re: Xorg-7.5, neomagic 1.2.4 is broken
« Reply #1 on: August 11, 2011, 06:41:05 AM »
Not a base bug, moving to TCE bugs.

Thanks for reporting, but this seems resolved in the newest neomagic release, which will be used in the coming Xorg-7.6.
The only barriers that can stop you are the ones you create yourself.

Offline sam.vanratt

  • Newbie
  • *
  • Posts: 18
Re: Xorg-7.5, neomagic 1.2.4 is broken
« Reply #2 on: March 16, 2012, 04:22:47 PM »
Hello hunderteins
could you compile the fixed version for me? I got a Libretto100CT with the Neomagic and xvesa and xfbe did not work with a viewable picture for me. As I already installed FreeBSD on that machine I had to apply (nearly) the same patch for a working Xorg driver in my FBSD 8.2 which worked afterwards flawlessly (before in Xvesa/Xfbe with on coloured lines or a blackscreen with the default xorg (7.6)  Neomagic (1.2.4) driver. As my Libretto is very weak to apply a complete gcc suite I'd be happy to have a working pack from you.
Cheers
Sam

Offline andrewb

  • Full Member
  • ***
  • Posts: 121