canonical / mir

The Mir compositor
GNU General Public License v2.0
637 stars 102 forks source link

Failed to load cursor theme: default:DMZ-White #3361

Open m4rk0Kruz opened 6 months ago

m4rk0Kruz commented 6 months ago

After building mir in a s390x ubuntu OS following the instructions in this link I get the following output issuing the miral-shell command:

linux1@tenoch:~/mir/build$ bin/miral-shell
LD_LIBRARY_PATH=bin/../lib/
MIR_SERVER_PLATFORM_PATH=bin/../lib/server-modules/
exec=bin/miral-shell.bin
[2024-04-30 19:52:36.392772] <information> mirserver: Starting
[2024-04-30 19:52:36.392910] < - debug - > mirserver: Not trying logind: "DISPLAY" is set and X need not have claimed the VT
[2024-04-30 19:52:36.393086] < - debug - > mirserver: Not using Linux VT subsystem for session management: Failed to find the current VT
[2024-04-30 19:52:36.393140] < - debug - > mirserver: No session management supported
[2024-04-30 19:52:36.393182] <information> VT switch key handler: No VT switching support available: MinimalConsoleServices does not support VT switching
[2024-04-30 19:52:36.393536] <information> mircommon: Loading modules from: bin/../lib/server-modules/
[2024-04-30 19:52:36.393590] <information> mircommon: Loading module: bin/../lib/server-modules/renderer-egl-generic.so.22
[2024-04-30 19:52:36.393610] <information> mircommon: Loading module: bin/../lib/server-modules/server-virtual.so.22
[2024-04-30 19:52:36.393617] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-gbm-kms.so.22
[2024-04-30 19:52:36.393624] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-wayland.so.22
[2024-04-30 19:52:36.393630] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-eglstream-kms.so.22
[2024-04-30 19:52:36.393637] <information> mircommon: Loading module: bin/../lib/server-modules/server-x11.so.22
[2024-04-30 19:52:36.393644] <information> mircommon: Loading module: bin/../lib/server-modules/input-evdev.so.9
[2024-04-30 19:52:36.398800] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-dummy.so
[2024-04-30 19:52:36.398850] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-throw.so
[2024-04-30 19:52:36.398875] <information> mircommon: Loading module: bin/../lib/server-modules/input-stub.so
[2024-04-30 19:52:36.400156] <information> mirserver: Found display driver: mir:x11 (version 2.17.0)
[2024-04-30 19:52:38.808092] <information> mirserver: Driver supports:
[2024-04-30 19:52:38.808176] <information> mirserver:   System (priority 192)
[2024-04-30 19:52:38.808229] <information> mirserver: Found display driver: mir:egl-generic (version 2.17.0)
[2024-04-30 19:52:38.808313] <information> mirserver: Found display driver: mir:wayland (version 2.17.0)
[2024-04-30 19:52:38.808355] <information> mirserver: (Unsupported by system environment)
[2024-04-30 19:52:38.808385] <information> mirserver: Found display driver: throw-on-creation (version 2.17.0)
[2024-04-30 19:52:38.808409] <information> mirserver: Driver supports:
[2024-04-30 19:52:38.808414] <information> mirserver:   System (priority 0)
[2024-04-30 19:52:38.808450] <information> mirserver: Found display driver: mir:gbm-kms (version 2.17.0)
[2024-04-30 19:52:38.808611] <information> gbm-kms: Unsupported: No DRM devices detected
[2024-04-30 19:52:38.808634] <information> mirserver: (Unsupported by system environment)
[2024-04-30 19:52:38.808657] <information> mirserver: Found display driver: mir:eglstream-kms (version 2.17.0)
[2024-04-30 19:52:38.812371] < - debug - > eglstream: Found EGLDeviceEXT with device extensions: EGL_MESA_device_software EGL_EXT_device_drm_render_node
[2024-04-30 19:52:38.812477] <information> eglstream: Failed to query DRM node for EGLDevice: Failed to determine DRM device node path from EGLDevice: EGL_BAD_PARAMETER (0x300c)
[2024-04-30 19:52:38.812494] < - debug - > eglstream: EGLDeviceEXTs found, but none are suitable for Mir
[2024-04-30 19:52:38.812501] <information> mirserver: (Unsupported by system environment)
[2024-04-30 19:52:38.812517] <information> mirserver: Found display driver: mir:stub-graphics (version 2.17.0)
[2024-04-30 19:52:38.812534] <information> mirserver: Driver supports:
[2024-04-30 19:52:38.812540] <information> mirserver:   System (priority 1)
[2024-04-30 19:52:38.812568] <information> mirserver: Found display driver: mir:virtual (version 2.17.0)
[2024-04-30 19:52:38.812619] <information> mirserver: (Unsupported by system environment)
[2024-04-30 19:52:38.812652] <information> mirserver: Selected display driver: mir:x11 (version 2.17.0) for platform
[2024-04-30 19:52:39.173691] <information> mircommon: Loading modules from: bin/../lib/server-modules/
[2024-04-30 19:52:39.173810] <information> mircommon: Loading module: bin/../lib/server-modules/renderer-egl-generic.so.22
[2024-04-30 19:52:39.173843] <information> mircommon: Loading module: bin/../lib/server-modules/server-virtual.so.22
[2024-04-30 19:52:39.173866] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-gbm-kms.so.22
[2024-04-30 19:52:39.173890] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-wayland.so.22
[2024-04-30 19:52:39.173911] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-eglstream-kms.so.22
[2024-04-30 19:52:39.173932] <information> mircommon: Loading module: bin/../lib/server-modules/server-x11.so.22
[2024-04-30 19:52:39.173953] <information> mircommon: Loading module: bin/../lib/server-modules/input-evdev.so.9
[2024-04-30 19:52:39.180185] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-dummy.so
[2024-04-30 19:52:39.180234] <information> mircommon: Loading module: bin/../lib/server-modules/graphics-throw.so
[2024-04-30 19:52:39.180258] <information> mircommon: Loading module: bin/../lib/server-modules/input-stub.so
[2024-04-30 19:52:39.181496] <information> mirserver: Found rendering driver: mir:egl-generic (version 2.17.0)
[2024-04-30 19:52:39.181563] <information> mirserver: Driver supports:
[2024-04-30 19:52:39.181569] <information> mirserver:   System (priority 192)
[2024-04-30 19:52:39.181604] <information> mirserver: Found rendering driver: mir:virtual (version 2.17.0)
[2024-04-30 19:52:39.181655] <information> mirserver: Found rendering driver: mir:gbm-kms (version 2.17.0)
[2024-04-30 19:52:39.181681] < - debug - > gbm-kms: No outputs capable of accepting GBM input detected
[2024-04-30 19:52:39.181686] < - debug - > gbm-kms: Probing will be skipped
[2024-04-30 19:52:39.181704] <information> mirserver: (Unsupported by system environment)
[2024-04-30 19:52:39.181723] <information> mirserver: Found rendering driver: mir:wayland (version 2.17.0)
[2024-04-30 19:52:39.181758] <information> mirserver: Found rendering driver: mir:eglstream-kms (version 2.17.0)
[2024-04-30 19:52:39.181782] < - debug - > eglstream: No outputs capable of accepting EGLStream input detected
[2024-04-30 19:52:39.181787] < - debug - > eglstream: Probing will be skipped
[2024-04-30 19:52:39.181791] <information> mirserver: (Unsupported by system environment)
[2024-04-30 19:52:39.181803] <information> mirserver: Found rendering driver: mir:x11 (version 2.17.0)
[2024-04-30 19:52:39.181863] <information> mirserver: Found rendering driver: mir:stub-graphics (version 2.17.0)
[2024-04-30 19:52:39.181879] <information> mirserver: Driver supports:
[2024-04-30 19:52:39.181884] <information> mirserver:   System (priority 1)
[2024-04-30 19:52:39.181897] <information> mirserver: Found rendering driver: throw-on-creation (version 2.17.0)
[2024-04-30 19:52:39.181913] <information> mirserver: Driver supports:
[2024-04-30 19:52:39.181919] <information> mirserver:   System (priority 0)
[2024-04-30 19:52:39.181955] <information> mirserver: Selected rendering driver: mir:egl-generic (version 2.17.0) for platform
[2024-04-30 19:52:39.188476] <information> platform-generic-egl: Cannot enable linux-dmabuf import support: EGL_EXT_image_dma_buf_import_modifiers not supported
[2024-04-30 19:52:39.188531] < - debug - > platform-generic-egl: Detailed error: : /home/linux1/mir/src/platform/graphics/egl_extensions.cpp(225): Throw in function mir::graphics::EGLExtensions::EXTImageDmaBufImportModifiers::EXTImageDmaBufImportModifiers(EGLDisplay)
Dynamic exception type: boost::wrapexcept<std::runtime_error>
std::exception::what: EGL_EXT_image_dma_buf_import_modifiers not supported

[2024-04-30 19:52:39.617734] < - debug - > x11-error: Detected 0.00Hz host output refresh rate.
[2024-04-30 19:52:39.622666] < -warning- > miral: Failed to load cursor theme: default
[2024-04-30 19:52:39.622795] < -warning- > miral: Failed to load cursor theme: DMZ-White
ERROR: /home/linux1/mir/src/miral/cursor_theme.cpp(74): Throw in function miral::CursorTheme::operator()(mir::Server&) const::<lambda()>
Dynamic exception type: boost::wrapexcept<std::runtime_error>
std::exception::what: Failed to load cursor theme: default:DMZ-White

Any advises in how to get the miral shell running?

Thanks in advance.

AlanGriffiths commented 6 months ago

s390x? That is unusual, it will be good to hear how well things work on that architecture.

Anyway, it looks like the problem is failing to find a cursor theme installed. I think that apt install dmz-cursor-theme should resolve that for you. If you don't have cursors installed, then you might well be missing fonts. So I'd recommend something like:

apt install dmz-cursor-theme fonts-freefont-ttf fonts-font-awesome

Good luck!

m4rk0Kruz commented 6 months ago

s390x every time is getting more support but unfortunately is still a long way to be completely stable... After isntalling the fonts and cursors, this time shows a adifferent error:

[2024-05-01 13:28:40.050459] <information> platform-generic-egl: Cannot enable linux-dmabuf import support: EGL_EXT_image_dma_buf_import_modifiers not supported
[2024-05-01 13:28:40.050519] < - debug - > platform-generic-egl: Detailed error: : /home/linux1/mir/src/platform/graphics/egl_extensions.cpp(225): Throw in function mir::graphics::EGLExtensions::EXTImageDmaBufImportModifiers::EXTImageDmaBufImportModifiers(EGLDisplay)
Dynamic exception type: boost::wrapexcept<std::runtime_error>
std::exception::what: EGL_EXT_image_dma_buf_import_modifiers not supported

[2024-05-01 13:28:40.496023] < - debug - > x11-error: Detected 0.00Hz host output refresh rate.
ERROR: /home/linux1/mir/src/platforms/renderer-generic-egl/buffer_allocator.cpp(178): Throw in function virtual std::shared_ptr<mir::graphics::Buffer> mir::graphics::egl::generic::BufferAllocator::alloc_software_buffer(mir::geometry::Size, MirPixelFormat)
Dynamic exception type: boost::wrapexcept<std::runtime_error>
std::exception::what: Trying to create SHM buffer with unsupported pixel format

Hopefully it can be solved installing a compatible component...

AlanGriffiths commented 6 months ago

Can you provide a bit more information on the environment you are running in?

The "Selected display driver: mir:x11" indicates Mir is trying to run hosted by some existing X11 server you are using, is that GNOME?

The recent Trying to create SHM buffer with unsupported pixel format error sounds like graphics hardware behaving in a way we didn't anticipate. Can you...

snap install graphics-test-tools
graphics-test-tools.drm-info

And post the output?

AlanGriffiths commented 6 months ago

Actually, there's probably a shortage of snaps packaged for s390x...

sudo apt install drm-info
drm_info
m4rk0Kruz commented 6 months ago

The output shows

drmGetDevices: No such file or directory

Checking the list of defined devices, seems that there is no video device defined in the system, so, that might be the reason of the problem...

tenoch
    description: Computer
    width: 64 bits
    capabilities: smp
  *-core
       description: Motherboard
       physical id: 0
     *-memory
          description: System memory
          physical id: 0
          size: 4GiB
     *-cpu:0
          vendor: IBM/S390
          physical id: 1
          bus info: cpu@0
          capabilities: esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te vx vxd vxe gs vxe2 vxp sort dflt sie
     *-cpu:1
          vendor: IBM/S390
          physical id: 2
          bus info: cpu@1
          capabilities: esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te vx vxd vxe gs vxe2 vxp sort dflt sie
  *-device:0
       description: 3215 terminal
       physical id: 1
       bus info: ccw@0.0.0009
       configuration: driver=3215
  *-device:1
       description: Card reader/punch
       physical id: 2
       bus info: ccw@0.0.000c
       configuration: driver=vmur
  *-device:2 DISABLED
       description: Card reader/punch
       physical id: 3
       bus info: ccw@0.0.000d
       configuration: driver=vmur
  *-device:3 DISABLED
       description: Line printer
       physical id: 4
       bus info: ccw@0.0.000e
       configuration: driver=vmur
  *-device:4
       description: Direct attached storage device (FBA mode)
       product: 9336/10
       physical id: 5
       bus info: ccw@0.0.0100
       logical name: /dev/dasda
       size: 50GiB (53GB)
       configuration: driver=dasd-fba logicalsectorsize=512 sectorsize=512
  *-device:5
       description: Ethernet interface
       product: 1732/01
       physical id: 6
       bus info: ccw@0.0.1000
       logical name: enc1000
       serial: 02:02:12:68:66:fb
       size: 10Gbit/s
       capabilities: ethernet physical fibre autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=qeth_l2 driverversion=5.15.0-105-generic duplex=full firmware=V730 ip=148.100.76.204 link=yes multicast=yes port=fibre speed=10Gbit/s
  *-device:6
       description: OSA-Express QDIO channel
       product: 1732/01
       physical id: 7
       bus info: ccw@0.0.1001
       configuration: driver=qeth
  *-device:7
       description: OSA-Express QDIO channel
       product: 1732/01
       physical id: 8
       bus info: ccw@0.0.1002
       configuration: driver=qeth
  *-hvc_iucv0
       description: z/VM IUCV device
       physical id: 9

I'm new in the Linux world, so, I'm not sure how is the current X11 configuration, but definetly GNOME is not installed since it is the server version of Ubuntu, besides, the s390x runs in a hardware that doesnt have hardware dedicated for graphics. I will have to check the documentation to know if I can define video devices directly in ubuntu or if it will be needed a configuration at hardware level...

Thanks a lot for the provided support.

AlanGriffiths commented 6 months ago

This seems like an odd system (no display hardware) to use Mir on. And running Mir on an X11 host is primarily for testing. What are you hoping to achieve?

RAOF commented 6 months ago

So, at least one of the problems here is going to be that s390x is a big-endian architecture, and this affects the memory-layout of pixel data in a way that we don't support.

I think this is actually the only place this applies; if you wanted to check you could remove the #ifdef and keep only the little-endian branch. Colours would be wrong, but you could see if the rest of Mir works.