Java 애플리케이션 창에 보이지 않는 마우스 포인터

Java 애플리케이션 창에 보이지 않는 마우스 포인터

Java 8 런타임 환경을 사용하여 Windows 7에서 Java 기반 게임(Salem Game)을 플레이했는데 정상적으로 실행되었습니다.

그런데 Debian Linux에서는 게임을 실행할 수는 있지만 마우스 포인터가 보이지 않습니다. 로그인 버튼 위로 마우스를 움직일 때만 깜박입니다. 작동하지만 볼 수 없습니다.

어떻게 해결할 수 있나요?

나는 다음과 같은 것들을 시도했습니다:

  • 업데이트 및 업그레이드된 시스템
  • 설치된 비디오 펌웨어
  • 자바 재설치
  • Wine을 통해 Java를 에뮬레이션해 보세요.
  • Debian을 최신 버전(9.9)으로 업그레이드하세요.
  • 가능한 모든 게임 비디오 설정을 시도했습니다.
  • 마우스 가속을 비활성화해 보세요
  • GPU 펌웨어를 다운그레이드해 보세요
  • 대체 게임 클라이언트를 사용해 보았습니다.
  • 손상된 패키지를 검색했지만 아무것도 발견되지 않았습니다.
  • Java를 5개 버전으로 다운그레이드해 보았습니다(다운그레이드, 테스트 및 반복).
  • 외부 GPU로 전환(Geforce GTX 760i, Geforce GTX 1080)
  • 마우스를 바꿨어요
  • 모니터를 바꿨어요

시스템 사양:

  • 데비안 9.9(확장 버전)

  • 자바 버전:

    • openjdk 버전 "1.8.0_212";
    • OpenJDK 런타임 환경(빌드 1.8.0_212-8u212-b01-1~deb9u1-b01)
    • OpenJDK 64비트 서버 VM(빌드 25.212-b01, 혼합 모드).

LSCPI

00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1576
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Device 1577
00:01.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Carrizo (rev e3)
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Kabini HDMI/DP Audio
00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157b
00:02.4 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 157c
00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157b
00:08.0 Encryption controller: Advanced Micro Devices, Inc. [AMD] Device 1578
00:09.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 157d
00:09.2 Audio device: Advanced Micro Devices, Inc. [AMD] Device 157a
00:10.0 USB controller: Advanced Micro Devices, Inc. [AMD] FCH USB XHCI Controller (rev 20)
00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 49)
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 4a)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 11)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1570
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1571
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1572
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1573
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1574
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 1575
01:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] Device 43bc (rev 02)
01:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] Device 43b8 (rev 02)
01:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b3 (rev 02)
02:04.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b4 (rev 02)
02:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b4 (rev 02)
02:06.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b4 (rev 02)
02:07.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43b4 (rev 02)
05:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)

dmesg 출력 https://pastebin.com/nXYtBj7Q

답변1

그래픽 카드에는 일반적으로 마우스 포인터 표시를 위한 하드웨어 지원이 있습니다. 그래픽 카드의 드라이버는 마우스 포인터의 이미지를 로드하고 해당 이미지가 표시되어야 하는 화면 좌표를 지정해야 합니다. 그러면 그래픽 카드가 기본 이미지를 마우스 포인터의 이미지와 "마술처럼" 겹쳐지게 됩니다. 때때로 비디오 카드 드라이버가 잘못 작동합니다(즉, 일부 버그가 있음). 이 경우 비활성화됨마우스 포인터 그리기 가속또는 마우스 포인터 그리기 전환하드웨어도착하다소프트웨어패턴이 도움이 될 수 있습니다.

답변2

dmesg 정보를 보면 Carrizo에 적합한 AMDGPU 드라이버를 사용하고 있는 것으로 보입니다. 이를 고려하여 amdgpu.conf 파일을 찾아서 일부 변경하는 것이 좋습니다(파일 앞에 10-amdgpu.conf와 같이 숫자가 추가될 수 있음). /usr/share/X11/xorg.conf.d와 같은 위치에 있을 수 있습니다. 찾으면 파일 끝부분의 OutputClass 섹션 뒤에 다음을 추가합니다.

Section "Device"
  Identifier "AMDgpu"
  Driver "amdgpu"
  Option "SWcursor" "on"
EndSection

그런 다음 재부팅하고 무슨 일이 일어나는지 확인하십시오.

그래도 문제가 해결되지 않으면 "장치" 섹션에서 일부 옵션을 조정해 보는 것이 최선입니다. 사용 가능한 드라이버별 옵션은 man amdgpu를 참조하세요.

답변3

아마도 +100 담당자의 가치는 없지만 openjdk를 업그레이드해 볼 수 있습니다.

버전 1.8.0_212 및 9.0.4.11이 설치되어 있고 11.0.3.7도 내 저장소에서 사용할 수 있으므로 분명히 더 높은 버전이 있습니다. 그러나 저는 Fedora 29를 실행하고 있습니다. 귀하의 리포지토리에서 더 많거나 더 적은 옵션을 사용할 수 있습니다.

관련 정보