onemix2s + Archlinux + qtile でのディスプレイ表示設定(これからもonemix2sは現役)

onemix2sは一時はgpd pocketに比らべられて話題になったが、今や win11に見放されて虫の息。

それなら早速Archlinuxをインストール。しかも、今回はちょっと変わったタイル型ウィンドウズマネージャを使ってみた。

選んだのは Qtile 。

Qtile はタイル型で、1つのディスプレイ画面に複数のウィンドウををきっちり分割して表示してくれる。このきっちり感が心地よく思えた。

でもマルチディスプレイの設定は苦手。今回はそれに挑戦。

現在の環境

onemix2s 解像度は 1920 x 1200 ( Archlinux + ly + qtile ) + サブディスプレイ ( hdmi接続で解像度は 1920×1080 )

1.ディスプレイの横型表示

まず、ディスプレイの横型表示に挑戦。デフォルトではタブレットと同様に、縦型表示。画面に合わせて頭を斜めに向けて画面を見ていると、首が痛くなる・・・

参考:

https://wiki.archlinux.jp/index.php/GPD_Pocket#.E5.9F.BA.E6.9C.AC.E8.A8.AD.E5.AE.9A_2

https://wiki.archlinux.jp/index.php/Xrandr

ドライバは xf86-video-intel だ

$ sudo nano /etc/X11/xorg.conf.d/20-monitor.conf


Section "Monitor"
  Identifier "eDP1"  # GPD-Pocketと異なる
  Option     "Rotate" "right"
EndSection

2.ミラーリングディスプレイの設定

そのままサブディスプレイをつなぐと、ミラーリングで解像度の違いを表現できない。

ここからは試行錯誤で、結果は以下の設定でミラーリングまでこぎつけた.。

参考:

https://wiki.archlinux.jp/index.php/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4

解像度の違い表示するには

/etc/X11/xorg.conf.d/20-monitor.conf を以下のように修正します。

イメージ的には、「右側にあるHDMI接続のディスプレイを 1920 x 1090 の解像度にしなさい」


Section "Monitor"
  Identifier "eDP1"
  Option     "Rotate" "right"
EndSection


Section "Monitor"
    Identifier  "HDMI1"
    Option      "RightOf" "HDMI1"
    Option      "PreferredMode" "1920x1080"
EndSection

これでミラーリングですが、解像度の違うディスプレが実現できました。

3.拡張ディスプレイの設定

ここから、拡張ディスプレイに設定するには・・・?

参考:

https://wiki.archlinux.jp/index.php/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4#.E4.BE.8B:_.E7.B5.B6.E5.AF.BE.E5.BA.A7.E6.A8.99.E3.82.92.E7.94.A8.E3.81.84.E3.82.8B.E3.83.87.E3.83.A5.E3.82.A2.E3.83.AB.E3.83.98.E3.83.83.E3.83.89.E8.A8.AD.E5.AE.9A

やはり、 /etc/X11/xorg.conf.d/20-monitor.conf に修正を加えます。

イメージ的には、左上を起点(0,0)にして、「onemixのディスプレイは(0,0)から表示。サブディスプレイはx軸方向に 1920 y軸方向に 120の位置に表示しなさい」

Section "Monitor"
  Identifier "eDP1"
  Option     "Rotate" "right"
  Option      "Position" "0 0"
EndSection


Section "Monitor"
    Identifier  "HDMI1"
    Option      "RightOf" "HDMI1"
    Option      "PreferredMode" "1920x1080"
    Option      "Position" "1920 120" 
                # 表示位置を左上を起点にして x軸の方向は1920 , y軸の方向は120(1200 - 1080)に表示
EndSection

マウスポインタはどちらの画面にも自由に動き、分割したい画面にマウスポインタをおいてアプリを起動すれば、その画面を分割してアプリをタイル型で配置してくれます。

ちなみに、xfce4での設定は以下のとおり。この中の数値も参考になった。

$ cat .config/xfce4/xfconf/xfce-perchannel-xml/displays.xml

<?xml version="1.0" encoding="UTF-8"?>

<channel name="displays" version="1.0">
  <property name="ActiveProfile" type="string" value="Default"/>
  <property name="Default" type="empty">
    <property name="eDP1" type="string" value="Laptop">
      <property name="Active" type="bool" value="true"/>
      <property name="EDID" type="string" value=""/>
      <property name="Resolution" type="string" value="1200x1920"/>
      <property name="RefreshRate" type="double" value="59.984512814701496"/>
      <property name="Rotation" type="int" value="270"/>
      <property name="Reflection" type="string" value="0"/>
      <property name="Primary" type="bool" value="true"/>
      <property name="Scale" type="empty">
        <property name="X" type="double" value="1"/>
        <property name="Y" type="double" value="1"/>
      </property>
      <property name="Position" type="empty">
        <property name="X" type="int" value="0"/>
        <property name="Y" type="int" value="0"/>
      </property>
    </property>
    <property name="HDMI1" type="string" value="YTH 16&quot;">
      <property name="Active" type="bool" value="true"/>
      <property name="EDID" type="string" value="891c137ae3be2c84719ba0d12dd0c0381668d208"/>
      <property name="Resolution" type="string" value="1920x1080"/>
      <property name="RefreshRate" type="double" value="60"/>
      <property name="Rotation" type="int" value="0"/>
      <property name="Reflection" type="string" value="0"/>
      <property name="Primary" type="bool" value="false"/>
      <property name="Scale" type="empty">
        <property name="X" type="double" value="1"/>
        <property name="Y" type="double" value="1"/>
      </property>
      <property name="Position" type="empty">
        <property name="X" type="int" value="1920"/>
        <property name="Y" type="int" value="0"/>
      </property>
    </property>
  </property>
  <property name="Fallback" type="empty">
    <property name="eDP1" type="string" value="Laptop">
      <property name="Active" type="bool" value="true"/>
      <property name="EDID" type="string" value=""/>
      <property name="Resolution" type="string" value="1200x1920"/>
      <property name="RefreshRate" type="double" value="59.984512814701496"/>
      <property name="Rotation" type="int" value="270"/>
      <property name="Reflection" type="string" value="0"/>
      <property name="Primary" type="bool" value="true"/>
      <property name="Scale" type="empty">
        <property name="X" type="double" value="1"/>
        <property name="Y" type="double" value="1"/>
      </property>
      <property name="Position" type="empty">
        <property name="X" type="int" value="0"/>
        <property name="Y" type="int" value="0"/>
      </property>
    </property>
    <property name="HDMI1" type="string" value="YTH 16&quot;">
      <property name="Active" type="bool" value="true"/>
      <property name="EDID" type="string" value="891c137ae3be2c84719ba0d12dd0c0381668d208"/>
      <property name="Resolution" type="string" value="1920x1080"/>
      <property name="RefreshRate" type="double" value="60"/>
      <property name="Rotation" type="int" value="0"/>
      <property name="Reflection" type="string" value="0"/>
      <property name="Primary" type="bool" value="false"/>
      <property name="Scale" type="empty">
        <property name="X" type="double" value="1"/>
        <property name="Y" type="double" value="1"/>
      </property>
      <property name="Position" type="empty">
        <property name="X" type="int" value="1920"/>
        <property name="Y" type="int" value="0"/>
      </property>
    </property>
  </property>
  <property name="Notify" type="int" value="1"/>
  <property name="70acef92715e153b69710882a216934dbaf652d4" type="string" value="20231125">
    <property name="eDP1" type="string" value="Laptop">
      <property name="Active" type="bool" value="true"/>
      <property name="EDID" type="string" value=""/>
      <property name="Resolution" type="string" value="1200x1920"/>
      <property name="RefreshRate" type="double" value="59.984512814701496"/>
      <property name="Rotation" type="int" value="270"/>
      <property name="Reflection" type="string" value="0"/>
      <property name="Primary" type="bool" value="true"/>
      <property name="Scale" type="empty">
        <property name="X" type="double" value="1"/>
        <property name="Y" type="double" value="1"/>
      </property>
      <property name="Position" type="empty">
        <property name="X" type="int" value="0"/>
        <property name="Y" type="int" value="0"/>
      </property>
    </property>
    <property name="HDMI1" type="string" value="YTH 16&quot;">
      <property name="Active" type="bool" value="true"/>
      <property name="EDID" type="string" value="891c137ae3be2c84719ba0d12dd0c0381668d208"/>
      <property name="Resolution" type="string" value="1920x1080"/>
      <property name="RefreshRate" type="double" value="60"/>
      <property name="Rotation" type="int" value="0"/>
      <property name="Reflection" type="string" value="0"/>
      <property name="Primary" type="bool" value="false"/>
      <property name="Scale" type="empty">
        <property name="X" type="double" value="1"/>
        <property name="Y" type="double" value="1"/>
      </property>
      <property name="Position" type="empty">
        <property name="X" type="int" value="1920"/>
        <property name="Y" type="int" value="0"/>
      </property>
    </property>
  </property>
</channel>

コメント

タイトルとURLをコピーしました