web-dev-qa-db-ja.com

Surface Pro 4にUbuntuをインストールする

私は勝利10からUbuntu 16.04に移行しました。 この記事 および このビデオ を試しましたが、最新のカーネルバージョンが4.6.3であるため、まだ問題に直面しています。
私はまだ4.4.0のUbuntuでインストールされたカーネルで実行しています。

簡単に言えば、キーボード、タッチパッド、タッチスクリーン、音量ボタン、電源ボタン、スタイラス、wifiインジケーター(右上隅)、カメラが機能していません。
WifiとBluetoothを機能させることができました。

誰かがいくつかのパッチを書いたり見つけたり、カーネルを再コンパイルするのを手伝ってくれますか?


すべての更新と問題を My GitHub組織 に投稿してください。どんな貢献でも歓迎します

deriver-config および Modules

タイプカバーを機能させるには、 deriver-config からSP4-1スクリプトを実行します。

7
Amir

Redditに関するこのガイド を使用しました

Fridgecowのカーネルがフリーズし、適切に再起動またはシャットダウンできない問題があった場合、Ubuntuロゴが何もしないでフリーズするだけでした。

カンテンナ(6aおよび7a)を使用しましたが、スリープから復帰せず、ボリュームボタンが機能しない以外は正常に動作します。

ダウンロード このファイル (パッチを適用したカーネル)

cdが行ったディレクトリ(cd Downloadsなど)に移動し、パッケージをインストールします

Sudo dpkg -i './linux-headers-4.4.0-rc8touchkernel+_1_AMD64.deb'
Sudo dpkg -i './linux-image-4.4.0-rc8touchkernel+_1_AMD64.deb'

Windowsパーティションをマウントし(Windowsパーティションを削除した場合、または見つからない場合は、 here からファイルをダウンロードできます)、Ubuntuルートディレクトリにファイルをコピーします(パスを調整する必要がある場合があります) Windowsパーティションのマウントポイントで:

Sudo mkdir /iTouch
cp /media/$USER/Windows/Windows/INF/PreciseTouch/Intel/* /iTouch

ドライバーがそれらを見つけられるように、ファイルへのシンボリックリンクを作成します

Sudo ln -sf /iTouch/SurfaceTouchServicingKernelSKLMSHW0078.bin /iTouch/vendor_kernel_skl.bin
Sudo ln -sf /iTouch/SurfaceTouchServicingSFTConfigMSHW0078.bin /iTouch/integ_sft_cfg_skl.bin
Sudo ln -sf /iTouch/SurfaceTouchServicingDescriptorMSHW0078.bin /iTouch/vendor_descriptor.bin
Sudo ln -sf /iTouch/iaPreciseTouchDescriptor.bin /iTouch/integ_descriptor.bin

次に、このカーネルをブートするオプションがあることを確認するか、GRUBを構成してデフォルトでブートするように設定する必要があります。

2
user3518221

Ubuntuインストールで実行しているかなり良いSurface Pro 4カーネルがあります。

ランダウン

動作するもの:

  • wifi/bluetooth
  • マルチタッチ
  • ペン
  • 入力カバーのトラックパッド

いくらか機能するもの:

  • 休止状態-再開後、タッチやペンはありません

しないこと:

  • サスペンド(以下の省電力に関する注意を参照)
  • フリーズ(確実に動作しないサスペンド/スリープのより多くのバッテリー消耗バージョン)
  • タイピングカバー

私が試したことがないもの:

  • カメラ

一般的なアイデア

このカーネルの背後にある一般的なアイデアは、Hyungwoo Yangが行った変更を https://github.com/ipts-linux-org/ipts-linux-new/wiki で取得し、Ubuntuに適用することです。 4.9rc3カーネル。カーネルを順番に取得する手順は次のとおりです。コンパイルプロセスには、Surface 4のすべてのコアを使用して約45分かかります。カーネルリポジトリを複製するには、約1.5ギガのディスク領域が必要です。


カーネルを作成する手順

  1. ubuntu 16.10 yakketyをインストールします。これを実現するには、ubuntu live-USBとキーボード/マウスの両方を処理できるUSBハブが必要です。

  2. uSBキーボードでLinuxを起動します。

  3. ubuntu 4.9rc3カーネルを準備します。

    • ubuntu 4.9rc3カーネルのクローンを作成します(〜1.5gigのスペースが必要です):

      git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v4.9-rc3

    • 6つのパッチをダウンロード: Patch1Patch2PatchPatch4Patch5Patch6

    • 次の順序でカーネルにパッチを適用します。

      git am /path/to/THEPATCH.patch

      パッチごとに。

  4. ipts-linux-newカーネルからタッチ/ペンサポート付きのパッチを作成します。

    • 別のディレクトリにカーネルをクローンします(〜1.5gigのスペースが必要です)。

      git clone https://github.com/ipts-linux-org/ipts-linux-new.git

    • パッチを作成します。

      git diff 0c183d92b20b5c84ca655b45ef57b3318b83eb9e > /path/to/ipts-linux-new_patch.txt

  5. ipts-linux-newパッチをv4.9rc3に適用します

    `cd /path/to/v4.9rc3`
    `patch -p1 < /path/to/ipts-linux-new_patch.txt`
    `git add .`
    `git commit -m 'Patch for Surface Pro 4 taken from ipts-linux-new.'`
    
  6. カーネルをコンパイルし、ubuntu .debパッケージを作成します( buntu Kernel Compilation からコピー)

    cd /path/to/v4.9rc3

    • debianファイルを初期化します:

      fakeroot debian/rules clean

    • ビルドするカーネルを構成します。

      fakeroot debian/rules editconfigs

      • AMD64の質問に対してのみ「はい」と言います。これにより、「menuconfig」cursesインターフェイスが表示されます。次の2つのオプションを有効にします。
        • デバイスドライバー-> NVMエクスプレスロックデバイス(y)
        • デバイスドライバー->その他のデバイス-> Intel Precise Touch&Stylus(m)
    • 「/path/to/v4.9rc3/debian.master/rules.d/AMD64.mk」のコメントまたは削除「do_zfs = true」

    • 「/path/to/v4.9rc3/debian.master/changelog」を編集してカーネルの名前を変更します

  7. カーネルをコンパイルする(プロセッサよりも多くのスレッドを使用して高速化する)

    `fakeroot debian/rules clean` #necessary, but I don't know why
    `DEB_BUILD_OPTIONS=parallel=5 fakeroot debian/rules binary-headers binary-generic binary-perarch`
    
  8. v4.9rc3の隣のディレクトリに4つの新しい.debsを作成する必要があります。次のコマンドで.debsをインストールします。

    `Sudo dpkg -i linux-image-* linux-headers-4.9.0-040900rc3*`
    
  9. windowsからLinuxにドライバーファイルをコピーします。

    • 「\ Windows\INF\PreciseTouch\Intel」からLinuxディレクトリ「/ lib/firmware/intel/ipts」にドライバーファイルをコピーします。次のような名前のファイルが少なくとも4つ必要です。

      • iaPreciseTouchDescriptor.bin
      • SurfaceTouchServicingSFTConfigMSHW0078.bin
      • SurfaceTouchServicingDescriptorMSHW0078.bin
      • SurfaceTouchServicingKernelSKLMSHW0078.bin
    • これらのファイルへのシンボリックリンクを作成します。

      cd /lib/firmware/intel/ipts

      ln -s iaPreciseTouchDescriptor.bin intel_desc.bin

      ln -s SurfaceTouchServicingSFTConfigMSHW0078.bin config.bin

      ln -s SurfaceTouchServicingDescriptorMSHW0078.bin vendor_desc.bin

      ln -s SurfaceTouchServicingKernelSKLMSHW0078.bin vendor_kernel.bin

これで新しいカーネルを起動できるはずです。リンクが適切な場所にある場合、タッチとペンはうまく機能します。


省電力に関する注意

不足しているサスペンド機能は大きな欠点です。これは、Microsoftの「接続されたスタンバイ」大失敗によるものです。 https://lwn.net/Articles/580451/ 。 Freezeはより多くのバッテリーを使用し(コンピューターの電源を入れた場合の半分の速度でバッテリーを消耗します)、信頼性が低いようです。休止状態では状態は正常に保持されますが、残念ながら、タッチとスタイラスの機能は再開後に機能しません。

2

SP4タッチアルゴリズムはGPUで実行されるため、従来のドライバーは機能しません

Githubリンクは次のとおりです。 https://github.com/ipts-linux-org/ipts-linux/wiki

タッチスクリーン、Surface Proペン..

IPTSは、Intel Precision TouchおよびStylusの略です。

このgithubリポジトリには、タッチスクリーンドライバーを備えた特定のカーネルがあります。

特定のカーネルをピックアップしてすみませんが、4.4以降のカーネルにはパッチを適用する必要があります。

1
ardaC

私はSP4のUbuntu 16.10からタイピング/マウス入力していますが、ここに行くには次のようにしました:

  • キーボード/マウスのサポートにUSBハブを使用してUbuntuをロードする

  • Sudo apt-get install次の2つのパッケージ:

  • ukuu(簡単!)最新のRCカーネル(4.10-rc8)への更新。これは、磁気SP4キーボード/マウスをサポートするようになりました(ありがとう、カーネルの皆さん!)。 ONLY NIGGLE:ワイヤレスなので、グーグルでパッチを適用します。

  • grub-customizerでWin10/Ubuntu/Mintを選択します。

Ubuntuは動作しません。画面のULで16.04 xenial min/max/closeが気に入らないため、16.10 yakketyを選択しましたが、これを回避する簡単な方法は見つかりませんでした。

Linux MINTは、キーボードサポート(カーネルを4.10-rc8にアップグレードした後)で起動しますが、マウスタッチパッドでは起動しません。

0
user258424

私はまだ最高のカーネルを見つけました。私の他の投稿で説明しているものと同じパッチセットに加えて、トラックパッドでのマルチタッチに合わせてタイプカバーを機能させるものを使用します。 16.10インストールで実行しています。

このカーネルは、ダウンロード可能な.debパッケージに既にコンパイルされているため、ユーザーの作業はほとんど必要ありません。

動作するもの:

  • タッチ
  • ペン
  • wi-Fi
  • キーボード
  • トラックパッド
  • 物理ボリュームボタンとキーボードホットキー

しないこと:

  • sleep
  • たまにバギー

方向が動的であり、うまく配置されているので、方向を盗用する意味はありません。

https://www.reddit.com/r/SurfaceLinux/comments/4t64zt/getting_the_sp4_running_with_ubuntu_1604/

0

https://launchpad.net/~tigerite/+archive/ubuntu/kernel には、カーネルがパッケージ化されたPersonal Package Archive(PPA)があります。

「このPPAをシステムに追加する」の指示に従って、指定されたaptコマンドを実行します。

PPAの最近の更新(5月以降)が行われていないため、Yakkety(16.10)よりもXenial(16.04)のインストールを開始する方がおそらく良いでしょう。

0