开源掌机吧 关注:70,480贴子:1,199,390
  • 19回复贴,共1

rocknix 系统安装wine运行windows游戏,适用于大部分开源机

只看楼主收藏回复

rocknix下自带wayland,且gpu可驱动,可以跑3d,能运行的游戏挺多的,不过一些机器没有vulkan支持,没法用dxvk
rocknix作为jelos的分支,支持的机型多涵盖广,应该可以涵盖到大部分3326以上的开源机.甚至周割的h700系列也有支持
=======下面是教程,也可以整合成sh放在机器一键运行=======
第一步
确定机器有rocknix,然后刷机,安装好自带的portmaster(在tool目录下,模拟键鼠需要)
链接网络连上ssh,ssh账户密码一般是root和rocknix
第二步
从这里github.com/Kron4ek/Wine-Builds/releases选择一个自己想要的wine,推荐下个32位的或者wow64的
并且解压进自己喜欢的位置(我一般是放进ports目录),这一步最好在ext4下操作,最好是机器内操作
示例:可以通过ssh在机器上完成这一步,例如如下
cd ~/roms/ports
mkdir wine
cd wine
wget https://github.com/Kron4ek/Wine-Builds/releases/download/9.19/wine-9.19-staging-tkg-x86.tar.xz
#这里的链接和下面的文件名取决于你选择的版本,也可以用winsfp传输到机器上
tar-xvf wine-9.19-staging-tkg-x86.tar.xz
rmwine-9.19-staging-tkg-x86.tar.xz
第三步
ports目录下新建个sh文件,内容如下(这里只是作为示例,贴吧发的代码估计直接复制会有问题)
https冒号//pan点baidu点com/s/1bvyNYiGVAPgraqwSg8Yqlg?pwd=smxd 这里放了一份我自己用的文件,觉得麻烦的可以用我的,记得吧wine.gptk放进ports/wine下,修改wine文件夹为自己的.
#!/bin/bash
XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}
if [ -d "/opt/system/Tools/PortMaster/" ]; then
controlfolder="/opt/system/Tools/PortMaster"
elif [ -d "/opt/tools/PortMaster/" ]; then
controlfolder="/opt/tools/PortMaster"
elif [ -d "$XDG_DATA_HOME/PortMaster/" ]; then
controlfolder="$XDG_DATA_HOME/PortMaster"
else
controlfolder="/roms/ports/PortMaster"
fi
source $controlfolder/control.txt
source $controlfolder/device_info.txt
get_controls
GAMEDIR="/$directory/ports/wine"
> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1
GPTOKEYB_CONFIG="$GAMEDIR/wine.gptk"
export TEXTINPUTINTERACTIVE="Y"
export TEXTINPUTNOAUTOCAPITALS="Y"
export SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig"
cd $GAMEDIR
$ESUDO chmod 666 /dev/tty1
$ESUDO chmod 666 /dev/uinput
$GPTOKEYB "wine" $HOTKEY textinput -c "$GPTOKEYB_CONFIG" &
swaymsg output DSI-1 scale 1.0 #800x600的话是0.61024x768是0.63这些是基于480p屏幕寨机,其他高分辨率寨机忽视这一条
box86 ~/roms/ports/wine/wine-9.19-staging-tkg-x86/bin/wine explorer
#这一步可以设置虚拟桌面分辨率以及缩放,上面是默认缩放加无虚拟桌面,下面注释掉的是800x600加缩放##
#swaymsg output DSI-1 scale 0.8
#box86 ~/roms/ports/wine/wine-9.19-staging-tkg-x86/bin/wine explorer /desktop=VirtualDesktop,800x600 explorer
$ESUDO kill -9 $(pidof gptokeyb)
$ESUDO systemctl restart oga_events &
printf "\033c" >> /dev/tty1
完成如上步骤后在ports/wine目录下新建wine.gptk文件用来映射手柄到键鼠,原生支持手柄的游戏可以不用这一步
内容如下,仅作参考,具体看个人习惯设置
back = esc
start = enter
a = \"
b = \"
x = \"
y = \"
l1 = mouse_left
l2 = \"
r1 = mouse_right
r2 = \"
up = up
down = down
left = left
right = right
left_analog_up = up
left_analog_down = down
left_analog_left = left
left_analog_right = right
right_analog_up = mouse_movement_up
right_analog_down = mouse_movement_down
right_analog_left = mouse_movement_left
right_analog_right = mouse_movement_right
deadzone_triggers = 3000
mouse_scale = 8192
mouse_delay = 16
,至此就可以打开机器的ports打开你新建的那个sh文件启动wine了,具体游戏缺运行库或者兼容问题,可以参考exagear或者winlator,,或者pc端wine的处理方法,


IP属地:山东1楼2024-10-13 18:02回复
    内存不够的机器可以在ports目录下添加swap文件开虚拟内存
    dd if=/dev/zero of=./swapfile bs=1M count=2048
    mkswap ./swapfile
    chmod 0600 swapfile
    swapon ./swapfile
    可以把下面的命令存为sh文件放在ports下,方便以后开启
    swapon /storage/roms/ports/swapfile


    IP属地:山东2楼2024-10-13 18:19
    回复
      2025-12-26 19:17:58
      广告
      不感兴趣
      开通SVIP免广告
      不错 挺好的


      IP属地:湖北3楼2024-10-13 23:00
      回复
        牛笔啊,感谢大佬


        IP属地:山西来自Android客户端4楼2024-10-14 17:26
        回复
          box64包wine, win x86->linux x84-> arm64 转两层有点蛋疼。上个月v社有消息测试proton on arm64,到时候会方便不少。
          通过portmaster的环境wayland和x11都不是必选项,直接通过sdl2输出的。你要gpu加速环境里要把GL4ES编译进去环境里也配置上
          export LIBGL_ES=2export LIBGL_GL=21export LIBGL_FB=4


          IP属地:上海5楼2024-10-14 18:02
          收起回复
            楼主 我直接用的最新的wine10.2 但是没有指针 插上鼠标也不显示 怎么解决啊


            IP属地:江苏11楼2025-02-26 11:15
            回复
              大佬,你网盘文件打不开呀,能补个链接吗


              IP属地:辽宁来自Android客户端12楼2025-04-04 14:58
              回复
                大佬可以发个懒人包吗,小白搞了半天实在搞不出来


                IP属地:山西13楼2025-04-19 21:52
                收起回复