Some issues with using redox
Created by: mahkoh
I tried to use redox a bit and encountered the following issues.
Variables are hard-coded in the Makefile
I cannot use my normal rustc to compile redox so I installed a new nightly into a custom prefix. The makefile can then be made use the new rustc by replacing
RUSTC=RUST_BACKTRACE=1 rustc
with
RUSTC=RUST_BACKTRACE=1 redox-rustc
But since the Makefile is tracked by git this is a bit problematic. Instead, all of those variables should be read from a config.mk
which is not tracked by git.
Redox is quite sluggish and uses 100% cpu
I tried it in both virtualbox and qemu (without kvm, which my system does not support). In virtualbox it is completely unusable. qemu is better but still slow. Either way it uses 100% cpu constantly. This looks like a bug.
Redox cannot be used without graphical output
I don't want to use the graphical output for various reasons:
- It's slow
- It doesn't understand my keyboard layout
- Fixed size windows don't work in my twm
It's almost possible to use redox without graphics but not quite. At the start it asks you to select an output size and waits for an answer. If you start it without graphics output, you cannot answer (maybe you can but I don't know qemu enough to do it). I fixed this with the following hack in vesa.asm:
; int 0x16
mov ax, 'y'
pop esi
cmp al, 'y'
jne .searchmodes
With this I can use redox in qemu with the -nographic
option. This makes redox much faster (but doesn't fix the 100% cpu issue.) Maybe an option could be added that completely disables the graphics part of the kernel?