Displaylink: Difference between revisions
add details for KDE and Gnome Tags: Mobile edit Mobile web edit Visual edit |
Mention that pre-sleep.service has the potential to block suspend |
||
| Line 155: | Line 155: | ||
[https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1823#note_2146862 Source] | [https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1823#note_2146862 Source] | ||
== Troubleshooting == | |||
=== Suspend blocked by <code>pre-sleep.service</code> === | |||
As of NixOS 25.05, installing <code>pkgs.displaylink</code> inserts some directives into the script referenced by <code>pre-sleep.service</code>. If suspending does not work and causes the reboot and poweroff buttons to stop working, it may be a symptom of [[Power Management#Suspend blocked by pre-sleep.service|suspend being blocked by pre-sleep.service]]. | |||
The script in question:<syntaxhighlight lang="bash" line="1"> | |||
#!/nix/store/cfqbabpc7xwg8akbcchqbq3cai6qq2vs-bash-5.2p37/bin/bash | |||
set -e | |||
#flush any bytes in pipe | |||
while read -n 1 -t 1 SUSPEND_RESULT < /tmp/PmMessagesPort_out; do : ; done; | |||
#suspend DisplayLinkManager | |||
echo "S" > /tmp/PmMessagesPort_in | |||
#wait until suspend of DisplayLinkManager finish | |||
if [ -f /tmp/PmMessagesPort_out ]; then | |||
#wait until suspend of DisplayLinkManager finish | |||
read -n 1 -t 10 SUSPEND_RESULT < /tmp/PmMessagesPort_out | |||
fi | |||
</syntaxhighlight>Because of a stray <code>/tmp/PmMessagesPort_out</code> caused by an unclean shutdown, the suspend action was blocked by this script trying to flush the port. A myriad of solutions can be used to unblock the script and restore suspend: | |||
* Start <code>dlm.service</code> so that DisplayLinkManager can clear the ports and unblock the script | |||
* Use <code>sudo DisplayLinkManager</code> to clear the ports and unblock the script | |||
Untested solutions: | |||
* Removing the file | |||
* Killing the script | |||
[[Category:Video]] | [[Category:Video]] | ||