OK, let me guess...are you running two X servers (one DRI, one standard) and switching between them? It looks like the FIFO size is being set back to 192 from 128 when you switch vts and back, and this causes problems with DMA. If so, you could do this:
1. start first server with DRI enabled 2. Comment out `Load "dri"' in XF86Config 3. start second server (startx -- :1) You'll get a bunch of messages in the second server log about unresolved symbols, but it should work and run with 2D accel. This was one of my recent changes, 2D accel will be enabled at run time if direct rendering is not enabled. On Mon, 6 May 2002, Felix K�hling wrote: > Hi, > > I just tested the latest version and it seems to work so far. But Leif > didn't activate any real new stuff yet, right? However, the behaviour > after switching vt and back has changed. glxgears starts, the window > stays black for a second and disappears. In the xterm I get the > following message: > > Error flushing vertex buffer: return = -16 > > Other GL clients just hang (without CPU usage) and can be killed with > Ctrl-C. quake 1 and 2 don't even show a (black) window, quake 3 does. > > The syslog shows these messages: > # X-server start > May 6 20:38:49 viking kernel: [drm] AGP 0.99 on VIA Apollo KT133 @ 0xd0000000 64MB > May 6 20:38:49 viking kernel: [drm] Initialized mach64 1.0.0 20020417 on minor 0 > May 6 20:38:49 viking kernel: [drm] Setting FIFO size to 128 entries > May 6 20:38:49 viking kernel: [drm] Creating pci pool > May 6 20:38:49 viking kernel: [drm] Allocating descriptor table memory > May 6 20:38:49 viking kernel: [drm] descriptor table: cpu addr: 0xc051c000, bus >addr: 0x0051c000 > May 6 20:38:49 viking kernel: [drm] Starting DMA test... > May 6 20:38:49 viking kernel: [drm] starting DMA transfer... > May 6 20:38:49 viking kernel: [drm] waiting for idle... > May 6 20:38:49 viking kernel: [drm] waiting for idle...done > May 6 20:38:49 viking kernel: [drm] DMA test succeeded, using synchronous DMA mode > # successful client run ... > # vt-switch and back > # unsuccessful client start > May 6 20:48:02 viking kernel: [drm] mach64_do_wait_for_idle failed! >GUI_STAT=0x02000001 > May 6 20:48:02 viking kernel: [drm] mach64_do_wait_for_idle failed > May 6 20:48:02 viking kernel: [drm] resetting engine ... > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] AGP_BASE = 0xd0000000 > May 6 20:48:02 viking kernel: [drm] AGP_CNTL = 0x0002003e > May 6 20:48:02 viking kernel: [drm] ALPHA_TST_CNTL = 0x00000470 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] BM_COMMAND = 0x40001000 > May 6 20:48:02 viking kernel: [drm] BM_FRAME_BUF_OFFSET = 0x007ffe48 > May 6 20:48:02 viking kernel: [drm] BM_GUI_TABLE = 0x0051c010 > May 6 20:48:02 viking kernel: [drm] BM_STATUS = 0x130860ca > May 6 20:48:02 viking kernel: [drm] BM_SYSTEM_MEM_ADDR = 0xd0000000 > May 6 20:48:02 viking kernel: [drm] BM_SYSTEM_TABLE = 0x9360cb02 > May 6 20:48:02 viking kernel: [drm] BUS_CNTL = 0x7b3fa011 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] CLR_CMP_CLR = 0x00000000 > May 6 20:48:02 viking kernel: [drm] CLR_CMP_CNTL = 0x00000000 > May 6 20:48:02 viking kernel: [drm] CONFIG_CHIP_ID = 0x2700474d > May 6 20:48:02 viking kernel: [drm] CONFIG_CNTL = 0x00003506 > May 6 20:48:02 viking kernel: [drm] CONFIG_STAT0 = 0x00000096 > May 6 20:48:02 viking kernel: [drm] CONFIG_STAT1 = 0x00000000 > May 6 20:48:02 viking kernel: [drm] CONFIG_STAT2 = 0x00000000 > May 6 20:48:02 viking kernel: [drm] CRC_SIG = 0x00000000 > May 6 20:48:02 viking kernel: [drm] CUSTOM_MACRO_CNTL = 0x007f0779 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] DP_BKGD_CLR = 0x00000000 > May 6 20:48:02 viking kernel: [drm] DP_FRGD_CLR = 0x00000000 > May 6 20:48:02 viking kernel: [drm] DP_MIX = 0x00070007 > May 6 20:48:02 viking kernel: [drm] DP_PIX_WIDTH = 0x40040444 > May 6 20:48:02 viking kernel: [drm] DP_SRC = 0x00000505 > May 6 20:48:02 viking kernel: [drm] DP_WRITE_MASK = 0x0000ffff > May 6 20:48:02 viking kernel: [drm] DSP_CONFIG = 0x003b057f > May 6 20:48:02 viking kernel: [drm] DSP_ON_OFF = 0x0158054a > May 6 20:48:02 viking kernel: [drm] DST_CNTL = 0x00000003 > May 6 20:48:02 viking kernel: [drm] DST_OFF_PITCH = 0x14012c00 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] EXT_MEM_CNTL = 0xe0000cf1 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] FIFO_STAT = 0x00000000 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] GEN_TEST_CNTL = 0x00000180 > May 6 20:48:02 viking kernel: [drm] GUI_CMDFIFO_DATA = 0x14000000 > May 6 20:48:02 viking kernel: [drm] GUI_CMDFIFO_DEBUG = 0x00a00040 > May 6 20:48:02 viking kernel: [drm] GUI_CNTL = 0x00000000 > May 6 20:48:02 viking kernel: [drm] GUI_STAT = 0x02000001 > May 6 20:48:02 viking kernel: [drm] GUI_TRAJ_CNTL = 0x00000003 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] HOST_CNTL = 0x00000000 > May 6 20:48:02 viking kernel: [drm] HW_DEBUG = 0x48833800 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] MEM_ADDR_CONFIG = 0x00200213 > May 6 20:48:02 viking kernel: [drm] MEM_BUF_CNTL = 0x00382848 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] SCALE_3D_CNTL = 0x0b4100cf > May 6 20:48:02 viking kernel: [drm] SCRATCH_REG0 = 0x04900400 > May 6 20:48:02 viking kernel: [drm] SCRATCH_REG1 = 0x00000000 > May 6 20:48:02 viking kernel: [drm] SETUP_CNTL = 0x31000018 > May 6 20:48:02 viking kernel: [drm] SRC_CNTL = 0x00000f00 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] TEX_CNTL = 0x40080200 > May 6 20:48:02 viking kernel: [drm] TEX_SIZE_PITCH = 0x00000000 > May 6 20:48:02 viking kernel: [drm] TIMER_CONFIG = 0x00000000 > May 6 20:48:02 viking kernel: [drm] > May 6 20:48:02 viking kernel: [drm] Z_CNTL = 0x00000111 > May 6 20:48:02 viking kernel: [drm] Z_OFF_PITCH = 0x14025800 > May 6 20:48:02 viking kernel: [drm] > # another unsuccessful client start > May 6 20:48:14 viking kernel: [drm] mach64_do_wait_for_idle failed! >GUI_STAT=0x01df0001 > May 6 20:48:14 viking kernel: [drm] mach64_do_wait_for_idle failed! >GUI_STAT=0x01dc0001 > May 6 20:48:14 viking kernel: [drm] mach64_do_wait_for_idle failed > May 6 20:48:14 viking kernel: [drm] resetting engine ... > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] AGP_BASE = 0xd0000000 > May 6 20:48:14 viking kernel: [drm] AGP_CNTL = 0x0002003e > May 6 20:48:14 viking kernel: [drm] ALPHA_TST_CNTL = 0x00000470 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] BM_COMMAND = 0x40001000 > May 6 20:48:14 viking kernel: [drm] BM_FRAME_BUF_OFFSET = 0x007ffe48 > May 6 20:48:14 viking kernel: [drm] BM_GUI_TABLE = 0x0051c010 > May 6 20:48:14 viking kernel: [drm] BM_STATUS = 0x130860ca > May 6 20:48:14 viking kernel: [drm] BM_SYSTEM_MEM_ADDR = 0xd0000000 > May 6 20:48:14 viking kernel: [drm] BM_SYSTEM_TABLE = 0x9360cb02 > May 6 20:48:14 viking kernel: [drm] BUS_CNTL = 0x7b3fa011 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] CLR_CMP_CLR = 0x00000000 > May 6 20:48:14 viking kernel: [drm] CLR_CMP_CNTL = 0x00000000 > May 6 20:48:14 viking kernel: [drm] CONFIG_CHIP_ID = 0x2700474d > May 6 20:48:14 viking kernel: [drm] CONFIG_CNTL = 0x00003506 > May 6 20:48:14 viking kernel: [drm] CONFIG_STAT0 = 0x00000096 > May 6 20:48:14 viking kernel: [drm] CONFIG_STAT1 = 0x00000000 > May 6 20:48:14 viking kernel: [drm] CONFIG_STAT2 = 0x00000000 > May 6 20:48:14 viking kernel: [drm] CRC_SIG = 0x00000000 > May 6 20:48:14 viking kernel: [drm] CUSTOM_MACRO_CNTL = 0x007f0779 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] DP_BKGD_CLR = 0x00000000 > May 6 20:48:14 viking kernel: [drm] DP_FRGD_CLR = 0x00000000 > May 6 20:48:14 viking kernel: [drm] DP_MIX = 0x00070003 > May 6 20:48:14 viking kernel: [drm] DP_PIX_WIDTH = 0x40040444 > May 6 20:48:14 viking kernel: [drm] DP_SRC = 0x00000101 > May 6 20:48:14 viking kernel: [drm] DP_WRITE_MASK = 0x0000ffff > May 6 20:48:14 viking kernel: [drm] DSP_CONFIG = 0x003b057f > May 6 20:48:14 viking kernel: [drm] DSP_ON_OFF = 0x0158054a > May 6 20:48:14 viking kernel: [drm] DST_CNTL = 0x00000003 > May 6 20:48:14 viking kernel: [drm] DST_OFF_PITCH = 0x14012c00 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] EXT_MEM_CNTL = 0xe0000cf1 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] FIFO_STAT = 0x00000000 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] GEN_TEST_CNTL = 0x00000180 > May 6 20:48:14 viking kernel: [drm] GUI_CMDFIFO_DATA = 0x00000000 > May 6 20:48:14 viking kernel: [drm] GUI_CMDFIFO_DEBUG = 0x00640053 > May 6 20:48:14 viking kernel: [drm] GUI_CNTL = 0x00000000 > May 6 20:48:14 viking kernel: [drm] GUI_STAT = 0x01dc0001 > May 6 20:48:14 viking kernel: [drm] GUI_TRAJ_CNTL = 0x00000003 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] HOST_CNTL = 0x00000000 > May 6 20:48:14 viking kernel: [drm] HW_DEBUG = 0x48833800 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] MEM_ADDR_CONFIG = 0x00200213 > May 6 20:48:14 viking kernel: [drm] MEM_BUF_CNTL = 0x00382848 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] SCALE_3D_CNTL = 0x00000000 > May 6 20:48:14 viking kernel: [drm] SCRATCH_REG0 = 0x04900400 > May 6 20:48:14 viking kernel: [drm] SCRATCH_REG1 = 0x00000000 > May 6 20:48:14 viking kernel: [drm] SETUP_CNTL = 0x31000018 > May 6 20:48:14 viking kernel: [drm] SRC_CNTL = 0x00000f00 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] TEX_CNTL = 0x00000000 > May 6 20:48:14 viking kernel: [drm] TEX_SIZE_PITCH = 0x00000000 > May 6 20:48:14 viking kernel: [drm] TIMER_CONFIG = 0x00000000 > May 6 20:48:14 viking kernel: [drm] > May 6 20:48:14 viking kernel: [drm] Z_CNTL = 0x00000000 > May 6 20:48:14 viking kernel: [drm] Z_OFF_PITCH = 0x14025800 > May 6 20:48:14 viking kernel: [drm] > # X-server shutdown > May 6 20:49:01 viking kernel: [drm] freeing descriptor table from pci pool > May 6 20:49:01 viking kernel: [drm] destroying pci pool > > After that I could restart the X-server once and DRI would work again. > Then I made another vt switch and as expected the next glxgears failed > with "Error flushing vertex buffer: return = -16". The next time I > restarted the X-server DMA couldn't be enabled. I got the following > messages in the syslog: > > May 6 21:02:58 viking kernel: [drm] Setting FIFO size to 128 entries > May 6 21:02:58 viking kernel: [drm] Creating pci pool > May 6 21:02:58 viking kernel: [drm] Allocating descriptor table memory > May 6 21:02:58 viking kernel: [drm] descriptor table: cpu addr: 0xc02fc000, bus >addr: 0x002fc000 > May 6 21:02:58 viking kernel: [drm] Starting DMA test... > May 6 21:02:58 viking kernel: [drm] starting DMA transfer... > May 6 21:02:58 viking kernel: [drm] waiting for idle... > May 6 21:02:58 viking kernel: [drm] mach64_do_wait_for_idle failed! >GUI_STAT=0x01800001 > May 6 21:02:58 viking kernel: [drm] mach64_do_wait_for_idle failed (result=-16) > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] AGP_BASE = 0xd0000000 > May 6 21:02:58 viking kernel: [drm] AGP_CNTL = 0x0002003e > May 6 21:02:58 viking kernel: [drm] ALPHA_TST_CNTL = 0x00000470 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] BM_COMMAND = 0x00000000 > May 6 21:02:58 viking kernel: [drm] BM_FRAME_BUF_OFFSET = 0x007ff980 > May 6 21:02:58 viking kernel: [drm] BM_GUI_TABLE = 0x002fc000 > May 6 21:02:58 viking kernel: [drm] BM_STATUS = 0x930860ca > May 6 21:02:58 viking kernel: [drm] BM_SYSTEM_MEM_ADDR = 0x002fc000 > May 6 21:02:58 viking kernel: [drm] BM_SYSTEM_TABLE = 0x9360cb02 > May 6 21:02:58 viking kernel: [drm] BUS_CNTL = 0x7b3fa011 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] CLR_CMP_CLR = 0x00000000 > May 6 21:02:58 viking kernel: [drm] CLR_CMP_CNTL = 0x00000000 > May 6 21:02:58 viking kernel: [drm] CONFIG_CHIP_ID = 0x2700474d > May 6 21:02:58 viking kernel: [drm] CONFIG_CNTL = 0x00003506 > May 6 21:02:58 viking kernel: [drm] CONFIG_STAT0 = 0x00000096 > May 6 21:02:58 viking kernel: [drm] CONFIG_STAT1 = 0x00000000 > May 6 21:02:58 viking kernel: [drm] CONFIG_STAT2 = 0x00000000 > May 6 21:02:58 viking kernel: [drm] CRC_SIG = 0x00000000 > May 6 21:02:58 viking kernel: [drm] CUSTOM_MACRO_CNTL = 0x007f0779 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] DP_BKGD_CLR = 0x00000000 > May 6 21:02:58 viking kernel: [drm] DP_FRGD_CLR = 0xffffffff > May 6 21:02:58 viking kernel: [drm] DP_MIX = 0x00070003 > May 6 21:02:58 viking kernel: [drm] DP_PIX_WIDTH = 0x01000404 > May 6 21:02:58 viking kernel: [drm] DP_SRC = 0x00000100 > May 6 21:02:58 viking kernel: [drm] DP_WRITE_MASK = 0xffffffff > May 6 21:02:58 viking kernel: [drm] DSP_CONFIG = 0x003b057f > May 6 21:02:58 viking kernel: [drm] DSP_ON_OFF = 0x0158054a > May 6 21:02:58 viking kernel: [drm] DST_CNTL = 0x00000023 > May 6 21:02:58 viking kernel: [drm] DST_OFF_PITCH = 0x14000000 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] EXT_MEM_CNTL = 0xe0000cf1 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] FIFO_STAT = 0x00000000 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] GEN_TEST_CNTL = 0x00000100 > May 6 21:02:58 viking kernel: [drm] GUI_CMDFIFO_DATA = 0x00007c53 > May 6 21:02:58 viking kernel: [drm] GUI_CMDFIFO_DEBUG = 0x021180b1 > May 6 21:02:58 viking kernel: [drm] GUI_CNTL = 0x00000001 > May 6 21:02:58 viking kernel: [drm] GUI_STAT = 0x01800001 > May 6 21:02:58 viking kernel: [drm] GUI_TRAJ_CNTL = 0x00000023 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] HOST_CNTL = 0x00000000 > May 6 21:02:58 viking kernel: [drm] HW_DEBUG = 0x48833800 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] MEM_ADDR_CONFIG = 0x00200213 > May 6 21:02:58 viking kernel: [drm] MEM_BUF_CNTL = 0x00382848 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] SCALE_3D_CNTL = 0x0b41000f > May 6 21:02:58 viking kernel: [drm] SCRATCH_REG0 = 0x04900400 > May 6 21:02:58 viking kernel: [drm] SCRATCH_REG1 = 0x00000000 > May 6 21:02:58 viking kernel: [drm] SETUP_CNTL = 0x31000018 > May 6 21:02:58 viking kernel: [drm] SRC_CNTL = 0x00000f00 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] TEX_CNTL = 0x00000000 > May 6 21:02:58 viking kernel: [drm] TEX_SIZE_PITCH = 0x00000000 > May 6 21:02:58 viking kernel: [drm] TIMER_CONFIG = 0x00000000 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] Z_CNTL = 0x00000110 > May 6 21:02:58 viking kernel: [drm] Z_OFF_PITCH = 0x14025800 > May 6 21:02:58 viking kernel: [drm] > May 6 21:02:58 viking kernel: [drm] resetting engine ... > May 6 21:02:58 viking kernel: [drm] freeing data buffer memory. > May 6 21:02:58 viking kernel: [drm] returning ... > May 6 21:02:58 viking kernel: [drm] DMA test failed (ret=-16), using MMIO mode > > It says "using MMIO mode" but the next glxgears gives me "Error flushing > vertex buffer: return = -16" again. > > Regards, > Felix > > __\|/__ ___ ___ ___ > __Tsch��_______\_6 6_/___/__ \___/__ \___/___\___You can do anything,___ > _____Felix_______\�/\ \_____\ \_____\ \______U___just not everything____ > [EMAIL PROTECTED] >o<__/ \___/ \___/ at the same time! > -- Leif Delgass http://www.retinalburn.net _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel
