ChangeLog | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++ debian/README.Debian | 20 ++++++++------ debian/changelog | 12 ++++++++ debian/control | 4 +- src/drmmode_display.c | 18 ++++++++++--- src/nouveau_dri2.c | 3 -- src/nv_driver.c | 2 + src/nvc0_accel.c | 14 ---------- src/vl_hwmc.c | 37 +++++++++++++++++++++------ 9 files changed, 140 insertions(+), 38 deletions(-)
New commits: commit 516eb740ad0f1396f4a4070d291a04c3e1fdabd0 Author: Sven Joachim <[email protected]> Date: Sat Sep 10 17:50:22 2011 +0200 Linux 3.1 includes free firmware for (some) Fermi cards diff --git a/debian/README.Debian b/debian/README.Debian index 125c73d..8b4c729 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -12,8 +12,9 @@ Staging drivers. Fermi cards (GeForce 4xx/5xx series, NVC0 in Nouveau terminology) currently need non-free and not readily available firmware to provide -any acceleration. At http://nouveau.freedesktop.org/wiki/NVC0_Firmware -you can find intructions how to extract it from the blob. +any acceleration, though this will change starting with Linux 3.1. +Please check the status at +http://nouveau.freedesktop.org/wiki/InstallDRM#Firmware. Incompatibilities with other drivers @@ -77,4 +78,4 @@ http://nouveau.freedesktop.org/wiki/FAQ http://nouveau.freedesktop.org/wiki/TroubleShooting http://nouveau.freedesktop.org/wiki/KernelModeSetting - -- Sven Joachim <[email protected]>, Sat, 10 Sep 2011 17:01:17 +0200 + -- Sven Joachim <[email protected]>, Sat, 10 Sep 2011 17:46:55 +0200 diff --git a/debian/changelog b/debian/changelog index ae71a10..99ec81c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ xserver-xorg-video-nouveau (1:0.0.16+git20110823+169512f-1) unstable; urgency=lo * Update README.Debian: - No need to uninstall nvidia-glx anymore, you can select the mesa alternative with "update-alternatives --config glx". + - Linux 3.1 includes free firmware for some Fermi cards. -- Sven Joachim <[email protected]> Sat, 10 Sep 2011 14:23:00 +0200 commit d04715e5678517f3cf1b175b75d338060354049e Author: Sven Joachim <[email protected]> Date: Sat Sep 10 17:06:01 2011 +0200 Update README.Debian for the new layout of nvidia packages If I understand their mess of diversions and alternatives correctly, running "update-alternatives --config glx" lets you choose a provider for the libglx.so and libGL.so.1 files. Note that I could not really test this, because nvidia-glx is currently uninstallable. diff --git a/debian/README.Debian b/debian/README.Debian index c577195..125c73d 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -36,12 +36,13 @@ Interferences of the Nvidia OpenGL implementation The proprietary Nvidia driver comes with its own OpenGL implementation that is incompatible with free drivers. To be able to use OpenGL -programs with nouveau, you need to uninstall the Nvidia files. If you -have used the nvidia-glx package or any of its legacy variants, it -suffices to remove the libgl1-nvidia-alternatives and -libglx-nvidia-alternatives packages. If you ran the Nvidia installer, -you need to reinstall the xserver-xorg-core and libgl1-mesa-glx -packages. In either case, restarting X is also necessary. +programs with nouveau, you need to replace the Nvidia files. If you +have used the nvidia-glx package or any of its legacy variants, run +"update-alternatives --config glx" and select /usr/lib/mesa-diverted, +or remove the glx-diversions package and its reverse dependencies. If +you ran the Nvidia installer, you may need to reinstall the +xserver-xorg-core and libgl1-mesa-glx packages. In either case, +restarting X is also necessary. A simple OpenGL test program is glxgears, contained in the mesa-utils package. Note that OpenGL with nouveau will not be much fun, see the @@ -76,4 +77,4 @@ http://nouveau.freedesktop.org/wiki/FAQ http://nouveau.freedesktop.org/wiki/TroubleShooting http://nouveau.freedesktop.org/wiki/KernelModeSetting - -- Sven Joachim <[email protected]>, Sat, 5 Mar 2011 11:13:05 +0100 + -- Sven Joachim <[email protected]>, Sat, 10 Sep 2011 17:01:17 +0200 diff --git a/debian/changelog b/debian/changelog index 31fa924..ae71a10 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,9 @@ xserver-xorg-video-nouveau (1:0.0.16+git20110823+169512f-1) unstable; urgency=lo * New upstream snapshot. * Bump Standards-Version to 3.9.2, no changes needed. * Don't claim that the driver is experimental in the description. + * Update README.Debian: + - No need to uninstall nvidia-glx anymore, you can select the mesa + alternative with "update-alternatives --config glx". -- Sven Joachim <[email protected]> Sat, 10 Sep 2011 14:23:00 +0200 commit b232058332ae80596cced01d910065d83ad7ec6e Author: Sven Joachim <[email protected]> Date: Sat Sep 10 16:22:09 2011 +0200 Don't claim that the nouveau driver is experimental diff --git a/debian/changelog b/debian/changelog index def34cb..31fa924 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ xserver-xorg-video-nouveau (1:0.0.16+git20110823+169512f-1) unstable; urgency=lo * New upstream snapshot. * Bump Standards-Version to 3.9.2, no changes needed. + * Don't claim that the driver is experimental in the description. -- Sven Joachim <[email protected]> Sat, 10 Sep 2011 14:23:00 +0200 diff --git a/debian/control b/debian/control index 2eb512b..f63abe2 100644 --- a/debian/control +++ b/debian/control @@ -35,7 +35,7 @@ Depends: ${misc:Depends}, ${xviddriver:Depends}, Provides: ${xviddriver:Provides} -Description: X.Org X server -- Nouveau display driver (experimental) +Description: X.Org X server -- Nouveau display driver This driver for the X.Org X server (see xserver-xorg for a further description) provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards. . commit 819f06976d80b6d6fd7e954a72c01a293988b22a Author: Sven Joachim <[email protected]> Date: Sat Sep 10 14:29:00 2011 +0200 Bump Standards-Version to 3.9.2 diff --git a/debian/changelog b/debian/changelog index 6352c39..def34cb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ xserver-xorg-video-nouveau (1:0.0.16+git20110823+169512f-1) unstable; urgency=low * New upstream snapshot. + * Bump Standards-Version to 3.9.2, no changes needed. -- Sven Joachim <[email protected]> Sat, 10 Sep 2011 14:23:00 +0200 diff --git a/debian/control b/debian/control index b157e80..2eb512b 100644 --- a/debian/control +++ b/debian/control @@ -23,7 +23,7 @@ Build-Depends: libtool, xutils-dev, quilt, -Standards-Version: 3.9.1 +Standards-Version: 3.9.2 Homepage: http://nouveau.freedesktop.org/wiki/ Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-video-nouveau Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-video-nouveau.git commit e0639495c5d4f4ad249a32aeb8d6bf67d667ce73 Author: Sven Joachim <[email protected]> Date: Sat Sep 10 14:23:36 2011 +0200 New upstream snapshot diff --git a/ChangeLog b/ChangeLog index 8adf9ea..69ce90c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,71 @@ +commit 169512fbe91f0671a90dfee5e280357f0a4ef701 +Author: Maxim Levitsky <[email protected]> +Date: Tue Aug 23 13:10:59 2011 +0200 + + dri2: Disable the "exchange" swapbuffers path for the moment (bug 35930). + + Allow page flipping only for scanout buffer for now as simple swapping + between off-screen pixmaps confuses compiz because there is no + syncronization method to tell it about that swap + + Signed-off-by: Francisco Jerez <[email protected]> + +commit b806e3f97a73701f057c45b1f45233e69e19f113 +Author: Bryan Cain <[email protected]> +Date: Wed Jul 20 13:48:36 2011 -0500 + + g3dvl: update for compatibility with latest pipe-video branch in Mesa + + Signed-off-by: Bryan Cain <[email protected]> + Signed-off-by: Ben Skeggs <[email protected]> + +commit de9d1ba7efeba64f319efa00df183d3cb78f24af +Author: Emil Velikov <[email protected]> +Date: Tue Jul 19 00:35:38 2011 +0100 + + drmmode_display: Resolve missing brackets + + Correct some missing/misplaced brackets in drmmode_pre_init() + The issue was exposed when trying a 4 monitor desktop using two + cards/gpus + + Resolves https://bugs.freedesktop.org/show_bug.cgi?id=39099 + + Reported-By: Damian Nowak <[email protected]> + Tested-By: Damian Nowak <[email protected]> + Signed-off-by: Emil Velikov <[email protected]> + Signed-off-by: Ben Skeggs <[email protected]> + +commit ef4957492956df54fafa6c75d576a07ce678ea0a +Author: Ben Skeggs <[email protected]> +Date: Mon Jul 11 12:48:34 2011 +1000 + + kms: fix multiple rotations in noaccel mode + +commit ab89aa022f0c78154e525b5f5787feee8024171f +Author: Ben Skeggs <[email protected]> +Date: Fri Jun 17 10:10:09 2011 +1000 + + nvc0: accept 0xdx chipsets + + Signed-off-by: Ben Skeggs <[email protected]> + +commit 7dd8987b8b69f56d04a199207122d2e51b9caa6e +Author: Ben Skeggs <[email protected]> +Date: Fri Jun 17 10:07:36 2011 +1000 + + nvc0: assume 0x9097's presence on all chipsets + + This appears to be the case thus far, and is what the 3D driver does. + + Signed-off-by: Ben Skeggs <[email protected]> + +commit 98ee2105dbd8685e59c1967a587fccb6135743ac +Author: Ben Skeggs <[email protected]> +Date: Mon May 30 10:10:58 2011 +1000 + + kms: clear new fb to black on fb resize + commit 8378443bd3b26b57ef2ae424a700e01ead813d33 Author: Ben Skeggs <[email protected]> Date: Thu Mar 24 02:13:12 2011 +1000 diff --git a/debian/changelog b/debian/changelog index f4cc17b..6352c39 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +xserver-xorg-video-nouveau (1:0.0.16+git20110823+169512f-1) unstable; urgency=low + + * New upstream snapshot. + + -- Sven Joachim <[email protected]> Sat, 10 Sep 2011 14:23:00 +0200 + xserver-xorg-video-nouveau (1:0.0.16+git20110411+8378443-1) unstable; urgency=low [ Sven Joachim ] commit 169512fbe91f0671a90dfee5e280357f0a4ef701 Author: Maxim Levitsky <[email protected]> Date: Tue Aug 23 13:10:59 2011 +0200 dri2: Disable the "exchange" swapbuffers path for the moment (bug 35930). Allow page flipping only for scanout buffer for now as simple swapping between off-screen pixmaps confuses compiz because there is no syncronization method to tell it about that swap Signed-off-by: Francisco Jerez <[email protected]> diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c index 1a68ed3..2081ce2 100644 --- a/src/nouveau_dri2.c +++ b/src/nouveau_dri2.c @@ -153,8 +153,7 @@ can_exchange(DrawablePtr draw, PixmapPtr dst_pix, PixmapPtr src_pix) } - return (!nouveau_exa_pixmap_is_onscreen(dst_pix) || - (DRI2CanFlip(draw) && pNv->has_pageflip)) && + return ((DRI2CanFlip(draw) && pNv->has_pageflip)) && dst_pix->drawable.width == src_pix->drawable.width && dst_pix->drawable.height == src_pix->drawable.height && dst_pix->drawable.depth == src_pix->drawable.depth && commit b806e3f97a73701f057c45b1f45233e69e19f113 Author: Bryan Cain <[email protected]> Date: Wed Jul 20 13:48:36 2011 -0500 g3dvl: update for compatibility with latest pipe-video branch in Mesa Signed-off-by: Bryan Cain <[email protected]> Signed-off-by: Ben Skeggs <[email protected]> diff --git a/src/vl_hwmc.c b/src/vl_hwmc.c index d8d8860..6e9e0c7 100644 --- a/src/vl_hwmc.c +++ b/src/vl_hwmc.c @@ -35,12 +35,14 @@ static int subpicture_index_list[] = { - FOURCC_RGB + FOURCC_RGB, + FOURCC_IA44, + FOURCC_AI44 }; static XF86MCImageIDList subpicture_list = { - 1, + 3, subpicture_index_list }; @@ -53,29 +55,48 @@ static XF86MCSurfaceInfoRec yv12_mpeg2_surface = 2048, 2048, 2048, - /*XVMC_IDCT*/ XVMC_MOCOMP | XVMC_MPEG_2, - XVMC_INTRA_UNSIGNED | XVMC_SUBPICTURE_INDEPENDENT_SCALING | XVMC_BACKEND_SUBPICTURE, + XVMC_IDCT | XVMC_MOCOMP | XVMC_MPEG_2, + XVMC_SUBPICTURE_INDEPENDENT_SCALING | XVMC_BACKEND_SUBPICTURE, + &subpicture_list +}; + +static XF86MCSurfaceInfoRec uyvy_mpeg2_surface = +{ + FOURCC_UYVY, + XVMC_CHROMA_FORMAT_422, + 0, + 2048, + 2048, + 2048, + 2048, + XVMC_IDCT | XVMC_MOCOMP | XVMC_MPEG_2, + XVMC_SUBPICTURE_INDEPENDENT_SCALING | XVMC_BACKEND_SUBPICTURE, &subpicture_list }; static XF86MCSurfaceInfoPtr surfaces[] = { - (XF86MCSurfaceInfoPtr)&yv12_mpeg2_surface + (XF86MCSurfaceInfoPtr)&yv12_mpeg2_surface, + (XF86MCSurfaceInfoPtr)&uyvy_mpeg2_surface }; static XF86ImageRec rgb_subpicture = XVIMAGE_RGB; +static XF86ImageRec ia44_subpicture = XVIMAGE_IA44; +static XF86ImageRec ai44_subpicture = XVIMAGE_AI44; static XF86ImagePtr subpictures[] = { - (XF86ImagePtr)&rgb_subpicture + (XF86ImagePtr)&rgb_subpicture, + (XF86ImagePtr)&ia44_subpicture, + (XF86ImagePtr)&ai44_subpicture }; static XF86MCAdaptorRec adaptor_template = { "", - 1, + 2, surfaces, - 1, + 3, subpictures, (xf86XvMCCreateContextProcPtr)NULL, (xf86XvMCDestroyContextProcPtr)NULL, commit de9d1ba7efeba64f319efa00df183d3cb78f24af Author: Emil Velikov <[email protected]> Date: Tue Jul 19 00:35:38 2011 +0100 drmmode_display: Resolve missing brackets Correct some missing/misplaced brackets in drmmode_pre_init() The issue was exposed when trying a 4 monitor desktop using two cards/gpus Resolves https://bugs.freedesktop.org/show_bug.cgi?id=39099 Reported-By: Damian Nowak <[email protected]> Tested-By: Damian Nowak <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Signed-off-by: Ben Skeggs <[email protected]> diff --git a/src/drmmode_display.c b/src/drmmode_display.c index e5e4673..3afef66 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -1185,8 +1185,8 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, int fd, int cpp) xf86CrtcSetSizeRange(pScrn, 320, 200, drmmode->mode_res->max_width, drmmode->mode_res->max_height); for (i = 0; i < drmmode->mode_res->count_crtcs; i++) { - if (!xf86IsEntityShared(pScrn->entityList[0] || - pScrn->confScreen->device->screen == i)) + if (!xf86IsEntityShared(pScrn->entityList[0]) || + (pScrn->confScreen->device->screen == i)) drmmode_crtc_init(pScrn, drmmode, i); } commit ef4957492956df54fafa6c75d576a07ce678ea0a Author: Ben Skeggs <[email protected]> Date: Mon Jul 11 12:48:34 2011 +1000 kms: fix multiple rotations in noaccel mode diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 204d9e8..e5e4673 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -504,8 +504,7 @@ drmmode_crtc_shadow_destroy(xf86CrtcPtr crtc, PixmapPtr rotate_pixmap, void *dat if (data) { drmModeRmFB(drmmode->fd, drmmode_crtc->rotate_fb_id); drmmode_crtc->rotate_fb_id = 0; - if (!pNv->NoAccel) - nouveau_bo_ref(NULL, &drmmode_crtc->rotate_bo); + nouveau_bo_ref(NULL, &drmmode_crtc->rotate_bo); drmmode_crtc->rotate_pixmap = NULL; } } commit ab89aa022f0c78154e525b5f5787feee8024171f Author: Ben Skeggs <[email protected]> Date: Fri Jun 17 10:10:09 2011 +1000 nvc0: accept 0xdx chipsets Signed-off-by: Ben Skeggs <[email protected]> diff --git a/src/nv_driver.c b/src/nv_driver.c index f503c39..f0bdb58 100644 --- a/src/nv_driver.c +++ b/src/nv_driver.c @@ -261,6 +261,7 @@ NVPciProbe(DriverPtr drv, int entity_num, struct pci_device *pci_dev, case 0x90: case 0xa0: case 0xc0: + case 0xd0: break; default: xf86DrvMsg(-1, X_ERROR, "Unknown chipset: NV%02x\n", chipset); @@ -686,6 +687,7 @@ NVPreInit(ScrnInfoPtr pScrn, int flags) pNv->Architecture = NV_ARCH_50; break; case 0xc0: + case 0xd0: pNv->Architecture = NV_ARCH_C0; break; default: commit 7dd8987b8b69f56d04a199207122d2e51b9caa6e Author: Ben Skeggs <[email protected]> Date: Fri Jun 17 10:07:36 2011 +1000 nvc0: assume 0x9097's presence on all chipsets This appears to be the case thus far, and is what the 3D driver does. Signed-off-by: Ben Skeggs <[email protected]> diff --git a/src/nvc0_accel.c b/src/nvc0_accel.c index c37b30c..40bb2ef 100644 --- a/src/nvc0_accel.c +++ b/src/nvc0_accel.c @@ -87,22 +87,10 @@ NVAccelInit3D_NVC0(ScrnInfoPtr pScrn) struct nouveau_channel *chan = pNv->chan; struct nouveau_grobj *fermi, *m2mf; struct nouveau_bo *bo; - uint32_t tclClass; int ret, i; - switch (pNv->dev->chipset) { - case 0xc0: - case 0xc1: - case 0xc3: - case 0xc4: - tclClass = 0x9097; - break; - default: - return FALSE; - } - if (!pNv->Nv3D) { - ret = nouveau_grobj_alloc(chan, tclClass, tclClass, &pNv->Nv3D); + ret = nouveau_grobj_alloc(chan, 0x9097, 0x9097, &pNv->Nv3D); if (ret) return FALSE; commit 98ee2105dbd8685e59c1967a587fccb6135743ac Author: Ben Skeggs <[email protected]> Date: Mon May 30 10:10:58 2011 +1000 kms: clear new fb to black on fb resize diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 43a2672..204d9e8 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -1124,6 +1124,17 @@ drmmode_xf86crtc_resize(ScrnInfoPtr scrn, int width, int height) #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 9 scrn->pixmapPrivate.ptr = ppix->devPrivate.ptr; #endif + + if (!pNv->NoAccel) { + nouveau_bo_unmap(pNv->scanout); + pNv->EXADriverPtr->PrepareSolid(ppix, GXcopy, ~0, 0); + pNv->EXADriverPtr->Solid(ppix, 0, 0, width, height); + pNv->EXADriverPtr->DoneSolid(ppix); + nouveau_bo_map(pNv->scanout, NOUVEAU_BO_RDWR); + } else { + memset(pNv->scanout->map, 0x00, pNv->scanout->size); + } + nouveau_bo_unmap(pNv->scanout); for (i = 0; i < xf86_config->num_crtc; i++) { -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

