redox issueshttps://gitlab.redox-os.org/redox-os/redox/-/issues2024-01-13T07:04:44Zhttps://gitlab.redox-os.org/redox-os/redox/-/issues/1416Add an option to ignore recipe errors2024-01-13T07:04:44ZRibbonAdd an option to ignore recipe errorsThis option will ignore a recipe error and build the next recipe of the Cookbook configuration (`make all` and `make rebuild` commands).
Currently the CI server only update the packages if all recipes compiled successfully, it's time co...This option will ignore a recipe error and build the next recipe of the Cookbook configuration (`make all` and `make rebuild` commands).
Currently the CI server only update the packages if all recipes compiled successfully, it's time consuming and could delay important updates on recipes.
This is equivalent to "delta updates" but for CI, only the successfully compiled programs will be updated on the package repository.
It could be implemented on the `.config` file and the Cookbook configuration.https://gitlab.redox-os.org/redox-os/redox/-/issues/1408Port cosmic-comp2024-01-13T07:57:18ZRibbonPort cosmic-comp[cosmic-comp](https://github.com/pop-os/cosmic-comp) is the most complete Rust-written Wayland compositor of the world, being Rust it become the most easy Wayland solution for us, because we already have upstream Redox support on many cr...[cosmic-comp](https://github.com/pop-os/cosmic-comp) is the most complete Rust-written Wayland compositor of the world, being Rust it become the most easy Wayland solution for us, because we already have upstream Redox support on many crates.https://gitlab.redox-os.org/redox-os/redox/-/issues/1415Add a "ci.sh" bootstrap script for the CI server2023-11-08T17:24:04ZRibbonAdd a "ci.sh" bootstrap script for the CI serverThe current [bootstrap.sh](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/bootstrap.sh?ref_type=heads) script contains packages to build the Redox base system and recipes on the [demo](https://gitlab.redox-os.org/redox-os/redox...The current [bootstrap.sh](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/bootstrap.sh?ref_type=heads) script contains packages to build the Redox base system and recipes on the [demo](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/config/x86_64/demo.toml?ref_type=heads) Cookbook configuration.
As Redox receive more recipes they require more build tools to be installed on the CI server, but the current script don't accept "non-demo recipes" dependencies.
The solution is to create a specific script to configure the CI server, it will be a reduced version of the `bootstrap.sh` script with:
- The command to install the Ubuntu/Debian packages (to build all recipes from Cookbook)
- The commands to download the Redox build system
- The command to install the Rust toolchain
- The command to enable a source-based toolchain
- The commands to build all Cookbook configurations and recipes
This will reduce the maintenance effort of the CI server, the script name can be `ci.sh`https://gitlab.redox-os.org/redox-os/redox/-/issues/1402(Feature request) Recipe override list2023-11-06T17:47:08ZRibbon(Feature request) Recipe override listBy default the build system change the active Git branch of all recipe sources to `master` (`make rebuild` and `make r.recipe`, even after `make f.recipe`).
This auto-checkout can be time-consuming because you need to manually comment o...By default the build system change the active Git branch of all recipe sources to `master` (`make rebuild` and `make r.recipe`, even after `make f.recipe`).
This auto-checkout can be time-consuming because you need to manually comment out the `[source]` and `git =` fields of each `recipe.toml` to avoid this.
The solution is to create a file called `.overrides` and add the names of the recipes that you want to disable the Git checkout.https://gitlab.redox-os.org/redox-os/redox/-/issues/905Cryptic/inconsistent errors in most utilities2023-06-13T04:41:09ZJeremy SollerCryptic/inconsistent errors in most utilities*Created by: polymetric1*
**Reproduction**: Pass any invalid arguments to any utility (`wget`, `cat`,
**Expected behavior**: Utilities give useful and consistent errors such as "cat: testt: file doesn't exist"
**Actual behavior**: Ut...*Created by: polymetric1*
**Reproduction**: Pass any invalid arguments to any utility (`wget`, `cat`,
**Expected behavior**: Utilities give useful and consistent errors such as "cat: testt: file doesn't exist"
**Actual behavior**: Utilities carrying out a similar task (such as finding and opening a file) seem to give very different errors from each other, and none of them are very clear as to what the error is (they all basically mean the file does not exist)
**Redox release**: 0.1.4
**Blocking/related**: None that I know of
**Misc**:
Some screenshots:
local files: (`tee` crashes the shell):
![virtualbox_2017-03-30_18-49-38](https://cloud.githubusercontent.com/assets/13613437/24529441/aa2e4bdc-1579-11e7-92f4-91d1a2563490.png)
When given an invalid URL, wget throws this crazy error:
![virtualbox_2017-03-30_18-42-55](https://cloud.githubusercontent.com/assets/13613437/24529445/b1a0e032-1579-11e7-9d76-f204bf66c88b.png)Jeremy SollerJeremy Sollerhttps://gitlab.redox-os.org/redox-os/redox/-/issues/849kernel sandboxing / namespace capabilities2023-06-13T04:42:46ZJeremy Sollerkernel sandboxing / namespace capabilities*Created by: toxik-io*
I'm curious about the state of isolating permissions within redox. Do we have the capabilities to do so?
Here's a post on Elementary's [blog](https://medium.com/elementaryos/secure-by-default-689abcac6c66#.fehflz...*Created by: toxik-io*
I'm curious about the state of isolating permissions within redox. Do we have the capabilities to do so?
Here's a post on Elementary's [blog](https://medium.com/elementaryos/secure-by-default-689abcac6c66#.fehflzwsk)
It would be nice to have isolating behaviors such as:
* setting a process's resources depending on its id (network access, what process it can communicate with, the filesystem it can see)
* managing an executable or process's access rights (similar to how apparmor, SELinux, et al handle things, but with hopefully more consideration to the microkernel approach)
Can we:
* give processes arbitrary namespaces
* set the permissions of those namespaces & plug them into different services based on their namespace
* determine the access rights of the process
* link this to an executable / username approach
I know @ticki is going to write more about that, but I figured putting this on the public issue record would be a good idea.https://gitlab.redox-os.org/redox-os/redox/-/issues/800Redox is Untranslatable2023-06-13T04:42:45ZJeremy SollerRedox is Untranslatable*Created by: pharaone*
Can you make redox (and orbital, all the apps ...) translatable? I can translate redox in Italian. Thanks*Created by: pharaone*
Can you make redox (and orbital, all the apps ...) translatable? I can translate redox in Italian. Thankshttps://gitlab.redox-os.org/redox-os/redox/-/issues/640Use PNGs instead of uncompressed BMP images for UI2018-06-15T11:40:02ZJeremy SollerUse PNGs instead of uncompressed BMP images for UI*Created by: archshift*
PNGs are smaller, and it's likely that more time will be spent reading bitmaps from the disk than decoding the image from PNGs.
*Created by: archshift*
PNGs are smaller, and it's likely that more time will be spent reading bitmaps from the disk than decoding the image from PNGs.
https://gitlab.redox-os.org/redox-os/redox/-/issues/636feature wish: multiple input devices2023-06-13T04:42:45ZJeremy Sollerfeature wish: multiple input devices*Created by: tiborgats*
I wish for the possibility to be able to handle two mouses, two keyboards, or more. For example if someone already has two monitors, it would be nice for two users to be able to work simultaneously on the same ma...*Created by: tiborgats*
I wish for the possibility to be able to handle two mouses, two keyboards, or more. For example if someone already has two monitors, it would be nice for two users to be able to work simultaneously on the same machine by connecting an extra mouse & keyboard. (Even if one of them is working inside a virtual machine.)
It would also open new possibilities for gaming if it were possible to use two mouses, for both hands at the same time.https://gitlab.redox-os.org/redox-os/redox/-/issues/615[question] servo as a desktop UI/UX layer?2023-06-13T04:33:56ZJeremy Soller[question] servo as a desktop UI/UX layer?*Created by: leeoniya*
Hey guys,
Sorry if this is a dumb question/idea, as I know very little about servo's OS-level dependencies.
Is something like utilizing servo for a desktop/ui layer in Redox even feasible (similar to what gaia i...*Created by: leeoniya*
Hey guys,
Sorry if this is a dumb question/idea, as I know very little about servo's OS-level dependencies.
Is something like utilizing servo for a desktop/ui layer in Redox even feasible (similar to what gaia is for b2g [1] or Electron [1])? I imagine it would be a huge amount of work, but it would eliminate the need to re-invent or reimplement flexbox (eg for window tiling), CSS animations/transitions, shadows, etc. You could potentially offload the entire UI design to designers and quickly spawn a theming community. An OS where the UI/UX is 100% styleable with little friction would be incredibly cool.
WebRender is already highly parallelized and GPU accelerated: https://news.ycombinator.com/item?id=11175258
[1] https://github.com/mozilla-b2g/gaia
[2] http://electron.atom.io/https://gitlab.redox-os.org/redox-os/redox/-/issues/621Use 'cake' for building.2018-06-15T11:40:03ZJeremy SollerUse 'cake' for building.*Created by: ticki*
Currently, we use Make, which is slow and annoying, for that reason, I made [cake](https://github.com/ticki/cake). We now need to rewrite the Makefile to Cake.
*Created by: ticki*
Currently, we use Make, which is slow and annoying, for that reason, I made [cake](https://github.com/ticki/cake). We now need to rewrite the Makefile to Cake.
https://gitlab.redox-os.org/redox-os/redox/-/issues/609Prefer enums over dynamic dispatch.2023-04-30T19:19:52ZJeremy SollerPrefer enums over dynamic dispatch.*Created by: ticki*
**Description**: Currently the kernel makes heavy use of dynamic dispatch, even if only a small number of variants exists. Dynamic dispatch can be expensive, especially when each of the allocations only takes a few b...*Created by: ticki*
**Description**: Currently the kernel makes heavy use of dynamic dispatch, even if only a small number of variants exists. Dynamic dispatch can be expensive, especially when each of the allocations only takes a few bytes.
**Expected behavior**: Prefer enums for KSchemes, Resources, etc., gaining a modest performance improvement.
https://gitlab.redox-os.org/redox-os/redox/-/issues/607Port walkdir2018-06-15T11:40:03ZJeremy SollerPort walkdir*Created by: ticki*
**Description**: `Walkdir` does not work on Redox yet, this is blocking for a number of tasks.
**Blocking/related**: https://github.com/redox-os/coreutils/pull/50
*Created by: ticki*
**Description**: `Walkdir` does not work on Redox yet, this is blocking for a number of tasks.
**Blocking/related**: https://github.com/redox-os/coreutils/pull/50
https://gitlab.redox-os.org/redox-os/redox/-/issues/605Use hardware syscalls when supported2023-04-30T17:23:04ZJeremy SollerUse hardware syscalls when supported*Created by: ticki*
Currently, syscalls are handled using interrupt 0x80. This can be quite slow when compared to SYSENTER/SYSEXIT, provided by many CISC based CPUs.*Created by: ticki*
Currently, syscalls are handled using interrupt 0x80. This can be quite slow when compared to SYSENTER/SYSEXIT, provided by many CISC based CPUs.https://gitlab.redox-os.org/redox-os/redox/-/issues/585How to stop a process such as 'yes'?2023-06-13T04:29:21ZJeremy SollerHow to stop a process such as 'yes'?*Created by: lucklove*
**Reproduction**: [Just type 'yes' on the shell]
**Expected behavior**: [It should end when I type ctrl + 'c']
**Actual behavior**: [print 'y' all all the time].*Created by: lucklove*
**Reproduction**: [Just type 'yes' on the shell]
**Expected behavior**: [It should end when I type ctrl + 'c']
**Actual behavior**: [print 'y' all all the time].https://gitlab.redox-os.org/redox-os/redox/-/issues/579ELF .note section to indicate Redox ABI2023-06-13T04:29:13ZJeremy SollerELF .note section to indicate Redox ABI*Created by: lunixbochs*
From https://github.com/lunixbochs/usercorn/commit/a2bc40bbbdf1e04a3429c13cfd37f43ba8f3d6a7#commitcomment-16809345
There's currently no differentiation between Redox and Linux ELF binaries, so it's convoluted t...*Created by: lunixbochs*
From https://github.com/lunixbochs/usercorn/commit/a2bc40bbbdf1e04a3429c13cfd37f43ba8f3d6a7#commitcomment-16809345
There's currently no differentiation between Redox and Linux ELF binaries, so it's convoluted to automatically select the ABI when emulating a Redox binary in Usercorn (my best idea currently is to look for a Redox syscall symbol).
I propose adding an ELF `.note` section like used in NetBSD ELFs, such as `.note.redox.ident`. I'm not sure if this kind of ident is automatically picked up by file, but if it is the OS name and version are embedded. Here's an example NetBSD note as generated using an assembly file in my lib43 project: https://github.com/lunixbochs/lib43/blob/master/arch/x86_64/netbsd/note.s
If file won't recognize `.note.redox.ident` automatically, the contents don't really matter to me. Maybe an ABI version 1.0 that can be manually incremented if anything is super changed around.https://gitlab.redox-os.org/redox-os/redox/-/issues/572Tracking issue for libstd/libredox compatibility.2023-04-30T15:48:21ZJeremy SollerTracking issue for libstd/libredox compatibility.*Created by: ticki*
**Description**: This issue tracks the compatibility between Redox's libstd ("libredox") and the upstream libstd.
**List**:
- [x] Full IO compatibility. [Done](https://github.com/redox-os/redox/pull/552).
- [x] Movi...*Created by: ticki*
**Description**: This issue tracks the compatibility between Redox's libstd ("libredox") and the upstream libstd.
**List**:
- [x] Full IO compatibility. [Done](https://github.com/redox-os/redox/pull/552).
- [x] Moving extras to a seperate library. [Done](https://github.com/redox-os/libextra).
- [ ] Lacking sync primitives:
- [x] Mutex.
- [x] mpsc.
- [ ] Barrier.
- [ ] CondVar.
- [x] Atomic types.
- [ ] Remove unnecessary reexports.
- [x] Collections:
- [x] HashMap.
- [x] SipHasher.
- [x] HashSet
- [x] BTreeMap.
- [x] BTreeSet.
- [x] Vec.
- [x] VecDeque.
- [x] LinkedList.
- [x] Networking:
- [x] CheckSum.
- [x] IPv4.
- [x] Ipv6.
- [x] Incoming.
- [x] TcpListener.
- [x] TcpStream.
- [x] UdpSocket.
- [x] LookupHost
- [ ] File management:
- [x] File.
- [x] canonicalize.
- [x] create_dir.
- [x] metadata.
- [x] read_dir.
- [x] remove_dir.
- [x] remove_file.
- [x] OpenOptions.
- [x] copy.
- [x] rename.
- [ ] set_permissions.
- [ ] soft_link.
- [ ] hard_link.
- [ ] read_link.
- [x] create_dir_all.
- [x] remove_dir_all.
- [x] Permissions.
- [x] DirBuilder.
- [x] Time:
- [x] Duration.
- [x] Instant.
- [x] SystemTime.
- [x] SytemTimeError.
- [ ] Threading:
- [x] spawn.
- [x] sleep.
- [x] yield_now.
- [x] .join().
- [ ] park.
- [ ] park_timeout.
- [ ] panicking.
- [ ] LocalKey.
- [ ] Builder.
- [ ] current.
- [ ] Environment:
- [x] var.
- [x] set_var.
- [x] current_dir.
- [ ] current_exe.
- [ ] temp_dir.
- [x] remove_var.
- [ ] join_paths.
- [x] args.
- [x] args_os.https://gitlab.redox-os.org/redox-os/redox/-/issues/569Modern Terminal2018-06-15T11:40:03ZJeremy SollerModern Terminal*Created by: coder543*
Has the Redox team considered making a modern terminal experience, rather than re-implementing yet another ANSI terminal with the traditional text-based UNIX commands? I believe there is an opportunity to really r...*Created by: coder543*
Has the Redox team considered making a modern terminal experience, rather than re-implementing yet another ANSI terminal with the traditional text-based UNIX commands? I believe there is an opportunity to really revolutionize how the terminal works, and make a superior experience, rather than just an equivalent one.
Having an ANSI terminal with standard UNIX commands would be useful for backwards compatibility and portability, of course, but I would like to see (and would love to implement, if I had time right now) a modern experience that might be centered around passing objects (like Powershell) rather than plaintext, while having useful features derived from [Final Term](http://worldwidemann.com/final-term-a-modern-terminal-emulator/).
I might find time to start working on this soon, but things are a bit crazy here for the next couple of months. While Redox is still young, changes like this can still be made, but once it gets more mature, it would obviously be harder for something like this to get traction, which is why I wanted to go ahead and throw this out there, see if there was any feedback from the community.
https://gitlab.redox-os.org/redox-os/redox/-/issues/550Redox over vx322018-06-15T11:40:03ZJeremy SollerRedox over vx32*Created by: suhr*
Just like [9vx](https://swtch.com/9vx/).
*Created by: suhr*
Just like [9vx](https://swtch.com/9vx/).
https://gitlab.redox-os.org/redox-os/redox/-/issues/545Userspace driver pool2018-06-15T11:40:03ZJeremy SollerUserspace driver pool*Created by: ticki*
The kernel environment should keep a list of processes running drivers, and maintain them in a Minix-like manner (that is: restart them when crashing).
See also #537 and #540.
*Created by: ticki*
The kernel environment should keep a list of processes running drivers, and maintain them in a Minix-like manner (that is: restart them when crashing).
See also #537 and #540.