From 40d179d4b4c5ff64364c67fddfc6e23869fa3cd9 Mon Sep 17 00:00:00 2001
From: ImLuJian <504439788@qq.com>
Date: Sat, 8 Jul 2023 17:57:44 +0800
Subject: [PATCH 1/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0DRM=E5=90=AF=E5=8A=A8?=
=?UTF-8?q?=E6=96=B9=E5=BC=8F=EF=BC=8C=E5=9C=A8VM=E8=99=9A=E6=8B=9F?=
=?UTF-8?q?=E6=9C=BA=E4=B8=8A=E6=B5=8B=E8=AF=95=E4=BA=86=E4=B8=80=E4=B8=8B?=
=?UTF-8?q?Ubuntu18.04=20Server=EF=BC=8C=E5=8F=AF=E4=BB=A5=E5=90=AF?=
=?UTF-8?q?=E5=8A=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs | 5 +-
demo/Semi.Avalonia.Demo.Desktop/Program.cs | 73 +++++++++++++++++--
.../Semi.Avalonia.Demo.Desktop.csproj | 1 +
3 files changed, 70 insertions(+), 9 deletions(-)
diff --git a/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs b/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs
index e70ba74..b534e3f 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs
+++ b/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs
@@ -1,7 +1,6 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
-using Avalonia.Styling;
using Semi.Avalonia.Demo.Views;
namespace Semi.Avalonia.Demo.Desktop;
@@ -16,9 +15,9 @@ public partial class App : Application
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
- {
desktop.MainWindow = new MainWindow();
- }
+ else if (ApplicationLifetime is ISingleViewApplicationLifetime singleView)
+ singleView.MainView = new MainView();
base.OnFrameworkInitializationCompleted();
}
}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Desktop/Program.cs b/demo/Semi.Avalonia.Demo.Desktop/Program.cs
index d42b109..59b34db 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/Program.cs
+++ b/demo/Semi.Avalonia.Demo.Desktop/Program.cs
@@ -1,7 +1,9 @@
-using System;
-using Avalonia;
+using Avalonia;
using Avalonia.Dialogs;
using Avalonia.Media;
+using System;
+using System.Linq;
+using System.Threading;
namespace Semi.Avalonia.Demo.Desktop;
@@ -11,8 +13,10 @@ class Program
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
// yet and stuff might break.
[STAThread]
- public static void Main(string[] args) => BuildAvaloniaApp()
- .With(new FontManagerOptions
+ public static void Main(string[] args)
+ {
+ var builder = BuildAvaloniaApp();
+ builder.With(new FontManagerOptions
{
FontFallbacks = new[]
{
@@ -21,8 +25,54 @@ class Program
FontFamily = new FontFamily("Microsoft YaHei")
}
}
- })
- .StartWithClassicDesktopLifetime(args);
+ });
+
+ //DRM启动步骤(Ubuntu18.04Server版本 虚拟机测试OK)
+ //官方文档:https://docs.avaloniaui.net/docs/next/guides/platforms/rpi/running-on-raspbian-lite-via-drm
+
+ //1.Linux端运行命令
+ //sudo apt update
+ //sudo apt upgrade
+ //sudo reboot
+ //sudo apt - get install libgbm1 libgl1 - mesa - dri libegl1 - mesa libinput10
+
+ //2.安装测试工具测试(出现一个彩色立方体说明环境安装完成)
+ //sudo apt-get install kmscube
+ //sudo kmscube
+
+ //3.添加StartLinuxDrm代码
+
+ //4.发布程序,复制到Linux系统(安装.net,怎么运行这些省略)
+ //发布文件不要裁剪,如果裁剪会报错
+ //Unhandled exception. Avalonia.Markup.Xaml.XamlLoadException: No precompiled XAML found for avares
+ //://Semi.Avalonia/Themes/Light/Light.axaml (baseUri: avares://Semi.Avalonia/Themes/Index.axaml), m
+ //ake sure to specify x:Class and include your XAML file as AvaloniaResource
+
+ //5.运行
+
+ //运行报错点:
+ //Unhandled exception. System.TypeInitializationException: The type initializer for 'SkiaSharp.SKImageInfo' threw an exception.
+ //--->System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies.In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
+ //at SkiaSharp.SkiaApi.sk_colortype_get_default_8888()
+ //at SkiaSharp.SKImageInfo..cctor()
+
+ //解决方法:
+ //Linux命令行安装一下 apt-get install -y libfontconfig1
+ //网址:https://github.com/mono/SkiaSharp/issues/509
+
+ if (args.Contains("--drm"))
+ {
+ SilenceConsole();
+ builder.StartLinuxDrm(args: args, card: "/dev/dri/card0", scaling: 1);
+ }
+ else
+ {
+ builder.StartWithClassicDesktopLifetime(args);
+ }
+ }
+
+
+
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
@@ -31,4 +81,15 @@ class Program
.UsePlatformDetect()
.With(new Win32PlatformOptions())
.LogToTrace();
+
+ private static void SilenceConsole()
+ {
+ new Thread(() =>
+ {
+ Console.CursorVisible = false;
+ while (true)
+ Console.ReadKey(true);
+ })
+ { IsBackground = true }.Start();
+ }
}
diff --git a/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj b/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
index 4e0ff0e..68489a2 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
+++ b/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
@@ -23,6 +23,7 @@
+
From 1b7c30c55756cdd044d73f373578d405913d9ab2 Mon Sep 17 00:00:00 2001
From: ImLuJian <504439788@qq.com>
Date: Sun, 9 Jul 2023 09:24:41 +0800
Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0DRM=E5=90=AF=E5=8A=A8demo?=
=?UTF-8?q?=E5=92=8C=E4=BD=BF=E7=94=A8=E6=96=B9=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Semi.Avalonia.sln | 7 +++
demo/Semi.Avalonia.Demo.Drm/App.axaml | 14 +++++
demo/Semi.Avalonia.Demo.Drm/App.axaml.cs | 24 ++++++++
demo/Semi.Avalonia.Demo.Drm/Program.cs | 59 +++++++++++++++++++
.../Semi.Avalonia.Demo.Drm.csproj | 22 +++++++
demo/Semi.Avalonia.Demo.Drm/app.manifest | 18 ++++++
demo/Semi.Avalonia.Demo.Drm/使用方法.txt | 46 +++++++++++++++
7 files changed, 190 insertions(+)
create mode 100644 demo/Semi.Avalonia.Demo.Drm/App.axaml
create mode 100644 demo/Semi.Avalonia.Demo.Drm/App.axaml.cs
create mode 100644 demo/Semi.Avalonia.Demo.Drm/Program.cs
create mode 100644 demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj
create mode 100644 demo/Semi.Avalonia.Demo.Drm/app.manifest
create mode 100644 demo/Semi.Avalonia.Demo.Drm/使用方法.txt
diff --git a/Semi.Avalonia.sln b/Semi.Avalonia.sln
index a9245de..85b5a31 100644
--- a/Semi.Avalonia.sln
+++ b/Semi.Avalonia.sln
@@ -26,6 +26,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semi.Avalonia.ColorPicker",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Semi.Avalonia.Demo.Android", "demo\Semi.Avalonia.Demo.Android\Semi.Avalonia.Demo.Android.csproj", "{0C81FC1C-5D2D-478A-9876-923A0C85EC2F}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Semi.Avalonia.Demo.Drm", "demo\Semi.Avalonia.Demo.Drm\Semi.Avalonia.Demo.Drm.csproj", "{86D93406-412A-4429-93B2-92AAD0407784}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -61,6 +63,10 @@ Global
{0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0C81FC1C-5D2D-478A-9876-923A0C85EC2F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {86D93406-412A-4429-93B2-92AAD0407784}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {86D93406-412A-4429-93B2-92AAD0407784}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {86D93406-412A-4429-93B2-92AAD0407784}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {86D93406-412A-4429-93B2-92AAD0407784}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -70,6 +76,7 @@ Global
{69A2C77D-6DB7-4AE4-B179-D1F5CF5E2DF0} = {43091528-9509-43CB-A003-9C5C11E96DD6}
{D789AEDB-EBDF-4450-8E8E-B4A03FB257B0} = {43091528-9509-43CB-A003-9C5C11E96DD6}
{0C81FC1C-5D2D-478A-9876-923A0C85EC2F} = {43091528-9509-43CB-A003-9C5C11E96DD6}
+ {86D93406-412A-4429-93B2-92AAD0407784} = {43091528-9509-43CB-A003-9C5C11E96DD6}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7CA41ED3-2CED-40CC-AA21-28C3B42B1E86}
diff --git a/demo/Semi.Avalonia.Demo.Drm/App.axaml b/demo/Semi.Avalonia.Demo.Drm/App.axaml
new file mode 100644
index 0000000..40032b1
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/App.axaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Drm/App.axaml.cs b/demo/Semi.Avalonia.Demo.Drm/App.axaml.cs
new file mode 100644
index 0000000..f436ee6
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/App.axaml.cs
@@ -0,0 +1,24 @@
+using Avalonia;
+using Avalonia.Controls.ApplicationLifetimes;
+using Avalonia.Markup.Xaml;
+using Semi.Avalonia.Demo.Views;
+
+namespace Semi.Avalonia.Demo.Drm
+{
+ public partial class App : Application
+ {
+ public override void Initialize()
+ {
+ AvaloniaXamlLoader.Load(this);
+ }
+
+ public override void OnFrameworkInitializationCompleted()
+ {
+ if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
+ desktop.MainWindow = new MainWindow();
+ else if (ApplicationLifetime is ISingleViewApplicationLifetime singleView)
+ singleView.MainView = new MainView();
+ base.OnFrameworkInitializationCompleted();
+ }
+ }
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Drm/Program.cs b/demo/Semi.Avalonia.Demo.Drm/Program.cs
new file mode 100644
index 0000000..45d2f66
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/Program.cs
@@ -0,0 +1,59 @@
+using Avalonia;
+using Avalonia.Dialogs;
+using Avalonia.Media;
+using System;
+using System.Linq;
+using System.Threading;
+
+namespace Semi.Avalonia.Demo.Drm
+{
+ internal class Program
+ {
+ // Initialization code. Don't use any Avalonia, third-party APIs or any
+ // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
+ // yet and stuff might break.
+ [STAThread]
+ public static void Main(string[] args)
+ {
+ var builder = BuildAvaloniaApp();
+ builder.With(new FontManagerOptions
+ {
+ FontFallbacks = new[]
+ {
+ new FontFallback
+ {
+ FontFamily = new FontFamily("Microsoft YaHei")
+ }
+ }
+ });
+ if (args.Contains("--drm"))
+ {
+ SilenceConsole();
+ builder.StartLinuxDrm(args: args, card: "/dev/dri/card0", scaling: 1);
+ }
+ else
+ {
+ builder.StartWithClassicDesktopLifetime(args);
+ }
+ }
+
+ // Avalonia configuration, don't remove; also used by visual designer.
+ public static AppBuilder BuildAvaloniaApp()
+ => AppBuilder.Configure()
+ .UseManagedSystemDialogs()
+ .UsePlatformDetect()
+ .With(new Win32PlatformOptions())
+ .LogToTrace();
+
+ private static void SilenceConsole()
+ {
+ new Thread(() =>
+ {
+ Console.CursorVisible = false;
+ while (true)
+ Console.ReadKey(true);
+ })
+ { IsBackground = true }.Start();
+ }
+ }
+}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj b/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj
new file mode 100644
index 0000000..e61daa9
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj
@@ -0,0 +1,22 @@
+
+
+ WinExe
+ net7.0
+ enable
+ true
+ app.manifest
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.Demo.Drm/app.manifest b/demo/Semi.Avalonia.Demo.Drm/app.manifest
new file mode 100644
index 0000000..938919a
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/app.manifest
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/demo/Semi.Avalonia.Demo.Drm/使用方法.txt b/demo/Semi.Avalonia.Demo.Drm/使用方法.txt
new file mode 100644
index 0000000..0e9445e
--- /dev/null
+++ b/demo/Semi.Avalonia.Demo.Drm/使用方法.txt
@@ -0,0 +1,46 @@
+DRM启动步骤(Ubuntu18.04Server版本 虚拟机测试OK)
+Avalonia官方参考文档:https://docs.avaloniaui.net/docs/next/guides/platforms/rpi/running-on-raspbian-lite-via-drm
+
+1.Linux端运行命令
+ sudo apt update
+ sudo apt upgrade
+ sudo reboot
+ sudo apt - get install libgbm1 libgl1 - mesa - dri libegl1 - mesa libinput10
+
+2.安装测试工具测试(出现一个彩色立方体说明环境安装完成)
+ sudo apt-get install kmscube
+ sudo kmscube
+
+3.安装.net运行时(参考网址:https://learn.microsoft.com/zh-cn/dotnet/core/install/linux?WT.mc_id=dotnet-35129-website)
+
+4.新建一个Avalonia项目,nuget里面添加Avalonia.LinuxFramebuffer包
+
+5.添加StartLinuxDrm代码(不知道怎么添加看Semi.Avalonia.Demo.Drm项目代码)
+
+6.发布程序到Linux(安装.net,怎么运行这些省略)
+
+7.运行 ./Semi.Avalonia.Demo.Drm --drm
+
+报错处理:
+
+1.报错内容
+ Unhandled exception. Avalonia.Markup.Xaml.XamlLoadException: No precompiled XAML found for avares
+ ://Semi.Avalonia/Themes/Light/Light.axaml (baseUri: avares://Semi.Avalonia/Themes/Index.axaml), m
+ ake sure to specify x:Class and include your XAML file as AvaloniaResource
+ 解决方法:
+ 如果使用Semi发布文件不要裁剪,如果裁剪会报错
+
+
+2.报错内容
+ Unhandled exception. System.TypeInitializationException: The type initializer for 'SkiaSharp.SKImageInfo' threw an exception.
+ --->System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies.In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
+ at SkiaSharp.SkiaApi.sk_colortype_get_default_8888()
+ at SkiaSharp.SKImageInfo..cctor()
+解决方法:
+ Linux命令行安装一下 apt-get install -y libfontconfig1
+ 参考网址:https://github.com/mono/SkiaSharp/issues/509
+
+3.报错内容
+ Permission denied
+解决方法:
+ sudo chmod +x ./Semi.Avalonia.Demo.Drm
\ No newline at end of file
From 112d1e3dd4292c9eb6df7a33f720bcec594e4d92 Mon Sep 17 00:00:00 2001
From: ImLuJian <504439788@qq.com>
Date: Sun, 9 Jul 2023 09:52:28 +0800
Subject: [PATCH 3/5] =?UTF-8?q?=E8=BF=98=E5=8E=9Fdesktop=E9=A1=B9=E7=9B=AE?=
=?UTF-8?q?=E7=9A=84=E6=96=87=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs | 4 +-
demo/Semi.Avalonia.Demo.Desktop/Program.cs | 67 ++------------------
2 files changed, 6 insertions(+), 65 deletions(-)
diff --git a/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs b/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs
index b534e3f..d5fe94a 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs
+++ b/demo/Semi.Avalonia.Demo.Desktop/App.axaml.cs
@@ -15,9 +15,9 @@ public partial class App : Application
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
+ {
desktop.MainWindow = new MainWindow();
- else if (ApplicationLifetime is ISingleViewApplicationLifetime singleView)
- singleView.MainView = new MainView();
+ }
base.OnFrameworkInitializationCompleted();
}
}
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Desktop/Program.cs b/demo/Semi.Avalonia.Demo.Desktop/Program.cs
index 59b34db..e011c45 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/Program.cs
+++ b/demo/Semi.Avalonia.Demo.Desktop/Program.cs
@@ -13,10 +13,8 @@ class Program
// SynchronizationContext-reliant code before AppMain is called: things aren't initialized
// yet and stuff might break.
[STAThread]
- public static void Main(string[] args)
- {
- var builder = BuildAvaloniaApp();
- builder.With(new FontManagerOptions
+ public static void Main(string[] args) => BuildAvaloniaApp()
+ .With(new FontManagerOptions
{
FontFallbacks = new[]
{
@@ -25,54 +23,8 @@ class Program
FontFamily = new FontFamily("Microsoft YaHei")
}
}
- });
-
- //DRM启动步骤(Ubuntu18.04Server版本 虚拟机测试OK)
- //官方文档:https://docs.avaloniaui.net/docs/next/guides/platforms/rpi/running-on-raspbian-lite-via-drm
-
- //1.Linux端运行命令
- //sudo apt update
- //sudo apt upgrade
- //sudo reboot
- //sudo apt - get install libgbm1 libgl1 - mesa - dri libegl1 - mesa libinput10
-
- //2.安装测试工具测试(出现一个彩色立方体说明环境安装完成)
- //sudo apt-get install kmscube
- //sudo kmscube
-
- //3.添加StartLinuxDrm代码
-
- //4.发布程序,复制到Linux系统(安装.net,怎么运行这些省略)
- //发布文件不要裁剪,如果裁剪会报错
- //Unhandled exception. Avalonia.Markup.Xaml.XamlLoadException: No precompiled XAML found for avares
- //://Semi.Avalonia/Themes/Light/Light.axaml (baseUri: avares://Semi.Avalonia/Themes/Index.axaml), m
- //ake sure to specify x:Class and include your XAML file as AvaloniaResource
-
- //5.运行
-
- //运行报错点:
- //Unhandled exception. System.TypeInitializationException: The type initializer for 'SkiaSharp.SKImageInfo' threw an exception.
- //--->System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies.In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
- //at SkiaSharp.SkiaApi.sk_colortype_get_default_8888()
- //at SkiaSharp.SKImageInfo..cctor()
-
- //解决方法:
- //Linux命令行安装一下 apt-get install -y libfontconfig1
- //网址:https://github.com/mono/SkiaSharp/issues/509
-
- if (args.Contains("--drm"))
- {
- SilenceConsole();
- builder.StartLinuxDrm(args: args, card: "/dev/dri/card0", scaling: 1);
- }
- else
- {
- builder.StartWithClassicDesktopLifetime(args);
- }
- }
-
-
-
+ })
+ .StartWithClassicDesktopLifetime(args);
// Avalonia configuration, don't remove; also used by visual designer.
public static AppBuilder BuildAvaloniaApp()
@@ -81,15 +33,4 @@ class Program
.UsePlatformDetect()
.With(new Win32PlatformOptions())
.LogToTrace();
-
- private static void SilenceConsole()
- {
- new Thread(() =>
- {
- Console.CursorVisible = false;
- while (true)
- Console.ReadKey(true);
- })
- { IsBackground = true }.Start();
- }
}
From 201610b9ab5c90e4dabae16ac66f4279dd8f51e1 Mon Sep 17 00:00:00 2001
From: rabbitism
Date: Sun, 9 Jul 2023 23:03:11 +0800
Subject: [PATCH 4/5] feat: update references.
---
.../Semi.Avalonia.Demo.Desktop.csproj | 1 -
demo/Semi.Avalonia.Demo.Drm/App.axaml | 13 +++++----
.../{使用方法.txt => 使用方法.md} | 27 +++++++++++--------
3 files changed, 22 insertions(+), 19 deletions(-)
rename demo/Semi.Avalonia.Demo.Drm/{使用方法.txt => 使用方法.md} (59%)
diff --git a/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj b/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
index 68489a2..4e0ff0e 100644
--- a/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
+++ b/demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
@@ -23,7 +23,6 @@
-
diff --git a/demo/Semi.Avalonia.Demo.Drm/App.axaml b/demo/Semi.Avalonia.Demo.Drm/App.axaml
index 40032b1..d4ceb6d 100644
--- a/demo/Semi.Avalonia.Demo.Drm/App.axaml
+++ b/demo/Semi.Avalonia.Demo.Drm/App.axaml
@@ -2,13 +2,12 @@
x:Class="Semi.Avalonia.Demo.Drm.App"
xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:local="using:Semi.Avalonia.Demo.Desktop"
RequestedThemeVariant="Light">
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo/Semi.Avalonia.Demo.Drm/使用方法.txt b/demo/Semi.Avalonia.Demo.Drm/使用方法.md
similarity index 59%
rename from demo/Semi.Avalonia.Demo.Drm/使用方法.txt
rename to demo/Semi.Avalonia.Demo.Drm/使用方法.md
index 0e9445e..efe659a 100644
--- a/demo/Semi.Avalonia.Demo.Drm/使用方法.txt
+++ b/demo/Semi.Avalonia.Demo.Drm/使用方法.md
@@ -1,4 +1,7 @@
-DRM启动步骤(Ubuntu18.04Server版本 虚拟机测试OK)
+# DRM启动步骤
+
+(Ubuntu18.04Server版本 虚拟机测试OK)
+
Avalonia官方参考文档:https://docs.avaloniaui.net/docs/next/guides/platforms/rpi/running-on-raspbian-lite-via-drm
1.Linux端运行命令
@@ -21,26 +24,28 @@ Avalonia官方参考文档:https://docs.avaloniaui.net/docs/next/guides/platfo
7.运行 ./Semi.Avalonia.Demo.Drm --drm
-报错处理:
+## 报错处理:
+
+1. 报错内容
+
+>Unhandled exception. Avalonia.Markup.Xaml.XamlLoadException: No precompiled XAML found for avares://Semi.Avalonia/Themes/Light/Light.axaml (baseUri: avares://Semi.Avalonia/Themes/Index.axaml), make sure to specify x:Class and include your XAML file as AvaloniaResource
-1.报错内容
- Unhandled exception. Avalonia.Markup.Xaml.XamlLoadException: No precompiled XAML found for avares
- ://Semi.Avalonia/Themes/Light/Light.axaml (baseUri: avares://Semi.Avalonia/Themes/Index.axaml), m
- ake sure to specify x:Class and include your XAML file as AvaloniaResource
解决方法:
如果使用Semi发布文件不要裁剪,如果裁剪会报错
-2.报错内容
- Unhandled exception. System.TypeInitializationException: The type initializer for 'SkiaSharp.SKImageInfo' threw an exception.
- --->System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies.In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
+2. 报错内容
+>Unhandled exception. System.TypeInitializationException: The type initializer for 'SkiaSharp.SKImageInfo' threw an exception.**
+ **--->System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies.In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory
at SkiaSharp.SkiaApi.sk_colortype_get_default_8888()
at SkiaSharp.SKImageInfo..cctor()
+
解决方法:
Linux命令行安装一下 apt-get install -y libfontconfig1
参考网址:https://github.com/mono/SkiaSharp/issues/509
-3.报错内容
- Permission denied
+3. 报错内容
+>Permission denied
+
解决方法:
sudo chmod +x ./Semi.Avalonia.Demo.Drm
\ No newline at end of file
From db7f199003d74565fdb05733541750a0336f139c Mon Sep 17 00:00:00 2001
From: rabbitism
Date: Sun, 9 Jul 2023 23:06:08 +0800
Subject: [PATCH 5/5] fix: fix version reference.
---
demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj b/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj
index e61daa9..7accf7a 100644
--- a/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj
+++ b/demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj
@@ -9,10 +9,10 @@
-
+
-
-
+
+