基于 buildroot 的嵌入式系统上扭曲的 winform mono 应用程序

Distorted winform mono application on buildroot based embedded system

我正在尝试 运行 在我使用 buildroot 构建的嵌入式 linux ARM 系统上编写 C#/VB.net 程序。应用程序 运行s 但在我的 buildroot 系统上严重失真。我创建了一个非常简单的 winforms 应用程序并使用 Visual Studio 2008 编译了它(尝试了 2017,结果相同)。 运行 使用单声道的相同二进制文件会产生以下结果:

我尝试使用不同的 Xorg 和单声道版本,但没有得到肯定的结果。 有什么想法可以查明问题所在吗?

这是 Raspbian 和 buildroot 中的 2 个屏幕截图。还有一些我认为可能有用的基本版本信息。

Raspbian, everythings fine

Buildroot, broken

Raspberry Pi ARM, working fine:

pi@raspberrypi:~ $ uname -r
4.9.69-v7+

pi@raspberrypi:~ $ Xorg -version
X.Org X Server 1.18.4
Release Date: 2016-07-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.26-v7+ armv7l Raspbian

pi@raspberrypi:~ $ mono --version
Mono JIT compiler version 4.0.2 (Debian 4.0.2.5+dfsg-2~rpi1)

NXP i.MX 6, distorted:

# uname -r
4.1.15-F+S

# Xorg -version

X.Org X Server 1.19.6
Release Date: 2017-12-20
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.8.13-100.fc23.x86_64 x86_64

# mono --version
Mono JIT compiler version 5.4.0.201 (tarball Mon Jul 30 11:46:19 CEST 2018)

找到解决方案。 将几个库升级到更高版本并禁用 pango 库就可以了。

libgdiplus 5.4 到 5.6
开罗 1.14.10 至 1.15.12
删除了 pango