Skip to content

fix(vt): switch VT through wlroots session - #913

Merged
zccrs merged 2 commits into
linuxdeepin:masterfrom
zccrs:master
Jun 2, 2026
Merged

zccrs merged 2 commits into
linuxdeepin:masterfrom
zccrs:master

Conversation

@zccrs

@zccrs zccrs commented May 30, 2026 •

Copy link
Copy Markdown
Member

This updates Treeland VT handling for the dde-seatd/vt-bound flow.

  • switch Ctrl+Alt+Fn directly through the wlroots/libseat session
  • remove the old DDM VT detour and input device revoke workaround
  • refresh the greeter/lock screen state deterministically when re-entering Treeland
  • align the systemd dependency with dde-seatd.service

This is the Treeland side of the DDM + Treeland VT switching cleanup.

Summary by Sourcery

Run CTest-based unit tests in CI for waylib and treeland builds.

CI:

  • Add execution of ctest --preset ci to waylib Arch Linux CI workflow.
  • Add execution of ctest --preset ci to treeland Arch Linux CI workflow.

@sourcery-ai

sourcery-ai Bot commented May 30, 2026

Copy link
Copy Markdown
Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Adds running CTest-based unit tests to Arch Linux CI workflows for waylib and treeland and aligns CMake presets to support the new CI test step.

Flow diagram for updated Arch Linux CI pipeline with CTest

flowchart TD
    A[Checkout code] --> B[Configure with cmake --preset ci]
    B --> C[Build with cmake --build --preset ci]
    C --> D[Run tests with ctest --preset ci]
    D --> E[Install to staging directory]
Loading

File-Level Changes

Change Details Files
Enable unit test execution in waylib Arch Linux CI workflow.
  • Insert a dedicated CI step to run ctest --preset ci after building waylib.
  • Ensure tests run in the waylib subdirectory using the existing CMake CI preset.
.github/workflows/waylib-archlinux-build.yml
Enable unit test execution in treeland Arch Linux CI workflow.
  • Add a CI step to run ctest --preset ci after the treeland build completes.
  • Reuse the CMake CI preset for consistent test configuration across environments.
.github/workflows/treeland-archlinux-build.yml
Adjust CMake CI presets to support test execution from CI.
  • Update or add a ci CTest/CMake preset usable from both root and waylib builds.
  • Ensure presets are compatible with the new GitHub Actions test steps.
CMakePresets.json
waylib/CMakePresets.json

Possibly linked issues

  • #0: PR implements the Treeland VT switching flow described in the issue, handling Ctrl+Alt+Fx via wlroots/libseat.

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've left some high level feedback:

  • In treeland-archlinux-build.yml, the new ctest --preset ci step runs without setting working-directory, unlike the waylib workflow; consider specifying the build directory so tests run against the correct CMake build tree.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- In `treeland-archlinux-build.yml`, the new `ctest --preset ci` step runs without setting `working-directory`, unlike the waylib workflow; consider specifying the build directory so tests run against the correct CMake build tree.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@zccrs

zccrs commented Jun 2, 2026

Copy link
Copy Markdown
Member Author

已按 review 意见把与 VT 切换适配无关的锁屏/greeter 刷新改动拆到独立 PR:#921。当前 #913 只保留 wlroots/libseat VT 切换适配、旧 DDM VT 绕路移除、dde-seatd.service 依赖切换等 VT 相关内容。

@zccrs

zccrs commented Jun 2, 2026

Copy link
Copy Markdown
Member Author

依赖:linuxdeepin/dde-seatd#2 和 linuxdeepin/ddm#94

Use direct wlroots/libseat VT switching and remove the old DDM VT detour.

使用wlroots/libseat直接切换VT,并移除旧的DDM VT绕路。

Remove the input device revoke workaround, align the systemd dependency with dde-seatd.service, and require ddm newer than 0.3.4.

移除输入设备revoke兼容逻辑,将systemd依赖切换为dde-seatd.service,并要求ddm版本高于0.3.4。

Log: 修复切换tty的功能,之前存在切换到tty后又闪现会treeland的问题

Influence: 通过Ctrl+Alt+Fn快捷键或chvt命令切换tty的功能
@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Groveer, zccrs

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@zccrs

zccrs commented Jun 2, 2026

Copy link
Copy Markdown
Member Author

commitlint的检查不用管,第二个commit是在github上直接编辑的,所有问题,合并时会将两个commit压缩到一起。

@zccrs
zccrs merged commit 032ed68 into linuxdeepin:master Jun 2, 2026
11 of 12 checks passed
zccrs added a commit to zccrs/treeland that referenced this pull request Jun 9, 2026
* fix(vt): switch VT through wlroots session

Use direct wlroots/libseat VT switching and remove the old DDM VT detour.

使用wlroots/libseat直接切换VT,并移除旧的DDM VT绕路。

Remove the input device revoke workaround, align the systemd dependency with dde-seatd.service, and require ddm newer than 0.3.4.

移除输入设备revoke兼容逻辑,将systemd依赖切换为dde-seatd.service,并要求ddm版本高于0.3.4。

Log: 修复切换tty的功能,之前存在切换到tty后又闪现会treeland的问题

Influence: 通过Ctrl+Alt+Fn快捷键或chvt命令切换tty的功能
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants