Skip to content

device: allow a non-ACPI soft power button - #7953

Merged
OBattler merged 2 commits into
86Box:masterfrom
JoshRodd:feat/device-soft-power-button
Sep 14, 2026
Merged

device: allow a non-ACPI soft power button#7953
OBattler merged 2 commits into
86Box:masterfrom
JoshRodd:feat/device-soft-power-button

Conversation

@JoshRodd

Copy link
Copy Markdown
Contributor

Summary

The current soft power button is ACPI only. This adds a non-ACPI option for non-ACPI machines, such as the IBM PC Convertible.

This doesn't make any changes to any existing machines, but is necessary for future IBM PC Convertible (model 5140) support.

Checklist

References

None used.

Comment thread src/qt/qt_mainwindow.ui Outdated
@lemondrops

lemondrops commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

I don't see the point of multiple separate "power off" options: just one generic "soft power off" button that does ACPI/APM/PC Convertible/whatever method depending on the machine should be enough, and "hard power off" is equivalent to exiting 86Box.

@JoshRodd
JoshRodd force-pushed the feat/device-soft-power-button branch from 9c3fc1a to e8173a0 Compare September 14, 2026 15:19
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
Add the IBM PC Convertible (5140) machine: board, power controller, LCD
controller with the optional external CRT adapter, and the controller and
firmware compatibility work the original BIOS requires.

The LCD presents the controller's binary 640x200 output through per-panel
sRGB endpoints and a 20 ms-per-frame liquid-crystal response model, and
the three panel variants are selectable. Panel coordinates, RAM and
peripheral behaviour follow the February 1986 Technical Reference.

This branch is stacked on the open CPU (86Box#7949) and power-button (86Box#7953)
contributions and should be merged after them.
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
Add the IBM PC Convertible (5140) machine: board, power controller, LCD
controller with the optional external CRT adapter, and the controller and
firmware compatibility work the original BIOS requires.

The LCD presents the controller's binary 640x200 output through per-panel
sRGB endpoints and a 20 ms-per-frame liquid-crystal response model, and
the three panel variants are selectable. Panel coordinates, RAM and
peripheral behaviour follow the February 1986 Technical Reference.

This branch is stacked on the open CPU (86Box#7949) and power-button (86Box#7953)
contributions and should be merged after them.
Comment thread src/qt/qt_mainwindow.cpp Outdated
Comment thread src/qt/qt_mainwindow.cpp Outdated
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
At this point, we will be removing "ACPI Power Button" verbage and
simply offer up a soft power button. The button does whatever the
machine does with a soft power button: typically it's wired up to
either ACPI or some kind of laptop/portable computer's proprietary
ROM BIOS.
Route the existing power action through ACPI when available, otherwise through a
registered device callback, and treat a hard power off as exiting 86Box rather
than a separate action. No existing machine is opted in.

per 86Box#7953 lemondrop's suggestion to remove ACPI verbage

At this point, we will be removing "ACPI Power Button" verbage and
simply offer up a soft power button. The button does whatever the
machine does with a soft power button: typically it's wired up to
either ACPI or some kind of laptop/portable computer's proprietary
ROM BIOS.
@JoshRodd
JoshRodd force-pushed the feat/device-soft-power-button branch from 0987300 to c9ea706 Compare September 14, 2026 16:00
@JoshRodd
JoshRodd requested a review from lemondrops September 14, 2026 16:01
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
Add the IBM PC Convertible (5140) machine: board, power controller, LCD
controller with the optional external CRT adapter, and the controller and
firmware compatibility work the original BIOS requires.

The LCD presents the controller's binary 640x200 output through per-panel
sRGB endpoints and a 20 ms-per-frame liquid-crystal response model, and
the three panel variants are selectable. Panel coordinates, RAM and
peripheral behaviour follow the February 1986 Technical Reference.

This branch is stacked on the open CPU (86Box#7949) and power-button (86Box#7953)
contributions and should be merged after them.
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
Add the IBM PC Convertible (5140) machine: board, power controller, LCD
controller with the optional external CRT adapter, and the controller and
firmware compatibility work the original BIOS requires.

The LCD presents the controller's binary 640x200 output through per-panel
sRGB endpoints and a 20 ms-per-frame liquid-crystal response model, and
the three panel variants are selectable. Panel coordinates, RAM and
peripheral behaviour follow the February 1986 Technical Reference.

This branch is stacked on the open CPU (86Box#7949) and power-button (86Box#7953)
contributions and should be merged after them.
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
Add the IBM PC Convertible (5140) machine: board, power controller, LCD
controller with the optional external CRT adapter, and the controller and
firmware compatibility work the original BIOS requires.

The LCD presents the controller's binary 640x200 output through per-panel
sRGB endpoints and a 20 ms-per-frame liquid-crystal response model, and
the three panel variants are selectable. Panel coordinates, RAM and
peripheral behaviour follow the February 1986 Technical Reference.

This branch is stacked on the open CPU (86Box#7949) and power-button (86Box#7953)
contributions and should be merged after them.
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
Add the IBM PC Convertible (5140) machine: board, power controller, LCD
controller with the optional external CRT adapter, and the controller and
firmware compatibility work the original BIOS requires.

The LCD presents the controller's binary 640x200 output through per-panel
sRGB endpoints and a 20 ms-per-frame liquid-crystal response model, and
the three panel variants are selectable. Panel coordinates, RAM and
peripheral behaviour follow the February 1986 Technical Reference.

This branch is stacked on the open CPU (86Box#7949) and power-button (86Box#7953)
contributions and should be merged after them.
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
Add the IBM PC Convertible (5140) machine: board, power controller, LCD
controller with the optional external CRT adapter, and the controller and
firmware compatibility work the original BIOS requires.

The LCD presents the controller's binary 640x200 output through per-panel
sRGB endpoints and a 20 ms-per-frame liquid-crystal response model, and
the three panel variants are selectable. Panel coordinates, RAM and
peripheral behaviour follow the February 1986 Technical Reference.

This branch is stacked on the open CPU (86Box#7949) and power-button (86Box#7953)
contributions and should be merged after them.
@OBattler
OBattler merged commit c331ce2 into 86Box:master Sep 14, 2026
33 of 45 checks passed
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
Add the IBM PC Convertible (5140) machine: board, power controller, LCD
controller with the optional external CRT adapter, and the controller and
firmware compatibility work the original BIOS requires.

The LCD presents the controller's binary 640x200 output through per-panel
sRGB endpoints and a 20 ms-per-frame liquid-crystal response model, and
the three panel variants are selectable. Panel coordinates, RAM and
peripheral behaviour follow the February 1986 Technical Reference.

This branch is stacked on the open CPU (86Box#7949) and power-button (86Box#7953)
contributions and should be merged after them.
JoshRodd added a commit to JoshRodd/86Box-contributions that referenced this pull request Sep 14, 2026
Add the IBM PC Convertible (5140) machine: board, power controller, LCD
controller with the optional external CRT adapter, and the controller and
firmware compatibility work the original BIOS requires.

The LCD presents the controller's binary 640x200 output through per-panel
sRGB endpoints and a 20 ms-per-frame liquid-crystal response model, and
the three panel variants are selectable. Panel coordinates, RAM and
peripheral behaviour follow the February 1986 Technical Reference.

This branch is stacked on the open CPU (86Box#7949) and power-button (86Box#7953)
contributions and should be merged after them.
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