返回提交历史
Modified
AGENTS.md
+12
-0
Modified
README.md
+4
-0
Added
docs/DesktopFluidity20261017.md
+65
-0
Added
docs/validation-results/DesktopFluidity20261017.json
+682
-0
XFEstudio/XFESystem
Record desktop fluidity evidence and remaining physical acceptance gaps
ee62ee1
代码差异
4 个文件
+763
-0
@@ -1,3 +1,15 @@
1
<!-- DesktopFluidity20261017 begin -->
2
2026-10-17 桌面流畅度阶段修复 **0.3.0-dev.4-fluidity.1 / Desktop 单系统试验候选**。用户目标仍为同机 Windows 的实体 3840×2160 / 240 Hz 流畅度;**整体目标未通过,`WindowsFluidityParityPassed=false`、`Physical240HzVerified=false`、`DeliveryComplete=false`、`FullReleaseQualified=false`。**统一标准在 `docs/DesktopFluidityStandard.md` / `Tools/DesktopFluidity/Standard.json`:11 场景、5 秒预热、30 秒有效采样、各 5 轮,比较有效变化帧、P95/P99、输入延迟及长停顿;缺失实体证据不能通过。
3
4
修复实际约 10 ms 的内核定时器校准及桌面 16 ms 门槛、32 位 framebuffer 的 SSE/128 位复制、长文本行缓存、菜单局部重绘、跨线程光标缓存压力及同步 UART 日志。镜像使用自动分辨率,最终同镜像实际 4K/150% Monaco 输入保存通过;物理模式仍待复测。合并主线 `b935a64` 多显示器功能并消除指针/输出查找分配,保留独立输出、确认回退和布局持久化。完整 OFL 的 Liberation Sans 2.1.5 修复实际 Bing 英文引用窄栏换行,未分发 Windows 字体。
5
6
最终 18 组、1739 项宿主检查,28 项 Bing、13 项多屏、32 项写盘保护、11 项单系统及 5 项交付分派检查通过。同一最终内核/镜像通过双 VGA 三冷启动、Bing 两次搜索及两页全滚动、Monaco/文档/终端、USB 双冷启动和五卷独立回读;QEMU 退出码 0。957 个合并输入与构建工作树字节一致。宿主 `build/CSharp/HostTests-1792211082908/Result.json`;原生 `build/IndependentKernel/Proof-1792211532014127200/Result.json`。早期导入/编码、日志溢出、光标及行缓存分配、Bing 字体排版、截图快照推进、双屏虚拟模式上限及正样例清单重序列化的原失败均保留;生产校验未为测试副本放宽。
7
8
候选 ZIP `XFESystem-Desktop-Independent-USB-0.3.0-dev.4-fluidity.1-1792212470031-b2fbde04.zip`,SHA256 `bf864443f24a2068c4cce7b83579acc2d4056a5d0fc9e934dcefaafc2b59ddea`;完整 ZIP 回读、主目录 1695 文件解压哈希与 Windows PowerShell 5.1 的 4K 单/双屏 WHPX 启动计划通过。源镜像 SHA256 `f5a58f28ddc9f6ac2f3b75d0e99f7249192c273b33c5149782065bbffca65889`。本轮未完成实体 U 盘更新,`UsbWritten=false`。任务 `C:\Users\XFEstudio\Desktop\work\CSharp\GitHub\XFEstudio\XFESystem\build\usb-media\XFEstudio-Desktop-Fluidity-0.3.0-dev.4-1792212570873`;如有取消/拒绝记录保留原事实,不自动重复同一管理员提示。
9
10
宿主绘制微基准像素一致;原生 WHPX 4K/150% 有效指针约 240 次/秒,但 P95 约 4.98 ms,严格软件节拍仍失败。Windows 只有模式记录与不可归属应用的 PresentMon 试采,尚无完整 11×5 实体对照。没有原生显卡模式/VSync、GPU 光栅化或托管 SMP,实际仍 BSP 1;不能把线程数、虚拟 CPU、EDID 或软件 240 目标当作物理刷新验收。主目录 EFI CRLF 差异保留,原始 SHA256 `9536c5475483ff61441b673ba6f7efa3beb579e3a48d3bba9dc05fc0dfb084b8`,不暂存。详情 `docs/DesktopFluidity20261017.md` / `docs/validation-results/DesktopFluidity20261017.json`。
11
<!-- DesktopFluidity20261017 end -->
12
1
13
# XFESystem 用户约定
2
14
3
15
2026-10-17 已完成 **0.3.0-dev.4-displays.1 / Desktop 单系统多显示器管理**:Settings > Display / Win+P,固件独立帧缓冲枚举、复制/扩展/仅主屏、编号标识、拖动排列、主屏任务栏、跨屏鼠标/窗口及各屏最大化/贴靠。15 秒确认回退;确认后保存 `X:\System\Settings\Displays.json`,缺屏或拓扑不匹配安全回退。仅管理启动固件提供的独立输出,不能根据 GPU 端口数量虚构屏幕;热插拔、运行中硬件模式切换、逐屏 DPI、旋转、HDR 和完整显卡端口驱动未实现。仍是软件绘制、BSP 1,实体双屏未验收,`FullReleaseQualified=false`。Console 保持独立入口,重新编译及独立原生回归通过;本轮专用 USB 仍只更新 Desktop。
@@ -1,5 +1,9 @@
1
1
# XFESystem
2
2
3
<!-- DesktopFluidity20261017 begin -->
4
**2026-10-17:桌面流畅度阶段修复与统一验收标准。** 修复定时器、CPU 帧缓冲复制、文本/菜单/光标缓存及同步日志,移除交付镜像固定 1280×800。最终候选通过 4K/150% 编辑保存、双屏和原有应用回归,共 18 组、1739 项宿主检查。**同机 Windows 流畅度与实体 240 Hz 尚未通过,GPU 模式/VSync 及真正 SMP 尚未实现。** 本轮未完成实体 U 盘更新。 [共同标准](docs/DesktopFluidityStandard.md)、[阶段测量及限制](docs/DesktopFluidity20261017.md)、[实际验证记录](docs/validation-results/DesktopFluidity20261017.json)。
5
<!-- DesktopFluidity20261017 end -->
6
3
7
**2026-10-17:Desktop 新增多显示器管理。** 在 **Settings > Display** 或按 **Win+P**,可标识屏幕、拖动排列、选择主屏、复制/扩展桌面,以及仅在主屏显示;切换后有 15 秒确认回退,确认后的布局保存到启动 U 盘。当前使用启动固件交付的独立输出,分辨率/缩放沿用启动模式,尚不支持显卡端口热插拔或运行中硬件模式切换。17 组、1,680 项宿主检查、独立双屏三次冷启动及原有应用回归通过,Desktop 独立 ZIP 与 PowerShell 5.1 单屏/双屏启动计划通过。Windows 管理员提升被取消,**本轮未改写实体 U 盘**,原有文件和设置未被本轮覆盖。[界面、操作与限制](docs/MultiDisplay20261017.md)、[验证及交付状态](docs/validation-results/MultiDisplay20261017.json)。
4
8
5
9
**2026-10-16:其他磁盘已接入读写。** `0.3.0-dev.4-disks.1` 的 Console / Desktop 两个独立版本支持 NVMe、AHCI SATA 和其他 USB BOT 盘的 NTFS/FAT/exFAT 数据分区,可创建、读写、修改、重命名、删除文件,并读取兼容 ConsoleIL 的外部 .NET 控制台应用。图形文件管理器通过 **Disks** 打开,终端使用 `ls /Disks`。17 组、1496 项宿主检查、两版实际双冷启动和独立逐卷回读通过;ZIP 全回读与 Windows PowerShell 5.1 启动计划通过。本轮管理员提升被取消,**尚未更新实体 U 盘**,已保留未写记录。当前单文件 4 MiB,脏卷/休眠卷只读,实体存储及掉电行为未验收。[使用与限制](docs/OtherDisks20261016.md)、[验证与交付状态](docs/validation-results/OtherDisks20261016.json)。
@@ -0,0 +1,65 @@
1
# 桌面卡顿、4K 输出与共同验收标准,2026-10-17
2
3
用户的最终目标是实体 3840×2160 / 240 Hz、指定操作达到同机 Windows 的流畅程度。**本轮完成具体瓶颈修复和阶段验证,整体目标尚未通过。WindowsFluidityParityPassed=false、Physical240HzVerified=false、DeliveryComplete=false、FullReleaseQualified=false。** CPU 完成帧和面板实际扫描分别记录,不能互相替代。
4
5
## 修复的具体问题
6
7
旧交付镜像的 Limine 配置固定 1280×800,覆盖自动选模。镜像生成器现在使用 0x0 自动模式;测试脚本显式设置自己的虚拟显示器。打包及实体写盘前校验拒绝固定分辨率的持久化镜像,历史镜像仍可只读审计。最终候选镜像实际通过 3840×2160 / 150% 的 C# Monaco 打开、编辑、保存和新增注释字形像素检查。该测试使用私有 IDE 快照,明确 RAM 回退;USB 持久化由另行的实际 USB 双冷启动检查验证。
8
9
独立内核的定时器原把约 20 ms 的计数除以 2,实际目标为 10 ms,桌面另有 16 ms 节拍。现在按实际校准时长计算 1 ms 目标,使用带小数相位的 240 Hz 脏帧提交器。这是软件调度策略,不是物理刷新率。4K 默认缩放改为本机 Windows 使用的 150%;已验证单屏的逻辑桌面为 2560×1440,实际帧缓冲为 3840×2160。启动器依据 EDID/GOP 选模;固件未提供对应模式时仍可能回退,实体 4K 尚待核对。具体选择逻辑参考所用 [Limine 12.9.3 的 GOP 源码](https://github.com/Limine-Bootloader/Limine/blob/v12.9.3/common/drivers/gop.c)。交互启动器默认 4K,auto 在宿主已运行 Hypervisor 时选 WHPX,也支持显式 TCG;未改宿主系统功能。
10
11
常用 32 位 RGB/BGR 帧缓冲改用 128 位批量写出,保留裁剪、pitch、保留位、尾部及通用像素格式路径,复制完成前执行存储屏障。只使用 SSE/128 位;当前内核不保存 AVX 上半寄存器。普通文本使用不可变行偏移及按需行缓存;菜单只更新受影响区域。
12
13
界面、网络及数据卷普通诊断改为有界队列,由独立线程写 UART,避免调用线程等待串口输出锁。状态快照可合并,事件保序;输入、命令执行和原始帧计时不靠日志队列驱动。未变化的 Monaco 模型不再重复全文输出。溢出会明确使证据失败,不能静默当作通过。LunarFonts 字形排序循环原有逐次调试输出;私有副本仅移除该行,排序算法不改,完整原始源码、MIT 版权和逐字节差异约束保留。
14
15
共享光标缓存被其他线程淘汰后,确定复现重新生成图样并分配 15504 字节。现在每个线程保留自己当前的一个不可变图样,热路径不取共享锁,24 项共享缓存上限保留。新增跨线程压力检查及完整核心检查通过。另一次宿主曾测到 8160 字节偶发分配,原记录保留,其精确触发原因未完全证实。
16
17
合并 b935a64 的多显示器功能,保留独立输出、主屏选择、布局持久化及 15 秒回退。指针约束与输出查找改为无分配遍历,主屏查询在不可变布局创建时完成;实际连续指针/提交检查仍要求 0 字节。第二主屏的菜单局部重绘与全帧像素一致,显示拓扑合成指针不复用上次硬件时间戳。最终镜像重新执行双 VGA 的三次冷启动流程。
18
19
## Bing 排版与字体
20
21
最终回归曾发现英文地址与标题重叠。只读私有虚拟机内存提取出的原始 HTML 与实际网络响应 SHA256 一致;诊断启动被明确标为不能验收。随后以实际 HTML、实测 416 px 内容栏和同一响应的英文引用构造最小复现,得到与失败记录相同的 293.565 px 收缩宽度。
22
23
网站请求 Arial,原系统统一回退到 Lato。该地址未收缩时 Lato 为 297.318 px,本机 Arial 字节的只读度量为 291.798828125 px;旁边的翻译标签使多出的宽度触发换行。新增未修改的 Liberation Sans 2.1.5 Regular/Bold 作为 Arial/Helvetica 回退,同一度量也为 291.798828125 px;Lato 继续用于普通比例回退,Consolas/等宽继续使用 Cascadia Mono。字体家族选择有界缓存,遵循支持家族的顺序。未打包 Windows 字体,也不承诺所有 Windows 字形像素一致。
24
25
字体来自 Debian fonts-liberation2 2.1.5-1,下载包 SHA256 与 Debian 发布记录相同;完整上游 OFL 及 Debian 版权保留。来源和全部文件哈希见 assets/fonts/liberation-sans-2.1.5/Manifest.json。参见 [上游说明](https://github.com/liberationfonts/liberation-fonts) 和 [Debian 包校验信息](https://packages.debian.org/bookworm/all/fonts-liberation2/download)。
26
27
另一次第二次搜索在截图期间推进了页面快照,严格版本关联拒绝通过。搜索截图现放在原截止时间内重试,每次都要求截图前后为同一不可变快照,最多八次,失败截图保留。原网站预算、像素、引用排版、图片及完整滚动条件均未放宽;同一内核先通过修复后的截图验收,随后合入多显示器更新重建;两个阶段分别保留记录。
28
29
## 绘制对照的范围
30
31
以下为同机生产渲染器、固定 4K/200% 图像的宿主内存微基准,各版本一次运行,单位 ms,列出 P50。整帧复制 48 个样本,其他各 240 个样本。七个最终像素哈希均一致,pitch 填充及边界字节未改变。这不是 Windows 应用、实体显存写入或面板 FPS。
32
33
| 场景 | 修改前 | 修改后 |
34
| --- | ---: | ---: |
35
| raw-full-present | 25.068 | 3.057 |
36
| pointer | 0.052 | 0.048 |
37
| window-drag | 6.789 | 1.878 |
38
| window-resize | 4.993 | 1.012 |
39
| text-scroll | 3.257 | 1.207 |
40
| text-typing | 7.418 | 1.912 |
41
| menu | 32.170 | 0.216 |
42
43
固定长文本滚动 240 帧的分配为 199015808 → 3189696 字节。原始 ticks、分布、分配及程序集/像素哈希见 build/DesktopFluidity-1792199872480/BeforeHost.json 和 build/DesktopFluidity-1792199872480/AfterHost-Merged.json。缩放变化未混入对照。
44
45
原生 4K/200% 的机制对照保留同样的输入/帧采集及不相关的文本/菜单改进,对照旧 10 ms 定时器、16 ms 节拍和原复制器;并非旧 U 盘整版原样重跑。30 秒有效指针帧率约 50 → 240,P95 间隔约 20.17 → 4.98 ms,严格逐帧目标仍未通过。502 个对照编译输入字节保留。
46
47
最终内核 QEMU/WHPX、4K/150% 的 PS/2 路径 30 秒有效指针更新为 240.0057 次/秒,宿主时钟保守校正为 239.9779;P95 4.9775 ms、P99 5.1381 ms、最坏 7.5607 ms。SoftwareCadenceGoalMet=false。计时使用同一内核的私有镜像,最终候选镜像另做了精确同镜像 4K 编辑验证。
48
49
保留的前一构建使用相同 USB 输入驱动,其 QEMU 鼠标实际约 125 份报告/秒,有效指针约 125.08(宿主校正约 125.00)。每秒 1000 个 QMP 请求不能算成真实 HID 报告率。上述数据都不是实体扫描或 input-to-photon。
50
51
## 验证及仍未完成的目标
52
53
最终源码通过 18 组、1739 项宿主检查。相同最终内核与候选镜像通过独立双屏三次冷启动及真实 Bing 两次搜索、导航、实际 PNG 图像与两页完整滚动,以及 Monaco 编辑保存、文档八阶段、终端、同一私有 USB 双冷启动和五卷操作/宿主独立回读;QEMU 退出码 0,原始镜像与来源字节不变。957 个合并输入与构建工作树实际字节相符。宿主:build/CSharp/HostTests-1792211082908/Result.json;原生:build/IndependentKernel/Proof-1792211532014127200/Result.json。
54
55
本机 Windows 主屏实际 3840×2160 / 240 Hz、150%,副屏 4K / 160 Hz;Ryzen 9 9950X3D(16 核/32 逻辑处理器)、RTX 5090。只读记录显示模式、驱动及电源策略,完成 25 秒 PresentMon 试采;记事本没有可归属的独立 Present 数据,DWM 混合多个显示层,未把它算作该应用 FPS。11 个场景各五轮、每轮 30 秒的实体匹配采样尚未完成。
56
57
共同标准在 [DesktopFluidityStandard.md](DesktopFluidityStandard.md) 及 Tools/DesktopFluidity/Standard.json,检查器为 CheckAcceptance.py。已将当前不完整证据送入同一比较函数,CurrentAcceptanceAssessment.json 记录 19 个缺失/不满足条件,整体判为未通过。当前 [UEFI GOP](https://uefi.org/specs/UEFI/2.10/12_Protocols_Console_Support.html#graphics-output-protocol) 不提供刷新率设置/扫描同步接口,原生 NVIDIA 显示模式/VSync 驱动和 GPU 光栅化未实现,托管执行仍为 BSP 1,真正 SMP 未实现。软件目标 240、EDID 或 QEMU 参数不能补齐这些证据。要达到用户要求,仍需原生显示与多核支持,并完成同条件实体 Windows 对照。安全启用托管 SMP 还涉及 AP 启动、每核调度/TLS/FPU、中断与 GC 停机协调,增加后台线程或 QEMU 虚拟 CPU 数量不等于已实现。
58
59
所有原始失败保留:测试导入及 8.3 路径问题、空间预检、早期软件节拍失败、USB 恢复检查旧日志竞态、字形调试日志造成溢出、半条绘制记录竞态、版权元数据编码校正、Lato/Arial 窄栏排版、网络负向测试适配接口、光标缓存分配及截图快照推进。另一次行缓存检查在复用的测试线程上记入 5960 字节,单独复跑通过;现改在预热后的独立线程度量,仍要求 0 字节,之前分配的精确来源未证实。自动分辨率合并后的首轮双屏脚本未限制虚拟固件最大模式,实际选到 4096×2160,严格尺寸断言正确失败;现显式限制两个测试显示器的 xmax/ymax,镜像继续使用自动模式。写盘保护正样例原来重序列化清单 JSON,被多屏清单的字节哈希正确拒绝;现复制原清单字节,生产校验器未因该问题改动。PowerShell 5.1 初次截断 stderr 的日志及完整失败重跑均保留。诊断启动、预检拒绝及失败重试均不计入成功。
60
61
候选 ZIP:XFESystem-Desktop-Independent-USB-0.3.0-dev.4-fluidity.1-1792212470031-b2fbde04.zip;SHA256 bf864443f24a2068c4cce7b83579acc2d4056a5d0fc9e934dcefaafc2b59ddea。打包通过不等于 Windows 流畅度验收通过。
62
63
本轮未完成实体介质更新;现有 U 盘内容保留,不能写作已交付实体修复。
64
65
主目录已有 EFI 换行差异保持原样;构建证据以工作树实际字节及包内快照为准。完整来源、统计和回执引用见 [DesktopFluidity20261017.json](validation-results/DesktopFluidity20261017.json)。