Skip to content

DRM drivers are disabled by Kernel, GUI is slow, rebuilding HyperKit VM not possible #4581

@ogryb

Description

@ogryb

Description

While DRM drivers are included to HyperKit's modprobe.d/kms.conf file

options radeon modeset=1
options i915 modeset=1
options nouveau modeset=1

DRM itself is disabled at Kernel level:

/ # gunzip -c /proc/config.gz | grep DRM
# CONFIG_DRM is not set
# CONFIG_DRM_DP_CEC is not set
# CONFIG_DRM_XEN is not set

I've tried rebuilding HyperKit with custom updated Kernel using provided linuxkit.yml file, but it was not possible because desktop-host-tools image is private:

$ docker pull docker/desktop-host-tools:e881e43ded9958267f34ddc17c0bd3e2
Error response from daemon: pull access denied for docker/desktop-host-tools, repository does not exist or may require 'docker login': denied: requested access to the resource is denied


As a result, GUI apps like Chromium that require DRM drivers for fast rendering crash and the only way to run them is to disable GPU drivers all together, but that makes GUI extremely slow.

The best way of fixing it would be to allow re-building HyperKit VM from /etc/linuxkit.yml, but if 's not possible, please rebuild the VM with DRM enabled in Kernel.

  • [X ] I have tried with the latest version of my channel (Stable or Edge)
  • [X ] I have uploaded Diagnostics
  • Diagnostics ID: 0A890E52-9668-4B33-A3EE-F0C7CF027

Expected behavior

DRM drivers should be enabled and GUI apps requiring them should not crash

Actual behavior

DRM drivers are disabled at kernel level. GUI apps either crash or very slow.

Information

  • macOS Version: 10.15.4

Diagnostic logs

Docker for Mac: version 2.3.0.2

Steps to reproduce the behavior

  • Create a docker container with ArchLinux and LXDE enabled on Mac
  • Install XQuartz on Mac, make sure that it accept X11 connections in UI and through "xhost + 127.0.0.1"
  • Run lxsession inside the container
  • When LXDE becomes visible on Mac in XQuartz window, run chromium from a terminal to see the output:
$ chromium
[1203:1203:0516/185814.970352:ERROR:edid_parser.cc(102)] Too short EDID data: manufacturer id
[1203:1230:0516/185815.025320:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[1203:1230:0516/185815.025368:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[1203:1230:0516/185815.086814:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[1203:1230:0516/185815.086871:ERROR:bus.cc(393)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[1203:1203:0516/185815.123042:ERROR:browser_switcher_service.cc(238)] XXX Init()
[1203:1277:0516/185815.232075:ERROR:object_proxy.cc(632)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[1203:1277:0516/185815.232668:ERROR:object_proxy.cc(632)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
....

Then disable GPU drivers and observe that Chromium works, but is very slow:

chromium --disable-gpu --disable-software-rasterizer --disable-dev-shm-usage

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions