X服务器8位伪彩色启动调色板(linux xdoom)

X服务器8位伪彩色启动调色板(linux xdoom),linux,x11,color-palette,Linux,X11,Color Palette,我在看1997年Linux版xDoom最初的32位端口,它运行在Ubuntu 64位上 声音和输入是工作,我得到图形输出,但颜色都错了 代码假定为8位伪屏幕,我使用Xypher(Xserver)提供了一个8位深的窗口 因此我得到的印象是xDoom假设这个8256伪彩色屏幕有一个固定/默认的调色板,而X窗口没有 所以我需要知道两件事: 256伪彩色X窗口的调色板是什么 在xDoom启动之前,如何使用脚本/程序为X窗口指定颜色 在这一点上,我假设8位RGB3X2,但我真的不知道 我的启动脚本如下

我在看1997年Linux版xDoom最初的32位端口,它运行在Ubuntu 64位上

声音和输入是工作,我得到图形输出,但颜色都错了

代码假定为8位伪屏幕,我使用Xypher(Xserver)提供了一个8位深的窗口

因此我得到的印象是xDoom假设这个8256伪彩色屏幕有一个固定/默认的调色板,而X窗口没有

所以我需要知道两件事:

  • 256伪彩色X窗口的调色板是什么
  • 在xDoom启动之前,如何使用脚本/程序为X窗口指定颜色
在这一点上,我假设8位RGB3X2,但我真的不知道

我的启动脚本如下所示:

#!/bin/sh
Xephyr :2 -ac -br -screen 1280x800x8 -reset -terminate -title DOOM &
#DISPLAY=:2 ./setupcolorpalette
DISPLAY=:2 ./linuxxdoom -4 -warp 1 1

我需要一些关于做这个脚本或代码的想法

我也有同样的问题。通过在第819行附近的
i_video.c
中添加以下行(就在调用XDefineCursor之前)进行修复


我在一个关闭的PullRequest for DOOM中找到了这个补丁:

找到了这个补丁,它将8位伪彩色描述为一个8位索引,可转换为2400万种颜色。所以我的3x2格式不正确!深入查看代码,xdoom似乎显式地设置了颜色映射。所以为什么颜色出现错误是个谜。你找到解决办法了吗?很遗憾,我没有找到解决办法!
XInstallColormap(X_display, X_cmap);