ฉันเพิ่งเปลี่ยนจาก Xorg เป็น Wayland ซึ่งหมายความว่าฉันได้เปลี่ยนเป็น libinput ด้วย ฉันใช้ GNOME 3 และ GDM ด้วย
ตั้งแต่การสลับการเลื่อนกลายเป็นเรื่องที่น่ากลัวมาก ขณะที่ฉันลากสองนิ้วในแนวตั้งบนทัชแพดอย่างช้าที่สุดและหยุดเป็นระยะ ๆ ตามที่ฉันไปหลังจากระยะทางที่กำหนดมันจะ "กระโดด"
สิ่งนี้ไม่ได้เกิดขึ้นในแอปพลิเคชันทั้งหมด ฉันคาดเดาสิ่งที่ทำงานใน Xwayland ไม่มีปัญหา แอปพลิเคชันดังกล่าวยังคงเลื่อนและเร่งความเร็วได้เร็วกว่าที่ฉันต้องการ แต่ฉันคิดว่านั่นเป็นปัญหาแยกต่างหาก
ปัญหาเกิดขึ้นในแอปพลิเคชัน GTK + และ Qt
ตัวอย่างเช่นเมื่อเลื่อนใน gedit ซึ่งรองรับการเลื่อนอย่างราบรื่น:
- เริ่มต้นที่บรรทัด 1
- เลื่อนไปอย่างราบรื่นจนกระทั่งบรรทัดที่ 5
- ทันทีที่ฉันกดบรรทัดที่ 5 ไม่ว่าฉันจะเลื่อนช้าแค่ไหนมันก็กระโดดไปที่บรรทัดที่ 10
- เลื่อนกลับขึ้นไปที่บรรทัด 1 ไปอย่างราบรื่นจนถึงบรรทัดที่ 5
- ที่บรรทัด 5 ข้ามไปที่บรรทัด 1
การกระโดดเกิดขึ้น 5 บรรทัดเสมอจากที่ฉันเริ่มเลื่อน ถ้าฉันหยุดการเลื่อน แต่ปล่อยให้นิ้วทั้งสองของฉันบนทัชแพดมันไม่นับว่าเป็นการหยุด
ฉันมีทัชแพด Synaptics บนโยคะ 900:
Device: SYNA2B29:00 06CB:77C6
Kernel: /dev/input/event14
Group: 5
Seat: seat0, default
Size: 91.53x59.95mm
Capabilities: pointer
Tap-to-click: disabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Accel profiles: none
ฉันใช้ Linux 4.4 พร้อมกับแพตช์ไดรเวอร์บางอันที่ฉันขโมยไปจาก 4.5 เพื่อให้ฮาร์ดแวร์ใน Yoga 900 ทำงานอย่างถูกต้อง Arch Linux ล่าสุดที่เปิดใช้งานที่เก็บการทดสอบ (คอร์ยังคงอยู่ที่ 4.3 แต่ 4.4 มีแพตช์ที่ฉันต้องการ)
linux-custom 4.4-4
libinput 1.1.4-1
wayland 1.9.0-1
gnome-shell 3.18.3-2
xorg-server-xwayland 1.18.0-4
ฉันกำลังสูญเสียวิธีการแก้ไขปัญหานี้เนื่องจากมีหลายปัจจัยที่เกี่ยวข้องและฉันไม่คุ้นเคยกับ libinput และ Wayland ฉันเปลี่ยนมาใช้ Wayland เพราะ X มีปัญหากับการแสดง PPI สูงในหลายกรณี Wayland ดูเหมือนว่าจะใช้กราฟิกในตัวของ CPU ให้ดีขึ้น ดังนั้นสำหรับตอนนี้ฉันต้องการติดกับ Wayland แม้ว่าฉันจะไม่สามารถหาทางออกได้ทันที ฉันต้องการที่จะแก้ปัญหานี้ด้วยตัวเอง (ผ่านทางแพทช์, แฮ็ค, อะไรก็ตาม) แทนที่จะรอการแก้ไขที่เหมาะสมที่จะพัฒนาทดสอบและเปิดตัว