例如,我的应用程序(游戏)只有 640x480 分辨率。现在我有 2 个选择:以窗口模式启动它,大小为 640x480,或者启用全屏并填充整个屏幕。
我想要的是调整应用程序的大小而不进入全屏(例如到 1024x768)。
目前我已经尝试了2种解决方案:
在 中启用“模拟虚拟桌面”
winecfg
。起初它会启动具有该分辨率的桌面,但是当我在应用程序中启用全屏时,它会将桌面缩小到 640x480。在内部 X-server 中启动 Wine:
Xephyr -ac -br -noreset -screen 1024x768 :1.0 & ZEPHYR_PID=$! sleep 1 DISPLAY=:1.0 wine game.exe kill $ZEPHYR_PID
这里同样的问题,当我启用全屏时它会调整窗口大小。
答案1
我曾经在全屏模式下玩过,我制作了脚本来更改显示器的分辨率和刷新率,因为我使用了错误的速率,在我的显示器中出现了一个带有消息“Entrace not adm”的浮动框。为了修复我使用类似下面的东西
这是“黑桃 A”
#!/bin/bash
# Resolution Fix
echo `xrandr --current | grep current | awk '{print $8}'` >> /tmp/width
echo `xrandr --current | grep current | awk '{print $10}'` >> /tmp/height
cat /tmp/height | sed -i 's/,//g' /tmp/height
WIDTH=$(cat /tmp/width)
HEIGHT=$(cat /tmp/height)
rm /tmp/height /tmp/height
echo "$WIDTH"x"$HEIGHT" >> /tmp/Resolution
Resolution=$(cat /tmp/Resolution)
rm /tmp/Resolution
# Resolution Fix
BINARY="$HOME/.wine/drive_c/Ace of Spades/client.exe"
$(wine "$BINARY" -"$@" "%u") &
xrandr -s 800x600 -r 77
sleep 2
BINARYPID=$(pidof $BINARY)
taskset -p 0xFFFFFFFF $BINARYPID &
while Launchers=$(pidof "client.exe")
do
sleep 1
done
xrandr -s $Resolution -r 63
exit 0
在 Resume 这个脚本中,它用于启动 Ace Of Spade,从“mimetype”和来自网络浏览器的服务器,使用协议“aos://”,这是它的另一种配置类型,我在这里不解释。
这次启动游戏,游戏启动后,显示器的分辨率变为800x600,直到我关闭游戏,当我关闭游戏时,我的分辨率又恢复了。