Giter Club home page Giter Club logo

genode-world's People

Contributors

3dik avatar alex-ab avatar atopia avatar borismulder-csl avatar chelmuth avatar cnuke avatar cproc avatar ehmry avatar jklmnn avatar jschlatow avatar mennovalkema avatar mewmew avatar nfeske avatar rolandbaer avatar sh-anand avatar sidhussmann avatar skalk avatar ssumpf avatar throwexception avatar tnl-woi avatar tomga avatar trimpim avatar zorodc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

genode-world's Issues

Uhexen2 download fails

$ ./tool/ports/prepare_port uhexen2
uhexen2  download http://downloads.sourceforge.net/project/uhexen2/Hammer%20of%20Thyrion/1.5.6/Source/hexen2source-1.5.6.tgz
Error: Download for uhexen2 failed

tftp_rom

My new AMT machine should get here today or tomorrow, but in the meantime, I've been using this to test scenarios on real hardware.

This is only rfc1350 (1992), so the maximum supported file size is 32MB. Eventually the block size option from later versions will need to be implemented.

Requires genodelabs/genode#1888

Nuklear

https://github.com/vurtun/nuklear

Nuklear is a "minimal state immediate mode graphical user interface toolkit", which struck me as a potential alternative to Qt for writting small Genode apps. I was able to create a simple Nitpicker backend without much effort, but there are a few problems that need to be addressed before it can be a viable option for GUIs.

If we look at rendering to a framebuffer, things are simple, Nuklear positions its own windows and provides things like resizing and minimize with its own controls, so think of it as something like an SDL application that manages its own dialogs. The only issue here is that some of the drawing primatives are missing, like drawing lines and polygons.

For Nitpicker it gets tricky, the backend draws all of the GUI elements but because it is minimal state there is no window metada present for the backend to use to create the proper views. By rendering when all the window drawing commands have been collected, but before leaving a window context, the size of a window is available and a Nitpicker view can be place appropriately. Drawing a multiple window becomes difficult because it is hard to determine the lifetime of the preceding windows.

Another problem is that some window dialogs will draw outside the bounds of the window, but the information isn't present to make a new view for the dialog that overlaps with the window view.

I made a mockup of a configuration utility for setting screen resolution, but as you can see, the combo boxes do not work because they render beyond the window view boundry, and successive widgets are not blitted properly with previous widgets.

It was fun getting it to work, but my question now is, considering the alternatives, is this an experiment worth continuing? (Not to take priority over other, more pressing projects of course)

Time-base One-Time Password generator

I've written a Google Authenticator compatible password generator as a VFS plugin.

Implementing the generator as a special file was the most generic way I could think of to do it. This allows the generator to be used most anywhere, you can cat it with Noux, you can serve the file over http, you can use it programmatically anywhere you can read files.

Tested with Github and a few other services.

TFTP rom uses (now) private symbols of lwip

    LINK     tftp_rom
component.o: In function `Tftp_rom::Session_component::~Session_component()':
/home/krishna/tmp/genode-world.git/src/server/tftp_rom/component.cc:159: undefined reference to `udp_remove'
/home/krishna/tmp/genode-world.git/src/server/tftp_rom/component.cc:162: undefined reference to `pbuf_free'
component.o: In function `Tftp_rom::Session_component::finalize()':
/home/krishna/tmp/genode-world.git/src/server/tftp_rom/component.cc:96: undefined reference to `pbuf_free'
[...]

chroot server

This is a pretty simple component, it intercepts file system session requests and changes the root based on the label. Handy for directing many low trust subsystems to a common server.

fetchurl

This is a Nix support component that is also general purpose.

usb_gamepad_input: add minimal USB gamepad driver

I'm not too happy about the current state of the driver itself (see the Todo section in the README) but it is lurking around on my disk for far too long now. Since I don't see me addressing the todo items soon, let's get it out there and maybe someone will give it a shot ☺.

In any case, the driver supports the most common gamepads (Xbox360/One and Playstation DS3/DS4) and works fine with e.g. libretro.

Rom_fallback

Forwards ROM requests to a list of label prefixes, returning the first successful session.

The simplest and most immediate use case would be to try and load ROMs from kernel memory before falling back to an instance of fs_rom, saving memory and load time.

I would rather have a generic session fallback component, but it wasn't worth the effort of creating different root components at runtime without using templates. This is probably best implemented at the parent, but I think the first thing to do is just to see how useful fallbacks are for the ROM service.

log_tee

Server to duplicate log streams, see README.

Input_remap

This is a simple component I made for remapping joystick and gamepad buttons.

Libretro frontend

I've decided my emulator work can be merged into this repository. Audio is not working, or atleast it is not accurate at non-native sampling rates, which is not a problem for the Pi.

I've included two run scenarios with homebrew games on the NES and SNES, both with audio disabled.

The Libretro explanation: https://www.libretro.com/index.php/api/

nic_dump

I have a draft of a component that captures packets and saves them to file in the pcapng format. Its not quite finished but I'll open the issue now in case I forget about it, and ping it when I'm done.

Zynq drivers break hw_zynq build

  Program drivers/sd_card/spec/zynq/sd_card_drv
    COMPILE  main.o
/home/krishna/tmp/genode-world.git/src/drivers/sd_card/spec/zynq/main.cc:20:20: fatal error: driver.h: No such file or directory
 #include <driver.h>
                    ^
compilation terminated.
make[2]: *** [main.o] Error 1
make[2]: Target `all' not remade because of errors.
make[1]: *** [sd_card_drv.prg] Error 2
  Library config
  Program drivers/i2c/spec/zynq/zynq_i2c_drv
    COMPILE  main.o
In file included from /home/krishna/tmp/genode-world.git/src/drivers/i2c/spec/zynq/main.cc:25:0:
/home/krishna/tmp/genode-world.git/src/drivers/i2c/spec/zynq/driver.h:90:3: error: ‘I2C0_MMIO_BASE’ is not a member of ‘Genode::Board_base’
  {Genode::Board_base::I2C0_MMIO_BASE, Genode::Board_base::I2C_MMIO_SIZE},
   ^
/home/krishna/tmp/genode-world.git/src/drivers/i2c/spec/zynq/driver.h:90:39: error: ‘I2C_MMIO_SIZE’ is not a member of ‘Genode::Board_base’
  {Genode::Board_base::I2C0_MMIO_BASE, Genode::Board_base::I2C_MMIO_SIZE},
                                       ^
/home/krishna/tmp/genode-world.git/src/drivers/i2c/spec/zynq/driver.h:91:3: error: ‘I2C1_MMIO_BASE’ is not a member of ‘Genode::Board_base’
  {Genode::Board_base::I2C1_MMIO_BASE, Genode::Board_base::I2C_MMIO_SIZE},
   ^
/home/krishna/tmp/genode-world.git/src/drivers/i2c/spec/zynq/driver.h:91:39: error: ‘I2C_MMIO_SIZE’ is not a member of ‘Genode::Board_base’
  {Genode::Board_base::I2C1_MMIO_BASE, Genode::Board_base::I2C_MMIO_SIZE},
                                       ^
/home/krishna/tmp/genode-world.git/src/drivers/i2c/spec/zynq/driver.h:92:1: error: could not convert ‘{<expression error>, <expression error>}’ from ‘<brace-enclosed initializer list>’ to ‘I2C::Driver::I2C_bank’
 };
 ^
/home/krishna/tmp/genode-world.git/src/drivers/i2c/spec/zynq/driver.h:92:1: error: could not convert ‘{<expression error>, <expression error>}’ from ‘<brace-enclosed initializer list>’ to ‘I2C::Driver::I2C_bank’

Chroot update

The chroot server needs an update for changes to Session_label and the Component API.

Audio synthesis

This is a long term project, but I would like to be able to generate sound from arbitrary system events. Right now my thought is to regex LOG sessions and generate events that can be fed to a synthesizer or something that can play back samples.

I did a bit of research and Chuck seems like the best choice for generating sound, I think the next step would then perhaps to make an OSC session to feed it events with.

I will be porting Chuck when I have the time, unless anyone has a better idea.

SQLite

I don't use this, and I'm not sure anyone else does, but better it bitrot here than in the dark.

mbed TLS

Menno Valkema contributed a port of mbed TLS (formerly PolarSSL).

synergy client

This has been around for a while, but I've started using it again recently.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.