~$ ./setmonitor.sh
output list HDMI-0,VGA-0
add monitor HDMI-0
output name HDMI-0
add monitor VGA-0
output name VGA-0
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 43 ()
Value in failed request: 0x8a
Serial number of failed request: 29
Current serial number in output stream: 30
~$
なぜ -55 がダメなのか(技術的理由)
setmonitor は内部で:
HDMI-0(1200×1600)
VGA-0(900×1600 → scale 1.11 → 999×1776)
を ひとつの巨大仮想モニタ に再配置する。
このとき:
HDMI-0 の原点は (900,0)
VGA-0 の原点は (0, Y)
Y が “仮想モニタの上端より上” だと BadValue になる
scale 1.11 のせいで、
VGA の高さが 1776px に膨らむため、
Y の許容範囲が狭くなる。