Discussion:
2D acceleration for Nvidia
Martin Pieuchot
2015-12-11 09:09:20 UTC
Permalink
Without hardware acceleration my PowerBook G4 12'' with a NVIDIA
GeForce FX Go 5200 is unusable. Since XAA is no longer supported,
here's a simple EXA backend for nv(4) based on the XAA sources and
Nouveau. It only implements Solid and Copy but that already makes
a huge difference.

To test it you need to regenerate configure scripts for xf86-video-nv
as described in /usr/xenocara/README.

I can provide a diff for upstream it the driver is still maintained.

I'd like to hear from people using NVidia cards.

Index: nv_driver.c
===================================================================
RCS file: /cvs/xenocara/driver/xf86-video-nv/src/nv_driver.c,v
retrieving revision 1.17
diff -u -p -r1.17 nv_driver.c
--- nv_driver.c 30 May 2014 06:42:00 -0000 1.17
+++ nv_driver.c 10 Dec 2015 18:31:09 -0000
@@ -637,6 +637,7 @@ typedef enum {
OPTION_SW_CURSOR,
OPTION_HW_CURSOR,
OPTION_NOACCEL,
+ OPTION_ACCEL_METHOD,
OPTION_SHADOW_FB,
OPTION_FBDEV,
OPTION_ROTATE,
@@ -654,6 +655,7 @@ static const OptionInfoRec NVOptions[] =
{ OPTION_SW_CURSOR, "SWcursor", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_HW_CURSOR, "HWcursor", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_NOACCEL, "NoAccel", OPTV_BOOLEAN, {0}, FALSE },
+ { OPTION_ACCEL_METHOD, "AccelMethod", OPTV_STRING, {0}, FALSE },
{ OPTION_SHADOW_FB, "ShadowFB", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_FBDEV, "UseFBDev", OPTV_BOOLEAN, {0}, FALSE },
{ OPTION_ROTATE, "Rotate", OPTV_ANYSTR, {0}, FALSE },
@@ -1346,7 +1348,7 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
int i, max_width, max_height;
ClockRangePtr clockRanges;
const char *s;
- Bool config_mon_rates;
+ Bool rc, config_mon_rates;

if (flags & PROBE_DETECT) {
EntityInfoPtr pEnt = xf86GetEntityInfo(pScrn->entityList[0]);
@@ -1599,6 +1601,20 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
"Using framebuffer device\n");
}
+ if (!pNv->NoAccel) {
+ from = X_DEFAULT;
+ pNv->useEXA = TRUE;
+ if((s = (char *)xf86GetOptValString(pNv->Options, OPTION_ACCEL_METHOD))) {
+ if(!xf86NameCmp(s,"XAA")) {
+ from = X_CONFIG;
+ pNv->useEXA = FALSE;
+ } else if(!xf86NameCmp(s,"EXA")) {
+ from = X_CONFIG;
+ pNv->useEXA = TRUE;
+ }
+ }
+ xf86DrvMsg(pScrn->scrnIndex, from, "Using %s acceleration method\n", pNv->useEXA ? "EXA" : "XAA");
+ }
if (pNv->FBDev) {
/* check for linux framebuffer device */
if (!xf86LoadSubModule(pScrn, "fbdevhw")) {
@@ -2051,12 +2067,12 @@ NVPreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}

- /* Load XAA if needed */
+ /* Load XAA/EXA if needed */
if (!pNv->NoAccel) {
- if (!xf86LoadSubModule(pScrn, "xaa")) {
- xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Falling back to shadwwfb\n");
- pNv->NoAccel = 1;
- pNv->ShadowFB = 1;
+ if (!xf86LoadSubModule(pScrn, pNv->useEXA ? "exa" : "xaa")) {
+ xf86FreeInt10(pNv->pInt);
+ NVFreeRec(pScrn);
+ return FALSE;
}
}

@@ -2584,15 +2600,26 @@ NVScreenInit(SCREEN_INIT_ARGS_DECL)
if(offscreenHeight > 32767)
offscreenHeight = 32767;

+ if (!pNv->useEXA) {
AvailFBArea.x1 = 0;
AvailFBArea.y1 = 0;
AvailFBArea.x2 = pScrn->displayWidth;
AvailFBArea.y2 = offscreenHeight;
xf86InitFBManager(pScreen, &AvailFBArea);
-
- if (!pNv->NoAccel)
- NVAccelInit(pScreen);
-
+ }
+
+ if (!pNv->NoAccel) {
+ if (pNv->useEXA) {
+ if(!NVExaInit(pScreen, pScrn)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "EXA hardware acceleration initialization failed\n");
+ return FALSE;
+ }
+ } else /* XAA */
+ NVAccelInit(pScreen);
+ }
+ NVResetGraphics(pScrn);
+
xf86SetBackingStore(pScreen);
xf86SetSilkenMouse(pScreen);

Index: nv_exa.c
===================================================================
RCS file: nv_exa.c
diff -N nv_exa.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ nv_exa.c 10 Dec 2015 18:31:09 -0000
@@ -0,0 +1,268 @@
+/*
+ * Copyright (c) 2003 NVIDIA, Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "nv_include.h"
+#include "exa.h"
+#include "nv_dma.h"
+
+Bool
+NVAccelGetCtxSurf2DFormatFromPixmap(PixmapPtr pPix, int *fmt_ret)
+{
+ switch (pPix->drawable.bitsPerPixel) {
+ case 32:
+ *fmt_ret = SURFACE_FORMAT_A8R8G8B8;
+ break;
+ case 24:
+ *fmt_ret = SURFACE_FORMAT_X8R8G8B8;
+ break;
+ case 16:
+ *fmt_ret = SURFACE_FORMAT_R5G6B5;
+ break;
+ case 8:
+ *fmt_ret = SURFACE_FORMAT_Y8;
+ break;
+ default:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+Bool
+NVAccelGetCtxSurf2DFormatFromPicture(PicturePtr pPict, int *fmt_ret)
+{
+ switch (pPict->format) {
+ case PICT_a8r8g8b8:
+ *fmt_ret = SURFACE_FORMAT_A8R8G8B8;
+ break;
+ case PICT_x8r8g8b8:
+ *fmt_ret = SURFACE_FORMAT_X8R8G8B8;
+ break;
+ case PICT_r5g6b5:
+ *fmt_ret = SURFACE_FORMAT_R5G6B5;
+ break;
+ case PICT_a8:
+ *fmt_ret = SURFACE_FORMAT_Y8;
+ break;
+ default:
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+Bool
+NVAccelSetCtxSurf2D(NVPtr pNv, PixmapPtr psPix, PixmapPtr pdPix, int format)
+{
+ NVDmaStart(pNv, SURFACE_FORMAT, 4);
+ NVDmaNext(pNv, format);
+ NVDmaNext(pNv, ((uint32_t)exaGetPixmapPitch(pdPix) << 16) |
+ (uint32_t)exaGetPixmapPitch(psPix));
+ NVDmaNext(pNv, exaGetPixmapOffset(psPix));
+ NVDmaNext(pNv, exaGetPixmapOffset(pdPix));
+
+ return TRUE;
+}
+
+static CARD32
+rectFormat(DrawablePtr pDrawable)
+{
+ switch (pDrawable->bitsPerPixel) {
+ case 32:
+ case 24:
+ return RECT_FORMAT_DEPTH24;
+ break;
+ case 16:
+ return RECT_FORMAT_DEPTH16;
+ break;
+ default:
+ return RECT_FORMAT_DEPTH8;
+ break;
+ }
+}
+
+static void
+NVExaWaitMarker(ScreenPtr pScreen, int marker)
+{
+ NVSync(xf86ScreenToScrn(pScreen));
+}
+
+static Bool
+NVExaPrepareSolid(PixmapPtr pPix, int alu, Pixel planemask, Pixel fg)
+{
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPix->drawable.pScreen);
+ NVPtr pNv = NVPTR(pScrn);
+ int fmt;
+
+ /* When SURFACE_FORMAT_A8R8G8B8 is used with GDI_RECTANGLE_TEXT, the
+ * alpha channel gets forced to 0xFF for some reason. We're using
+ * SURFACE_FORMAT_Y32 as a workaround
+ */
+ if (!NVAccelGetCtxSurf2DFormatFromPixmap(pPix, &fmt))
+ return FALSE;
+ if (fmt == SURFACE_FORMAT_A8R8G8B8)
+ fmt = 0xb;
+
+ planemask |= ~0 << pPix->drawable.bitsPerPixel;
+ if (planemask != ~0 || alu != GXcopy) {
+ if (pPix->drawable.bitsPerPixel == 32)
+ return FALSE;
+ NVSetRopSolid(pScrn, alu, planemask);
+ NVDmaStart(pNv, 0xC2FC, 1);
+ NVDmaNext(pNv, 1 /* ROP_AND */);
+ } else {
+ NVDmaStart(pNv, 0xC2FC, 1);
+ NVDmaNext(pNv, 3 /* SRCCOPY */);
+ }
+
+ if (!NVAccelSetCtxSurf2D(pNv, pPix, pPix, fmt))
+ return FALSE;
+
+ NVDmaStart(pNv, RECT_FORMAT, 1);
+ NVDmaNext(pNv, rectFormat(&pPix->drawable));
+ NVDmaStart(pNv, RECT_SOLID_COLOR, 1);
+ NVDmaNext(pNv, fg);
+
+ pNv->DMAKickoffCallback = NVDMAKickoffCallback;
+
+ return TRUE;
+}
+
+static void
+NVExaSolid(PixmapPtr pPix, int x1, int y1, int x2, int y2)
+{
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPix->drawable.pScreen);
+ NVPtr pNv = NVPTR(pScrn);
+ int width = x2 - x1;
+ int height = y2 - y1;
+
+ NVDmaStart(pNv, RECT_SOLID_RECTS(0), 2);
+ NVDmaNext(pNv, (x1 << 16) | y1);
+ NVDmaNext(pNv, (width << 16) | height);
+
+ if ((width * height) >= 512)
+ NVDmaKickoff(pNv);
+}
+
+static void
+NVExaDoneSolid(PixmapPtr pPix)
+{
+}
+
+static Bool
+NVExaPrepareCopy(PixmapPtr psPix, PixmapPtr pdPix, int dx, int dy, int alu,
+ Pixel planemask)
+{
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(psPix->drawable.pScreen);
+ NVPtr pNv = NVPTR(pScrn);
+ int fmt;
+
+ if (psPix->drawable.bitsPerPixel !=
+ pdPix->drawable.bitsPerPixel)
+ return FALSE;
+
+ if (!NVAccelGetCtxSurf2DFormatFromPixmap(pdPix, &fmt))
+ return FALSE;
+
+ planemask |= ~0 << pdPix->drawable.bitsPerPixel;
+ if (planemask != ~0 || alu != GXcopy) {
+ if (pdPix->drawable.bitsPerPixel == 32)
+ return FALSE;
+ NVSetRopSolid(pScrn, alu, planemask);
+ NVDmaStart(pNv, 0xA2FC, 1);
+ NVDmaNext(pNv, 1 /* ROP_AND */);
+ } else {
+ NVDmaStart(pNv, 0xA2FC, 1);
+ NVDmaNext(pNv, 3 /* SRCCOPY */);
+ }
+
+ if (!NVAccelSetCtxSurf2D(pNv, psPix, pdPix, fmt))
+ return FALSE;
+
+ pNv->DMAKickoffCallback = NVDMAKickoffCallback;
+ return TRUE;
+}
+
+static void
+NVExaCopy(PixmapPtr pdPix, int srcX, int srcY, int dstX, int dstY, int width,
+ int height)
+{
+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pdPix->drawable.pScreen);
+ NVPtr pNv = NVPTR(pScrn);
+
+ NVDmaStart(pNv, BLIT_POINT_SRC, 3);
+ NVDmaNext(pNv, (srcY << 16) | srcX);
+ NVDmaNext(pNv, (dstY << 16) | dstX);
+ NVDmaNext(pNv, (height << 16) | width);
+
+ if ((width * height) >= 512)
+ NVDmaKickoff(pNv);
+}
+
+static void
+NVExaDoneCopy(PixmapPtr pdPix)
+{
+}
+
+Bool
+NVExaInit(ScreenPtr pScreen, ScrnInfoPtr pScrn)
+{
+ NVPtr pNv = NVPTR(pScrn);
+
+ if (!(pNv->EXADriverPtr = exaDriverAlloc())) {
+ pNv->NoAccel = TRUE;
+ return FALSE;
+ }
+
+ pNv->EXADriverPtr->exa_major = EXA_VERSION_MAJOR;
+ pNv->EXADriverPtr->exa_minor = EXA_VERSION_MINOR;
+
+ pNv->EXADriverPtr->memoryBase = pNv->FbStart;
+ pNv->EXADriverPtr->memorySize = pNv->ScratchBufferStart;
+
+ pNv->EXADriverPtr->offScreenBase = 0;
+
+ pNv->EXADriverPtr->pixmapOffsetAlign = 256;
+ pNv->EXADriverPtr->pixmapPitchAlign = 64;
+
+ pNv->EXADriverPtr->flags = EXA_OFFSCREEN_PIXMAPS;
+
+ pNv->EXADriverPtr->maxX = 32768;
+ pNv->EXADriverPtr->maxY = 32768;
+
+ pNv->EXADriverPtr->WaitMarker = NVExaWaitMarker;
+
+ pNv->EXADriverPtr->PrepareCopy = NVExaPrepareCopy;
+ pNv->EXADriverPtr->Copy = NVExaCopy;
+ pNv->EXADriverPtr->DoneCopy = NVExaDoneCopy;
+
+ pNv->EXADriverPtr->PrepareSolid = NVExaPrepareSolid;
+ pNv->EXADriverPtr->Solid = NVExaSolid;
+ pNv->EXADriverPtr->DoneSolid = NVExaDoneSolid;
+
+ return exaDriverInit(pScreen, pNv->EXADriverPtr);
+}
Index: nv_video.c
===================================================================
RCS file: /cvs/xenocara/driver/xf86-video-nv/src/nv_video.c,v
retrieving revision 1.4
diff -u -p -r1.4 nv_video.c
--- nv_video.c 16 Aug 2012 16:35:27 -0000 1.4
+++ nv_video.c 10 Dec 2015 18:31:09 -0000
@@ -534,10 +534,44 @@ NVPutOverlayImage (
}


+#ifndef ExaOffscreenMarkUsed
+extern void ExaOffscreenMarkUsed(PixmapPtr);
+#endif
+#ifndef exaGetDrawablePixmap
+extern PixmapPtr exaGetDrawablePixmap(DrawablePtr);
+#endif
+#ifndef exaPixmapIsOffscreen
+extern Bool exaPixmapIsOffscreen(PixmapPtr p);
+#endif
+/* To support EXA 2.0, 2.1 has this in the header */
+#ifndef exaMoveInPixmap
+extern void exaMoveInPixmap(PixmapPtr pPixmap);
+#endif

+/**
+ * NVPutBlitImage
+ *
+ * @param pScrn screen
+ * @param src_offset
+ * @param id colorspace of image
+ * @param src_pitch
+ * @param dstBox
+ * @param x1
+ * @param y1
+ * @param x2
+ * @param y2
+ * @param width
+ * @param height
+ * @param src_w
+ * @param src_h
+ * @param drw_w
+ * @param drw_h
+ * @param clipBoxes
+ * @param pDraw
+ */
static void
NVPutBlitImage (
- ScrnInfoPtr pScrnInfo,
+ ScrnInfoPtr pScrn,
int offset,
int id,
int dstPitch,
@@ -552,15 +586,59 @@ NVPutBlitImage (
short src_h,
short drw_w,
short drw_h,
- RegionPtr clipBoxes
+ RegionPtr clipBoxes,
+ DrawablePtr pDraw
)
{
- NVPtr pNv = NVPTR(pScrnInfo);
+ NVPtr pNv = NVPTR(pScrn);
NVPortPrivPtr pPriv = GET_BLIT_PRIVATE(pNv);
- BoxPtr pbox = REGION_RECTS(clipBoxes);
- int nbox = REGION_NUM_RECTS(clipBoxes);
+ BoxPtr pbox;
+ int nbox;
CARD32 dsdx, dtdy, size, point, srcpoint, format;

+ if (pNv->useEXA) {
+ ScreenPtr pScreen = pScrn->pScreen;
+ PixmapPtr pPix = exaGetDrawablePixmap(pDraw);
+ int dst_format;
+
+ /* Try to get the dest drawable into vram */
+ if (!exaPixmapIsOffscreen(pPix)) {
+ exaMoveInPixmap(pPix);
+ ExaOffscreenMarkUsed(pPix);
+ }
+
+ /* If we failed, draw directly onto the screen pixmap.
+ * Not sure if this is the best approach, maybe failing
+ * with BadAlloc would be better?
+ */
+ if (!exaPixmapIsOffscreen(pPix)) {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "XV: couldn't move dst surface into vram\n");
+ pPix = pScreen->GetScreenPixmap(pScreen);
+ }
+
+ NVAccelGetCtxSurf2DFormatFromPixmap(pPix, &dst_format);
+ NVAccelSetCtxSurf2D(pNv, pPix, pPix, dst_format);
+
+#ifdef COMPOSITE
+ /* Adjust coordinates if drawing to an offscreen pixmap */
+ if (pPix->screen_x || pPix->screen_y) {
+ REGION_TRANSLATE(pScrn->pScreen, clipBoxes,
+ -pPix->screen_x,
+ -pPix->screen_y);
+ dstBox->x1 -= pPix->screen_x;
+ dstBox->x2 -= pPix->screen_x;
+ dstBox->y1 -= pPix->screen_y;
+ dstBox->y2 -= pPix->screen_y;
+ }
+
+ DamageDamageRegion((DrawablePtr)pPix, clipBoxes);
+#endif
+ }
+
+ pbox = REGION_RECTS(clipBoxes);
+ nbox = REGION_NUM_RECTS(clipBoxes);
+
dsdx = (src_w << 20) / drw_w;
dtdy = (src_h << 20) / drw_h;

@@ -623,12 +701,17 @@ NVPutBlitImage (
pbox++;
}

- if(pNv->CurrentLayout.depth == 15) {
- NVDmaStart(pNv, SURFACE_FORMAT, 1);
- NVDmaNext (pNv, SURFACE_FORMAT_DEPTH16);
+ if (!pNv->useEXA) {
+ if(pNv->CurrentLayout.depth == 15) {
+ NVDmaStart(pNv, SURFACE_FORMAT, 1);
+ NVDmaNext (pNv, SURFACE_FORMAT_DEPTH16);
+ }
}

NVDmaKickoff(pNv);
+ if (pNv->useEXA)
+ exaMarkSync(pScrn->pScreen);
+ else
#ifdef HAVE_XAA_H
SET_SYNC_FLAG(pNv->AccelInfoRec);
#endif
@@ -1185,7 +1268,7 @@ static int NVPutImage
NVPutBlitImage(pScrnInfo, offset, id, dstPitch, &dstBox,
xa, ya, xb, yb,
width, height, src_w, src_h, drw_w, drw_h,
- clipBoxes);
+ clipBoxes, pDraw);
} else {
NVPutOverlayImage(pScrnInfo, offset, id, dstPitch, &dstBox,
xa, ya, xb, yb,
Index: nv_xaa.c
===================================================================
RCS file: /cvs/xenocara/driver/xf86-video-nv/src/nv_xaa.c,v
retrieving revision 1.3
diff -u -p -r1.3 nv_xaa.c
--- nv_xaa.c 16 Aug 2012 16:35:27 -0000 1.3
+++ nv_xaa.c 10 Dec 2015 18:31:09 -0000
@@ -176,7 +176,7 @@ NVSetPattern(
NVDmaNext (pNv, pat1);
}

-static void
+void
NVSetRopSolid(ScrnInfoPtr pScrn, CARD32 rop, CARD32 planemask)
{
NVPtr pNv = NVPTR(pScrn);
@@ -270,13 +270,15 @@ void NVResetGraphics(ScrnInfoPtr pScrn)
NVDmaStart(pNv, RECT_FORMAT, 1);
NVDmaNext (pNv, rectFormat);

- NVDmaStart(pNv, LINE_FORMAT, 1);
- NVDmaNext (pNv, lineFormat);
+ if (!pNv->useEXA) {
+ NVDmaStart(pNv, LINE_FORMAT, 1);
+ NVDmaNext (pNv, lineFormat);
+ }

pNv->currentRop = ~0; /* set to something invalid */
NVSetRopSolid(pScrn, GXcopy, ~0);

- NVDmaKickoff(pNv);
+ /*NVDmaKickoff(pNv);*/
}

void NVSync(ScrnInfoPtr pScrn)
@@ -291,7 +293,7 @@ void NVSync(ScrnInfoPtr pScrn)
while(pNv->PGRAPH[0x0700/4]);
}

-static void
+void
NVDMAKickoffCallback (ScrnInfoPtr pScrn)
{
NVPtr pNv = NVPTR(pScrn);
Index: nv_dma.h
===================================================================
RCS file: /cvs/xenocara/driver/xf86-video-nv/src/nv_dma.h,v
retrieving revision 1.2
diff -u -p -r1.2 nv_dma.h
--- nv_dma.h 29 Jul 2008 20:04:57 -0000 1.2
+++ nv_dma.h 10 Dec 2015 18:31:09 -0000
@@ -21,17 +21,40 @@
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

+#ifndef NV_DMA_H
+#define NV_DMA_H
+
+#define NVDmaNext(pNv, data) do { \
+ (pNv)->dmaBase[(pNv)->dmaCurrent++] = (data); \
+} while(0)
+
+#define NVDmaStart(pNv, tag, size) do { \
+ if((pNv)->dmaFree <= (size)) \
+ NVDmaWait(pNv, size); \
+ NVDmaNext(pNv, ((size) << 18) | (tag)); \
+ (pNv)->dmaFree -= ((size) + 1); \
+} while(0)
+
+
#define SURFACE_FORMAT 0x00000300
-#define SURFACE_FORMAT_DEPTH8 0x00000001
-#define SURFACE_FORMAT_DEPTH15 0x00000002
-#define SURFACE_FORMAT_DEPTH16 0x00000004
-#define SURFACE_FORMAT_DEPTH24 0x00000006
+#define SURFACE_FORMAT_Y8 0x00000001
+#define SURFACE_FORMAT_X1R5G5B5 0x00000002
+#define SURFACE_FORMAT_R5G6B5 0x00000004
+#define SURFACE_FORMAT_X8R8G8B8 0x00000006
+#define SURFACE_FORMAT_A8R8G8B8 0x0000000a
#define SURFACE_PITCH 0x00000304
#define SURFACE_PITCH_SRC 15:0
#define SURFACE_PITCH_DST 31:16
#define SURFACE_OFFSET_SRC 0x00000308
#define SURFACE_OFFSET_DST 0x0000030C

+/* compat */
+#define SURFACE_FORMAT_DEPTH8 SURFACE_FORMAT_Y8
+#define SURFACE_FORMAT_DEPTH15 SURFACE_FORMAT_X1R5G5B5
+#define SURFACE_FORMAT_DEPTH16 SURFACE_FORMAT_R5G6B5
+#define SURFACE_FORMAT_DEPTH24 SURFACE_FORMAT_X8R8G8B8
+#define SURFACE_FORMAT_DEPTH32 SURFACE_FORMAT_A8R8G8B8
+
#define ROP_SET 0x00002300

#define PATTERN_FORMAT 0x00004300
@@ -165,3 +188,5 @@
#define STRETCH_BLIT_SRC_POINT 0x0000E40C
#define STRETCH_BLIT_SRC_POINT_U 15:0
#define STRETCH_BLIT_SRC_POINT_V 31:16
+
+#endif /* NV_DMA_H */
Index: nv_include.h
===================================================================
RCS file: /cvs/xenocara/driver/xf86-video-nv/src/nv_include.h,v
retrieving revision 1.4
diff -u -p -r1.4 nv_include.h
--- nv_include.h 12 May 2013 13:06:25 -0000 1.4
+++ nv_include.h 10 Dec 2015 18:31:09 -0000
@@ -40,6 +40,8 @@
#ifdef HAVE_XAA_H
#include "xaa.h"
#endif
+#include "exa.h"
+
#include "xf86fbman.h"
#include "xf86cmap.h"
#include "shadowfb.h"
Index: nv_local.h
===================================================================
RCS file: /cvs/xenocara/driver/xf86-video-nv/src/nv_local.h,v
retrieving revision 1.3
diff -u -p -r1.3 nv_local.h
--- nv_local.h 18 Nov 2013 19:45:41 -0000 1.3
+++ nv_local.h 10 Dec 2015 18:31:09 -0000
@@ -54,16 +54,6 @@ typedef unsigned int U032;
#define VGA_WR08(p,i,d) NV_WR08(p,i,d)
#define VGA_RD08(p,i) NV_RD08(p,i)

-#define NVDmaNext(pNv, data) \
- (pNv)->dmaBase[(pNv)->dmaCurrent++] = (data)
-
-#define NVDmaStart(pNv, tag, size) { \
- if((pNv)->dmaFree <= (size)) \
- NVDmaWait(pNv, size); \
- NVDmaNext(pNv, ((size) << 18) | (tag)); \
- (pNv)->dmaFree -= ((size) + 1); \
-}
-
#if defined(__i386__)
#define _NV_FENCE() outb(0x3D0, 0);
#else
Index: nv_proto.h
===================================================================
RCS file: /cvs/xenocara/driver/xf86-video-nv/src/nv_proto.h,v
retrieving revision 1.3
diff -u -p -r1.3 nv_proto.h
--- nv_proto.h 18 Nov 2013 19:45:41 -0000 1.3
+++ nv_proto.h 10 Dec 2015 18:31:09 -0000
@@ -34,8 +34,17 @@ Bool NVAccelInit(ScreenPtr pScreen);
void NVSync(ScrnInfoPtr pScrn);
void NVResetGraphics(ScrnInfoPtr pScrn);
void NVDmaKickoff(NVPtr pNv);
+void NVDMAKickoffCallback(ScrnInfoPtr pScrn);
void NVDmaWait(NVPtr pNv, int size);
void NVWaitVSync(NVPtr pNv);
+void NVSetRopSolid(ScrnInfoPtr pScrn, CARD32 rop, CARD32 planemask);
+
+/* int nv_exa.c */
+uint32_t NVAccelGetPixmapOffset(NVPtr pNv, PixmapPtr pPix);
+Bool NVAccelGetCtxSurf2DFormatFromPixmap(PixmapPtr pPix, int *fmt_ret);
+Bool NVAccelGetCtxSurf2DFormatFromPicture(PicturePtr pPix, int *fmt_ret);
+Bool NVAccelSetCtxSurf2D(NVPtr pNv, PixmapPtr psPix, PixmapPtr pdPix, int fmt);
+Bool NVExaInit(ScreenPtr pScreen, ScrnInfoPtr pScrn);

/* in nv_dga.c */
Bool NVDGAInit(ScreenPtr pScreen);
Index: nv_type.h
===================================================================
RCS file: /cvs/xenocara/driver/xf86-video-nv/src/nv_type.h,v
retrieving revision 1.4
diff -u -p -r1.4 nv_type.h
--- nv_type.h 18 Nov 2013 19:45:41 -0000 1.4
+++ nv_type.h 10 Dec 2015 18:31:09 -0000
@@ -12,6 +12,39 @@
#define NV_ARCH_30 0x30
#define NV_ARCH_40 0x40

+#define CHIPSET_NV03 0x0010
+#define CHIPSET_NV04 0x0020
+#define CHIPSET_NV10 0x0100
+#define CHIPSET_NV11 0x0110
+#define CHIPSET_NV15 0x0150
+#define CHIPSET_NV17 0x0170
+#define CHIPSET_NV18 0x0180
+#define CHIPSET_NFORCE 0x01A0
+#define CHIPSET_NFORCE2 0x01F0
+#define CHIPSET_NV20 0x0200
+#define CHIPSET_NV25 0x0250
+#define CHIPSET_NV28 0x0280
+#define CHIPSET_NV30 0x0300
+#define CHIPSET_NV31 0x0310
+#define CHIPSET_NV34 0x0320
+#define CHIPSET_NV35 0x0330
+#define CHIPSET_NV36 0x0340
+#define CHIPSET_NV40 0x0040
+#define CHIPSET_NV41 0x00C0
+#define CHIPSET_NV43 0x0140
+#define CHIPSET_NV44 0x0160
+#define CHIPSET_NV44A 0x0220
+#define CHIPSET_NV45 0x0210
+#define CHIPSET_MISC_BRIDGED 0x00F0
+#define CHIPSET_G70 0x0090
+#define CHIPSET_G71 0x0290
+#define CHIPSET_G72 0x01D0
+#define CHIPSET_G73 0x0390
+// integrated GeForces (6100, 6150)
+#define CHIPSET_C51 0x0240
+// variant of C51, seems based on a G70 design
+#define CHIPSET_C512 0x03D0
+#define CHIPSET_G73_BRIDGED 0x02E0

#define NV_BITMASK(t,b) (((unsigned)(1U << (((t)-(b)+1)))-1) << (b))
#define NV_MASKEXPAND(mask) NV_BITMASK(1?mask,0?mask)
@@ -77,6 +110,7 @@ typedef struct {
RIVA_HW_STATE *CurrentState;
CARD32 Architecture;
CARD32 CursorStart;
+ int offscreenHeight;
EntityInfoPtr pEnt;
#if XSERVER_LIBPCIACCESS
struct pci_device *PciInfo;
@@ -125,9 +159,16 @@ typedef struct {
volatile U008 *PDIO0;
volatile U008 *PDIO;
volatile U032 *PRAMDAC;
+
+ /* XAA */
#ifdef HAVE_XAA_H
XAAInfoRecPtr AccelInfoRec;
#endif
+
+ /* EXA */
+ ExaDriverPtr EXADriverPtr;
+ Bool useEXA;
+
xf86CursorInfoPtr CursorInfoRec;
DGAModePtr DGAModes;
int numDGAModes;
Index: Makefile.am
===================================================================
RCS file: /cvs/xenocara/driver/xf86-video-nv/src/Makefile.am,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile.am
--- Makefile.am 16 Aug 2012 16:35:27 -0000 1.4
+++ Makefile.am 10 Dec 2015 18:31:09 -0000
@@ -46,6 +46,7 @@ nv_sources = \
nv_shadow.c \
nv_type.h \
nv_video.c \
+ nv_exa.c \
nv_xaa.c

riva_sources = \
Theo Buehler
2015-12-12 02:06:01 UTC
Permalink
Post by Martin Pieuchot
Without hardware acceleration my PowerBook G4 12'' with a NVIDIA
GeForce FX Go 5200 is unusable. Since XAA is no longer supported,
here's a simple EXA backend for nv(4) based on the XAA sources and
Nouveau. It only implements Solid and Copy but that already makes
a huge difference.
To test it you need to regenerate configure scripts for xf86-video-nv
as described in /usr/xenocara/README.
I can provide a diff for upstream it the driver is still maintained.
I'd like to hear from people using NVidia cards.
This is quite an impressive improvement, thanks a lot! Full screen
video becomes watchable. However, trying to move an xterm with the
mouse still isn't fun.

vga1 at pci1 dev 0 function 0 "NVIDIA GeForce 8600M GT" rev 0xa1

OpenBSD 5.8-current (GENERIC.MP) #531: Sat Dec 12 02:15:38 CET 2015
***@miraculix.home:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 2110599168 (2012MB)
avail mem = 2042568704 (1947MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xe0000 (45 entries)
bios0: vendor Apple Inc. version "MBP41.88Z.00C1.B03.0802271651" date 02/27/08
bios0: Apple Inc. MacBookPro4,1
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP HPET APIC MCFG ASF! SBST ECDT SSDT SSDT SSDT SSDT SSDT
acpi0: wakeup devices ADP1(S3) LID0(S3) ARPT(S3) GIGE(S3) UHC1(S3) UHC2(S3) UHC3(S3) UHC4(S3) UHC5(S3) EHC1(S3) EHC2(S3) EC__(S3)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz, 2394.44 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,NXE,LONG,LAHF,PERF,SENSOR
cpu0: 3MB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 199MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2.1.3, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz, 2394.00 MHz
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,NXE,LONG,LAHF,PERF,SENSOR
cpu1: 3MB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 1
acpimcfg0 at acpi0 addr 0xf0000000, bus 0-255
acpiec0 at acpi0
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (PEGP)
acpiprt2 at acpi0: bus 3 (RP03)
acpiprt3 at acpi0: bus 11 (RP05)
acpiprt4 at acpi0: bus 12 (RP06)
acpiprt5 at acpi0: bus 13 (PCIB)
acpicpu0 at acpi0: !C3(***@57 ***@0x31), !C2(***@1 ***@0x10), C1(***@1 mwait), PSS
acpicpu1 at acpi0: !C3(***@57 ***@0x31), !C2(***@1 ***@0x10), C1(***@1 mwait), PSS
acpiac0 at acpi0: AC unit online
acpibtn0 at acpi0: LID0
acpibtn1 at acpi0: PWRB
acpibtn2 at acpi0: SLPB
acpibat0 at acpi0: BAT0 model "14127832176087873" type 14127832377542988 oem "14127833101004627"
acpivideo0 at acpi0: GFX0
cpu0: Enhanced SpeedStep 2394 MHz: speeds: 2400, 2200, 2000, 1800, 1600, 1400, 1200, 800 MHz
memory map conflict 0xf00f8000/0x1000
memory map conflict 0xfed1c000/0x4000
memory map conflict 0xfffa0000/0x30000
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel GM965 Host" rev 0x03
ppb0 at pci0 dev 1 function 0 "Intel GM965 PCIE" rev 0x03: msi
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "NVIDIA GeForce 8600M GT" rev 0xa1
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
uhci0 at pci0 dev 26 function 0 "Intel 82801H USB" rev 0x04: apic 1 int 20
uhci1 at pci0 dev 26 function 1 "Intel 82801H USB" rev 0x04: apic 1 int 16
ehci0 at pci0 dev 26 function 7 "Intel 82801H USB" rev 0x04: apic 1 int 21
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 27 function 0 "Intel 82801H HD Audio" rev 0x04: msi
azalia0: codecs: Realtek ALC885
audio0 at azalia0
ppb1 at pci0 dev 28 function 0 "Intel 82801H PCIE" rev 0x04: msi
pci2 at ppb1 bus 2
ppb2 at pci0 dev 28 function 2 "Intel 82801H PCIE" rev 0x04: msi
pci3 at ppb2 bus 3
ppb3 at pci0 dev 28 function 4 "Intel 82801H PCIE" rev 0x04: msi
pci4 at ppb3 bus 11
"Broadcom BCM4321" rev 0x05 at pci4 dev 0 function 0 not configured
ppb4 at pci0 dev 28 function 5 "Intel 82801H PCIE" rev 0x04: msi
pci5 at ppb4 bus 12
mskc0 at pci5 dev 0 function 0 "Marvell Yukon 88E8058" rev 0x13, Yukon-2 EC Ultra rev. B0 (0x3): apic 1 int 17
msk0 at mskc0 port A: address 00:22:41:32:fe:f1
eephy0 at msk0 phy 0: 88E1149 Gigabit PHY, rev. 1
uhci2 at pci0 dev 29 function 0 "Intel 82801H USB" rev 0x04: apic 1 int 16
uhci3 at pci0 dev 29 function 1 "Intel 82801H USB" rev 0x04: apic 1 int 18
uhci4 at pci0 dev 29 function 2 "Intel 82801H USB" rev 0x04: apic 1 int 21
ehci1 at pci0 dev 29 function 7 "Intel 82801H USB" rev 0x04: apic 1 int 20
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb5 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xf4
pci6 at ppb5 bus 13
"TI TSB82AA2 FireWire" rev 0x02 at pci6 dev 3 function 0 not configured
pcib0 at pci0 dev 31 function 0 "Intel 82801HBM LPC" rev 0x04
pciide0 at pci0 dev 31 function 1 "Intel 82801HBM IDE" rev 0x04: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide0: using apic 1 int 21 for native-PCI interrupt
atapiscsi0 at pciide0 channel 0 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <HL-DT-ST, DVDRW GSA-S10N, AP12> ATAPI 5/cdrom removable
cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 disabled (no drives)
pciide1 at pci0 dev 31 function 2 "Intel 82801HBM SATA" rev 0x04: DMA, channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide1: using apic 1 int 18 for native-PCI interrupt
wd0 at pciide1 channel 0 drive 0: <HITACHI HTS725050A9A364>
wd0: 16-sector PIO, LBA48, 476940MB, 976773168 sectors
wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
ichiic0 at pci0 dev 31 function 3 "Intel 82801H SMBus" rev 0x04: apic 1 int 20
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 1GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
spdmem1 at iic0 addr 0x52: 1GB DDR2 SDRAM non-parity PC2-5300CL5 SO-DIMM
usb2 at uhci0: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci1: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci2: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb5 at uhci3: USB revision 1.0
uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb6 at uhci4: USB revision 1.0
uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
asmc0 at isa0 port 0x300/32: rev 1.27f527, 261 keys
uvideo0 at uhub1 port 4 configuration 1 interface 0 "Apple Inc. Built-in iSight" rev 2.00/1.60 addr 2
ugen0 at uhub1 port 4 configuration 1 "Apple Inc. Built-in iSight" rev 2.00/1.60 addr 2
uhub7 at uhub2 port 1 "Apple Inc. BRCM2046 Hub" rev 2.00/1.00 addr 2
ugen1 at uhub7 port 1 "Apple Inc. Bluetooth USB Host Controller" rev 2.00/1.80 addr 3
uhidev0 at uhub7 port 2 configuration 1 interface 0 "Apple Computer product 0x820a" rev 2.00/1.00 addr 4
uhidev0: iclass 3/1, 1 report id
ukbd0 at uhidev0 reportid 1: 8 variable keys, 6 key codes
wskbd0 at ukbd0: console keyboard, using wsdisplay0
uhidev1 at uhub7 port 3 configuration 1 interface 0 "Apple Computer product 0x820b" rev 2.00/1.00 addr 5
uhidev1: iclass 3/1, 2 report ids
ums0 at uhidev1 reportid 2: 3 buttons
wsmouse0 at ums0 mux 0
uhidev2 at uhub6 port 1 configuration 1 interface 0 "Apple Computer, Inc. IR Receiver" rev 2.00/0.16 addr 2
uhidev2: iclass 3/0, 38 report ids
uhid0 at uhidev2 reportid 36: input=4, output=0, feature=0
uhid1 at uhidev2 reportid 37: input=4, output=0, feature=0
uhid2 at uhidev2 reportid 38: input=4, output=0, feature=0
uhidev3 at uhub6 port 2 configuration 1 interface 0 "Apple, Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.70 addr 3
uhidev3: iclass 3/1, 9 report ids
ukbd1 at uhidev3 reportid 1: 8 variable keys, 6 key codes, country code 13
wskbd1 at ukbd1 mux 1
wskbd1: connecting to wsdisplay0
uhid3 at uhidev3 reportid 9: input=0, output=0, feature=3
uhidev4 at uhub6 port 2 configuration 1 interface 1 "Apple, Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.70 addr 3
uhidev4: iclass 3/0, 68 report ids
uhid4 at uhidev4 reportid 68: input=511, output=0, feature=0
ubcmtp0 at uhub6 port 2 configuration 1 interface 2 "Apple, Inc. Apple Internal Keyboard / Trackpad" rev 2.00/0.70 addr 3
wsmouse1 at ubcmtp0 mux 0
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
sd0 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 005> SCSI2 0/direct fixed
sd0: 476936MB, 512 bytes/sector, 976766528 sectors
root on sd0a (7966d4a5430aa607.a) swap on sd0b dump on sd0b
video0 at uvideo0
Juan Francisco Cantero Hurtado
2015-12-13 00:57:02 UTC
Permalink
Post by Theo Buehler
Post by Martin Pieuchot
Without hardware acceleration my PowerBook G4 12'' with a NVIDIA
GeForce FX Go 5200 is unusable. Since XAA is no longer supported,
here's a simple EXA backend for nv(4) based on the XAA sources and
Nouveau. It only implements Solid and Copy but that already makes
a huge difference.
To test it you need to regenerate configure scripts for xf86-video-nv
as described in /usr/xenocara/README.
I can provide a diff for upstream it the driver is still maintained.
I'd like to hear from people using NVidia cards.
This is quite an impressive improvement, thanks a lot! Full screen
video becomes watchable. However, trying to move an xterm with the
mouse still isn't fun.
Try this xorg.conf:
Section "Device"
Identifier "nvidia modesetting"
Driver "modesetting"
Option "HWCursor" "off"
EndSection
--
Juan Francisco Cantero Hurtado http://juanfra.info
Theo Buehler
2015-12-13 07:53:19 UTC
Permalink
Post by Juan Francisco Cantero Hurtado
Post by Theo Buehler
Post by Martin Pieuchot
Without hardware acceleration my PowerBook G4 12'' with a NVIDIA
GeForce FX Go 5200 is unusable. Since XAA is no longer supported,
here's a simple EXA backend for nv(4) based on the XAA sources and
Nouveau. It only implements Solid and Copy but that already makes
a huge difference.
To test it you need to regenerate configure scripts for xf86-video-nv
as described in /usr/xenocara/README.
I can provide a diff for upstream it the driver is still maintained.
I'd like to hear from people using NVidia cards.
This is quite an impressive improvement, thanks a lot! Full screen
video becomes watchable. However, trying to move an xterm with the
mouse still isn't fun.
Section "Device"
Identifier "nvidia modesetting"
Driver "modesetting"
Option "HWCursor" "off"
EndSection
Thanks for the suggestion, but putting this in a new file
/etc/X11/xorg.conf results in xdm refusing to start both on boot time
and with startx. I don't know anything about xorg.conf, so it may well
be that I'm missing something obvious. Here's the resulting Xorg.log

[ 56.984] (--) checkDevMem: using aperture driver /dev/xf86
[ 57.018] (--) Using wscons driver on /dev/ttyC4 in pcvt compatibility mode (version 3.32)
[ 57.031]
X.Org X Server 1.17.4
Release Date: 2015-10-28
[ 57.031] X Protocol Version 11, Revision 0
[ 57.031] Build Operating System: OpenBSD 5.8 amd64
[ 57.031] Current Operating System: OpenBSD miraculix.home 5.8 GENERIC.MP#531 amd64
[ 57.032] Build Date: 11 December 2015 07:02:02AM
[ 57.032]
[ 57.032] Current version of pixman: 0.32.8
[ 57.032] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 57.032] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 57.032] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Dec 13 08:27:37 2015
[ 57.033] (==) Using config file: "/etc/X11/xorg.conf"
[ 57.033] (==) Using system config directory "/usr/X11R6/share/X11/xorg.conf.d"
[ 57.034] (==) No Layout section. Using the first Screen section.
[ 57.034] (==) No screen section available. Using defaults.
[ 57.034] (**) |-->Screen "Default Screen Section" (0)
[ 57.034] (**) | |-->Monitor "<default monitor>"
[ 57.034] (==) No device specified for screen "Default Screen Section".
Using the first device section listed.
[ 57.034] (**) | |-->Device "nvidia modesetting"
[ 57.034] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 57.034] (==) Disabling SIGIO handlers for input devices
[ 57.034] (==) Automatically adding devices
[ 57.034] (==) Automatically enabling devices
[ 57.034] (==) Not automatically adding GPU devices
[ 57.035] (==) FontPath set to:
/usr/X11R6/lib/X11/fonts/misc/,
/usr/X11R6/lib/X11/fonts/TTF/,
/usr/X11R6/lib/X11/fonts/OTF/,
/usr/X11R6/lib/X11/fonts/Type1/,
/usr/X11R6/lib/X11/fonts/100dpi/,
/usr/X11R6/lib/X11/fonts/75dpi/
[ 57.035] (==) ModulePath set to "/usr/X11R6/lib/modules"
[ 57.035] (II) The server relies on wscons to provide the list of input devices.
If no devices become available, reconfigure wscons or disable AutoAddDevices.
[ 57.035] (II) Loader magic: 0x110e45931ce0
[ 57.035] (II) Module ABI versions:
[ 57.035] X.Org ANSI C Emulation: 0.4
[ 57.035] X.Org Video Driver: 19.0
[ 57.035] X.Org XInput driver : 21.0
[ 57.035] X.Org Server Extension : 9.0
[ 57.035] (--) PCI:*(0:1:0:0) 10de:0407:106b:00a3 rev 161, Mem @ 0x92000000/16777216, 0x80000000/268435456, 0x90000000/33554432, I/O @ 0x00007000/128, BIOS @ 0x????????/131072
[ 57.035] (II) LoadModule: "glx"
[ 57.037] (II) Loading /usr/X11R6/lib/modules/extensions/libglx.so
[ 57.049] (II) Module glx: vendor="X.Org Foundation"
[ 57.049] compiled for 1.17.4, module version = 1.0.0
[ 57.049] ABI class: X.Org Server Extension, version 9.0
[ 57.049] (==) AIGLX enabled
[ 57.049] (II) LoadModule: "modesetting"
[ 57.050] (II) Loading /usr/X11R6/lib/modules/drivers/modesetting_drv.so
[ 57.051] (II) Module modesetting: vendor="X.Org Foundation"
[ 57.051] compiled for 1.17.4, module version = 1.17.4
[ 57.051] Module class: X.Org Video Driver
[ 57.051] ABI class: X.Org Video Driver, version 19.0
[ 57.051] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 57.052] (EE) open /dev/drm0: Device not configured
[ 57.052] (WW) Falling back to old probe method for modesetting
[ 57.052] (EE) open /dev/drm0: Device not configured
[ 57.052] (EE) Screen 0 deleted because of no matching config section.
[ 57.052] (II) UnloadModule: "modesetting"
[ 57.052] (EE) Device(s) detected, but none match those in the config file.
[ 57.052] (EE)
Fatal server error:
[ 57.052] (EE) no screens found(EE)
[ 57.052] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 57.052] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 57.052] (EE)
[ 57.055] (EE) Server terminated with error (1). Closing log file.
Bryan Steele
2015-12-13 08:14:38 UTC
Permalink
Post by Theo Buehler
Post by Juan Francisco Cantero Hurtado
Post by Theo Buehler
Post by Martin Pieuchot
Without hardware acceleration my PowerBook G4 12'' with a NVIDIA
GeForce FX Go 5200 is unusable. Since XAA is no longer supported,
here's a simple EXA backend for nv(4) based on the XAA sources and
Nouveau. It only implements Solid and Copy but that already makes
a huge difference.
To test it you need to regenerate configure scripts for xf86-video-nv
as described in /usr/xenocara/README.
I can provide a diff for upstream it the driver is still maintained.
I'd like to hear from people using NVidia cards.
This is quite an impressive improvement, thanks a lot! Full screen
video becomes watchable. However, trying to move an xterm with the
mouse still isn't fun.
Section "Device"
Identifier "nvidia modesetting"
Driver "modesetting"
Option "HWCursor" "off"
EndSection
Thanks for the suggestion, but putting this in a new file
/etc/X11/xorg.conf results in xdm refusing to start both on boot time
and with startx. I don't know anything about xorg.conf, so it may well
be that I'm missing something obvious. Here's the resulting Xorg.log
Both of you are confused by what mpi@ sent, his diff was for adding EXA
acceleration to the nv(4) Xorg DDX driver. This is the older user
modesetting driver that was abandoned by nVidia, but is still useful
older hardware.

The KMS drm driver for nvidia (nouveau) isn't ported, so even the basic
modesetting configuration offered by Juan has no chance of working.

-Bryan.
Post by Theo Buehler
[ 57.049] (II) LoadModule: "modesetting"
[ 57.050] (II) Loading /usr/X11R6/lib/modules/drivers/modesetting_drv.so
[ 57.051] (II) Module modesetting: vendor="X.Org Foundation"
[ 57.051] compiled for 1.17.4, module version = 1.17.4
[ 57.051] Module class: X.Org Video Driver
[ 57.051] ABI class: X.Org Video Driver, version 19.0
[ 57.051] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 57.052] (EE) open /dev/drm0: Device not configured
[ 57.052] (WW) Falling back to old probe method for modesetting
[ 57.052] (EE) open /dev/drm0: Device not configured
[ 57.052] (EE) Screen 0 deleted because of no matching config section.
[ 57.052] (II) UnloadModule: "modesetting"
[ 57.052] (EE) Device(s) detected, but none match those in the config file.
[ 57.052] (EE)
[ 57.052] (EE) no screens found(EE)
Juan Francisco Cantero Hurtado
2015-12-13 19:01:12 UTC
Permalink
Post by Theo Buehler
Post by Juan Francisco Cantero Hurtado
Post by Theo Buehler
Post by Martin Pieuchot
Without hardware acceleration my PowerBook G4 12'' with a NVIDIA
GeForce FX Go 5200 is unusable. Since XAA is no longer supported,
here's a simple EXA backend for nv(4) based on the XAA sources and
Nouveau. It only implements Solid and Copy but that already makes
a huge difference.
To test it you need to regenerate configure scripts for xf86-video-nv
as described in /usr/xenocara/README.
I can provide a diff for upstream it the driver is still maintained.
I'd like to hear from people using NVidia cards.
This is quite an impressive improvement, thanks a lot! Full screen
video becomes watchable. However, trying to move an xterm with the
mouse still isn't fun.
Section "Device"
Identifier "nvidia modesetting"
Driver "modesetting"
Option "HWCursor" "off"
EndSection
Thanks for the suggestion, but putting this in a new file
/etc/X11/xorg.conf results in xdm refusing to start both on boot time
and with startx. I don't know anything about xorg.conf, so it may well
be that I'm missing something obvious. Here's the resulting Xorg.log
Matthieu and Bryan are right. I was thinking that nv has kms support
for old models. My bad.
--
Juan Francisco Cantero Hurtado http://juanfra.info
Matthieu Herrb
2015-12-13 08:14:25 UTC
Permalink
Post by Juan Francisco Cantero Hurtado
Post by Theo Buehler
Post by Martin Pieuchot
Without hardware acceleration my PowerBook G4 12'' with a NVIDIA
GeForce FX Go 5200 is unusable. Since XAA is no longer supported,
here's a simple EXA backend for nv(4) based on the XAA sources and
Nouveau. It only implements Solid and Copy but that already makes
a huge difference.
To test it you need to regenerate configure scripts for xf86-video-nv
as described in /usr/xenocara/README.
I can provide a diff for upstream it the driver is still maintained.
I'd like to hear from people using NVidia cards.
This is quite an impressive improvement, thanks a lot! Full screen
video becomes watchable. However, trying to move an xterm with the
mouse still isn't fun.
Section "Device"
Identifier "nvidia modesetting"
Driver "modesetting"
Option "HWCursor" "off"
EndSection
the modesettings driver will only work on devices for which OpenBSD
has KMS support (intel and ati).
--
Matthieu Herrb
Matthieu Herrb
2015-12-13 11:09:48 UTC
Permalink
Post by Martin Pieuchot
Without hardware acceleration my PowerBook G4 12'' with a NVIDIA
GeForce FX Go 5200 is unusable. Since XAA is no longer supported,
here's a simple EXA backend for nv(4) based on the XAA sources and
Nouveau. It only implements Solid and Copy but that already makes
a huge difference.
To test it you need to regenerate configure scripts for xf86-video-nv
as described in /usr/xenocara/README.
On my test machine with an (old) GeForce 4MX, this EXA implementation
performs poorly (way slower) compared to the shadowfb mode that is now
the default.

My traditionnal benchmark (/usr/bin/time cat /etc/xtermcap in a 80x35
xterm with DejaVu Sans Mono 8 anti-aliased font), takes 534s with EXA
vs 42s with shadowfb. (it's less than 1s on my X240 with intel)

I've added a dmesg and Xorg.0.log output below
Post by Martin Pieuchot
I can provide a diff for upstream it the driver is still maintained.
If you do that you'll become the de facto maintainer :)
Post by Martin Pieuchot
I'd like to hear from people using NVidia cards.
OpenBSD 5.8-current (GENERIC) #1617: Sat Dec 12 09:05:47 MST 2015
***@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 519241728 (495MB)
avail mem = 499486720 (476MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.3 @ 0xf0520 (65 entries)
bios0: vendor American Megatrends Inc. version "1003.027" date 11/27/2003
bios0: ASUSTeK Computer Inc. K8V
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC OEMB
acpi0: wakeup devices PCI0(S4) PS2K(S4) PS2M(S4) UAR2(S4) UAR1(S4) AC97(S4) USB1(S4) USB2(S4) USB3(S4) USB4(S4) EHCI(S4) PWRB(S4) SLPB(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) 64 Processor 3000+, 2002.87 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,NXE,MMXX,LONG,3DNOW2,3DNOW
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache
cpu0: ITLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: DTLB 32 4KB entries fully associative, 8 4MB entries fully associative
cpu0: AMD errata 89, 97 present, BIOS upgrade may be required
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 200MHz
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 3, 24 pins
ioapic0: misconfigured as apic 2, remapped to apid 1
acpiprt0 at acpi0: bus 0 (PCI0)
acpicpu0 at acpi0: C1(@1 halt!), PSS
acpibtn0 at acpi0: PWRB
acpibtn1 at acpi0: SLPB
cpu0: Cool'n'Quiet K8 2002 MHz: speeds: 2000 1800 1800 800 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "VIA K8HTB Host" rev 0x01
agp at pchb0 not configured
ppb0 at pci0 dev 1 function 0 "VIA K8HTB AGP" rev 0x00
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "NVIDIA GeForce4 MX 440 AGP" rev 0xa2
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
skc0 at pci0 dev 10 function 0 "3Com 3c940" rev 0x12, Yukon (0x1): apic 1 int 17
sk0 at skc0 port A: address 00:0e:a6:6a:e4:a9
eephy0 at sk0 phy 0: 88E1011 Gigabit PHY, rev. 3
pciide0 at pci0 dev 15 function 0 "VIA VT6420 SATA" rev 0x80: DMA
pciide0: using apic 1 int 20 for native-PCI interrupt
pciide1 at pci0 dev 15 function 1 "VIA VT82C571 IDE" rev 0x06: ATA133, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide1 channel 0 drive 0: <ST3120026A>
wd0: 16-sector PIO, LBA48, 114473MB, 234441648 sectors
wd1 at pciide1 channel 0 drive 1: <Maxtor 6Y040P0>
wd1: 16-sector PIO, LBA, 39083MB, 80043264 sectors
wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
wd1(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 6
pciide1: channel 1 disabled (no drives)
uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0x81: apic 1 int 21
uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0x81: apic 1 int 21
uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0x81: apic 1 int 21
uhci3 at pci0 dev 16 function 3 "VIA VT83C572 USB" rev 0x81: apic 1 int 21
ehci0 at pci0 dev 16 function 4 "VIA VT6202 USB" rev 0x86: apic 1 int 21
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "VIA EHCI root hub" rev 2.00/1.00 addr 1
viapm0 at pci0 dev 17 function 0 "VIA VT8237 ISA" rev 0x00: SMI
iic0 at viapm0
lm1 at iic0 addr 0x2f: W83791SD
iic0: addr 0x4a 00=1f 01=03 02=7f 03=07 05=30 06=c0 07=90 08=1f 09=03 0a=7f 0b=07 0d=30 0e=c0 0f=90 10=1f 11=03 12=7f 13=07 15=30 16=c0 17=90 18=1f 19=03 1a=7f 1b=07 1d=30 1e=c0 1f=90 20=1f 21=03 22=7f 23=07 25=30 26=c0 27=90 28=1f 29=03 2a=7f 2b=07 2d=30 2e=c0 2f=90 30=1f 31=03 32=7f 33=07 35=30 36=c0 37=90 38=1f 39=03 3a=7f 3b=07 3d=30 3e=c0 3f=90 40=1f 41=03 42=7f 43=07 45=30 46=c0 47=90 48=1f 49=03 4a=7f 4b=07 4d=30 4e=c0 4f=90 50=1f 51=03 52=7f 53=07 55=30 56=c0 57=90 58=1f 59=03 5a=7f 5b=07 5d=30 5e=c0 5f=90 60=1f 61=03 62=7f 63=07 65=30 66=c0 67=90 68=1f 69=03 6a=7f 6b=07 6d=30 6e=c0 6f=90 70=1f 71=03 72=7f 73=07 75=30 76=c0 77=90 78=1f 79=03 7a=7f 7b=07 7d=30 7e=c0 7f=90 80=1f 81=03 82=7f 83=07 85=30 86=c0 87=90 88=1f 89=03 8a=7f 8b=07 8d=30 8e=c0 8f=90 90=1f 91=03 92=7f 93=07 95=30 96=c0 97=90 98=1f 99=03 9a=7f 9b=07 9d=30 9e=c0 9f=90 a0=1f a1=03 a2=7f a3=07 a5=30 a6=c0 a7=90 a8=1f a9=03 aa=7f ab=07 ad=30 ae=c0 af=90 b0=1f b1=03 b2=7f b3=07 b5=30 b6=c0 b7=90 b8=1f b9=03 ba=7f bb=07 bd=30 be=c0 bf=90 c0=1f c1=03 c2=7f c3=07 c5=30 c6=c0 c7=90 c8=1f c9=03 ca=7f cb=07 cd=30 ce=c0 cf=90 d0=1f d1=03 d2=7f d3=07 d5=30 d6=c0 d7=90 d8=1f d9=03 da=7f db=07 dd=30 de=c0 df=90 e0=1f e1=03 e2=7f e3=07 e5=30 e6=c0 e7=90 e8=1f e9=03 ea=7f eb=07 ed=30 ee=c0 ef=90 f0=1f f1=03 f2=7f f3=07 f5=30 f6=c0 f7=90 f8=1f f9=03 fa=7f fb=07 fd=30 fe=c0 ff=90 words 00=1fff 01=03ff 02=7fff 03=07ff 04=00ff 05=30ff 06=c0ff 07=90ff
spdmem0 at iic0 addr 0x50: 256MB DDR SDRAM non-parity PC3200CL2.0
spdmem1 at iic0 addr 0x52: 256MB DDR SDRAM non-parity PC3200CL2.0
auvia0 at pci0 dev 17 function 5 "VIA VT8233 AC97" rev 0x60: apic 1 int 22
ac97: codec id 0x41445370 (Analog Devices AD1980)
ac97: codec features headphone, 20 bit DAC, No 3D Stereo
audio0 at auvia0
pchb1 at pci0 dev 24 function 0 "AMD AMD64 0Fh HyperTransport" rev 0x00
pchb2 at pci0 dev 24 function 1 "AMD AMD64 0Fh Address Map" rev 0x00
pchb3 at pci0 dev 24 function 2 "AMD AMD64 0Fh DRAM Cfg" rev 0x00
kate0 at pci0 dev 24 function 3 "AMD AMD64 0Fh Misc Cfg" rev 0x00
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 "VIA UHCI root hub" rev 1.00/1.00 addr 1
isa0 at mainbus0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
wbsio0 at isa0 port 0x2e/2: W83697HF rev 0x12
lm2 at wbsio0 port 0x290/8: W83697HF
uhidev0 at uhub2 port 2 configuration 1 interface 0 "Logitech USB-PS/2 Optical Mouse" rev 2.00/11.10 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 3 buttons, Z dir
wsmouse0 at ums0 mux 0
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on wd0a (3c4026091ad5cfeb.a) swap on wd0b dump on wd0b

[ 1712.661] (--) checkDevMem: using aperture driver /dev/xf86
[ 1712.666] (--) Using wscons driver on /dev/ttyC4 in pcvt compatibility mode (version 3.32)
[ 1712.672]
X.Org X Server 1.17.4
Release Date: 2015-10-28
[ 1712.672] X Protocol Version 11, Revision 0
[ 1712.672] Build Operating System: OpenBSD 5.8 amd64
[ 1712.672] Current Operating System: OpenBSD reactor.herrb.net 5.8 GENERIC#1617 amd64
[ 1712.673] Build Date: 12 December 2015 09:53:44AM
[ 1712.673]
[ 1712.673] Current version of pixman: 0.32.8
[ 1712.673] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 1712.673] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 1712.673] (==) Log file: "/var/log/Xorg.0.log", Time: Sun Dec 13 11:37:02 2015
[ 1712.674] (==) Using system config directory "/usr/X11R6/share/X11/xorg.conf.d"
[ 1712.674] (==) No Layout section. Using the first Screen section.
[ 1712.674] (==) No screen section available. Using defaults.
[ 1712.674] (**) |-->Screen "Default Screen Section" (0)
[ 1712.674] (**) | |-->Monitor "<default monitor>"
[ 1712.674] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[ 1712.674] (==) Disabling SIGIO handlers for input devices
[ 1712.674] (==) Automatically adding devices
[ 1712.674] (==) Automatically enabling devices
[ 1712.674] (==) Not automatically adding GPU devices
[ 1712.674] (==) FontPath set to:
/usr/X11R6/lib/X11/fonts/misc/,
/usr/X11R6/lib/X11/fonts/TTF/,
/usr/X11R6/lib/X11/fonts/OTF/,
/usr/X11R6/lib/X11/fonts/Type1/,
/usr/X11R6/lib/X11/fonts/100dpi/,
/usr/X11R6/lib/X11/fonts/75dpi/
[ 1712.674] (==) ModulePath set to "/usr/X11R6/lib/modules"
[ 1712.674] (II) The server relies on wscons to provide the list of input devices.
If no devices become available, reconfigure wscons or disable AutoAddDevices.
[ 1712.674] (II) Loader magic: 0x73d60431cc0
[ 1712.674] (II) Module ABI versions:
[ 1712.674] X.Org ANSI C Emulation: 0.4
[ 1712.674] X.Org Video Driver: 19.0
[ 1712.674] X.Org XInput driver : 21.0
[ 1712.674] X.Org Server Extension : 9.0
[ 1712.675] (--) PCI:*(0:1:0:0) 10de:0181:1043:8083 rev 162, Mem @ 0xf6000000/16777216, 0xe8000000/134217728, BIOS @ 0x????????/131072
[ 1712.675] (II) LoadModule: "glx"
[ 1712.676] (II) Loading /usr/X11R6/lib/modules/extensions/libglx.so
[ 1712.683] (II) Module glx: vendor="X.Org Foundation"
[ 1712.683] compiled for 1.17.4, module version = 1.0.0
[ 1712.683] ABI class: X.Org Server Extension, version 9.0
[ 1712.683] (==) AIGLX enabled
[ 1712.683] (==) Matched nv as autoconfigured driver 0
[ 1712.683] (==) Matched vesa as autoconfigured driver 1
[ 1712.683] (==) Assigned the driver to the xf86ConfigLayout
[ 1712.683] (II) LoadModule: "nv"
[ 1712.684] (II) Loading /usr/X11R6/lib/modules/drivers/nv_drv.so
[ 1712.684] (II) Module nv: vendor="X.Org Foundation"
[ 1712.684] compiled for 1.17.4, module version = 2.1.20
[ 1712.684] Module class: X.Org Video Driver
[ 1712.684] ABI class: X.Org Video Driver, version 19.0
[ 1712.684] (II) LoadModule: "vesa"
[ 1712.685] (II) Loading /usr/X11R6/lib/modules/drivers/vesa_drv.so
[ 1712.686] (II) Module vesa: vendor="X.Org Foundation"
[ 1712.686] compiled for 1.17.4, module version = 2.3.3
[ 1712.686] Module class: X.Org Video Driver
[ 1712.686] ABI class: X.Org Video Driver, version 19.0
[ 1712.686] (II) NV: driver for NVIDIA chipsets: RIVA 128, RIVA TNT, RIVA TNT2,
Unknown TNT2, Vanta, RIVA TNT2 Ultra, RIVA TNT2 Model 64,
Aladdin TNT2, GeForce 256, GeForce DDR, Quadro, GeForce2 MX/MX 400,
GeForce2 MX 100/200, GeForce2 Go, Quadro2 MXR/EX/Go,
GeForce2 Integrated GPU, GeForce2 GTS, GeForce2 Ti, GeForce2 Ultra,
Quadro2 Pro, GeForce4 MX 460, GeForce4 MX 440, GeForce4 MX 420,
GeForce4 MX 440-SE, GeForce4 440 Go, GeForce4 420 Go,
GeForce4 420 Go 32M, GeForce4 460 Go, Quadro4 550 XGL,
GeForce4 440 Go 64M, Quadro NVS, Quadro4 500 GoGL,
GeForce4 410 Go 16M, GeForce4 MX 440 with AGP8X,
GeForce4 MX 440SE with AGP8X, GeForce4 MX 420 with AGP8X,
GeForce4 MX 4000, GeForce4 448 Go, GeForce4 488 Go, Quadro4 580 XGL,
Quadro4 NVS 280 SD, Quadro4 380 XGL, Quadro NVS 50 PCI,
GeForce4 448 Go, GeForce4 MX Integrated GPU, GeForce3,
GeForce3 Ti 200, GeForce3 Ti 500, Quadro DCC, GeForce4 Ti 4600,
GeForce4 Ti 4400, GeForce4 Ti 4200, Quadro4 900 XGL, Quadro4 750 XGL,
Quadro4 700 XGL, GeForce4 Ti 4800, GeForce4 Ti 4200 with AGP8X,
GeForce4 Ti 4800 SE, GeForce4 4200 Go, Quadro4 700 GoGL,
Quadro4 980 XGL, Quadro4 780 XGL, GeForce FX 5800 Ultra,
GeForce FX 5800, Quadro FX 2000, Quadro FX 1000,
GeForce FX 5600 Ultra, GeForce FX 5600, GeForce FX 5600XT,
GeForce FX Go5600, GeForce FX Go5650, Quadro FX Go700,
GeForce FX 5200, GeForce FX 5200 Ultra, GeForce FX 5200,
GeForce FX 5200LE, GeForce FX Go5200, GeForce FX Go5250,
GeForce FX 5500, GeForce FX 5100, GeForce FX Go5200 32M/64M,
Quadro NVS 55/280 PCI, Quadro FX 500/600 PCI,
GeForce FX Go53xx Series, GeForce FX Go5100, GeForce FX 5900 Ultra,
GeForce FX 5900, GeForce FX 5900XT, GeForce FX 5950 Ultra,
GeForce FX 5900ZT, Quadro FX 3000, Quadro FX 700,
GeForce FX 5700 Ultra, GeForce FX 5700, GeForce FX 5700LE,
GeForce FX 5700VE, GeForce FX Go5700, GeForce FX Go5700,
Quadro FX Go1000, Quadro FX 1100, GeForce 6800 Ultra, GeForce 6800,
GeForce 6800 LE, GeForce 6800 XE, GeForce 6800 XT, GeForce 6800 GT,
GeForce 6800 GT, GeForce 6800 GS, GeForce 6800 XT, Quadro FX 4000,
GeForce 6800 GS, GeForce 6800, GeForce 6800 LE, GeForce 6800 XT,
GeForce Go 6800, GeForce Go 6800 Ultra, Quadro FX Go1400,
Quadro FX 3450/4000 SDI, Quadro FX 1400, GeForce 6600 GT,
GeForce 6600, GeForce 6600 LE, GeForce 6600 VE, GeForce Go 6600,
GeForce 6610 XL, GeForce Go 6600 TE/6200 TE, GeForce 6700 XL,
GeForce Go 6600, GeForce Go 6600 GT, Quadro NVS 440, Quadro FX 550,
Quadro FX 550, Quadro FX 540, GeForce 6200, GeForce 6500,
GeForce 6200 TurboCache(TM), GeForce 6200SE TurboCache(TM),
GeForce 6200 LE, GeForce Go 6200, Quadro NVS 285, GeForce Go 6400,
GeForce Go 6200, GeForce Go 6400, GeForce 6250, GeForce 7100 GS,
GeForce 6800, GeForce 6800 LE, GeForce 6800 GT, GeForce 6800 XT,
GeForce 6200, GeForce 6200 A-LE, GeForce 7800 GTX, GeForce 7800 GTX,
GeForce 7800 GT, GeForce 7800 GS, GeForce 7800 SLI, GeForce Go 7800,
GeForce Go 7800 GTX, Quadro FX 4500, GeForce 7350 LE,
GeForce 7300 LE, GeForce 7300 SE, GeForce Go 7200, GeForce Go 7300,
GeForce Go 7400, GeForce Go 7400 GS, Quadro NVS 110M,
Quadro NVS 120M, Quadro FX 350M, GeForce 7500 LE, Quadro FX 350,
GeForce 7300 GS, GeForce 7650 GS, GeForce 7600 GT, GeForce 7600 GS,
GeForce 7300 GT, GeForce 7600 LE, GeForce 7300 GT, GeForce Go 7700,
GeForce Go 7600, GeForce Go 7600 GT, Quadro NVS 300M,
GeForce Go 7900 SE, Quadro FX 550M, Quadro FX 560, GeForce 7900 GTX,
GeForce 7900 GT, GeForce 7900 GS, GeForce 7950 GX2, GeForce 7950 GX2,
GeForce 7950 GT, GeForce Go 7950 GTX, GeForce Go 7900 GS,
GeForce Go 7900 GTX, Quadro FX 2500M, Quadro FX 1500M,
Quadro FX 5500, Quadro FX 3500, Quadro FX 1500, Quadro FX 4500 X2,
GeForce 6150, GeForce 6150 LE, GeForce 6100, GeForce Go 6150,
Quadro NVS 210S / NVIDIA GeForce 6150LE, GeForce Go 6100,
GeForce 6150SE, GeForce 6100 nForce 405, GeForce 6100 nForce 400,
GeForce 6100 nForce 420, GeForce 7150M / nForce 630M,
GeForce 7000M / nForce 610M, GeForce 7050 PV / nForce 630a,
GeForce 7050 PV / nForce 630a, GeForce 7025 / nForce 630a,
GeForce 8800 GTX, GeForce 8800 GTS, GeForce 8800 Ultra,
Quadro FX 5600, Quadro FX 4600, GeForce 8600 GTS, GeForce 8600 GT,
GeForce 8600 GT, GeForce 8600 GS, GeForce 8400 GS, GeForce 9500M GS,
GeForce 8300 GS, GeForce 8600M GT, GeForce 9650M GS,
GeForce 8700M GT, Quadro FX 370, Quadro NVS 320M, Quadro FX 570M,
Quadro FX 1600M, Quadro FX 570, Quadro FX 1700, GeForce GT 330,
GeForce 8400 SE, GeForce 8500 GT, GeForce 8400 GS, GeForce 8300 GS,
GeForce 8400 GS, GeForce 8600M GS, GeForce 8400M GT,
GeForce 8400M GS, GeForce 8400M G, Quadro NVS 140M, Quadro NVS 130M,
Quadro NVS 135M, GeForce 9400 GT, Quadro FX 360M, GeForce 9300M G,
Quadro NVS 290, GeForce GTX 295, GeForce GTX 280, GeForce GTX 260,
GeForce GTX 285, GeForce GTX 275, GeForce GTX 260, GeForce GTX 295,
Quadroplex 2200 D2, Quadroplex 2200 S4, Quadro CX, Quadro FX 5800,
Quadro FX 4800, Quadro FX 3800, GeForce 8800 GTS 512,
GeForce 9800 GT, GeForce 8800 GT, GeForce GT 230, GeForce 9800 GX2,
GeForce 9800 GT, GeForce 8800 GS, GeForce GTS 240, GeForce 9800M GTX,
GeForce 8800M GTS, GeForce GTX 280M, GeForce 9800M GT,
GeForce 8800M GTX, GeForce 8800 GS, GeForce GTX 285M,
GeForce 9600 GSO, GeForce 8800 GT, GeForce 9800 GTX/9800 GTX+,
GeForce 9800 GTX+, GeForce 9800 GT, GeForce GTS 250,
GeForce 9800M GTX, GeForce GTX 260M, Quadro FX 4700 X2,
Quadro FX 3700, Quadro VX 200, Quadro FX 3600M, Quadro FX 2800M,
Quadro FX 3700M, Quadro FX 3800M, GeForce 9600 GT, GeForce 9600 GS,
GeForce 9600 GSO 512, GeForce GT 130, GeForce GT 140,
GeForce 9800M GTS, GeForce 9700M GTS, GeForce 9800M GS,
GeForce 9800M GTS, GeForce 9600 GT, GeForce 9600 GT,
GeForce GTS 160M, GeForce GTS 150M, GeForce 9600 GSO,
GeForce 9600 GT, Quadro FX 1800, Quadro FX 2700M, GeForce 9500 GT,
GeForce 9400 GT, GeForce 9500 GT, GeForce 9500 GS, GeForce 9500 GS,
GeForce GT 120, GeForce 9600M GT, GeForce 9600M GS, GeForce 9600M GT,
GeForce 9700M GT, GeForce 9500M G, GeForce 9650M GT, GeForce G 110M,
GeForce GT 130M, GeForce GT 120M, GeForce GT 220M, GeForce 9650 S,
Quadro FX 380, Quadro FX 580, Quadro FX 1700M, GeForce 9400 GT,
Quadro FX 770M, GeForce 9300 GE, GeForce 9300 GS, GeForce 8400,
GeForce 8400 SE, GeForce 8400 GS, GeForce 9300M GS, GeForce G100,
GeForce 9300 SE, GeForce 9200M GS, GeForce 9300M GS, Quadro NVS 150M,
Quadro NVS 160M, GeForce G 105M, GeForce G 103M, GeForce G105M,
Quadro NVS 420, Quadro FX 370 LP, Quadro NVS 450, Quadro FX 370M,
Quadro NVS 295, GeForce 9100M G, GeForce 8200M G, GeForce 9200,
GeForce 9100, GeForce 8300, GeForce 8200, nForce 730a, GeForce 9200,
nForce 980a/780a SLI, nForce 750a SLI, GeForce 8100 / nForce 720a,
GeForce 9400, GeForce 9400, GeForce 9400M G, GeForce 9400M,
GeForce 9300, ION, GeForce 9400M G, GeForce 9400, nForce 760i SLI,
GeForce 9400, GeForce 9300 / nForce 730i, GeForce 9200,
GeForce 9100M G, GeForce 8200M G, GeForce 9400M, GeForce 9200,
GeForce G102M, GeForce G102M, ION, ION, GeForce 9400, ION, ION LE,
ION LE, GeForce GT 220, GeForce 315, GeForce 210, GeForce GT 230M,
GeForce GT 330M, GeForce GT 230M, GeForce GT 330M, NVS 5100M,
GeForce GT 320M, GeForce GT 240M, GeForce GT 325M, Quadro FX 880M,
GeForce G210, GeForce 205, GeForce 310, ION, GeForce 210,
GeForce 310, GeForce 315, GeForce G105M, GeForce G105M, NVS 2100M,
NVS 3100M, GeForce 305M, ION, GeForce 310M, GeForce 305M,
GeForce 310M, GeForce 305M, GeForce G210M, GeForce 310M,
Quadro FX 380 LP, Quadro FX 380M, GeForce GT 330, GeForce GT 320,
GeForce GT 240, GeForce GT 340, GeForce GT 330, GeForce GTS 260M,
GeForce GTS 250M, GeForce 315, GeForce GT 335M, GeForce GTS 350M,
GeForce GTS 360M, Quadro FX 1800M
[ 1712.688] (II) VESA: driver for VESA chipsets: vesa
[ 1712.688] (--) NV: Found NVIDIA GeForce4 MX 440 with AGP8X at ***@00:00:0
[ 1712.688] (WW) Falling back to old probe method for vesa
[ 1712.688] (II) Loading sub module "int10"
[ 1712.688] (II) LoadModule: "int10"
[ 1712.690] (II) Loading /usr/X11R6/lib/modules/libint10.so
[ 1712.690] (II) Module int10: vendor="X.Org Foundation"
[ 1712.690] compiled for 1.17.4, module version = 1.0.0
[ 1712.690] ABI class: X.Org Video Driver, version 19.0
[ 1712.690] (II) NV(0): Initializing int10
[ 1712.696] (II) NV(0): Primary V_BIOS segment is: 0xc000
[ 1712.696] (--) NV(0): Chipset: "GeForce4 MX 440 with AGP8X"
[ 1712.696] (II) NV(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 24/32
[ 1712.696] (==) NV(0): Depth 24, (--) framebuffer bpp 32
[ 1712.696] (==) NV(0): RGB weight 888
[ 1712.696] (==) NV(0): Default visual is TrueColor
[ 1712.696] (II) Loading sub module "vgahw"
[ 1712.696] (II) LoadModule: "vgahw"
[ 1712.699] (II) Loading /usr/X11R6/lib/modules/libvgahw.so
[ 1712.699] (II) Module vgahw: vendor="X.Org Foundation"
[ 1712.699] compiled for 1.17.4, module version = 0.1.0
[ 1712.699] ABI class: X.Org Video Driver, version 19.0
[ 1712.699] (==) NV(0): Using HW cursor
[ 1712.699] (==) NV(0): Using EXA acceleration method
[ 1712.699] (--) NV(0): Linear framebuffer at 0xE8000000
[ 1712.699] (--) NV(0): MMIO registers at 0xF6000000
[ 1712.700] (II) Loading sub module "i2c"
[ 1712.700] (II) LoadModule: "i2c"
[ 1712.700] (II) Module "i2c" already built-in
[ 1712.700] (II) Loading sub module "ddc"
[ 1712.700] (II) LoadModule: "ddc"
[ 1712.700] (II) Module "ddc" already built-in
[ 1712.700] (II) NV(0): I2C bus "DDC" initialized.
[ 1712.700] (II) NV(0): Probing for analog device on output A...
[ 1712.738] (--) NV(0): ...can't find one
[ 1712.738] (II) NV(0): Probing for analog device on output B...
[ 1712.778] (--) NV(0): ...found one
[ 1712.778] (II) NV(0): Probing for EDID on I2C bus A...
[ 1712.778] (II) NV(0): I2C device "DDC:ddc2" registered at address 0xA0.
[ 1712.781] (II) NV(0): ... none found
[ 1712.781] (II) NV(0): Probing for EDID on I2C bus B...
[ 1712.841] (--) NV(0): DDC detected a CRT:
[ 1712.841] (II) NV(0): Manufacturer: SAM Model: 78d Serial#: 1446527812
[ 1712.841] (II) NV(0): Year: 2011 Week: 35
[ 1712.841] (II) NV(0): EDID Version: 1.3
[ 1712.841] (II) NV(0): Analog Display Input, Input Voltage Level: 0.700/0.300 V
[ 1712.841] (II) NV(0): Sync: Separate Composite SyncOnGreen
[ 1712.841] (II) NV(0): Max Image Size [cm]: horiz.: 44 vert.: 25
[ 1712.841] (II) NV(0): Gamma: 2.20
[ 1712.841] (II) NV(0): DPMS capabilities: Off; RGB/Color Display
[ 1712.841] (II) NV(0): First detailed timing is preferred mode
[ 1712.841] (II) NV(0): redX: 0.639 redY: 0.340 greenX: 0.324 greenY: 0.622
[ 1712.841] (II) NV(0): blueX: 0.155 blueY: 0.042 whiteX: 0.312 whiteY: 0.329
[ 1712.841] (II) NV(0): Supported established timings:
[ 1712.841] (II) NV(0): ***@70Hz
[ 1712.841] (II) NV(0): ***@60Hz
[ 1712.841] (II) NV(0): ***@67Hz
[ 1712.841] (II) NV(0): ***@72Hz
[ 1712.841] (II) NV(0): ***@75Hz
[ 1712.841] (II) NV(0): ***@56Hz
[ 1712.841] (II) NV(0): ***@60Hz
[ 1712.841] (II) NV(0): ***@72Hz
[ 1712.841] (II) NV(0): ***@75Hz
[ 1712.841] (II) NV(0): ***@75Hz
[ 1712.841] (II) NV(0): ***@60Hz
[ 1712.841] (II) NV(0): ***@70Hz
[ 1712.841] (II) NV(0): ***@75Hz
[ 1712.841] (II) NV(0): ***@75Hz
[ 1712.841] (II) NV(0): Manufacturer's mask: 0
[ 1712.841] (II) NV(0): Supported standard timings:
[ 1712.841] (II) NV(0): #0: hsize: 1152 vsize 864 refresh: 75 vid: 20337
[ 1712.841] (II) NV(0): #1: hsize: 1280 vsize 800 refresh: 60 vid: 129
[ 1712.841] (II) NV(0): #2: hsize: 1280 vsize 800 refresh: 75 vid: 3969
[ 1712.841] (II) NV(0): #3: hsize: 1440 vsize 900 refresh: 60 vid: 149
[ 1712.841] (II) NV(0): #4: hsize: 1440 vsize 900 refresh: 75 vid: 3989
[ 1712.841] (II) NV(0): Supported detailed timing:
[ 1712.841] (II) NV(0): clock: 108.0 MHz Image Size: 443 x 249 mm
[ 1712.841] (II) NV(0): h_active: 1600 h_sync: 1624 h_sync_end 1704 h_blank_end 1800 h_border: 0
[ 1712.841] (II) NV(0): v_active: 900 v_sync: 901 v_sync_end 904 v_blanking: 1000 v_border: 0
[ 1712.841] (II) NV(0): Ranges: V min: 56 V max: 75 Hz, H min: 30 H max: 81 kHz, PixClock max 155 MHz
[ 1712.841] (II) NV(0): Monitor name: SA300/SA350
[ 1712.841] (II) NV(0): Serial No: H9NB803658
[ 1712.841] (II) NV(0): EDID (in hex):
[ 1712.841] (II) NV(0): 00ffffffffffff004c2d8d0744433856
[ 1712.841] (II) NV(0): 231501030e2c19782a81f1a357539f27
[ 1712.841] (II) NV(0): 0a5054bfee80714f8100810f9500950f
[ 1712.841] (II) NV(0): 010101010101302a40c8608464301850
[ 1712.841] (II) NV(0): 1300bbf91000001e000000fd00384b1e
[ 1712.841] (II) NV(0): 510f000a202020202020000000fc0053
[ 1712.841] (II) NV(0): 413330302f53413335300a20000000ff
[ 1712.841] (II) NV(0): 0048394e423830333635380a20200004
[ 1712.841] (--) NV(0): CRTC 0 appears to have a CRT attached
[ 1712.841] (II) NV(0): Using CRT on CRTC 0
[ 1712.841] (II) NV(0): EDID vendor "SAM", prod id 1933
[ 1712.841] (II) NV(0): Using EDID range info for horizontal sync
[ 1712.841] (II) NV(0): Using EDID range info for vertical refresh
[ 1712.841] (II) NV(0): Printing DDC gathered Modelines:
[ 1712.841] (II) NV(0): Modeline "1600x900"x0.0 108.00 1600 1624 1704 1800 900 901 904 1000 +hsync +vsync (60.0 kHz eP)
[ 1712.841] (II) NV(0): Modeline "800x600"x0.0 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz e)
[ 1712.841] (II) NV(0): Modeline "800x600"x0.0 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz e)
[ 1712.841] (II) NV(0): Modeline "640x480"x0.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz e)
[ 1712.841] (II) NV(0): Modeline "640x480"x0.0 31.50 640 664 704 832 480 489 492 520 -hsync -vsync (37.9 kHz e)
[ 1712.841] (II) NV(0): Modeline "640x480"x0.0 30.24 640 704 768 864 480 483 486 525 -hsync -vsync (35.0 kHz e)
[ 1712.841] (II) NV(0): Modeline "640x480"x0.0 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz e)
[ 1712.841] (II) NV(0): Modeline "720x400"x0.0 28.32 720 738 846 900 400 412 414 449 -hsync +vsync (31.5 kHz e)
[ 1712.841] (II) NV(0): Modeline "1024x768"x0.0 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.0 kHz e)
[ 1712.841] (II) NV(0): Modeline "1024x768"x0.0 75.00 1024 1048 1184 1328 768 771 777 806 -hsync -vsync (56.5 kHz e)
[ 1712.841] (II) NV(0): Modeline "1024x768"x0.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz e)
[ 1712.841] (II) NV(0): Modeline "832x624"x0.0 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz e)
[ 1712.841] (II) NV(0): Modeline "800x600"x0.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz e)
[ 1712.841] (II) NV(0): Modeline "800x600"x0.0 50.00 800 856 976 1040 600 637 643 666 +hsync +vsync (48.1 kHz e)
[ 1712.841] (II) NV(0): Modeline "1152x864"x0.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz e)
[ 1712.841] (II) NV(0): Modeline "1280x800"x0.0 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz e)
[ 1712.841] (II) NV(0): Modeline "1280x800"x0.0 106.50 1280 1360 1488 1696 800 803 809 838 -hsync +vsync (62.8 kHz e)
[ 1712.841] (II) NV(0): Modeline "1440x900"x0.0 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz e)
[ 1712.841] (II) NV(0): Modeline "1440x900"x0.0 136.75 1440 1536 1688 1936 900 903 909 942 -hsync +vsync (70.6 kHz e)
[ 1712.841] (--) NV(0): VideoRAM: 65536 kBytes
[ 1712.841] (==) NV(0): Using gamma correction (1.0, 1.0, 1.0)
[ 1712.841] (II) NV(0): <default monitor>: Using hsync range of 30.00-81.00 kHz
[ 1712.841] (II) NV(0): <default monitor>: Using vrefresh range of 56.00-75.00 Hz
[ 1712.842] (II) NV(0): <default monitor>: Using maximum pixel clock of 155.00 MHz
[ 1712.842] (II) NV(0): Estimated virtual size for aspect ratio 1.7600 is 1600x900
[ 1712.842] (II) NV(0): Clock range: 12.00 to 350.00 MHz
[ 1712.842] (II) NV(0): Not using default mode "640x350" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "320x175" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "640x400" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "320x200" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "720x400" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "360x200" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "640x480" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "320x240" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "800x600" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "400x300" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "1024x768i" (bad mode clock/interlace/doublescan)
[ 1712.842] (II) NV(0): Not using default mode "512x384i" (bad mode clock/interlace/doublescan)
[ 1712.842] (II) NV(0): Not using default mode "1024x768" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "512x384" (vrefresh out of range)
[ 1712.842] (II) NV(0): Not using default mode "1280x960" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1280x960" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "640x480" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1280x1024" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1280x1024" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1280x1024" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "640x512" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1600x1200" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1600x1200" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1600x1200" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "800x600" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1600x1200" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "800x600" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1600x1200" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "800x600" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1792x1344" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "896x672" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1792x1344" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "896x672" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1856x1392" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "928x696" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1856x1392" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "928x696" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1920x1440" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "960x720" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1920x1440" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "960x720" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "1400x1050" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1400x1050" (height too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1920x1440" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "960x720" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "2048x1536" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1024x768" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "2048x1536" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1024x768" (hsync out of range)
[ 1712.842] (II) NV(0): Not using default mode "2048x1536" (width too large for virtual size)
[ 1712.842] (II) NV(0): Not using default mode "1024x768" (hsync out of range)
[ 1712.842] (--) NV(0): Virtual size is 1600x900 (pitch 1600)
[ 1712.842] (**) NV(0): *Driver mode "1600x900": 108.0 MHz, 60.0 kHz, 60.0 Hz
[ 1712.842] (II) NV(0): Modeline "1600x900"x60.0 108.00 1600 1624 1704 1800 900 901 904 1000 +hsync +vsync (60.0 kHz ezP)
[ 1712.842] (**) NV(0): *Driver mode "1440x900": 136.8 MHz, 70.6 kHz, 75.0 Hz
[ 1712.842] (II) NV(0): Modeline "1440x900"x75.0 136.75 1440 1536 1688 1936 900 903 909 942 -hsync +vsync (70.6 kHz ez)
[ 1712.842] (**) NV(0): *Driver mode "1440x900": 106.5 MHz, 55.9 kHz, 59.9 Hz
[ 1712.842] (II) NV(0): Modeline "1440x900"x59.9 106.50 1440 1520 1672 1904 900 903 909 934 -hsync +vsync (55.9 kHz ez)
[ 1712.842] (**) NV(0): *Driver mode "1280x800": 106.5 MHz, 62.8 kHz, 74.9 Hz
[ 1712.842] (II) NV(0): Modeline "1280x800"x74.9 106.50 1280 1360 1488 1696 800 803 809 838 -hsync +vsync (62.8 kHz ez)
[ 1712.842] (**) NV(0): *Driver mode "1280x800": 83.5 MHz, 49.7 kHz, 59.8 Hz
[ 1712.842] (II) NV(0): Modeline "1280x800"x59.8 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync (49.7 kHz ez)
[ 1712.842] (**) NV(0): *Driver mode "1152x864": 108.0 MHz, 67.5 kHz, 75.0 Hz
[ 1712.842] (II) NV(0): Modeline "1152x864"x75.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz ez)
[ 1712.842] (**) NV(0): *Default mode "1152x864": 108.0 MHz, 67.5 kHz, 75.0 Hz
[ 1712.842] (II) NV(0): Modeline "1152x864"x75.0 108.00 1152 1216 1344 1600 864 865 868 900 +hsync +vsync (67.5 kHz zd)
[ 1712.842] (**) NV(0): *Driver mode "1024x768": 78.8 MHz, 60.0 kHz, 75.0 Hz
[ 1712.842] (II) NV(0): Modeline "1024x768"x75.0 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.0 kHz ez)
[ 1712.842] (**) NV(0): *Driver mode "1024x768": 75.0 MHz, 56.5 kHz, 70.1 Hz
[ 1712.842] (II) NV(0): Modeline "1024x768"x70.1 75.00 1024 1048 1184 1328 768 771 777 806 -hsync -vsync (56.5 kHz ez)
[ 1712.843] (**) NV(0): *Driver mode "1024x768": 65.0 MHz, 48.4 kHz, 60.0 Hz
[ 1712.843] (II) NV(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz ez)
[ 1712.843] (**) NV(0): *Default mode "1024x768": 78.8 MHz, 60.0 kHz, 75.0 Hz
[ 1712.843] (II) NV(0): Modeline "1024x768"x75.0 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync (60.0 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "1024x768": 75.0 MHz, 56.5 kHz, 70.1 Hz
[ 1712.843] (II) NV(0): Modeline "1024x768"x70.1 75.00 1024 1048 1184 1328 768 771 777 806 -hsync -vsync (56.5 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "1024x768": 65.0 MHz, 48.4 kHz, 60.0 Hz
[ 1712.843] (II) NV(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz zd)
[ 1712.843] (**) NV(0): *Driver mode "832x624": 57.3 MHz, 49.7 kHz, 74.6 Hz
[ 1712.843] (II) NV(0): Modeline "832x624"x74.6 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz ez)
[ 1712.843] (**) NV(0): *Default mode "832x624": 57.3 MHz, 49.7 kHz, 74.6 Hz
[ 1712.843] (II) NV(0): Modeline "832x624"x74.6 57.28 832 864 928 1152 624 625 628 667 -hsync -vsync (49.7 kHz zd)
[ 1712.843] (**) NV(0): *Driver mode "800x600": 49.5 MHz, 46.9 kHz, 75.0 Hz
[ 1712.843] (II) NV(0): Modeline "800x600"x75.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz ez)
[ 1712.843] (**) NV(0): *Driver mode "800x600": 50.0 MHz, 48.1 kHz, 72.2 Hz
[ 1712.843] (II) NV(0): Modeline "800x600"x72.2 50.00 800 856 976 1040 600 637 643 666 +hsync +vsync (48.1 kHz ez)
[ 1712.843] (**) NV(0): *Driver mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
[ 1712.843] (II) NV(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz ez)
[ 1712.843] (**) NV(0): *Driver mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
[ 1712.843] (II) NV(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz ez)
[ 1712.843] (**) NV(0): *Default mode "800x600": 49.5 MHz, 46.9 kHz, 75.0 Hz
[ 1712.843] (II) NV(0): Modeline "800x600"x75.0 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync (46.9 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "800x600": 50.0 MHz, 48.1 kHz, 72.2 Hz
[ 1712.843] (II) NV(0): Modeline "800x600"x72.2 50.00 800 856 976 1040 600 637 643 666 +hsync +vsync (48.1 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "800x600": 87.8 MHz, 81.2 kHz, 65.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "800x600"x65.0 87.75 800 832 928 1080 600 600 602 625 doublescan +hsync +vsync (81.2 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
[ 1712.843] (II) NV(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "800x600": 81.0 MHz, 75.0 kHz, 60.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "800x600"x60.0 81.00 800 832 928 1080 600 600 602 625 doublescan +hsync +vsync (75.0 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
[ 1712.843] (II) NV(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "700x525": 77.9 MHz, 81.5 kHz, 74.8 Hz (D)
[ 1712.843] (II) NV(0): Modeline "700x525"x74.8 77.90 700 732 892 956 525 526 532 545 doublescan +hsync +vsync (81.5 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "700x525": 61.0 MHz, 64.9 kHz, 60.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "700x525"x60.0 61.00 700 744 820 940 525 526 532 541 doublescan +hsync +vsync (64.9 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "640x512": 67.5 MHz, 80.0 kHz, 75.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "640x512"x75.0 67.50 640 648 720 844 512 512 514 533 doublescan +hsync +vsync (80.0 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "640x512": 54.0 MHz, 64.0 kHz, 60.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "640x512"x60.0 54.00 640 664 720 844 512 512 514 533 doublescan +hsync +vsync (64.0 kHz zd)
[ 1712.843] (**) NV(0): *Driver mode "640x480": 31.5 MHz, 37.5 kHz, 75.0 Hz
[ 1712.843] (II) NV(0): Modeline "640x480"x75.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz ez)
[ 1712.843] (**) NV(0): *Driver mode "640x480": 31.5 MHz, 37.9 kHz, 72.8 Hz
[ 1712.843] (II) NV(0): Modeline "640x480"x72.8 31.50 640 664 704 832 480 489 492 520 -hsync -vsync (37.9 kHz ez)
[ 1712.843] (**) NV(0): *Driver mode "640x480": 30.2 MHz, 35.0 kHz, 66.7 Hz
[ 1712.843] (II) NV(0): Modeline "640x480"x66.7 30.24 640 704 768 864 480 483 486 525 -hsync -vsync (35.0 kHz ez)
[ 1712.843] (**) NV(0): *Driver mode "640x480": 25.2 MHz, 31.5 kHz, 59.9 Hz
[ 1712.843] (II) NV(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz ez)
[ 1712.843] (**) NV(0): *Default mode "640x480": 31.5 MHz, 37.5 kHz, 75.0 Hz
[ 1712.843] (II) NV(0): Modeline "640x480"x75.0 31.50 640 656 720 840 480 481 484 500 -hsync -vsync (37.5 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "640x480": 31.5 MHz, 37.9 kHz, 72.8 Hz
[ 1712.843] (II) NV(0): Modeline "640x480"x72.8 31.50 640 664 704 832 480 489 492 520 -hsync -vsync (37.9 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "640x480": 54.0 MHz, 60.0 kHz, 60.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "640x480"x60.0 54.00 640 688 744 900 480 480 482 500 doublescan +hsync +vsync (60.0 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "640x480": 25.2 MHz, 31.5 kHz, 59.9 Hz
[ 1712.843] (II) NV(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz zd)
[ 1712.843] (**) NV(0): *Driver mode "720x400": 28.3 MHz, 31.5 kHz, 70.1 Hz
[ 1712.843] (II) NV(0): Modeline "720x400"x70.1 28.32 720 738 846 900 400 412 414 449 -hsync +vsync (31.5 kHz ez)
[ 1712.843] (**) NV(0): *Default mode "576x432": 54.0 MHz, 67.5 kHz, 75.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "576x432"x75.0 54.00 576 608 672 800 432 432 434 450 doublescan +hsync +vsync (67.5 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "512x384": 39.4 MHz, 60.0 kHz, 75.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "512x384"x75.0 39.38 512 520 568 656 384 384 386 400 doublescan +hsync +vsync (60.0 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "512x384": 37.5 MHz, 56.5 kHz, 70.1 Hz (D)
[ 1712.843] (II) NV(0): Modeline "512x384"x70.1 37.50 512 524 592 664 384 385 388 403 doublescan -hsync -vsync (56.5 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "512x384": 32.5 MHz, 48.4 kHz, 60.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "512x384"x60.0 32.50 512 524 592 672 384 385 388 403 doublescan -hsync -vsync (48.4 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "416x312": 28.6 MHz, 49.7 kHz, 74.7 Hz (D)
[ 1712.843] (II) NV(0): Modeline "416x312"x74.7 28.64 416 432 464 576 312 312 314 333 doublescan -hsync -vsync (49.7 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "400x300": 24.8 MHz, 46.9 kHz, 75.1 Hz (D)
[ 1712.843] (II) NV(0): Modeline "400x300"x75.1 24.75 400 408 448 528 300 300 302 312 doublescan +hsync +vsync (46.9 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "400x300": 25.0 MHz, 48.1 kHz, 72.2 Hz (D)
[ 1712.843] (II) NV(0): Modeline "400x300"x72.2 25.00 400 428 488 520 300 318 321 333 doublescan +hsync +vsync (48.1 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "400x300": 20.0 MHz, 37.9 kHz, 60.3 Hz (D)
[ 1712.843] (II) NV(0): Modeline "400x300"x60.3 20.00 400 420 484 528 300 300 302 314 doublescan +hsync +vsync (37.9 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "400x300": 18.0 MHz, 35.2 kHz, 56.3 Hz (D)
[ 1712.843] (II) NV(0): Modeline "400x300"x56.3 18.00 400 412 448 512 300 300 301 312 doublescan +hsync +vsync (35.2 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "320x240": 15.8 MHz, 37.5 kHz, 75.0 Hz (D)
[ 1712.843] (II) NV(0): Modeline "320x240"x75.0 15.75 320 328 360 420 240 240 242 250 doublescan -hsync -vsync (37.5 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "320x240": 15.8 MHz, 37.9 kHz, 72.8 Hz (D)
[ 1712.843] (II) NV(0): Modeline "320x240"x72.8 15.75 320 332 352 416 240 244 246 260 doublescan -hsync -vsync (37.9 kHz zd)
[ 1712.843] (**) NV(0): *Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)
[ 1712.843] (II) NV(0): Modeline "320x240"x60.1 12.59 320 328 376 400 240 245 246 262 doublescan -hsync -vsync (31.5 kHz zd)
[ 1712.843] (**) NV(0): Display dimensions: (440, 250) mm
[ 1712.843] (**) NV(0): DPI set to (92, 91)
[ 1712.844] (II) Loading sub module "fb"
[ 1712.844] (II) LoadModule: "fb"
[ 1712.846] (II) Loading /usr/X11R6/lib/modules/libfb.so
[ 1712.847] (II) Module fb: vendor="X.Org Foundation"
[ 1712.847] compiled for 1.17.4, module version = 1.0.0
[ 1712.847] ABI class: X.Org ANSI C Emulation, version 0.4
[ 1712.847] (II) Loading sub module "exa"
[ 1712.847] (II) LoadModule: "exa"
[ 1712.849] (II) Loading /usr/X11R6/lib/modules/libexa.so
[ 1712.890] (II) Module exa: vendor="X.Org Foundation"
[ 1712.890] compiled for 1.17.4, module version = 2.6.0
[ 1712.890] ABI class: X.Org Video Driver, version 19.0
[ 1712.890] (II) Loading sub module "ramdac"
[ 1712.890] (II) LoadModule: "ramdac"
[ 1712.890] (II) Module "ramdac" already built-in
[ 1712.890] (II) UnloadModule: "vesa"
[ 1712.890] (II) Unloading vesa
[ 1712.890] (--) Depth 24 pixmap format is 32 bpp
[ 1712.993] (II) EXA(0): Offscreen pixmap area of 66961408 bytes
[ 1712.993] (II) EXA(0): Driver registered support for the following operations:
[ 1712.993] (II) Solid
[ 1712.993] (II) Copy
[ 1712.993] (==) NV(0): Backing store enabled
[ 1712.993] (==) NV(0): Silken mouse disabled
[ 1712.995] (==) NV(0): DPMS enabled
[ 1712.995] (==) RandR enabled
[ 1713.009] (II) AIGLX: Screen 0 is not DRI2 capable
[ 1713.009] (EE) AIGLX: reverting to software rendering
[ 1713.023] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[ 1713.024] (II) AIGLX: Loaded and initialized swrast
[ 1713.024] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 1713.211] (II) config/wscons: checking input device /dev/wskbd
[ 1713.211] (II) wskbd: using layout us
[ 1713.211] (II) LoadModule: "kbd"
[ 1713.212] (II) Loading /usr/X11R6/lib/modules/input/kbd_drv.so
[ 1713.213] (II) Module kbd: vendor="X.Org Foundation"
[ 1713.213] compiled for 1.17.4, module version = 1.8.0
[ 1713.213] Module class: X.Org XInput Driver
[ 1713.213] ABI class: X.Org XInput driver, version 21.0
[ 1713.213] (II) Using input driver 'kbd' for '/dev/wskbd'
[ 1713.213] (**) /dev/wskbd: always reports core events
[ 1713.213] (**) /dev/wskbd: always reports core events
[ 1713.213] (**) Option "Protocol" "standard"
[ 1713.213] (**) Option "XkbRules" "base"
[ 1713.213] (**) Option "XkbModel" "pc105"
[ 1713.213] (**) Option "XkbLayout" "us"
[ 1713.213] (II) XINPUT: Adding extended input device "/dev/wskbd" (type: KEYBOARD, id 6)
[ 1713.268] (II) config/wscons: checking input device /dev/wsmouse
[ 1713.268] (II) LoadModule: "ws"
[ 1713.269] (II) Loading /usr/X11R6/lib/modules/input/ws_drv.so
[ 1713.270] (II) Module ws: vendor="X.Org Foundation"
[ 1713.270] compiled for 1.17.4, module version = 1.3.0
[ 1713.270] Module class: X.Org XInput Driver
[ 1713.270] ABI class: X.Org XInput driver, version 21.0
[ 1713.270] (II) Using input driver 'ws' for '/dev/wsmouse'
[ 1713.270] (**) /dev/wsmouse: always reports core events
[ 1713.270] (II) ws: /dev/wsmouse: debuglevel 0
[ 1713.270] (**) Option "Device" "/dev/wsmouse"
[ 1713.270] (**) ws: /dev/wsmouse: ZAxisMapping: buttons 4 and 5
[ 1713.270] (**) ws: /dev/wsmouse: WAxisMapping: buttons 6 and 7
[ 1713.270] (**) ws: /dev/wsmouse: associated screen: 0
[ 1713.270] (II) ws: /dev/wsmouse: minimum x position: 0
[ 1713.270] (II) ws: /dev/wsmouse: maximum x position: 1599
[ 1713.270] (II) ws: /dev/wsmouse: minimum y position: 0
[ 1713.270] (II) ws: /dev/wsmouse: maximum y position: 899
[ 1713.270] (==) ws: /dev/wsmouse: Buttons: 7
[ 1713.308] (**) ws: /dev/wsmouse: YAxisMapping: buttons 4 and 5
[ 1713.308] (II) XINPUT: Adding extended input device "/dev/wsmouse" (type: MOUSE, id 7)
[ 1713.308] (**) /dev/wsmouse: (accel) keeping acceleration scheme 1
[ 1713.308] (**) /dev/wsmouse: (accel) acceleration profile 0
[ 1713.308] (**) /dev/wsmouse: (accel) acceleration factor: 2.000
[ 1713.308] (**) /dev/wsmouse: (accel) acceleration threshold: 4
--
Matthieu Herrb
Landry Breuil
2015-12-13 15:53:39 UTC
Permalink
Post by Matthieu Herrb
Post by Martin Pieuchot
Without hardware acceleration my PowerBook G4 12'' with a NVIDIA
GeForce FX Go 5200 is unusable. Since XAA is no longer supported,
here's a simple EXA backend for nv(4) based on the XAA sources and
Nouveau. It only implements Solid and Copy but that already makes
a huge difference.
To test it you need to regenerate configure scripts for xf86-video-nv
as described in /usr/xenocara/README.
On my test machine with an (old) GeForce 4MX, this EXA implementation
performs poorly (way slower) compared to the shadowfb mode that is now
the default.
My traditionnal benchmark (/usr/bin/time cat /etc/xtermcap in a 80x35
xterm with DejaVu Sans Mono 8 anti-aliased font), takes 534s with EXA
vs 42s with shadowfb. (it's less than 1s on my X240 with intel)
I did the same kind of testing on an i386 Macmini3,1 with
vga1 at pci2 dev 0 function 0 "NVIDIA GeForce 9400" rev 0xb1

On a 80x25 xterm (default font/colors), the same 'benchmark' goes from
30s (without the diff) to sometimes 20s, sometimes 4s, that varies a
lot. on a 120x60 xterm, it can vary from 6s to 100s sooo .. i'm not sure
what to do with those numbers :)

Scrolling in a manpage in a term on on icb logs feels 'smoother'.

Fullscreen video still impossible because of missing xvideo support (gl
is unbearably slow, 0.1fps, x11 only works in windowed mode) but that's
not a regression :)

Landry
Matthieu Herrb
2015-12-13 17:14:20 UTC
Permalink
Post by Matthieu Herrb
My traditionnal benchmark (/usr/bin/time cat /etc/xtermcap in a 80x35
xterm with DejaVu Sans Mono 8 anti-aliased font), takes 534s with EXA
vs 42s with shadowfb. (it's less than 1s on my X240 with intel)
Hmm sorry. I had a OpenGL compositing enabled in my window manager
while running those tests. This makes no sens.

With fvwm (but still Xft fonts in xterm, since this is what most other
apps will be using)

NoAccel + ShadowFB : 6.7s
EXA : 8.5s

Those numbers are reproducable. Landry, are you running with
hw.perfpolicy=auto ?
--
Matthieu Herrb
Landry Breuil
2015-12-13 17:40:34 UTC
Permalink
Post by Matthieu Herrb
Post by Matthieu Herrb
My traditionnal benchmark (/usr/bin/time cat /etc/xtermcap in a 80x35
xterm with DejaVu Sans Mono 8 anti-aliased font), takes 534s with EXA
vs 42s with shadowfb. (it's less than 1s on my X240 with intel)
Hmm sorry. I had a OpenGL compositing enabled in my window manager
while running those tests. This makes no sens.
With fvwm (but still Xft fonts in xterm, since this is what most other
apps will be using)
NoAccel + ShadowFB : 6.7s
EXA : 8.5s
Those numbers are reproducable. Landry, are you running with
hw.perfpolicy=auto ?
The default, so... perfpolicy=manual - i dont even know if there's
frequency scaling on those minis.

Note that when using a real WM (ie xfwm4) with compositing enabled,
everything is super smooth, cat'ing /etc/termcap takes <1.5s, moving
windows around is okay - if only there was xv support it .. :)

Without compositing, moving windows is painful but it has no impact on
scrolling/cat'ing /etc/termcap. So the 'slowness' is was seeing was due
to fvwm, for completeness will test with cwm.

Landry
Matthieu Herrb
2016-02-07 09:09:49 UTC
Permalink
Post by Matthieu Herrb
Post by Matthieu Herrb
My traditionnal benchmark (/usr/bin/time cat /etc/xtermcap in a 80x35
xterm with DejaVu Sans Mono 8 anti-aliased font), takes 534s with EXA
vs 42s with shadowfb. (it's less than 1s on my X240 with intel)
Hmm sorry. I had a OpenGL compositing enabled in my window manager
while running those tests. This makes no sens.
With fvwm (but still Xft fonts in xterm, since this is what most other
apps will be using)
NoAccel + ShadowFB : 6.7s
EXA : 8.5s
Those numbers are reproducable. Landry, are you running with
hw.perfpolicy=auto ?
Hmm this patch seems to have been forgotten.
Even if with modern CPUs on x86 hw it doesn't provide an improvement,
if it helps macppc with nvidia, I think it should be aded to our tree.
It's possible to only enable EXA on macppc for instance (or let the
users enable it via xorg.conf).

Thoughts? (Note that we're getting out of time for 5.9, so it may not
make it into the release)
--
Matthieu Herrb
Loading...