Thomas Klausner | 29 Jul 22:25 2014
Picon

[xorg] Xserver pre-pciaccess cleanup

This looks like it might affect NetBSD too, so if you have time,
please take a look at and comment on the changeset; thread starts at
http://lists.x.org/archives/xorg-devel/2014-July/043343.html

Thanks,
 Thomas

----- Forwarded message from Adam Jackson <ajax <at> redhat.com> -----

Date: Tue, 29 Jul 2014 15:00:07 -0400
From: Adam Jackson <ajax <at> redhat.com>
To: xorg-devel <at> lists.x.org
Subject: [PATCH 00/12] Clean up yet more pre-pciaccess garbage

This series removes most of the remaining OS awareness in the PCI code,
delegating the hard work to pciaccess; phrased another way, struct
VidMemInfo is gone, and good riddance.

This has a bit more external impact than the last dead-code series, but
still not a huge amount.  Dropping xf86{Map,Unmap}VidMem means fixing up
geode, sis, xgi, neomagic, and newport.  Dropping xf86LinearVidMem means
a small fixup to mach64, and also means the pre-BWX alpha support is now
formally Somebody Else's Problem.  Finally, OpenBSD's pciaccess backend
requires that you pass in the /dev/mem fd from above, which is asymmetric
from how every other OS does it, so pciaccess will need an adjustment too.

Again, I'm happy to fix up all of the above before this is merged.  I
assume the OpenBSD fixup will basically be moving that code down into
pciaccess, but I'm open to suggestions.

(Continue reading)

Manuel Bouyer | 20 Jul 19:10 2014

environnement for touch screen ?

Hello,
so, I have X11 running on a beaglebone with a 12" touchscreen LCD.
What environnement would be appropriate for a touchscreen ?
(I could also connect a USB keyboard and mouse but it's less fun :)

I looks like deforaos could provide some components here, but
I couldn't find any window manager in meta-pkgs/deforaos-desktop and
I don't know which one to use (and I don't want to build the whole
deforaos-desktop for now, the beaglebone isn't stable enough).

--

-- 
Manuel Bouyer <bouyer <at> antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--

Piotr Meyer | 28 Jun 18:25 2014
Picon

amd64 DRMKMS results, 28 Jun 2014

Today I got working console and X (stable, as I assume - Firefox works
without troubles) on 6.99.44. I noticed problems with glxinfo, although
working X was most important target.

Graphics card: HD Graphics 2500 embedded into Pentium G2030 (Ivy Bridge).

Full log (uname, dmesg, Xorg.0.log, xorg.conf, error from glxgears) is
available from http://smutek.pl/netbsd/drmkms-ok-report.txt - short
excerpt below:

cpu0 at mainbus0 apid 0: Intel(R) Pentium(R) CPU G2030  <at>  3.00GHz, id 0x306a9

i915drmkms0 at pci0 dev 2 function 0WARNING: module error: vfs load failed for `pciverbose', error 45
WARNING: module error: vfs load failed for `pciverbose', error 45
: vendor 0x8086 product 0x0152 (rev. 0x09)
drmkms0 at i915drmkms0
drm: Memory usable by graphics device = 2048M
drm: MTRR allocation failed.  Graphics performance may suffer.
drm: Supports vblank timestamp caching Rev 1 (10.10.2010).
drm: Driver supports precise vblank timestamp query.
drmkms0: interrupting at ioapic0 pin 16 (i915)
i915drmkms0: framebuffer at 0xffff8000453d5000, size 1920x1080, depth 32, stride 7680
wsdisplay0 at i915drmkms0 kbdmux 1: console (default, vt100 emulation)
wsmux1: connecting to wsdisplay0
drmkms0: info: registered panic notifier

Message from glxinfo, glxgears:

name of display: :0
Unrecognized deviceID 152
(Continue reading)

321eniluap | 19 Jun 13:41 2014
Picon

Move Beyond TWM project proposal

Hi,

I have been struggling with an attempt at changing the default Window Manager in the cross-build setup.  The Window Manager I am trying to add both have configure scripts, which seem to be the problem, but I could be wrong.  I have also tried pre-running the configure script to no avail.  I have tried both Golem and Fluxbox.  In would prefer to work with Golem, as I think it is a better fit than some others I have looked at.  Progress so far:  I have it integrated into my source tree well enough that it looks for files that should be built by the Window Manager but it does not find them.


Taylor R Campbell | 3 Apr 16:52 2014
Picon

HEADS UP: xf86-video-intel upgraded

Hi, folks!  FYI: Last night I upgraded xf86-video-intel in xsrc to
2.21.15.

This is necessary to use Sandy Bridge or later Intel graphics.

This is a little premature because drm2, or DRM/KMS, is still flaky
and I've ported only the Intel support so far (notably, not radeon or
nouveau).  However, merging vendor imports on a branch rather than in
HEAD is too painful to do in CVS.

So, here's the state of affairs:

1. The new xf86-video-intel and drm2 are intended to work with any
Intel hardware, including pre-Sandy-Bridge.  It is still flaky,
though, and drm2 is in need of another update from upstream.  But you
can try it out with the amd64/DRMKMS kernel configuration.

2. The old xf86-video-intel does not work with drm2[*].

3. The new xf86-video-intel does not work with old drm, or DRM/UMS,
because upstream for xf86-video-intel dropped support for DRM/UMS.

[*] I believe the only issue is that there is no way to mmap a file
that is not a regular or device file, and drm2 uses a cloning device,
rather than a normal device as old drm did.  This may not be too hard
to sort out, but it requires a change to uvm like I discussed briefly
last year and never committed.  There could also be other issues
lurking.

Cataldi Chaffins | 28 Mar 04:38 2014
Picon

unrealizable

m the w

Patrick Welche | 23 Mar 17:23 2014
Picon
Picon

fontconfig.pc

I am having trouble building things like cairo which depend on
fontconfig.

I think that the trouble stems from my
/usr/X11R7/lib/pkgconfig/fontconfig.pc file containing non-substituted
 <at>  variables, e.g.,

Cflags: -I${includedir}  <at> EXPAT_CFLAGS <at>   <at> FREETYPE_CFLAGS <at>   <at> ICONV_CFLAGS <at>   <at> LIBXML2_CFLAGS <at> 

The installed fontconfig.pc file has a recent timestamp, so must
be made by build.sh -x.

But where is it built?

/usr/xsrc/external/mit/fontconfig/dist/fontconfig.pc.in

but

$  grep -sr \\\.pc /usr/src/external/mit/xorg 
/usr/src/external/mit/xorg/lib/freetype/CVS/Entries:/freetype2.pc.in/1.2/Fri Mar 21 18:20:45 2014//
/usr/src/external/mit/xorg/share/fonts/Makefile.bdf:.SUFFIXES: .bdf .pcf${FONTSUFFIX}
/usr/src/external/mit/xorg/share/fonts/Makefile.bdf:.bdf.pcf${FONTSUFFIX}:
/usr/src/external/mit/xorg/share/fonts/Makefile.bdf:PCFFILES+=  ${BDFFILES:S/.bdf$/.pcf${FONTSUFFIX}/}
/usr/src/external/mit/xorg/share/fonts/Makefile.bdf:CLEANFILES+=        ${BDFFILES:S/.bdf$/.pcf${FONTSUFFIX}.tmp/}

I can only see building references in the old /usr/src/x11 tree...

Hints?

Cheers,

Patrick

Thomas Klausner | 11 Mar 23:15 2014
Picon

weird failure mode on missing device (with solution)

Hi!

After a mainboard replacement, X wouldn't start (with the same
graphics card).

The error message was just
...
        CAICOS, CAICOS, CAICOS, CAICOS, CAICOS, CAICOS, CAICOS, ARUBA, ARUBA,
        ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA,
        ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA, ARUBA,
        ARUBA, ARUBA
[   796.350] (--) Using wscons driver on /dev/ttyE4 in pcvt compatibility mode (version 3.32)
[   796.350] (--) using VT number 5

[   796.354] (EE) No devices detected.
[   796.354]

So no real error in Xorg.0.log.

The problem turned out to be that on the new mainboard, the card was
suddenly on pci9:
vga0 at pci9 dev 0 function 0: vendor 0x1002 product 0x9498 (rev. 0x00)

and I had no /dev/pci9 device (only up to /dev/pci7).
Creating the device made X work again:

        ARUBA, ARUBA
[  4813.778] (--) Using wscons driver on /dev/ttyE4 in pcvt compatibility mode (version 3.32)
[  4813.778] (--) using VT number 5

[  4813.781] (II) Loading /usr/X11R7/lib/modules/drivers/radeon_drv.so
[  4813.781] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support

So far, this is documentation in case someone else stumbles over this problem :)

My question for today: can we improve the error handling here?
 Thomas

TV no computador | 16 Feb 21:49 2014

Assista TV a cabo sem pagar mensalidade


Conheça agora o primeiro e melhor sistema de TV pelo computador do Brasil.

Você poderá assistir a todos os canais pagos, sem pagar mensalidade, sem
instalar nada no computador, e de qualquer computador em que estiver.

Acesse agora:
http://ow.ly/tG8lI

Veja abaixo algumas das vantagens exclusivas do nosso sistema:

QUALQUER PESSOA PODE ADQUIRIR TV NO PC
Você pode assistir em qualquer Computador ou Notebook com Internet banda larga.

O QUE É O Super Guia de TV no seu Computador?
É um Guia de Canais Online, ao vivo e vídeos da internet, com os quais é possível receber e assistir
variados canais de TV e Rádio do mundo inteiro.

NÃO PRECISA INSTALAR NENHUM PROGRAMA EM SEU COMPUTADOR
Enviaremos uma senha de acesso em seu email para você assistir TV Ao Vivo em tempo real, 24 horas por
dia,não importa aonde você esteja, no trabalho, em casa, no lazer, etc, basta sempre acessar seu canais
online através da internet a qualquer hora do dia.

FÁCIL ACESSO:
Interface de fácil acesso através de senha, tudo em português. Em LINUX ou WINDOWS. Basta ter um
navegador de Internet, conexão Banda Larga e Windows Media Player.

TECNOLOGIA DIGITAL VIA INTERNET:
Esta nova tecnologia chegou para proporcionar a você uma programação infinita de canais, sem
cobrança de mensalidades.

-----------------------------------------
Acesse agora:
http://ow.ly/tG8lI
-----------------------------------------

PROGRAMAÇÃO COMPLETA:
Assista filmes, programas jornalísticos, de entretenimento, culturais, documentários, canais de
videoclipes, em qualquer lugar do mundo.

MAIS DE 10.000 CANAIS:
Assista de mais de 180 países diferentes no mundo. São mais de 10.000 canais de TV e rádio disponíveis
para sua escolha.

TVs DO MUNDO INTEIRO:
Transmissão de TV do Brasil e de todos os países do mundo em tempo real!

SUPER FÁCIL DE USAR:
Seletor rápido de canais na tela do seu computador. Basta selecionar o país e a programação desejada, e pronto!

NENHUM APARELHO PRECISA SER INSTALADO NO SEU COMPUTADOR:
Somente é necessário um computador ou notebook conectado à Internet e mais nada!

SEM PAGAMENTOS MENSAIS OU ASSINATURA:
Sem nenhuma taxa extra. Sem mensalidades. Você nunca será cobrado por nada. Somente a taxa de aquisição.

________________________________
Acesse agora:
http://ow.ly/tG8lI
________________________________

Estamos esperando por você.

Atenciosamente,

Equipe de divulgação - TV2010
http://ow.ly/tG8lI

Taylor R Campbell | 30 Jan 17:10 2014
Picon

DRM/KMS for Intel graphics

Hi folks!  Sorry for the long delay in updates about DRM/KMS, but it's
time to report that it roughly works, if a little flakily, with a
slightly tweaked but current libdrm, xorg-server, xf86-video-intel,
&c.

If you want to build it and try it out, check out the riastradh-drm2
branch as of now and build the amd64/DRMKMS kernel.  (No other
platforms yet, although i386 might work too.)  You will probably want
a serial console when you test it.  Textual wscons should work.  If
you have some spare time, you could also try a building a current X
server and libraries with the attached patches.  twm seems to work
fine for me; x11perf fairly quickly wedges the GPU and/or driver, but
the X server can be restarted without trouble after that.

The next steps will be:

1. Update all the userland components in xsrc and pkgsrc.
2. Update kernel drm again -- which should be much less painful now.
3. Port the non-Intel drivers, particularly radeon and nouveau.

Let me know if you have any questions!
--- xorg-server-1.14.5/glx/indirect_size_get.c.~1~	2013-07-26 05:14:32.000000000 +0000
+++ xorg-server-1.14.5/glx/indirect_size_get.c	2014-01-16 15:29:57.000000000 +0000
 <at>  <at>  -599,7 +599,9  <at>  <at>  __glGetBooleanv_size(GLenum e)
     case GL_OCCLUSION_TEST_HP:
     case GL_OCCLUSION_TEST_RESULT_HP:
     case GL_LIGHT_MODEL_COLOR_CONTROL:
+#if 0				/* XXX newer GL */
     case GL_RESET_NOTIFICATION_STRATEGY_ARB:
+#endif
     case GL_CURRENT_FOG_COORD:
     case GL_FOG_COORDINATE_ARRAY_TYPE:
     case GL_FOG_COORDINATE_ARRAY_STRIDE:
--- libdrm-2.4.49/include/drm/drm.h.~1~	2013-11-22 15:25:06.000000000 +0000
+++ libdrm-2.4.49/include/drm/drm.h	2014-01-18 01:15:56.000000000 +0000
 <at>  <at>  -751,6 +751,20  <at>  <at>  struct drm_prime_handle {
 #define DRM_IOCTL_MODE_OBJ_SETPROPERTY	DRM_IOWR(0xBA, struct drm_mode_obj_set_property)
 #define DRM_IOCTL_MODE_CURSOR2		DRM_IOWR(0xBB, struct drm_mode_cursor2)

+#ifdef __NetBSD__
+/*
+ * Instrumenting mmap is trickier than just making an ioctl to do it.
+ */
+struct drm_mmap {
+	void		*dnm_addr;  /* in/out */
+	size_t		dnm_size;   /* in */
+	int		dnm_prot;   /* in */
+	int		dnm_flags;  /* in */
+	off_t		dnm_offset; /* in */
+};
+#define	DRM_IOCTL_MMAP	DRM_IOWR(0xff, struct drm_mmap)
+#endif
+
 /**
  * Device specific ioctls should only be in their respective headers
  * The device specific ioctl range is from 0x40 to 0x99.
--- libdrm-2.4.49/intel/intel_bufmgr_gem.c.~1~	2013-11-22 15:25:06.000000000 +0000
+++ libdrm-2.4.49/intel/intel_bufmgr_gem.c	2014-01-17 21:29:03.000000000 +0000
 <at>  <at>  -1237,12 +1237,10  <at>  <at>  map_gtt(drm_intel_bo *bo)
 		}

 		/* and mmap it */
-		bo_gem->gtt_virtual = mmap(0, bo->size, PROT_READ | PROT_WRITE,
-					   MAP_SHARED, bufmgr_gem->fd,
-					   mmap_arg.offset);
-		if (bo_gem->gtt_virtual == MAP_FAILED) {
+		ret = drmMap(bufmgr_gem->fd, mmap_arg.offset, bo->size,
+		    &bo_gem->gtt_virtual);
+		if (ret) {
 			bo_gem->gtt_virtual = NULL;
-			ret = -errno;
 			DBG("%s:%d: Error mapping buffer %d (%s): %s .\n",
 			    __FILE__, __LINE__,
 			    bo_gem->gem_handle, bo_gem->name,
 <at>  <at>  -3286,7 +3284,7  <at>  <at>  drm_intel_bufmgr_gem_init(int fd, int ba
 	bufmgr_gem->bufmgr.bo_busy = drm_intel_gem_bo_busy;
 	bufmgr_gem->bufmgr.bo_madvise = drm_intel_gem_bo_madvise;
 	bufmgr_gem->bufmgr.destroy = drm_intel_bufmgr_gem_destroy;
-	bufmgr_gem->bufmgr.debug = 0;
+	bufmgr_gem->bufmgr.debug = 1;
 	bufmgr_gem->bufmgr.check_aperture_space =
 	    drm_intel_gem_check_aperture_space;
 	bufmgr_gem->bufmgr.bo_disable_reuse = drm_intel_gem_bo_disable_reuse;
--- libdrm-2.4.49/tests/modetest/modetest.c.~1~	2013-09-17 13:02:43.000000000 +0000
+++ libdrm-2.4.49/tests/modetest/modetest.c	2014-01-15 21:51:57.000000000 +0000
 <at>  <at>  -1185,6 +1185,17  <at>  <at>  static void test_page_flip(struct device

 #define min(a, b)	((a) < (b) ? (a) : (b))

+/* XXX local definition of GNUism for expedience */
+static char *
+strchrnul(const char *s, int c)
+{
+
+	while ((*s != c) && (*s != '\0'))
+		s++;
+
+	return __UNCONST(s);
+}
+
 static int parse_connector(struct pipe_arg *pipe, const char *arg)
 {
 	unsigned int len;
--- libdrm-2.4.49/xf86drmMode.c.~1~	2013-08-12 18:01:48.000000000 +0000
+++ libdrm-2.4.49/xf86drmMode.c	2014-01-21 18:13:41.000000000 +0000
 <at>  <at>  -755,6 +755,22  <at>  <at>  int drmCheckModesettingSupported(const c
 	if (found)
 		return 0;
 #endif
+#ifdef __NetBSD__
+	int fd;
+	static const struct drm_mode_card_res zero_res;
+	struct drm_mode_card_res res = zero_res;
+	int ret;
+
+	fd = drmOpen(NULL, busid);
+	if (fd == -1)
+		return -EINVAL;
+	if (drmIoctl(fd, DRM_IOCTL_MODE_GETRESOURCES, &res))
+		ret = -errno;
+	else
+		ret = 0;
+	drmClose(fd);
+	return ret;
+#endif
 	return -ENOSYS;

 }
--- libdrm-2.4.49/xf86drm.c.~1~	2013-11-22 15:25:06.000000000 +0000
+++ libdrm-2.4.49/xf86drm.c	2014-01-18 01:16:58.000000000 +0000
 <at>  <at>  -505,9 +505,13  <at>  <at>  static int drmOpenByBusid(const char *bu
 	    buf = drmGetBusid(fd);
 	    drmMsg("drmOpenByBusid: drmGetBusid reports %s\n", buf);
 	    if (buf && drmMatchBusID(buf, busid, pci_domain_ok)) {
+		drmMsg("drmOpenByBusid: drmMatchBusID returned OK for %d\n",
+		    fd);
 		drmFreeBusid(buf);
 		return fd;
 	    }
+	    drmMsg("drmOpenByBusid: drmMatchBusID returned mismatch for %d\n",
+		fd);
 	    if (buf)
 		drmFreeBusid(buf);
 	    close(fd);
 <at>  <at>  -1137,6 +1141,10  <at>  <at>  int drmClose(int fd)
 int drmMap(int fd, drm_handle_t handle, drmSize size, drmAddressPtr address)
 {
     static unsigned long pagesize_mask = 0;
+#ifdef __NetBSD__		/* XXX */
+    static const struct drm_mmap zero_mmap_req;
+    struct drm_mmap mmap_req = zero_mmap_req;
+#endif

     if (fd < 0)
 	return -EINVAL;
 <at>  <at>  -1146,9 +1154,20  <at>  <at>  int drmMap(int fd, drm_handle_t handle, 

     size = (size + pagesize_mask) & ~pagesize_mask;

+#ifdef __NetBSD__
+    mmap_req.dnm_addr = NULL;
+    mmap_req.dnm_size = size;
+    mmap_req.dnm_prot = (PROT_READ | PROT_WRITE);
+    mmap_req.dnm_flags = MAP_SHARED;
+    mmap_req.dnm_offset = handle;
+    if (drmIoctl(fd, DRM_IOCTL_MMAP, &mmap_req) == -1)
+	return -errno;
+    *address = mmap_req.dnm_addr;
+#else
     *address = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, handle);
     if (*address == MAP_FAILED)
 	return -errno;
+#endif
     return 0;
 }

--- xf86-video-intel-2.99.906/src/sna/kgem.c.~1~	2013-11-13 09:54:29.000000000 +0000
+++ xf86-video-intel-2.99.906/src/sna/kgem.c	2014-01-17 21:21:40.000000000 +0000
 <at>  <at>  -325,6 +325,7  <at>  <at>  static void *__kgem_bo_map__gtt(struct k
 {
 	struct drm_i915_gem_mmap_gtt mmap_arg;
 	void *ptr;
+	int err;

 	DBG(("%s(handle=%d, size=%d)\n", __FUNCTION__,
 	     bo->handle, bytes(bo)));
 <at>  <at>  -336,7 +337,7  <at>  <at>  retry_gtt:
 	VG_CLEAR(mmap_arg);
 	mmap_arg.handle = bo->handle;
 	if (drmIoctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP_GTT, &mmap_arg)) {
-		int err = errno;
+		err = errno;

 		assert(err != EINVAL);

 <at>  <at>  -353,11 +354,8  <at>  <at>  retry_gtt:
 	}

 retry_mmap:
-	ptr = mmap(0, bytes(bo), PROT_READ | PROT_WRITE, MAP_SHARED,
-		   kgem->fd, mmap_arg.offset);
-	if (ptr == MAP_FAILED) {
-		int err = errno;
-
+	err = -drmMap(kgem->fd, mmap_arg.offset, bytes(bo), &ptr);
+	if (err) {
 		assert(err != EINVAL);

 		if (__kgem_throttle_retire(kgem, 0))
Moritz Wilhelmy | 29 Jan 13:46 2014
Picon

radeon(hd?) on Thinkpad T60p (again)

Hello,

I'm currently running into issues with NetBSD on my T60p.
The solutions proposed here don't seem to work:
http://mail-index.netbsd.org/tech-x11/2012/04/17/msg001117.html

 * radeonhd driver results in some glitches and then a blackscreen
 * adding "userconf disable radeondrm" to /boot.cfg doesn't help, X11
   is glitchy.

I'm running -current/6.99.30.
My GPU seems to be (from dmesg)
radeondrm0 at vga1: ATI Mobility FireGL V5200
radeondrm0: Initialized radeon 1.29.0 20080613

which is interesting, given that I disabled radeondrm in boot.cfg...?

Xorg.0.log with radeonhd contains binary garbage.

You can find the logs here:
http://barfooze.de/tmp/bly/

Any ideas appreciated.

Best regards,

Moritz

--

-- 
Sent from my PDP-11 via UUCP


Gmane