xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.


Changes between Version 11 and Version 12 of ProjectIdeas


Ignore:
Timestamp:
02/25/14 10:53:40 (7 years ago)
Author:
Antoine Martin
Comment:

prettify

Legend:

Unmodified
Added
Removed
Modified
  • ProjectIdeas

    v11 v12  
     1{{{#!div class="box"
    12= Project Ideas =
    23
     
    1011- discuss a project idea with the developers, in order to build your own understanding and goals for this project
    1112- write the project proposal including several milestones with deliverables and an approximate timeline
     13}}}
    1214
     15{{{#!div class="box"
    1316== 1) Xorg related improvements: DPI, screens, DRI3K ==
    1417
     
    1821       '''Difficulty''': hard\\
    1922       '''Keywords''': C, X11, X.org
     23}}}
    2024
     25{{{#!div class="box"
    2126== 2) Wayland ==
    2227       With the advent of Wayland, a modern replacement to X11, the basis of Xpra (the X Composite extension) disappears. Xpra is conceptually a X compositor, and it could be modified to also become a Wayland compositor. This project is about making Xpra Wayland-compatible so that Wayland gets a network "transparency" layer that is efficient.\\
     
    2833           '''Difficulty''': medium/easy\\
    2934           '''Keywords''': Wayland, compositor, X.org, X11, network transparency
    30        
     35}}}
    3136
     37{{{#!div class="box"
    3238== 3) Keyboard mapping improvements ==
    3339       The applications running on the server need to receive mouse and keyboard input. It is easy to map the client-side mouse-input to mouse events on the server side, but it's more difficult for the keyboard, because the keyboard mapping on the client side can be different from one client to another (US, french, german, ...). What transits over the wires are keycodes (the physical position of the key on the keyboard), and they are translated back to keysyms (the keymap-dependant symbol produced when the key is pressed) on the server side. Xpra uses obsolete X APIs to do this translation work, and often gets it wrong. In addition, running virtual machines with e.g. {{{VirtualBox}}} inside Xpra adds another layer of keyboard translation, and the end result is often wrong.\\
     
    3844           '''Difficulty''': hard\\
    3945           '''Keywords''': Xkb, X11, input, C
    40        
     46}}}
    4147
    42 
    43 
    44 
    45 
     48[[BR]]
     49[[BR]]
     50[[BR]]
    4651
    4752----
    4853
    49 
    50 [[BR]]
    5154[[BR]]
    5255[[BR]]
     
    5659
    5760
     61{{{#!div class="box"
    5862== 1) Automated problem reports ==
    5963       The Xpra client, like any piece of software, has bugs. It sometimes crashes. It's not a big deal: you just have to restart the client, and you'll get your applications back (unless the server crashed also, but it happens less often). However, whenever it crashes, and especially on Win32 platforms, there is very little information that can be sent to the developers to help them fix the bug, and reproducing the crash is not always straightforward. \\
     
    6569           '''Difficulty''': medium\\
    6670           '''Keywords''': Python, backtrace, automated bug reporting
     71}}}
    6772
    68 
     73{{{#!div class="box"
    6974== 2) Android client support ==
    7075       The objective is for Xpra to support as many platforms as possible for the client. An Android client exists but is not completely up-to-date in terms of feature, and its usability is far from perfect. This project consists in improving Android client support, or, alternatively, implement Xpra client support for another mobile platform (be it Linux - Raspberry Pi, Android, or any other OS).\\
     
    7883            '''Difficulty''': Hard\\
    7984            '''Keywords''': Android
     85}}}
    8086
    81 
    82 
     87{{{#!div class="box"
    8388== 3) Latency improvements through hardware-accelerated video decoding ==
    8489       Remote desktop software is very sensitive to latency. Too high of a latency can kill the user experience. Latency sources are obviously the network, but also and usually more importantly, the video encoding on the server side, the video decoding on the client side, and the video presentation on the client side.\\
     
    9196            '''Difficulty''': medium\\
    9297            '''Keywords''': OpenGL, libav, video decoding, Windows, Linux, Python, C
     98}}}
    9399
     100{{{#!div class="box"
    94101== 4) Encryption ==
    95102       At the moment, Xpra can use AES encrypted communication over TCP. It supports password authentication, but the key exchange system is open to MITM attacks. \\
     
    103110           '''Difficulty''': Medium, knowledge of good crypto practices\\
    104111           '''Keywords''':  (py)crypto, AES
     112}}}
    105113
     114{{{#!div class="box"
    106115== 5) Win32 server (shadow mode) ==
    107116       
     
    114123           '''Difficulty''': Medium\\
    115124           '''Keywords''':  Windows named pipes, GDI
     125}}}