Xrandr hidpi scaling

I have a mix of both 4k (3840x2160) and 1080p monitors and I need to scale so the text on the 4k is more readable.

I’m having an issue because --scale does not zoom, it only changes the view port size. The issue only occurs with the amdgpu, not the intel gpu.

When I set

xrandr  --output DVI-D-1-0 --mode 1920x1080 --pos 7680x0 --scale 2

the output is not scaled, the monitor shows the top left quadrant of 3840x2160. The rest of the workspace spills over to the next monitor and below the monitor.

DVI-D-1-0 connected primary 3840x2160+7680+0 (normal left inverted right x axis y axis) 509mm x 286mm
   1920x1080     60.00*+
   1680x1050     60.00  
   1280x1024     75.02    60.02  
   1440x900      60.00  
   1280x800      60.00  
   1152x864      75.00  
   1280x720      60.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   640x480       75.00    59.94  
   720x400       70.08  

But if I scale on a monitor attached from the onboard intel gpu, it scales to fit 3840x2160 into 1920x1080

xrandr --output HDMI1 --mode 1920x1080 --pos 11520x0 --scale 2
HDMI1 connected 3840x2160+9600+0 (normal left inverted right x axis y axis) 510mm x 290mm
   1920x1080     60.00*+
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   640x480       75.00    72.81    66.67    59.94  
   720x400       70.08  

I also tried panning, but not I get errors.

xrandr --output DVI-D-1-0 --mode 1920x1080 --scale 2 --pos 7680x0 --rotate normal --panning 1920x1080
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  29 (RRSetPanning)
  Serial number of failed request:  68
  Current serial number in output stream:  68

Any idea what causes the discrete gpu to behave differently?

xorg 1.20.9
i3-gaps 4.19-1
amdgpu 20.2.3

Not sure why I cant edit, but found someone is working on it, Draft: modesetting: apply transforms in PRIME shared pixmap updates (!567) · Merge Requests · xorg / xserver · GitLab