redox-os issueshttps://gitlab.redox-os.org/groups/redox-os/-/issues2023-04-27T05:18:44Zhttps://gitlab.redox-os.org/redox-os/drivers/-/issues/34Tracking issue for acpid features2023-04-27T05:18:44ZRon WilliamsTracking issue for acpid features`acpid` needs the following features (among other things). Each item is relatively separate. A star at the end means you will need to understand the domain well. + or ++ indicates more effort.
- [ ] fix bug in `acpid` when using Rusty Ob...`acpid` needs the following features (among other things). Each item is relatively separate. A star at the end means you will need to understand the domain well. + or ++ indicates more effort.
- [ ] fix bug in `acpid` when using Rusty Object Notation for serialization - See #33 (ACPI knowledge not needed)
- [ ] change the `acpi` crate from `github.com/rust-osdev/acpi` so the table types are not parameterized `<H>`, but the `new` function is, and add a `from_table` new function that takes a virtual memory byte stream and creates a new table *++ https://github.com/rust-osdev/acpi/issues/172
- [ ] publish various acpi tables as serialized data, and provide a serialized interface definition *++
- [ ] implement some acpi related functionality such as battery management, as a way of clarifying requirements for acpi *+
- [ ] implement new acpi table types such as DMAR (we have a partial implementation of DMAR) *++https://gitlab.redox-os.org/redox-os/rusttype/-/issues/161Fallible outline builder2023-04-26T09:18:28ZGijs BurghoornFallible outline builderSince `OutlineBuilder` usually builds into some `String` or some struct that implements `io::Write`, it would be nice to be able to have a `FallibleOutlineBuilder` that results in a `Result<()>` with a `Error` as an associated type for t...Since `OutlineBuilder` usually builds into some `String` or some struct that implements `io::Write`, it would be nice to be able to have a `FallibleOutlineBuilder` that results in a `Result<()>` with a `Error` as an associated type for the `line_to`, `move_to`, etc.
I am not 100% sure how this should be incorporated. Possibly, we could make `OutlineBuilder` a supertrait of `FallibleOutlineBuilder` with the `Error=!`. If it is wanted, I can attempt to make an MR for this.https://gitlab.redox-os.org/redox-os/drivers/-/issues/33acpid: Change serialization of symbols to use Rusty Object Notation2023-06-11T09:22:45ZRon Williamsacpid: Change serialization of symbols to use Rusty Object NotationIn `acpid`, near https://gitlab.redox-os.org/redox-os/drivers/-/blob/master/acpid/src/acpi.rs#L342
```
if let Ok(ser_string) = serde_json::to_string_pretty(&ser_value) {
```
We would like to use Rusty Object Notation, but it crashes duri...In `acpid`, near https://gitlab.redox-os.org/redox-os/drivers/-/blob/master/acpid/src/acpi.rs#L342
```
if let Ok(ser_string) = serde_json::to_string_pretty(&ser_value) {
```
We would like to use Rusty Object Notation, but it crashes during initialization when it tries to fill with random data. It crashes accessing `/dev/rand`. This needs to be fixed and serialization converted to RON.https://gitlab.redox-os.org/redox-os/orbutils/-/issues/65Make apps and icons of launcher configurable2023-04-25T12:27:20ZAndrew MackenzieMake apps and icons of launcher configurableAdd a config file read at startup (or restart/signal?) that lists the dock contents:
- icon to show, binary name to invoke, hotkey to be used
So that people can edit it and replace or add to the listAdd a config file read at startup (or restart/signal?) that lists the dock contents:
- icon to show, binary name to invoke, hotkey to be used
So that people can edit it and replace or add to the listhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1373Draft: Analysis of repos, recipes and forks2023-06-13T18:26:11ZAndrew MackenzieDraft: Analysis of repos, recipes and forksRecipes that refer to repos that are part of Redox-os
* book
* bootloader
* bootstrap
* ca-certificates
* calculator (orbcalculator, not sure if still needed with orbutils/calculator)
* classicube - points to a repo of Jeremy´s
* cleye
*...Recipes that refer to repos that are part of Redox-os
* book
* bootloader
* bootstrap
* ca-certificates
* calculator (orbcalculator, not sure if still needed with orbutils/calculator)
* classicube - points to a repo of Jeremy´s
* cleye
* contain
* cpal
* ion
* orbclient
* orbdata
* orbital
* orbterm
* orbutils
* orbutils-background
* orbutils-launcher
* orbutils-orblogin
* redox-fatfs
* redox-ssh - a fork of SSH?
* redoxerd
* redoxfs
* relibc
* relibc-tests
* sodium
* zerod
Recipes that use external repos "as-is" (no specific SHA, or branch for redox support)
* autoconf
* automake
* cosmic-text - https://github.com/pop-os/cosmic-text.git
* cmake
* cmatrix - https://github.com/abishekvashok/cmatrix
* crates-io-index - https://github.com/rust-lang/crates.io-index.git
* wesnoth - https://github.com/wesnoth/wesnoth.git
* zlib
Redox-os repos that are forks of upstream (TO BE Checked)
* binutils - ?
* cargo
* coreutils?
* curl
* dash?
Recipes that refer to forks or have patches to get them to work on redox-os
* atk - Gnome atk
* bash - patched
* cairo - patched
* cairodemo - patched
* diffutils - patched
* dosbox - patched
* netsurf - Netsurf
* winit - https://gitlab.redox-os.org/redox-os/winit.git - redox branch
* webrender - https://gitlab.redox-os.org/redox-os/webrender.git- redox branch
* xz - https://codeload.github.com/xz-mirror/xz/tar.gz/v5.2.5
TODO
drivers
drivers-041
drivers-initfs
duktape
dynamic-example
eduke32
escalated
exampled
expat
extrautils
fal
fd
ffmpeg
findutils
flycast
fontconfig
freeciv
freedoom
freeglut
freepats
freetype
friar
fribidi
game-2048
games
gawk
gcc
gdbserver
gdk-pixbuf
gears
generaluser-gs
gettext
gigalomania
git
glib
glium
glutin
gnu-binutils
gnu-grep
gnu-make
gstreamer
harfbuzz
hematite
iced
init
initfs
installer
installer-gui
ipcd
jansson
jeremy
kernel
keyboard-sfx
lci
libc-bench
libcosmic
libffi
libflac
libgmp
libiconv
libjpeg
libogg
liborbital
libpng
libretro-super
libsodium
libssh2
libvorbis
libxml2
llvm
logd
lua
mdp
mednafen
mesa
mesa_glu
mgba
miniserve
nasm
ncdu
ncurses
ncursesw
netdb
netstack
netutils
neverball
newlib
newlibtest
nghttp2
noto-color-emoji
nulld
openjazz
openssl
openttd
openttd-opengfx
openttd-openmsx
openttd-opensfx
osdemo
pango
pastel
patch
pathfinder
pciids
pcre
perg
periodictable
perl
pixelcannon
pixman
pkg-config
pkgar
pkgutils
pop-icon-theme
powerline
prboom
procedural-wallpapers-rs
ptyd
python
qemu
ramfs
randd
readline
resist
retroarch
ripgrep
rodioplay
rs-nes
rust
rust-cairo
rust-cairo-demo
rust64
rustpython
rustual-boy
schismtracker
scummvm
sdl
sdl-player
sdl2
sdl2_gears
sdl2_image
sdl2_mixer
sdl2_ttf
sdl_gfx
sdl_image
sdl_mixer
sdl_ttf
sed
servo
shared-mime-info
shellharden
shellstorm
sm64ex
smith
sopwith
spacecadetpinball
ssh
strace
syobonaction
terminfo
termplay
timidity
tokei
ttf-hack
userutils
uutils
vice
vim
vttest
vvvvvvhttps://gitlab.redox-os.org/redox-os/orbutils/-/issues/64Add calculator to CI2023-05-08T09:47:45ZAndrew MackenzieAdd calculator to CIOnce MR is merged that adds CI on linux for most of the apps, then fix the CI build problem with calculator (related to slint) and add it to the build and test CI on all platforms that are supported.
This is the error currently:
```
I h...Once MR is merged that adds CI on linux for most of the apps, then fix the CI build problem with calculator (related to slint) and add it to the build and test CI on all platforms that are supported.
This is the error currently:
```
I haven't been able to get calculator to run on linux yet and hence it is not tested in CI either.
It fails with the following error:
error: The platform you're compiling for is not supported by winit
--> /home/andrew/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.28.3/src/platform_impl/mod.rs:67:1
|
67 | compile_error!("The platform you're compiling for is not supported by winit");
If anyone can help me fix that, we can then add it to CI on linux also.
```https://gitlab.redox-os.org/redox-os/orbutils/-/issues/63Get redoxer CI working2023-04-25T15:29:26ZAndrew MackenzieGet redoxer CI workingOnce https://gitlab.redox-os.org/redox-os/orbutils/-/merge_requests/60 is merged and linux has CI, then fix the CI for redox-os build and testOnce https://gitlab.redox-os.org/redox-os/orbutils/-/merge_requests/60 is merged and linux has CI, then fix the CI for redox-os build and testhttps://gitlab.redox-os.org/redox-os/orbclient/-/issues/50Move "bench tests" in examples to be real rust bench tests2023-04-20T13:47:14ZAndrew MackenzieMove "bench tests" in examples to be real rust bench testshttps://gitlab.redox-os.org/redox-os/kernel/-/issues/117SIGKILL can block file descriptors from closing2024-03-17T16:54:46ZAndrew MackenzieSIGKILL can block file descriptors from closingInvestigating https://gitlab.redox-os.org/redox-os/orbital/-/issues/21 and discussing on chat, it seems that there is in fact a kernel bug causing this, and it seems to work with some apps, not with others.
Reproduction
- login with ent...Investigating https://gitlab.redox-os.org/redox-os/orbital/-/issues/21 and discussing on chat, it seems that there is in fact a kernel bug causing this, and it seems to work with some apps, not with others.
Reproduction
- login with enter
- open orbterm
- type "file_manager&" at the terminal prompt
- file manager window will open
- back at terminal type "ps" and note the PID of the file_manager
- at terminal type "kill 9 {PID}
- will see "pipeline execution error: process ({PID}) ended by SIGKILL
- type "ps" again, you will see that process no longer exists
- the window for file manager is still shown on the screen, you can try to close it etc but it is unresponsive
if you repeat the above with "calculator", all works as expected. Same with "orbterm".
Adding logging to the call to handle_window_close() in scheme.rs in Orbital, we see that:
- File Manager -> handle_window_close() is not called
- Calculator -> handle_window_close() is called
```
kernel::scheme::user:WARN -- Unaligned map size for context Some("/ui/bin/orbterm")
main path: file:/home/user
2023-03-28T14-24-47..004++00:00 [launcher@launcher:424 INFO] launcher: /ui/bin/file_manager (72) exited with signal: 9 (SIGKILL)
2023-03-28T14-25-09..926++00:00 [orbital@orbital::scheme:380 DEBUG] handle_window_close 7
2023-03-28T14-25-10..001++00:00 [launcher@launcher:424 INFO] launcher: /ui/bin/calculator (77) exited with signal: 9 (SIGKILL)
```https://gitlab.redox-os.org/redox-os/book/-/issues/143Add warning/instructions for macos dependency : bison2023-04-17T08:18:05ZAndrew MackenzieAdd warning/instructions for macos dependency : bisonmacos has a version of bison already installed, but it is too old and the build fails.
installing a newer version of bison using brew is needed.
However, the brew install of bison is "keg only" and not added to the path.
If you add it...macos has a version of bison already installed, but it is too old and the build fails.
installing a newer version of bison using brew is needed.
However, the brew install of bison is "keg only" and not added to the path.
If you add it to the path AFTER the apple version, you will continue to be using the older version and build will fail.
So, you need to follow the instructions printed out from brew when running "brew install bison" and add it to the start of your $PATH
Here is the output of me re-installing it
```
❯ brew reinstall bison
==> Fetching bison
==> Downloading https://ghcr.io/v2/homebrew/core/bison/manifests/3.8.2
Already downloaded: /Users/andrew/Library/Caches/Homebrew/downloads/0a84b14c20dfba4609542ea4b14a4eb93d369f7f83f373b568017fc7d76b6505--bison-3.8.2.bottle_manifest.json
==> Downloading https://ghcr.io/v2/homebrew/core/bison/blobs/sha256:fc0224d45c74ee561128eb9df366ccb08698b1d659cfb92ea746e57da0108806
Already downloaded: /Users/andrew/Library/Caches/Homebrew/downloads/0865a0dc7ef4c841a5650a22e6ce05918c025ca1dbadf91d0e18551aca1f4ac3--bison--3.8.2.ventura.bottle.tar.gz
==> Reinstalling bison
==> Pouring bison--3.8.2.ventura.bottle.tar.gz
==> Caveats
bison is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.
If you need to have bison first in your PATH, run:
echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> ~/.zshrc
For compilers to find bison you may need to set:
export LDFLAGS="-L/usr/local/opt/bison/lib"
==> Summary
🍺 /usr/local/Cellar/bison/3.8.2: 99 files, 3.7MB
==> Running `brew cleanup bison`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
Warning: Calling plist_options is deprecated! Use service.require_root instead.
Please report this issue to the ethersphere/tap tap (not Homebrew/brew or Homebrew/homebrew-core), or even better, submit a PR to fix it:
/usr/local/Homebrew/Library/Taps/ethersphere/homebrew-tap/swarm-clef.rb:53
Warning: Calling plist_options is deprecated! Use service.require_root instead.
Please report this issue to the ethersphere/tap tap (not Homebrew/brew or Homebrew/homebrew-core), or even better, submit a PR to fix it:
/usr/local/Homebrew/Library/Taps/ethersphere/homebrew-tap/swarm-bee.rb:56
```https://gitlab.redox-os.org/redox-os/redox/-/issues/1372Changes required to make macos build more reliable2023-04-17T14:27:45ZAndrew MackenzieChanges required to make macos build more reliableWe have found a few things that cause the build to fail on macos, depending on user's config:
- env values for CC and CXX affect it. We recommend unsetting both here https://gitlab.redox-os.org/redox-os/redox/-/blob/master/mk/prefix.mk ...We have found a few things that cause the build to fail on macos, depending on user's config:
- env values for CC and CXX affect it. We recommend unsetting both here https://gitlab.redox-os.org/redox-os/redox/-/blob/master/mk/prefix.mk
- it requires "makeinfo", which is part of brew texinfo package. We recommend the build fails when it is not found, not continue, and it could be documented as a pre-requisite in the book developing section.https://gitlab.redox-os.org/redox-os/orbutils/-/issues/62Current master is in a broken state2023-04-07T09:43:44ZKivimangoCurrent master is in a broken stateHello !
I would like to commit my orblogin slint port, but I'm blocked by the current state of the master branch:
running `cargo run --bin calculator --release` on a Manjaro Linux fails to compile due to winit error:
```
error: The plat...Hello !
I would like to commit my orblogin slint port, but I'm blocked by the current state of the master branch:
running `cargo run --bin calculator --release` on a Manjaro Linux fails to compile due to winit error:
```
error: The platform you're compiling for is not supported by winit
--> /home/sapka/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.28.1/src/platform_impl/mod.rs:67:1
|
67 | compile_error!("The platform you're compiling for is not supported by winit");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
```
When i enable the default features in `calculator/Cargo.toml` for slint, it compiles fine.
```
slint = { git = "https://github.com/slint-ui/slint", features = ["compat-0-3-0", "renderer-winit-software"] }
```https://gitlab.redox-os.org/redox-os/orbital/-/issues/68Add restore option to window tiling shortcuts2023-04-17T14:27:22ZAndrew MackenzieAdd restore option to window tiling shortcutsRestore window size back to original size after tiling left/right/top/bottom when the same shortcut is done again.
This allows the user to get the window back to its original size and location.
Use same restore struct as when maximizin...Restore window size back to original size after tiling left/right/top/bottom when the same shortcut is done again.
This allows the user to get the window back to its original size and location.
Use same restore struct as when maximizing. Code for max/restore and tiling can probably be combined more also.https://gitlab.redox-os.org/redox-os/orbital/-/issues/67Focus not set to top window when SUPER-TAB switching between windows2023-04-05T18:28:30ZAndrew MackenzieFocus not set to top window when SUPER-TAB switching between windowsWhen super-tab switching, we attempt to set the focus to the new window, but it doesn't appear to be working, and all the windows are left without focus and it seems to move to the launcher.
This causes problems such as key input to the...When super-tab switching, we attempt to set the focus to the new window, but it doesn't appear to be working, and all the windows are left without focus and it seems to move to the launcher.
This causes problems such as key input to the new window being lost and some keyboard shortcuts inadvertently modifying the Launcher window.https://gitlab.redox-os.org/redox-os/orbital/-/issues/66Improve SUPER overlay2023-04-04T17:19:54ZAndrew MackenzieImprove SUPER overlayIdeas for improving it:
- small delay before showing it, so in normal use when user types the other key "immediately" it is not shown.
- Better texts, shorter, easier to read
- Use of Unicode characters for some of the keys
- Better stylingIdeas for improving it:
- small delay before showing it, so in normal use when user types the other key "immediately" it is not shown.
- Better texts, shorter, easier to read
- Use of Unicode characters for some of the keys
- Better stylinghttps://gitlab.redox-os.org/redox-os/orbital/-/issues/65Maximize/restore window with double-clock on titlebar2023-04-04T16:21:27ZAndrew MackenzieMaximize/restore window with double-clock on titlebarWill need to investigate where to add double-clock detection, in Orbital or in the mouse event generation?
I think better the second, but will require modification of the mouse event (Orbclient?) so other apps can also receive it...Will need to investigate where to add double-clock detection, in Orbital or in the mouse event generation?
I think better the second, but will require modification of the mouse event (Orbclient?) so other apps can also receive it...https://gitlab.redox-os.org/redox-os/orbital/-/issues/64Add tile left/right/top/bottom shortcuts2023-04-05T21:19:21ZAndrew MackenzieAdd tile left/right/top/bottom shortcutsAdd four or ital keyboard shortcuts to move the top window to occupy the left/top/right/bottom half of the display.
Add to shortcuts overlay.
Add to a doc in repo.Add four or ital keyboard shortcuts to move the top window to occupy the left/top/right/bottom half of the display.
Add to shortcuts overlay.
Add to a doc in repo.https://gitlab.redox-os.org/redox-os/orbital/-/issues/63Sometimes super events being sent to Launcher is not working2023-04-04T08:37:28ZAndrew MackenzieSometimes super events being sent to Launcher is not workingAfter logout and backing?
Super-T for terminal and the like stop workingAfter logout and backing?
Super-T for terminal and the like stop workinghttps://gitlab.redox-os.org/redox-os/orbital/-/issues/62Orbital processing super-key events at login window2023-04-04T08:36:45ZAndrew MackenzieOrbital processing super-key events at login windowAll the logic for super-key events for shortcuts etc are still being processed when the login window is displayed.
I think it will need some sort of special mode for login window?
Or maybe the super key events are not being sent correc...All the logic for super-key events for shortcuts etc are still being processed when the login window is displayed.
I think it will need some sort of special mode for login window?
Or maybe the super key events are not being sent correctly to login window (in place of launcher window) when it is being displayed?
Related to the "Hack" to send to the lowest numbered window?
All windows should be killed and ONLY window alive is login window, hence it gets the Super key events?
-> still need to disable Orbital from reacting to super keys itself?https://gitlab.redox-os.org/redox-os/orbclient/-/issues/49v0.3.35 breaks the MacOS build2023-04-05T21:15:28ZWill Angenentv0.3.35 breaks the MacOS buildIn commit [1baac6393](https://gitlab.redox-os.org/redox-os/drivers/-/commit/1baac63934bdff98e5a50752b1925e7126025fb8) in the drivers recipe, `Cargo.lock` got updated. This now pulls in `orbclient >= 0.3.35`. The [0.3.35 commit](https://g...In commit [1baac6393](https://gitlab.redox-os.org/redox-os/drivers/-/commit/1baac63934bdff98e5a50752b1925e7126025fb8) in the drivers recipe, `Cargo.lock` got updated. This now pulls in `orbclient >= 0.3.35`. The [0.3.35 commit](https://gitlab.redox-os.org/redox-os/orbclient/-/commit/2fa84f0442edfebb4d4bb298bfca59e32f31f39a) breaks the drivers build in MacOS with this error:
```
error: library kind `framework` is only supported on Apple targets
```
Ironically, the commit in orbclient is supposed to fix the MacOS build. This is related to the line in build.rs:
```
fn main() {
if cfg!(target_os = "macos") {
println!("cargo:rustc-link-lib=framework=CoreHaptics");
}
}
```
If I remove `build.rs`, I am able to build the drivers. I am also able to unpin the sdl2 dependency.
What is 2fa84f044 supposed to fix?
I tried compiling orbclient, but it fails on a linker error in libsodium, so I cannot verify what effect this has on orbclient directly when building on MacOS.
Please advise what the proper course of actions is. Removing build.rs is tempting. But what side effects will that have? I cannot compile the desktop version yet on MacOS so I'm a bit hampered on those parts of the OS.