(함께 있을 수도 있음Light-Locker 잠금 해제 후 잠금 시간에 정비례하여 화면이 공백으로 유지됩니다.)
xscreensaver 6.00으로 업그레이드하는 동안 귀찮은 오류가 발생하여 최근 xscreensaver에서 light-locker로 전환했습니다.
다음 문제를 제외하면 스위치에 매우 만족합니다. 세션으로 다시 잠금을 해제하면 브라우저가 어떻게든 일시 중지된 것처럼 보이거나 다음과 같은 이유로 네트워크가 끊어진 것 같습니다.
- Electron 앱이 다시 연결 중임을 표시합니다(실제로 문제는 아님).
- Firefox는 약 2분 동안(야간 잠금을 위해) CPU 집약적인 작업을 수행하는 것으로 보이며 해당 시간 동안에는 사용할 수 없습니다. 놓친 모든 것을 따라잡고 있는 것 같은데요?
Firefox가 2분 동안 작동하지 않는 것은 정말 귀찮은 일입니다.
범위를 좁혀야 할 사항:
- 지속적인 네트워크 액세스가 가능한 데스크탑 상자에 있습니다. (뚜껑을 닫았을 때 노트북의 무선 연결이 끊어지는 것은 아닙니다.)
- 세션이 잠겨 있는 동안 다른 응용 프로그램(잠금 전에 명령줄에서 실행된)이 네트워크에 액세스하는 것을 관찰했습니다. (계속해서 데이터를 제공하고 있습니다.)
- 나는 잠금 중에 상자에 들어가서 ps/top을 사용했고 Firefox에 "kill -STOPed"가 없는지 확인했습니다.
따라서 내 추측으로는 세션이 잠길 때 브라우저에 네트워크 사용을 중지하라고 지시하는 것이 있을 것입니다. 그게 뭔지 아세요? 아마도 systemd와 관련이 있을까요?
세션이 잠겨 있는 동안 브라우저를 일시 중지하는 것은 끔찍한 생각처럼 들리지 않지만, 그 2분 동안 Firefox가 무엇을 하고 있는지 알아낼 수 있는 방법이 있습니까? ( about:performance
Firefox가 너무 바빠서 질문에 대답할 수도 없기 때문에 그렇게 하려고 해도 아무 소용이 없습니다.)
업데이트(2021년 10월 10일):
그것은 light-locker
호출 처럼 보이며 loginctl lock-session ...
그것이 브라우저 동작을 주도하는 것이라고 생각합니다.이 답변@user1686은 loginctl
모든 응용 프로그램에 "잠금" 신호를 보낼 것을 제안했기 때문에 지금 해야 할 일은 Firefox가 이에 어떻게 반응하고 왜 멈추는지 알아내는 것입니다.
주요 업데이트(2021년 10월 16일):
몇 가지 -ing 및 실험을 통해 strace
하드웨어 가속이라는 가능성이 낮은 곳으로 범위를 더욱 좁혔습니다.
Firefox는 바쁜 몇 분 동안의 루프 동안 확실히 많은 시스템 호출을 수행했지만 이것이 내 관심을 끌었습니다.
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_BUSY, 0x7f16e5c96220) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_MADVISE, 0x7f16e5c96220) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_PWRITE, 0x7f16e5c96260) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_BUSY, 0x7f16e5c96220) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_MADVISE, 0x7f16e5c96220) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_PWRITE, 0x7f16e5c96260) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_BUSY, 0x7f16e5c96220) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_MADVISE, 0x7f16e5c96220) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_PWRITE, 0x7f16e5c96260) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_BUSY, 0x7f16e5c96220) = 0
[pid 165855] 13:07:06 ioctl(35</dev/dri/card0>, DRM_IOCTL_I915_GEM_MADVISE, 0x7f16e5c96220) = 0
(위의 패턴과 정확히 일치하지 않고 여러 번 반복됨)
먼저 "Google Inc.의 Widevine 콘텐츠 복호화 모듈"을 비활성화했습니다. 끼워 넣다. 그것은 도움이 되지 않습니다.
그런 다음 성능 → 설정에서 "사용 가능한 경우 하드웨어 가속 사용"을 비활성화하려고 시도했는데 작동했습니다. 다음 날 잠금을 해제한 후 Firefox를 즉시 사용할 수 있었습니다!
당면한 문제는 해결되었지만 여전히 많은 질문이 남아 있습니다.
- 이 하드웨어 가속기 상자는 내가 생각했던 것보다 더 많은 제어 기능을 갖춘 다소 투박하고 불투명한 스위치처럼 보입니다(DRM?!?). 정확히 어떤 역할을 하나요?
- 나는 여전히 loginctl이 브라우저와 어떻게 통신하는지 모릅니다. D 버스 메시지?
- 둘은 어떻게 연결되어 있나요? 출력보다 이해하기 쉬운 내부 로그를 얻을 수 있는 방법이 있습니까
strace
?
사소한 업데이트(2021년 10월 17일):
DRM(Digital Rights Management) 콘텐츠 선택 취소 → DRM 제어 콘텐츠를 재생해도 문제가 해결되지 않음(예: 하드웨어 가속을 다시 켤 수 없음)
사소한 업데이트(2021년 10월 18일):
"성능" → "권장 성능 설정 사용"을 선택해도 올바른 작업이 수행되지 않습니다.
이제 이 버그 보고서를 제출할 준비가 된 것 같습니다.