Lenovolegion R 7000ノートlinux使用体験

3090 ワード

Lenovolegion R 7000ノートlinux使用体験
このノートパソコンはlinuxの最も主要な問題をタッチパネルで使用しています
  • デフォルトではhid_がロードされる場合があります.genericとhid_multitouchの2つの駆動は、この2つの駆動がロードされた後、タッチパネルが使用できなくなり、キーボードが正常に
  • 使用できるようになりました.
  • は/etc/modprobeである.d/blacklist.confファイルにblacklist hidを追加multitouchこの行は、タッチパネルとキーボードが使用可能であり、タッチパネルがマウスのように認識される場合、両指スライド
  • は使用できない.
  • デフォルトのキーボードで使用されるドライバはhid_です.generic、dmesg情報を見てキーボードがITEであることを示して、私はこのキーボードをhid_を使うように修正しますiteはdrivers/hid/hid-iteで駆動する.cファイルに1行を追加し、キーボードにhid-iteドライバ
  • を使用させる
    static const struct hid_device_id ite_devices[] = {
    	{ HID_USB_DEVICE(USB_VENDOR_ID_ITE, USB_DEVICE_ID_ITE8595) },
            /*   */
    	{ HID_USB_DEVICE(USB_VENDOR_ID_ITE, USB_DEVICE_ID_ITE_LENOVO_LEGION_R7000) },
    	{ HID_USB_DEVICE(USB_VENDOR_ID_258A, USB_DEVICE_ID_258A_6A88) },
    

    drivers/hid/hid-idsで定数を参照する.hファイル内の定義
    #define USB_VENDOR_ID_ITE               0x048d
    #define USB_DEVICE_ID_ITE_LENOVO_YOGA   0x8386
    #define USB_DEVICE_ID_ITE_LENOVO_YOGA2  0x8350
    /*  vid,pid 0x048d, 0xc100   */
    #define USB_DEVICE_ID_ITE_LENOVO_LEGION_R7000 0xc100
    #define I2C_DEVICE_ID_ITE_LENOVO_LEGION_Y720	0x837a
    #define USB_DEVICE_ID_ITE_LENOVO_YOGA900	0x8396
    #define USB_DEVICE_ID_ITE8595		0x8595
    
  • タッチパネルのvendorIDは0 x 06 CBで、これはsynapticsのように見えますが、hid-rmi駆動が似ているようですので、このテストでdrivers/hid/hid-rmiにしましょう.cファイルに1行追加し、タッチパネルにhid-rmi駆動
  • を使用させる
    static const struct hid_device_id rmi_id[] = {
    	{ HID_USB_DEVICE(USB_VENDOR_ID_RAZER, USB_DEVICE_ID_RAZER_BLADE_14),
    		.driver_data = RMI_DEVICE_HAS_PHYS_BUTTONS },
    	{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X1_COVER) },
    	{ HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_REZEL) },
            /*  , hid-rmi  */
    	{ HID_I2C_DEVICE(I2C_VENDOR_ID_SYNAPTICS, I2C_PRODUCT_ID_SYNAPTICS_SYNA7f28) },
    	{ HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5),
    

    drivers/hid/hid-idsで定数を参照する.hファイル内の定義
    #define I2C_VENDOR_ID_SYNAPTICS     0x06cb
    #define I2C_PRODUCT_ID_SYNAPTICS_SYNA2393   0x7a13
    /*  vid,pid 0x06cb, 0x7f28,   */
    #define I2C_PRODUCT_ID_SYNAPTICS_SYNA7f28   0x7f28
    
  • カーネルを再コンパイルし、hid-genericとhid-multitouchドライバを無効にし、キーボードとタッチパネルをテストして使用できますが、タッチパネルのクリックはあまり感度がありません
  • 独立したグラフィックスカードを無効にします.個人的にはnvidiaのグラフィックスカードが大嫌いです.ノートパソコンにはnvidiaのグラフィックスカードがあるべきではありません.少なくとも1660のパフォーマンス以下の独立したグラフィックスカードにはグラフィックスカードを無効にする方法はありません.
  • は、ブラックアップルに似た方法でDSDTを再編集し、カーネルをコンパイルして再コンパイルされたDSDTをロードすることを指定します.この方式は比較的に良くて、ついでにいくつかDSDTの問題を修正することができて、しかし比較的に面倒で、私は第2の方式を採用しました
  • 用acpi_callは、電源を入れた後にユニプレゼンテーション方法のリファレンスを無効にします.https://wiki.archlinux.org/index.php/Hybrid_graphicsプログラムのダウンロードアドレス:https://github.com/mkottman/acpi_callここで注意しなければならないのは、5.6カーネルで少し変動して、元のプログラムは長い間更新していないので、コンパイルは間違っています.このprを参考にして修正することができます.https://github.com/mkottman/acpi_call/pull/88

  • 自分でカーネルを再コンパイルする場合は、いくつかのカーネル構成オプションCPUリファレンスを参照してください.https://wiki.gentoo.org/wiki/Ryzeniwlwifiワイヤレスカードリファレンス:https://wiki.gentoo.org/wiki/Iwlwifiamdgpuリファレンス:https://wiki.gentoo.org/wiki/AMDGPUサウンドカードリファレンス:https://wiki.gentoo.org/wiki/ALSA