> Date: Fri, 25 Jun 2021 16:13:27 +0000
> From: "Mickael Torres" <[email protected]>
> 
> Hello,
> 
> This enables radeondrm/amdgpu and wsconsole/kbd/mouse on risc-v. This was
> tested with a radeondrm "7:0:0: ATI Radeon HD 7450" (see dmesg at the end),
> I'll try to test amdgpu with an RX550 during the week end.
> 
> X doesn't start because of undefined symbols in modesetting_drv.so
> (see below), but I didn't take a look yet.

Hi Mickael,

Cool.  Will take a proper look at this later.  Some of your fixes
overlap with changes that we already have pending but aren't committed
yet.  But there are some good fixes in here.

There is a small problem though.  Your e-mail client seems to replace
tabs with spaces, which means your patches don't apply.  You may be
able to fix that in your e-mail client.  As a last resort you could
include your diffs *both* inline and as an attachment.

Cheers,

Mark


> Index: sys/arch/riscv64/conf/GENERIC
> ===================================================================
> RCS file: /cvs/src/sys/arch/riscv64/conf/GENERIC,v
> retrieving revision 1.23
> diff -u -p -u -r1.23 GENERIC
> --- sys/arch/riscv64/conf/GENERIC       23 Jun 2021 15:26:10 -0000      1.23
> +++ sys/arch/riscv64/conf/GENERIC       25 Jun 2021 16:05:48 -0000
> @@ -103,9 +103,11 @@ usb*               at xhci?
>  # USB devices
>  uhub*          at usb?
>  uhub*          at uhub?
> -#uhidev*       at uhub?
> -#ukbd*         at uhidev?
> -#wskbd*                at ukbd? mux 1
> +uhidev*        at uhub?
> +ukbd*          at uhidev?
> +wskbd*         at ukbd? mux 1
> +ums*           at uhidev?      # USB mouse
> +wsmouse*       at ums? mux 0
>  umass*         at uhub?
>  aue*           at uhub?        # ADMtek AN986 Pegasus Ethernet
>  atu*           at uhub?        # Atmel AT76c50x based 802.11b
> @@ -148,5 +150,17 @@ sqphy*             at mii?         # Seeq 8x220 PHYs
>  ukphy*         at mii?         # "unknown" PHYs
>  urlphy*                at mii?         # Realtek RTL8150L internal PHY
>  
> +radeondrm*      at pci?
> +drm*            at radeondrm?
> +wsdisplay*      at radeondrm?
> +amdgpu*         at pci?
> +drm*            at amdgpu?
> +wsdisplay*      at amdgpu?
> +
> +option WSDISPLAY_COMPAT_USL            # VT handling
> +option WSDISPLAY_COMPAT_RAWKBD         # provide raw scancodes; needed for 
> X11
> +option WSDISPLAY_DEFAULTSCREENS=6      # initial number of text consoles
> +
>  # Pseudo-Devices
>  pseudo-device  openprom
> +pseudo-device  wsmux           2
> 
> Index: sys/arch/riscv64/conf/Makefile.riscv64
> ===================================================================
> RCS file: /cvs/src/sys/arch/riscv64/conf/Makefile.riscv64,v
> retrieving revision 1.10
> diff -u -p -u -r1.10 Makefile.riscv64
> --- sys/arch/riscv64/conf/Makefile.riscv64      18 May 2021 12:24:12 -0000    
>   1.10
> +++ sys/arch/riscv64/conf/Makefile.riscv64      25 Jun 2021 16:05:48 -0000
> @@ -21,7 +21,25 @@ S!=  cd ../../../..; pwd
>  _machdir?=     $S/arch/${_mach}
>  _archdir?=     $S/arch/${_arch}
>  
> -INCLUDES=      -nostdinc -I$S -I${.OBJDIR} -I$S/arch
> +INCLUDES=      -nostdinc -I$S -I${.OBJDIR} -I$S/arch \
> +               -I$S/dev/pci/drm/include \
> +               -I$S/dev/pci/drm/include/uapi \
> +               -I$S/dev/pci/drm/amd/include/asic_reg \
> +               -I$S/dev/pci/drm/amd/include \
> +               -I$S/dev/pci/drm/amd/amdgpu \
> +               -I$S/dev/pci/drm/amd/display \
> +               -I$S/dev/pci/drm/amd/display/include \
> +               -I$S/dev/pci/drm/amd/display/dc \
> +               -I$S/dev/pci/drm/amd/display/amdgpu_dm \
> +               -I$S/dev/pci/drm/amd/powerplay/inc \
> +               -I$S/dev/pci/drm/amd/powerplay/smumgr \
> +               -I$S/dev/pci/drm/amd/powerplay/hwmgr \
> +               -I$S/dev/pci/drm/amd/display/dc/inc \
> +               -I$S/dev/pci/drm/amd/display/dc/inc/hw \
> +               -I$S/dev/pci/drm/amd/display/dc/clk_mgr \
> +               -I$S/dev/pci/drm/amd/display/modules/inc \
> +               -I$S/dev/pci/drm/amd/display/modules/hdcp \
> +               -I$S/dev/pci/drm/amd/display/dmub/inc
>  CPPFLAGS=      ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
>  CWARNFLAGS=    -Werror -Wall -Wimplicit-function-declaration \
>                 -Wno-uninitialized -Wno-pointer-sign \
> 
> Index: sys/arch/riscv64/conf/files.riscv64
> ===================================================================
> RCS file: /cvs/src/sys/arch/riscv64/conf/files.riscv64,v
> retrieving revision 1.14
> diff -u -p -u -r1.14 files.riscv64
> --- sys/arch/riscv64/conf/files.riscv64 17 Jun 2021 16:10:50 -0000      1.14
> +++ sys/arch/riscv64/conf/files.riscv64 25 Jun 2021 16:05:48 -0000
> @@ -137,3 +137,7 @@ file        dev/fdt/pciecam.c                       
> pciecam
>  # Machine-independent USB drivers
>  include "dev/usb/files.usb"
>  
> +# Include WSCONS stuff
> +include "dev/wscons/files.wscons"
> +include "dev/rasops/files.rasops"
> +include "dev/wsfont/files.wsfont"
> 
> Index: sys/arch/riscv64/include/atomic.h
> ===================================================================
> RCS file: /cvs/src/sys/arch/riscv64/include/atomic.h,v
> retrieving revision 1.2
> diff -u -p -u -r1.2 atomic.h
> --- sys/arch/riscv64/include/atomic.h   12 May 2021 01:20:52 -0000      1.2
> +++ sys/arch/riscv64/include/atomic.h   25 Jun 2021 16:05:48 -0000
> @@ -5,20 +5,20 @@
>  #ifndef _MACHINE_ATOMIC_H_
>  #define _MACHINE_ATOMIC_H_
>  
> -#define __membar() do {__asm __volatile("fence" ::: "memory"); } while (0)
> +#define __membar(_f) do {__asm __volatile(_f ::: "memory"); } while (0)
>  
> -#define membar_enter()         __membar()
> -#define membar_exit()          __membar()
> -#define membar_producer()      __membar()
> -#define membar_consumer()      __membar()
> -#define membar_sync()          __membar()
> +#define membar_enter()         __membar("fence")
> +#define membar_exit()          __membar("fence")
> +#define membar_producer()      __membar("fence")
> +#define membar_consumer()      __membar("fence")
> +#define membar_sync()          __membar("fence")
>  
>  #if defined(_KERNEL)
>  
>  /* virtio needs MP membars even on SP kernels */
> -#define virtio_membar_producer()       __membar()
> -#define virtio_membar_consumer()       __membar()
> -#define virtio_membar_sync()           __membar()
> +#define virtio_membar_producer()       __membar("fence")
> +#define virtio_membar_consumer()       __membar("fence")
> +#define virtio_membar_sync()           __membar("fence")
>  
>  /*
>   * Set bits
> 
> Index: sys/arch/riscv64/riscv64/conf.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/riscv64/riscv64/conf.c,v
> retrieving revision 1.9
> diff -u -p -u -r1.9 conf.c
> --- sys/arch/riscv64/riscv64/conf.c     19 May 2021 20:37:16 -0000      1.9
> +++ sys/arch/riscv64/riscv64/conf.c     25 Jun 2021 16:05:48 -0000
> @@ -102,6 +102,11 @@ cdev_decl(pci);
>  #include "ipmi.h"
>  #include "switch.h"
>  
> +#include "wsdisplay.h"
> +#include "wskbd.h"
> +#include "wsmouse.h"
> +#include "wsmux.h"
> +
>  struct cdevsw  cdevsw[] =
>  {
>         cdev_cn_init(1,cn),             /* 0: virtual console */
> @@ -116,7 +121,8 @@ struct cdevsw       cdevsw[] =
>         cdev_notdef(),                  /* 9: was floppy disk */
>         cdev_notdef(),                  /* 10 */
>         cdev_notdef(),                  /* 11: Sony CD-ROM */
> -       cdev_notdef(),                  /* 12: frame buffers, etc. */
> +       cdev_wsdisplay_init(NWSDISPLAY, /* 12: frame buffers, etc. */
> +           wsdisplay),
>         cdev_disk_init(NSD,sd),         /* 13: SCSI disk */
>         cdev_notdef(),                  /* 14: was: SCSI tape */
>         cdev_disk_init(NCD,cd),         /* 15: SCSI CD-ROM */
> @@ -173,9 +179,10 @@ struct cdevsw      cdevsw[] =
>         cdev_notdef(),                  /* 64: USB printers */
>         cdev_notdef(),                  /* 65: urio */
>         cdev_notdef(),                  /* 66: USB tty */
> -       cdev_notdef(),                  /* 67: keyboards */
> -       cdev_notdef(),                  /* 68: mice */
> -       cdev_notdef(),                  /* 69: ws multiplexor */
> +       cdev_mouse_init(NWSKBD, wskbd), /* 67: keyboards */
> +       cdev_mouse_init(NWSMOUSE,       /* 68: mice */
> +           wsmouse),
> +       cdev_mouse_init(NWSMUX, wsmux), /* 69: ws multiplexor */
>         cdev_openprom_init(NOPENPROM,openprom), /* 70: /dev/openprom */
>         cdev_notdef(),                  /* 71: was: Cyclades-Z serial port */
>  #ifdef USER_PCICONF
> 
> Index: sys/dev/fdt/dwpcie.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/fdt/dwpcie.c,v
> retrieving revision 1.33
> diff -u -p -u -r1.33 dwpcie.c
> --- sys/dev/fdt/dwpcie.c        24 Jun 2021 09:34:17 -0000      1.33
> +++ sys/dev/fdt/dwpcie.c        25 Jun 2021 16:05:48 -0000
> @@ -1367,12 +1367,12 @@ dwpcie_bs_memmap(bus_space_tag_t t, bus_
>                 uint64_t pci_end = pci_start + sc->sc_ranges[i].size;
>                 uint64_t phys_start = sc->sc_ranges[i].phys_base;
>  
> -               if ((sc->sc_ranges[i].flags & 0x03000000) == 0x02000000 &&
> +               if ((sc->sc_ranges[i].flags & 0x02000000) == 0x02000000 &&
>                     addr >= pci_start && addr + size <= pci_end) {
>                         return bus_space_map(sc->sc_iot,
>                             addr - pci_start + phys_start, size, flags, bshp);
>                 }
>         }
> -       
> +
>         return ENXIO;
>  }
> 
> Index: sys/dev/pci/drm/include/linux/atomic.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/drm/include/linux/atomic.h,v
> retrieving revision 1.15
> diff -u -p -u -r1.15 atomic.h
> --- sys/dev/pci/drm/include/linux/atomic.h      9 Nov 2020 23:53:30 -0000     
>   1.15
> +++ sys/dev/pci/drm/include/linux/atomic.h      25 Jun 2021 16:05:49 -0000
> @@ -426,6 +426,10 @@ find_next_bit(volatile void *p, int max,
>  #define wmb()  __membar("sync")
>  #define mb()   __membar("sync")
>  #define smp_wmb()      __membar("eieio")
> +#elif defined(__riscv64__)
> +#define rmb()   __membar("fence ir, ir")
> +#define wmb()   __membar("fence ow, ow")
> +#define mb()    __membar("fence iorw, iorw")
>  #elif defined(__sparc64__)
>  #define rmb()  membar_sync()
>  #define wmb()  membar_sync()
> 
> Index: sys/dev/pci/drm/include/linux/pci.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/drm/include/linux/pci.h,v
> retrieving revision 1.5
> diff -u -p -u -r1.5 pci.h
> --- sys/dev/pci/drm/include/linux/pci.h 8 Jun 2020 04:48:15 -0000       1.5
> +++ sys/dev/pci/drm/include/linux/pci.h 25 Jun 2021 16:05:49 -0000
> @@ -395,7 +395,7 @@ pci_get_class(pcireg_t class, struct pci
>  #define PCI_CLASS_DISPLAY_OTHER \
>      (PCI_CLASS_DISPLAY | PCI_SUBCLASS_DISPLAY_MISC)
>  
> -#if defined(__amd64__) || defined(__arm64__) || defined(__i386__)
> +#if defined(__amd64__) || defined(__arm64__) || defined(__i386__) || 
> defined(__riscv64__)
>  
>  #define PCI_DMA_BIDIRECTIONAL  0
>  
> 
> OpenBSD 6.9-current (GENERIC) #2: Fri Jun 25 17:56:00 CEST 2021
>     [email protected]:/usr/src/sys/arch/riscv64/compile/GENERIC
> real mem  = 17179869184 (16384MB)
> avail mem = 16404066304 (15644MB)
> random: good seed from bootblocks
> mainbus0 at root: SiFive HiFive Unmatched A00
> cpu0 at mainbus0: vendor 489 arch 8000000000000007 imp 20181004 rv64imafdc
> intc0 at cpu0
> cpu0: 32KB 64b/line 128-way L1 I-cache, 32KB 64b/line 64-way L1 D-cache
> cpu0: 2048KB 64b/line 2048-way L2 cache
> "fit-images" at mainbus0 not configured
> simplebus0 at mainbus0: "soc"
> plic0 at simplebus0
> sfclock0 at simplebus0
> sfuart0 at simplebus0: console
> sfuart1 at simplebus0
> ociic0 at simplebus0
> iic0 at ociic0
> titmp0 at iic0 addr 0x4c
> dapmic0 at iic0 addr 0x58
> "spi" at simplebus0 not configured
> "spi" at simplebus0 not configured
> cad0 at simplebus0: rev 0x10070109, address 70:b3:d5:92:f6:42
> ukphy0 at cad0 phy 0: Generic IEEE 802.3u media interface, rev. 2: OUI 
> 0x0001c1, model 0x0037
> "pwm" at simplebus0 not configured
> "pwm" at simplebus0 not configured
> "cache-controller" at simplebus0 not configured
> "gpio" at simplebus0 not configured
> dwpcie0 at simplebus0
> "clint" at simplebus0 not configured
> "dmc" at simplebus0 not configured
> pci0 at dwpcie0
> ppb0 at pci0 dev 0 function 0 "SiFive PCIe" rev 0x00
> pci1 at ppb0 bus 1
> ppb1 at pci1 dev 0 function 0 "ASMedia ASM2824" rev 0x01
> pci2 at ppb1 bus 2
> ppb2 at pci2 dev 0 function 0 "ASMedia ASM2824" rev 0x01: intx
> pci3 at ppb2 bus 3
> ppb3 at pci2 dev 2 function 0 "ASMedia ASM2824" rev 0x01: intx
> pci4 at ppb3 bus 4
> xhci0 at pci4 dev 0 function 0 "ASMedia ASM1042A xHCI" rev 0x00: intx, xHCI 
> 1.0
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "ASMedia xHCI root hub" rev 
> 3.00/1.00 addr 1
> ppb4 at pci2 dev 3 function 0 "ASMedia ASM2824" rev 0x01: intx
> pci5 at ppb4 bus 5
> ppb5 at pci2 dev 4 function 0 "ASMedia ASM2824" rev 0x01: intx
> pci6 at ppb5 bus 6
> nvme0 at pci6 dev 0 function 0 "ADATA Technology SX8200 Pro" rev 0x03: intx, 
> NVMe 1.3
> nvme0: ADATA SX8200PNP, firmware R0906I, serial 2I4720090836
> scsibus0 at nvme0: 2 targets, initiator 0
> sd0 at scsibus0 targ 1 lun 0: <NVMe, ADATA SX8200PNP, R090>
> sd0: 244198MB, 512 bytes/sector, 500118192 sectors
> ppb6 at pci2 dev 8 function 0 "ASMedia ASM2824" rev 0x01: intx
> pci7 at ppb6 bus 7
> radeondrm0 at pci7 dev 0 function 0 "ATI Radeon HD 7450" rev 0x00
> drm0 at radeondrm0
> radeondrm0: intx
> "ATI Radeon HD 6400 Audio" rev 0x00 at pci7 dev 0 function 1 not configured
> "hfclk" at mainbus0 not configured
> "rtcclk" at mainbus0 not configured
> "gpio-poweroff" at mainbus0 not configured
> uhub1 at uhub0 port 2 configuration 1 interface 0 "ASMedia AS2107" rev 
> 3.00/0.01 addr 2
> uhidev0 at uhub0 port 3 configuration 1 interface 0 "Holtek USB Gaming Mouse" 
> rev 2.00/1.06 addr 3
> uhidev0: iclass 3/1
> ukbd0 at uhidev0: 8 variable keys, 6 key codes
> wskbd0 at ukbd0 mux 1
> uhidev1 at uhub0 port 3 configuration 1 interface 1 "Holtek USB Gaming Mouse" 
> rev 2.00/1.06 addr 3
> uhidev1: iclass 3/0, 7 report ids
> ums0 at uhidev1 reportid 1: 5 buttons, Z and W dir
> wsmouse0 at ums0 mux 0
> uhid at uhidev1 reportid 2 not configured
> uhid at uhidev1 reportid 3 not configured
> uhid at uhidev1 reportid 6 not configured
> uhid at uhidev1 reportid 7 not configured
> uhidev2 at uhub0 port 3 configuration 1 interface 2 "Holtek USB Gaming Mouse" 
> rev 2.00/1.06 addr 3
> uhidev2: iclass 3/0
> uhid at uhidev2 not configured
> uhub2 at uhub0 port 4 configuration 1 interface 0 "ASMedia AS2107" rev 
> 2.10/0.01 addr 4
> uhidev3 at uhub2 port 2 configuration 1 interface 0 "vendor 0x0430 product 
> 0x0005" rev 1.00/1.01 addr 5
> uhidev3: iclass 3/1
> ukbd1 at uhidev3: 8 variable keys, 6 key codes, country code 33
> wskbd1 at ukbd1 mux 1
> vscsi0 at root
> scsibus1 at vscsi0: 256 targets
> softraid0 at root
> scsibus2 at softraid0: 256 targets
> root on sd0a (ce006cb9744b676a.a) swap on sd0b dump on sd0b
> radeondrm0: CAICOS
> radeondrm0: 1920x1080, 32bpp
> wsdisplay0 at radeondrm0 mux 1
> wskbd0: connecting to wsdisplay0
> wskbd1: connecting to wsdisplay0
> wsdisplay0: screen 0-5 added (std, vt100 emulation)
> 
> 
> 
> # wsconsctl                                                                   
>                                                                               
>                                                                
> keyboard.type=usb
> keyboard.bell.pitch=400
> keyboard.bell.period=100
> keyboard.bell.volume=50
> keyboard.bell.pitch.default=400
> keyboard.bell.period.default=100
> keyboard.bell.volume.default=50
> wsconsctl: Use explicit arg to view keyboard.map.
> keyboard.repeat.del1=400
> keyboard.repeat.deln=100
> keyboard.repeat.del1.default=400
> keyboard.repeat.deln.default=100
> keyboard.ledstate=0
> keyboard.encoding=us
> keyboard1.type=usb
> keyboard1.bell.pitch=400
> keyboard1.bell.period=100
> keyboard1.bell.volume=50
> keyboard1.bell.pitch.default=400
> keyboard1.bell.period.default=100
> keyboard1.bell.volume.default=50
> wsconsctl: Use explicit arg to view keyboard1.map.
> keyboard1.repeat.del1=400
> keyboard1.repeat.deln=100
> keyboard1.repeat.del1.default=400
> keyboard1.repeat.deln.default=100
> keyboard1.ledstate=0
> keyboard1.encoding=us
> mouse.type=usb
> mouse.rawmode=1
> mouse.scale=0,0,0,0,0,0,0
> mouse.reverse_scrolling=0
> display.type=radeondrm
> display.width=1920
> display.height=1080
> display.depth=32
> display.fontwidth=12
> display.fontheight=24
> display.emulations=vt100
> display.screentypes=std
> display.focus=0
> display.brightness=4294967295.4294967295%
> display.contrast=4294967295.4294967295%
> display.backlight=4294967295.4294967295%
> display.screen_on=250
> display.screen_off=0
> display.vblank=off
> display.kbdact=on
> display.msact=on
> display.outact=on
> 
> 
> 
> X.Org X Server 1.20.10
> X Protocol Version 11, Revision 0
> Build Operating System: OpenBSD 6.9 riscv64 
> Current Operating System: OpenBSD rvdev.mn7.eu 6.9 GENERIC#2 riscv64
> Build Date: 21 June 2021  04:12:59AM
>  
> Current version of pixman: 0.38.4
>         Before reporting problems, check http://wiki.x.org
>         to make sure that you have the latest version.
> Markers: (--) probed, (**) from config file, (==) default setting,
>         (++) from command line, (!!) notice, (II) informational,
>         (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
> (==) Log file: "/var/log/Xorg.0.log", Time: Fri Jun 25 18:10:58 2021
> (==) Using default built-in configuration (21 lines)
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_supports_pixmap_import_export'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_egl_get_driver_name'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_name_from_pixmap'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_egl_exchange_buffers'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_egl_init'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_egl_get_gbm_device'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'fbScreenInit'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'fbPictureInit'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'shadowSetup'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_xv_init'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'shadowAdd'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'shadowRemove'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_shareable_fd_from_pixmap'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_back_pixmap_from_fd'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'shadowUpdate32to24'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'shadowUpdatePacked'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_finish'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_destroy'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_get_stride'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_get_handle'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_get_modifier'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_get_plane_count'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_get_format'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_get_handle_for_plane'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_get_stride_for_plane'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_get_offset'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_egl_create_textured_pixmap'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_egl_create_textured_pixmap_from_gbm_bo'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_init'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_set_drawable_modifiers_func'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_create_with_modifiers'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_bo_create'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'gbm_device_get_format_modifier_plane_count'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_block_handler'
> X:/usr/X11R6/lib/modules/drivers/modesetting_drv.so: undefined symbol 
> 'glamor_gbm_bo_from_pixmap'
> (EE) 
> Fatal server error:
> (EE) no screens found(EE) 
> (EE) 
> Please consult the The X.Org Foundation support 
>          at http://wiki.x.org
>  for help. 
> (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional 
> information.
> (EE) 
> (EE) Server terminated with error (1). Closing log file.
> 
> 

Reply via email to