Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins that include changes to files matching 'genode-haiku/*'

2024-09-18
09:02
fix-up Genode 24.08 support (for Linux host): Adapt to newer Qemu: * remove "-no-kvm" switch ; * use "ide-hd" instead of deprecated "ide-drive" switch ; * those are backward compatible with the older Qemu on my main build env, so no need to detect host at build time for those ; Adapt to Linux mkntfs: * detect Linux host and use "mkntfs ..." instead of "mkfs -t ntfs ...." ; * how come I need to call "sudo mkntfs" instead of just "mkntfs" ? That makes each build more annoying than it should be ; -- TESTS -- * did a full build on Debian (2024-08-26), "jam -q hog-demos.emu6" builds and runs (in Qemu) great, except for the "sudo" mkntfs thing ; Leaf check-in: b2055b6963 user: user tags: new-genode-rev, trunk
08:06
fix-up Genode 24.08 support: Canvas: fix painting regression: * we now need to specify the alpha channel/opacity value for Color's passed to shaded Polygon and to Text_painter, otherwise they seem to bet set to 0, i.e. no painting ; * that fixes FillRect( BGradient& ) used for painting window tabs etc ; * that fixes DrawString() ; * rule BinCommand was seemingly staging the posix.lib.so file *after* it was needed, should be fixed ; Genode adapt: complete up to level 9 build: * more removals of _drv suffix (usb, usb_hid, intel_fb, intel_gpu, pci_audio) ; * didn't adapt "wifi_drv" yet, waiting for the next package in Genode 24.10 ; * also adapt USE_DRV_MANAGER builds (jam composition, driver_manager C++ code) ; * also prepare next commit that will fix the build when done on a Linux host ; -- TESTS -- * ran the full TTS distro, using Debian-built dde_linux drivers, looking good ; * tested USB-HID, canvas, nic with Ftp+, vfs with AK) ; * GeDepot packages don't work any more though (ABI change), will upgrade to newer packages when Genode/Sculpt 24.10 ships ; check-in: 60385a1069 user: user tags: new-genode-rev, trunk
2024-09-11
13:32
Genode 24.08 support: Adapt to changes in Genode, up to (for now) hog "layer 6": * new drivers paths, "driver/" instead of "drivers/" ; * new drivers naming, "ahci_drv" is renamed to just "ahci" (and vesa_fb, pc_platform etc) ; * new Nitpicker/view API ; * new Point, Rect, Area APIs ; * new Grub2 package ; Clean-up: * refactor the interface-kit <-> Nitpicker glue code a fair bit, to decrease tech debt and also for the next reason ; * try to remain compatible with c++17 : only apply c++20 in places where this does not clash with the old STL ("algorithm" header, "queue" class, etc), in other cases we shuffle code around to separate and prevent clashes. That's cleaner anyway ; * (when will I update my old toolchain ??) ; -- TESTS -- * worked on layers up to "jam hog-demos.emu6", looking good so far except for 2 regressions (due to my old c++17 toolchain ? gotta try in Linux host instead) ; * regression with FillRect(BGradient&) ; * regression with DrawString() ; check-in: 57b8caef0b user: user tags: new-genode-rev, trunk
2024-09-03
16:52
-- Fix nano3d deployer, Add bubble-universe deployer, clean up (before upgrading to Genode 24.08) -- Fix/Improve GeDepot: * recently changed nano3d deployer to show off the new 'override config' feature ; * realized after testing it no longer works ; * we have to make sure the invoke gets routed to InitPilot (not DeployPilot), with the exe path (instead of the runtime path) ; * also added "bubble universe" package deployer (see the discourse forum for background) ; Prepare for Jam refactor of IPC: * create rule AddStackBeIpc ; * will use it later in the rest of the repo to refactor compositions that involve broker and registrar ; Various C++ and Jam clean-ups: * jam: add CheckExternalFile rule, for verifying that a given file outside of the repo (non tracked) is patched as we require ; * jam: refactor rules, clean-up, silence Gcc -Wno-missing-field-initializers in app/ and interface/ ; * fuse-ntfs: fix-up sizeof(Dirent), clean-up logging ; * PartitionSetupGPT: refactor terminateChild() ; -- TESTS -- * tested GeDepot install/deploy, looking good (nano3d works again, and no regression to be seen in fuse/FS) ; * bubble-universe downloads/launches quick and looks great, thanks Norman! ; check-in: ff34427237 user: user tags: trunk
2024-08-15
14:08
-- PartitionSetupGPT now passes unit testing for simple NTFS partitioning use-case -- jam: build mkntfs: * main Jamfile: add building of src/lib/ntfs-3g/ntfsprogs/mkntfs ; * libntfs Jamfile: unix_io.c needs "smarter" patching of its fcntl() usage -- we can no longer provide a custom fcntl() since in this case we link against Genode libc, so now we use #define tricks instead ; * remove the custom fcntl() implementation, no longer used ; PartitionSetupGPT: complete "vertical slice" use-case: * (use that name instead of "DriveSetup" to avoid confusion with upstream app) ; * add "Add partition", "Format" buttons, confirmation BAlerts, gray-outs to guide the user, etc ; * implement using gpt_write, launched in InitPilot ; * implement using mkntfs, launched in InitPilot ; * also take charge of launching/quitting part_block in InitPilot ; * lots of things are hardcoded (partition size: 100 GiB etc), in theory this should suffice for station usage ; InitPilot support: * hack support for mkntfs (needs routing of "Block" to part_block) ; GeDepot tweak: * profit from the new InitPilot ability : launch nano3d with a custom config ; -- TESTS -- * In QEMU, PartitionSetupGPT now allows the user to wipe, partition, and NTFS-format a test.raw stand-in file ; * not clear yet how to integrate PartitionSetupGPT into a real-world distro, where PartitionSetupGPT wouldn't be the one in control of ahci_drv and part_block ; check-in: 2c0fddbc17 user: user tags: trunk
2024-08-03
17:21
-- Add custom-XML ability to Init launcher ; Fix depot-deploy regression -- Add "custom XML" ability to the launch chain: * on the Genode side, we preserve depot_deploy's innard which deploy Genode apps with runtime XML code that is customized to each depot package ; * on the Be side, we used to have a "one size fits all" runtime XML <start> node, with some minimal hacked-in variance ; * now on top of that, we also support passing customization fields (RAM quota and <config> node) ; * the new code path starts in the BRoster.Launch() API, goes through registrar, then lands in new Toggle_Xml() ; Fix regression when launching Falkon etc: * a recent commit tried routing the "clipboard" ROM ; * that ends up crashing cahed_fs_rom with Filesystem::Invalid_handle exception ; * commented out for now (clipboard wasn't configured well enough to work anyway) ; Misc: * fix non-deterministic return value in BMessageRunner ; -- TESTS -- * qtTextEdit and Falkon can be run again ; * started exploiting the above BRoster.Launch() new feature with custom XML code, this will come in handy for DriveSetupGPT to invoke gpt_write et al ; check-in: 2aa70a664d user: user tags: trunk
2024-07-30
19:16
-- admin apps: add embryonic DriveSetupGPT -- hog-apps: add DriveSetupGPT: * add source for DriveSetupGPT and include it in the build ; * test with: jam hog-drivesetup-gpt.emu6 ; * not much to see yet, but wanted a "release" style snapshot before moving forward ; clean-up: * debugger(): display __builtin_return_address() ; * tiny clean-ups here and there ; -- TESTS -- * not much to test right now, the embryonic tool simply reads the "part_block -> partitions" report and displays it graphically ; * also tested a driver-manager full scenario on bare metal, based on this -- looks fine on several different laptops ; * this might be of interest to a client, so will develop in a specific direction and only then make it a more general-purpose disk tool for h/o/g users at large ; check-in: 3c0da29ade user: user tags: trunk
2024-07-22
20:32
--Vfs_Fuse_Ntfs can fall back from r/w to r/only ; Work on clipboard and RAM usage -- fuse_ntfs: add fall-back r/o mode: * the "writeable" attribute of <fuse> nodes can now be set not only to "yes" or "no" but also to "yes_or_fallback_to_no", meaning it attempts to mount r/w, and if that fails, tries r/o ; * that won't be of much use to stations, but nice to have in daily driver usage for co-existing with a dual-boot MS-Win without having to keep it "restart-mount-ed" all the time ; system config: improve RAM for Falkon etc: * increase depot-deploy RAM quota to 16GB to take advantage of devices with more installed RAM ; * add routing for clipboard and (pointer) shape ; * disable LOG (routing) for wifi_drv entirely, as its verbosity cannot be configured it seems ; system config: tighten RAM quotas: * lower broker_server RAM from 24 to 4 MB ; * lower config_fs RAM from 8 to 1 MB ; -- TESTS -- * didn't test clipboard (cut/copy/paste) and pointer shape yet ; * succesfully using NTFS "fall back to read-only", though the fs stack acts weird (in read-only fallback mode, files do appear to be created/modified, at least until rebooting) ; check-in: c516054344 user: user tags: trunk
2024-07-11
15:51
-- Add WiFi support ; Add selection of biggest NTFS partition -- Add WiFi: * GeDepot: add download button for genodelabs/pkg/pc_wifi/2024-05-01; * jam: add "AddWiFiStack" rule, hacked to route all ROMs to that particular package ; * this is bare-bones support only: static credentials, no state reporting ; Add scheme for "use biggest NTFS partition": * vfs_fuse_ntfs: tweak to cleanly bail out if being instantiated twice ; * that plug-in is not (currently) re-entrant anyway, might as well handle that cleanly ; * doing so also buys us the ability to cleanly "stack" 2+ <fuse_ntfs> nodes on the same mount-point ; * that allows a distro/run scenario to e.g. select "the first of part1 or part2" as the /boot mount-point ; Tweak bender etc: * jam: switch bender from "intel_hwp_performance" to "intel_hwp_balanced" ; * jam: bump bootmodules ceiling to 102, for scenarios which include wifi ; -- TESTS -- * wifi: spent an afternoon using Faklon on 3 different laptops, wifi seems to work fast and continuously ; * ntfs partition selection: been happily using "partition 2" on relevant computers (and sticking with "partition 1" where relevant) for a few days, bye bye confined spaces ; * power management: laptops seem to run cooler, without any perceptible performance loss ; check-in: d0d6e5972c user: user tags: trunk
2024-06-28
11:27
(release: 24.2) Fixup adapting to Genode 24.05: * tweak grub config for 'novga' etc (was forgotten in the previous commit) ; Prepare record_play_mixer switch: * make note that record_play_mixer does work now (probably since we started using the -fconcepts Gcc flag ?), so the migration path from legacy mixer seems to re-open ; Tweak static quotas: * dial down nic_drv RAM quota some more ; -- TESTS -- * no regression observed, in nic_drv or otherwise, on M73 ; check-in: 5b46fdc23e user: user tags: release, trunk
2024-06-25
19:20
Genode 24.05 support: Adapt to changes in Genode: * we mainly need the -fconcepts GCC flag, now that Genode uses c++20 through and through, but that flag was already added in a recent commit ; Fixup regressions: * fix vnc_server support to make it work also in USE_DRV_MANAGER builds ; * fix platform_drv in static drivers builds ; -- TESTS -- * ran several tests, including vnc_server, all look good ; * will also attempt testing the new record_play_mixer again soon ; check-in: 25d95f5859 user: user tags: new-genode-rev, trunk
16:03
-- Try to enable BHttpRequest etc classes in Layer 9, for AC's benefit -- Enable newly added net-kit code: * add new files to kits/network/libnetapi/Jamfile ; * add new file to kits/shared Jamfile ; * add new files to kits/support Jamfile (needs a zlib ref in jamrules-pkg-versions) ; * restore full scope of HttpRequest.h ; -- ERRATA -- * File kits/network/libnetapi/NetworkRequest.cpp was *not* added verbatim, it already contained an #ifdef patch for sigaction() -- oh well... ; -- TESTS -- * the new net-kit code is not enough for retrieving https (SSL) NOAA files, in my testing of AC ; * on redirect to https we get B_SERVER_NOT_FOUND from BHttpRequest::_ProtocolLoop ; * didn't test retrieval of plain http files yet ; * we get new find_thread() warnings for some reason, now ; check-in: cf43ca291c user: user tags: trunk
2024-06-21
20:23
fossil-add Haiku R1/b1 verbatim: kits/network/md5 (should have been part of the previous commit) check-in: 0fdae02b3e user: user tags: trunk
19:47
fossil-add Haiku R1/b1 verbatim: kits/network/BHttpRequest and its (many) friends, kits/shared/HashString, kits/support/Compression -- for use in TTS AC check-in: 87efe15ef9 user: user tags: trunk
2024-06-12
17:47
-- Fix Desbar etc screen positionning -- Implement BScreen.Frame(): * BScreen.Frame() no longer hardcodes 1024x768 but now directly connects to Nitpicker and requests the display mode there ; * also watch for mode changes in the BWindow/NP thread (especially important now that NP is initialized _before_ the display driver) ; * we *do* have to clamp to a minimum resolution (640x480) otherwise Deskbar etc seem to go nuts when initialized with the (initial) 0x0 res ; * get rid of now irrelevant BApplication::GeVideoMode() etc ; * realized that the initial idea of re-using the same NP connection for all windows is VERY wrong, we need a new connection for each window ; Fixup previous commits: * use gcc switch -fconcepts throughout the h/o/g build, in case it helps with the new mixer? ; * rule PosixExecutable was ok, but the posix.lib.so abi symlink was missing ; * rule BinCommand needs to make up for posix.lib.so not being included by rule PosixExe -- this buys us "sleep" and "ftpd" ; * revert some risks of regression re. static-drivers mode ; * hog-test.run didn't use the "default ahci port" feature in USE_DRIVER_MANAGER ; -- TESTS -- * the deskbar is now correctly positionned at the top-right screen corner, even in USE_DRIVER_MANAGER mode with native screen resolutions ; * that is, its ScreenChanged() hook is called when the display driver connects to Nitpicker and signals the screen resolution ; check-in: 50e6768ff4 user: user tags: trunk
2024-05-23
20:22
-- Enable driver_manager and make it work in 24.04 -- Enable driver_manager build: * jam: make driver_manager part of the build ; * jam: refactor "exe" rules, since we now need a "build a pure Genode executable" rule (in addition to posix-libc-exe and be-exe) ; Patch driver_manager and its config: * adapt the drivers.config ("pc") xml config to 24.04 (platform_drv needs sleep_states, intel_fb needs a report outlet, etc) ; * also don't gobble all the remaining RAM in 'dynamic', as doing so prevents Block session function for some reason ; * adapt driver_manager handling of vesa and ahci_drv (otherwise they run out of caps/ram on bare metal) and usb-hid syntax changes ; * make provision for "static" testing of driver (vesa, ahci, intel_fb/gpu), in case of future debugging needs ; Misc: * nic: crank down RAM quota, since 28 MB is confirmed to work on M73 ; -- TESTS -- * successfully tested with "USE_DRV_MANAGER=true jam hog-deskbar.emu8" ; * works in qemu, works on 3 different thinkpads, all have native screen resolution, and ahci_drv runs well too ; * making USE_DRV_MANAGER the default from now on in our distro, yay ; check-in: 39bc55b237 user: user tags: trunk
10:38
fossil-add Genode 24.02 (verbatim contents, re-organized directory structure): * driver_manager/main.cc ; * its "pc" XML config ; * we're forking driver_manager, which was retired in Genode 24.04scpt (obsoleted by sculpt_manager) ; * might migrate to sculpt_manager in 'headless mode' later, we'll see -- driver_manager is good enough for now ; check-in: 7a79da8790 user: user tags: trunk
2024-05-10
14:03
Genode 24.04 (sculpt) support: Adapt to changes in Genode: * pc_platform_drv expects access to the S3 "sleep_states" ROM now that test-suspend is gone, so we provide a dummy one (we don't attempt S3 sleep support for now) ; * rom_filter provides the dummy ROM -- needed to be moved around to do so though ; * pc_usb_host_drv config has changed slightly, adapt to new policy/device/class layout ; Misc tweaks: * make sure Audio_out is routed in both the "mixer" case and the "black_hole" case (not sure how it could possibly work before ?) ; -- TESTS -- * seems the usb_hid driver now wants the mouse/keyboard to be unplugged/replugged to recognize them on my T410 -- will try different ports ; * if sticking with Audio_out legacy mixer instead of the new mixer, there seems to be no significant regression ; check-in: ff3781deb0 user: user tags: new-genode-rev, trunk
2024-05-04
18:58
-- Fix lib-abis build dependency, tweak decoder, tweak mixer config -- Fix linking abis deps: * since day one, each symlink was created multiple times, wasting build time ; * we now make sure the SymLink to libc, haiku.lib.so etc are only done once ; Tweak decoder build: * add ifdefs around AVR code to allow disabling it in favor of a home-grown substitute (since AVR might be the culprit ?) ; * heck, might even find a substitute for av_read_frame() later, for testing purposes ; Tweak mixer config: * make it easy to switch back and forth between Legacy mixer and RecordPlayMixer ; Misc: * tweak various to-dos ; check-in: 40a5f42b55 user: user tags: trunk
2024-04-17
16:57
-- Attempt migrating to driver_manager, tweak Play/Record -- Add system integration of "driver_manager": * leverage Genode's app/driver_manager component, to have dynamic (instead of static) graphics driver and storage driver setup ; * the old (static) integration path remain in place and is selected by default, the new path can be optionally selected with the USE_DRV_MANAGER env var ; * make nic_drv report to a platform_drv label compatible with dynamic path (and make static path accept that label too) ; * add other dependencies of the dynamic path too (intel_fb, intel_gpu, more keyboard layout filtering etc) ; Tweak Play/Record integration: * fix vfs_oss.lib.so ROM routing -- that should open the door to OSS testing of Play/Record ; * clean-up previous commit (Play/Record) a bit ; * optim audio_drv RAM usage as per upstream ; -- TESTS -- * running a "driver_manager" build (made with e.g. "USE_DRV_MANAGER=1 jam t8") works, but only in Qemu or VirtualBox ; * on real hardware, the screen remains black ; * it remains so, even if hardcoding Vesa in the driver_manager dynamic path (i.e. even Vesa is unhappy on real hardware, not just intel_fb_drv) ; * so driver_manager is not used for now, sticking to "static" drivers until further notice ; check-in: 7e52b51db0 user: user tags: trunk
2024-04-05
18:42
-- Add support for new record_play_mixer (NOT enabled for now) -- Audio_out: add support for new mixer and new "Play/Record" session API: * add routes to Play and Record services, side by side with existing Audio_out and Audio_in services ; * sys. integration is hidden behind a jam "if" though (see "TESTS" section) ; * add _ge_AudioOut_playrecmix.cpp (intended to do the same job as _ge_AudioOut_native, but for Play instead of Audio_out) ; Audio_out: tweak for accuracy: * Progress() was being sourced from the decoder instead of audio-out (the decoder trail-blazes in front of the lagging audio-out, and Progress() ought to report on the latter, not on the former) ; * similar tweaks to be done later ; Audio OSS: fix build: * fix bitrot so that it compiles, in an attempt to make audio/play work thanks to OSS if not native audio ; -- TESTS -- * "record_play_mixer" path: my code produces heavily distorted audio, can't figure out why ; * OSS: it builds but vfs_oss.lib.so won't load for some reason (LD exception), will try again in 24.04 ; * so we'll stick with "legacy mixer" for now ; * note: in Qemu runs, audio-out fails to be routed to black_hole, but that's probably an old problem and won't be relevant once we migrate to the new mixer anyway ; check-in: 2c231f931c user: user tags: trunk
2024-03-14
18:08
Genode 24.02 support: just update jamrules-pkg-version with newer libc hash ; check-in: c21c4339e3 user: user tags: new-genode-rev, trunk
16:40
-- Fix FtpPositive column parsing -- Work around Haiku ftpd issue when accessed by FTP+: * the Haiku ftpd outputs directory listings *without* the 'group' column ; * as a result, FtpPositive fails to parse the dir listing (oddly, no-one ever addressed this in the client or the server over the years) ; * we address this on the client side : added a mini heuristic to detect if the ftpd is Haiku's, and if so, expect one less column than normal ; * this seems to 'fix' Haiku ftpd access quite well, without triggering regressions in other ftpd's (that I can see) ; check-in: 21a3a699cd user: user tags: trunk
2024-02-22
19:27
-- fix-up the previous commit : forgot to commit jam/, and the definition of variable Contrib_expat -- check-in: e19c069378 user: user tags: trunk
19:20
-- port Icon-O-Matic and libs/agg -- Enable/tweak Icon-O-Matic build: * disable deprecated #include <malloc.h> statements ; * tweak deprecated #include <hash_set> statements ; * disambiguate #include statements referring to clashing names (List.h etc) ; * for one of them, had to resort to using #include_next, as it would go to the wrong header even when using an explicit path/to/header.h ; * Jamfile: needed a few tweaks due to our not using the same directory layout as upstream ; Enable libs/agg build: * Jamrules: refactor rule StaticLib to "MakeLocate", so that "tail" jamfiles do not have to do it ; * Jamrules: implement rule UseLibraryHeaders ; Enable BView/BFont deps: * StrokeTriangle(), GetClippingRegion(), GetGlyphShapes() are needed by i-o-m ; -- TESTS -- * Icon-O-Matic launches (see remed out launcher in deskbar.run) and seems to work in my (very short) testing ; check-in: d26a9413c4 user: user tags: trunk
17:01
fossil-add Haiku R1/b1 verbatim: Icon-O-Matic, and (another of) its dependencies : BTranslatorRoster ; check-in: 35911b2730 user: user tags: trunk
13:49
fossil-add Haiku R1/b1 verbatim: dependencies for Icon-O-Matic (libs/agg, RWLocker, remainder of libs/icon, which is actually located as "h-o-g/sys-icon") check-in: 6698a468de user: user tags: trunk
2024-02-16
10:56
(release: 24.1) Clean-up networking work-around: * system composition: use proper "sleep" (not provided in this public repo yet) to delay launch of pc_nic_drv, by 8 seconds ; * system composition: silence nic_router logging, and revert quota bumps, now that we fixed networking ; * also increase DHCP timeout from 10 to 15, you never know ; Fix-up FillArc: * interface/GeCanvas: fix a couple off-by-one's that resulted in not painting all pixels in FillArc(), leaving "blank" lines ; * tests tweak: help visually detect pixels that are not painted by FillArc/FillRoundRect() ; -- TESTS -- * all looks A-Ok on both test machines (including M73, including networking), let's put this in tester hands ; check-in: 82400465a0 user: user tags: release, trunk
2024-02-08
18:26
-- FIX networking on ThinkCentre M73 -- Added 'sequence' to delay pc_drv_nic startup: * for now, hacked together this fix/workaround with an arbitrary app that has to be quit by hand, in order to start pc_nic_drv ; * will do a proper sequence-based work-around with /bin/sleep 5-ish seconds, soon ; * what this achieves is a delay in startup of NIC driver, which seems necessary on some machines ; * the NIC driver starting too soon (esp. compared to SculptOS, where it is launched by hand only) was thus the reason networking failed to work ; -- TESTS -- * networking is now good on my M73, the Nic chain takes a dozen seconds to be ready as soon as I "kick" the above sequence ; * I can do outbound FTP access and depot package installation (tested only nano3d, no disk space for more yet), inbound FTP and sftpd access ; * that also allowed me to Rx mp3 files and thus confirm that Audio-out works on the M73 ; check-in: 34387cbefd user: user tags: trunk
2024-02-06
13:55
-- Port newly added "t9" net classes, allow Vision to compile -- Activate missing deps: * enable build of BNotification, BCardView, BOutlineListView.cpp ; * enable build of BNetworkAddress, BNetworkAddressResolver, BAbstractSocket, BSecureSocket, BSocket ; * enable BApplication::IsLaunching() ; * add stub for system_beep() ; * add naïve implementation of release_sem_etc() ; * add 'graveyard' stub for wait_for_objects_etc() ; Port net classes: * comment out stuff that is incompatible or declared obsolete in FreeBSD ; * sever connection to SSL Certificates code, we won't support those yet ; check-in: d12fac48e7 user: user tags: trunk
13:25
fossil-add Haiku R1/b1 verbatim: dependencies for Vision IRC (BNotification, BCardView, BOutlineListView, BSecureSocket, BNetworkAddressResolver...) check-in: 2eff43fc89 user: user tags: trunk
2024-01-25
14:31
-- Add out-of-tree port ability, and add a port of Vision IRC -- * added Jam_generic.inc: include this in you port recipes ; * (might also be useful for compiling in-tree apps for SculptOS !) ; * added Vision "recipe" Jamfile (and patch-set) leveraging Jam_generic ; * (Vision needs patching due to some #defines that conflict with Genode headers) ; * didn't add dependencies for Vision yet, will commit later ; -- TESTS -- * Vision compiles and runs (with yet uncommited deps) but networking seems no-go yet ; * Also tested Mandelbrot with a similar "recipe", seems good too ; check-in: b566ab69ea user: user tags: trunk
2024-01-18
19:32
-- Port preferences/mail and its deps, Fix ellipse painting -- Add build rules needed for mail prefs build: * add UsePublicHeaders rule ; * add Preference rule (which just forwards to the 'Application' build rule) ; Enable prefs/mail and libnetapi: * mail prefs: adapt jamfiles ; * libnetapi: enable the 4 files we need, and just comment out BeOS R5 compatibility cruft ; Fix missing/broken ellipse code: * StrokeRoundRect() was missing the 4 'edges' (lines) between the corner arcs, from day one ; * StrokeRoundRect() and FillRoundRect() were using the wrong arc angles, from day one ; Misc: * also includes a few tweaks to nic_router from my ongoing investigation ^^ ; -- TESTS -- * 'E-mail' settings preflet runs and seems to work in Qemu (didn't test much yet) ; * nice to see that 'port' occur without the need to make any change in the 'ported' source code itself ; * all my "Pie Menus" show up nice and clean now (with the right 'slices' angles) ; * no luck with Nic on M73 yet, but gotta try a few more tricks ; check-in: ed56c08ca3 user: user tags: trunk
11:01
fossil-add Haiku R1/b1 verbatim: preferences/mail, and dependencies (BNetAddress, BNetEndpoint, BNetBuffer, mail headers) (the crypt.cpp/h "encryption" stuff seems illusory though) check-in: abbf731257 user: user tags: trunk
2024-01-12
18:05
-- Bring MediaKit to t8 level, Fix-up toolchain support -- Complete MediaKit t8 support (at last): * make BSoundPlayer and other "t7/t8" classes compatible with the rest of our Genode code ; * push some classes (MediaAddOn etc) higher up to level 9 ; * building at t7 and t8 should now work, so make t8 the default level (instead of t6) for "jam haiku.lib.so" and "jam *" ; * building at t9 level is not officially supported yet, see below ; Fix-up toolchain support: * bring toolchain requirement up to Gcc12/23.05 (was still Gcc10/21.05, oops) ; * tweak BeBuild.h to accept Gcc12 as well ; ToDo: * still have to commit MediaAddOn.cpp and friends of "t9" build level ; * no hurry though: so far those are 'only' used by AC, but let's see if in the future we stumble on Be apps that do need them ; * tweak some ToDo priorities ; -- TESTS -- * this should allow compiling "jam t8", as required to build e.g. the Sudoku ("jam Sudoku") demo app ; * testing a "from scratch" build here, look good so far ; check-in: f22fb5c901 user: user tags: trunk
11:00
fossil-add Haiku R1/b1 verbatim: SoundPlayer.cpp (the actual "verbatim" file this time), SoundPlayer.h and MediaNode.h (originally from headers/os/media), and debug.h (originally from headers/private/media/debug.h) ; check-in: dde9622a15 user: user tags: trunk
10:15
fossil-RM file in media kit: * remove media/SoundPlayer.cpp, which on 2may23 was incorrectly added in already-patched form instead of 'verbatim' form, let's start over with this one ; check-in: 4ca9c04327 user: user tags: trunk
2024-01-08
21:28
-- Fix build ; Fix-up InitPilot ; Implement arcs/ellipses -- Fix build in jamrules-qemu: * add "rule StaticLibrary", was missing from previous commit ; * also a few comments and tweaks, could help with people being introduced to our build system ; * plus some unrelated tweaks, for our distro VNC usage ; Improve Canvas: * Add FillArc/StrokeArc implementation, no longer use crude polygon or 'quarter circle' special-case drawing, draw actual arcs for any angle ; * Fix StrokePolygon: close the polygon by drawing the last segment back to first point ; * Add tests: for visual testing of FillArc and friends ; Fix-up InitPilot: * don't use BPath (!) to parse app IDs, it resulted in (identical) NULL items, and all apps launched by init had clashing name/IDs ; Fix date in e.g. Deskbar calendar: * week days were off-by-one in the calendar ; Misc: * add FtpPositive to deskbar scenario, for my future Nic tests on M73 ; -- TESTS -- * FillArc is much better but still has bugs for some angles, as exhibited by armyknife's pie menus ; check-in: 25e4905634 user: user tags: trunk
2024-01-01
17:35
-- Sudoku and DeskCalc : port to h/o/g -- Add SculptOS support (hopefully): * add two environ vars to disable haiku.lib.so features which are incompatible with SculptOS ; * thus one should use something like this to build (the app, but also esp. the lib) against unpatched (xattr-less) Genode: ; * GE_XATTR_DISABLED=1 GE_DECORATIONS_AND_WM=1 jam -q -j2 DeskCalc ; Enable builds: * hai-src/apps/deskcalc ; * hai-src/apps/sudoku ; * hai-src/libs/mapm (required by deskcalc) ; Improve jam build: * default (cleanly) to layer 6 when passed individual targets ; * this allows invoking e.g. "jam Sudoku" without any 'layer' parameter ; * add rule for linking static lib against exe (not just against another lib), required by DeskCalc ; Porting tweaks: * unused headers ; * simplify linking of ExpressionParser ; * runtime config: always add at least one env/arg, as DeskCalc dislikes argc==0 ; Add dependency stubs: * DeskCalc requires BMessageRunner::StartSending() ; * DeskCalc requires set_keyboard_locks() ; * Sudoku requires BPicture::Flatten(), BView::DrawPicture() etc ; -- TESTS -- * DeskCalc builds and runs (even at layer 6 level) ; * odd crash when pressing Enter, and didn't manage to use addr2line yet on it, but seems otherwise usable with the mouse, if not the keyboard ; * Sudoku builds and runs, but requires layer 8 level, relying on as-of-yet uncommited media headers, so gotta address that ; check-in: b2d4d37767 user: user tags: trunk
10:22
fossil-add Haiku R1/b1 verbatim: Sudoku, DeskCalc, and dependencies (lib/mapm, kits/shared/expr., etc) check-in: f427bacfee user: user tags: trunk
2023-12-28
16:56
-- Fix-up package deployment, Add support for VNC server and ram_fs -- Fix-up Ge package deployment BRoster hack: * simplify to target pkg/runtime file mapping, instead of the much more convoluted find-bin-corresponding-to-pkg/executable file mapping ; * that allows us to remove lots of cruft ; Fix Ge package download in low memory situation: * move up depot_download above run_depot to prioritize its 70 MB memory alloc ; * thus run_depot requests its (humongous) 3 GB last, which won't harm anyone if the host does not have that much memory left ; Fix ntfs edge case: * add snprintf() implementation, or we might go bomb out on missing symbol when used with e.g. Falkon ; Fix-up Roster.cpp build: * we generate two different .o outputs depending on layer level, so they need to be two different .o files (aliased from Roster.o) ; * otherwise when switching back and forth e.g. from "jam t6" to "jam t8" one has to manually trigger a rebuild, which is annoying and error-prone ; Add vnc_server support: * GeDepot: add jschlatow repo support, and buttons for vnc_server package ; * DeployPilot: route Capture and Event services ; Add ram_fs for packages: * route FS service to "ram_fs" for Ge packages ; -- TESTS -- * Falkon now "remembers" URL history (stored in ram_fs) until the next reboot ; * the vnc_server package fails to accept connections, as it uses DHCP instead of static IP ; * will look around for how to forward port 5900 in that case ; check-in: 9fdc154ec1 user: user tags: trunk
2023-12-20
16:17
Genode 23.08 and 23.11 support: Compatibility: * nic_drv: switch over from ipxe_nic_drv to (Linux-based) pc_nic_drv ; * platform_drv: increase caps and ram, enable IOMMU reporting, enable "info=yes" for nic_drv ; * vfs_ntfs, media: don't pollute Genode C++ files with -DDEBUG macro (as of 23.08 there is now a DEBUG enum in cpu_state.h) ; * GeDepot and run_depot: use the latest version of Falkon and textedit, aka 2023-10-23 ; Simplification: * use lwip (instead of lxip) everywhere ; * use cached_fs_rom (instead of fs_rom) everywhere ; Misc: * BTextView: actually enable the Invalidate() work-arounds and document their use path ; * benchmarks: tighten vfs figures as Genode performs better (several figures are cut almost in half) ; * build: make it easier to build the extra "whole shebang", with a unique switch $(BUILD_DISTRO) in deskbar.run ; -- TESTS -- * no change with new Nic driver: still no networking on M73 (filed a ticket) ; * the new Falkon etc perform beautifully as before ; * same with AC ; check-in: e6680ff281 user: user tags: new-genode-rev, trunk
2023-12-15
12:09
-- Fix-up Qt keyboard input, Falkon audio, BTextView caret, depot init, decorations feel -- Fix DeployPilot audio routing: * route Audio_in to black_hole, so that Audio_out's routing to HDA will be accepted ; Fix FtpPositive settings corruption: * the window frame might get corrupted on save/load, restore to factory setting if so ; Fix BTextView caret/cursor: * make sure caret code is actually called, was missing window.activated() hook call ; * still not a proper InvertRect(), but make it "good enough" with a StrokeRect() and Invalidate() calls ; Fix window decorations feel: * don't allow closing the window if it's undecorated, of if its close button is not enabled ; * don't allow moving the window around if it moving "handles" are not enabled ; Fix GeDepot setup: * filesystem init: add missing mkdir("public") ; Fix keyboard for Qt apps: * add a "chargen" section in event_filter, as the Genode port of Qt relies on it ; * currently hardcodes "en_us" keyboard layout for Qt apps (similar to the chargen-less layout we enforce for Be apps) ; Misc: * fix build (GeDepot include was not commited) ; * add (minimal) run scenario for Mail ; * tweak ToDos and log verbosity ; -- TESTS -- * keyboard works fine in Qt apps ; * audio-out (and video) work fine in Falkon web browser ; * Falkon quickly runs out of RAM on video-heavy sites, but seems great on 'reasonable' ones ; * no longer getting spurious move/close occurences on menu etc windows ; check-in: 8cdf24a034 user: user tags: trunk
2023-12-07
19:18
-- Mail : enable port -- Mail: * make it part of the build ; * adapt to type dev_t being 64bit in hog ; * adapt to inode type being unsigned in hog ; * comment-out BPrintJob etc since we don't provide that part of the API yet ; * clean-up "FooKit.h" header usage since we try not to provide those "kitchen-sink" headers yet ; * replace usage of malloc.h with stdlib.h ; Deps: * make needed dependancies part of the build (MailDaemon.cpp, TypeConstants.cpp) ; * provide needed stubs inside BFont like count_font_families() ; -- TESTS -- * the Mail GUI runs and looks good ; * gets stuck in Qemu sometimes though (might be in query-related sem_acquire?) ; * good enough to take a screenshot, but: ; * no mail_daemon yet ; * no mail-prefs (account settings) yet ; check-in: a9f3359155 user: user tags: trunk
11:02
fossil-add Haiku R1/b1 verbatim: (Be)Mail app, and a few dependancies (class BMailDaemon, TypesConstants.cpp, some Web+ classes) check-in: a79ba0fc1d user: user tags: trunk
2023-12-05
11:11
-- Add GeDepot, Support Falkon etc deployment -- Add new 'GeDepot' app to install packages from depot.genode.org and run them: * with hardcoded "Download" and "Run" buttons (acting as toggle run/kill) for nano3d, mesa-gears, Falkon, Morph, etc ; * "download" interacts with depot_download (manager) ; * "run" interacts with registrar ; Implement Genode-pkg deployment in Registrar.Launch(): * deskbar.run: remove static/hardwired deployement test, we're now fully dynamic ; * deskbar.run: extended run scenario with GeDepot and sample depot infrastructure ; * registrar: the depot_deploy 'init' code is generated from registrar now ; * new class "DepotPilot" (pilots depot_deploy), lives side-by-side with "InitPilot" in registrar ; * registrar: the new class can be used for launching packages, as usual in Be apps : from Deskbar, from GeDepot, or anyone calling Launch(), can launch a package like Falkon, Morph, etc ; -- TESTS -- * Falkon works (testing e.g. the twitter feed of KDE) ! ; * all packages listed in GeDepot work ; * keyboard input is still broken in Qt apps however ("key such-and-such lacks Qt mapping") ; * will first upgrade to more recent packages, and investigate if still no-go ; check-in: 0f4e1fe274 user: user tags: trunk
2023-11-24
20:47
-- Add early Depot packages support (Mesa-Gears, qt5_TextEdit...) -- * add new "_geDepotDaemon.inc" jamfile which instantiates depot components, for inclusion in deskbar.run or distro ; * will clean-up the deskbar.run changes and commit soon ; * works in a similar way to Genode's SculptOS ; * relies on "depot_download" to download depot.genode.org packages to /public and expand them into /depot ; * relies on "depot_deploy" to use the runtime/blueprints in /depot to locate the exe and its libs, route access to them as ROMs, and launch ; * currently testing with static/hardcoded launches (nano3d, mesa-gears, textedit), gotta come up with some sort of Deskbar integration ; -- TESTS -- * downloads and launches qt5_textedit etc if wired to an ok FS ; * alphanum keys don't seem to work in textedit though, it complains about "lack of Qt mapping for key" ; check-in: 1463eed21d user: user tags: trunk
2023-11-15
16:16
-- Enable MESA (static and dynit), Enable Nic in dynit, Complete qwerty layout -- Enable mesa-OpenGL-gears launching: * add optional run scenario in hog-demos.run for "gears" OpenGL ; * tweak dynit to hardcode 'software' mesa pipe for now ; * tweak dynit to set priority -2 for 'gears' to play nice with the rest, since 'gears' is CPU-bound ; * tweak dynit to treat apps in /boot/depot_hog_alpha/ the same as apps in /boot/apps/genode, ie connect them to wm ; Enable launching from vfs-NTFS files, not just ROMs: * roster: temporarily disable checking for rwX bit until I figure out how to set the X bit in NTFS ; * route requests for .so ROMs to core in common cases (libc, zlib, etc), so that only 'extra' libraries (mesa.lib.so etc) are looked-up from the file system ; Enable networking for apps (e.g. FtpPositive) launched by dynit, not just static: * tweak dynit to forward RM and Nic ; * tweak dynit to hardcode "lxip" permission for FTP+ for now ; * (all that cruft will go once I come up with a permission system) ; Add missing keys to qwerty layout: * add Function Keys, add punctuation ; -- TESTS -- * mesa-gears-OpenGL works, provided the exe and libs are installed before-hand in /boot/depot_hog_alpha/ and in /boot respectively ; * (tested both static launch in "jam hog-demos" and dynit launch in distro) ; * launch is somewhat fast, maybe would be even faster with cached_fs_rom ? ; * runs at 40 FPS with software-pipe on my T410, cool ; * next, implement something similar to depot_download ; * FtpPositive can be (re)launched in dynit, not just statically -- check networking though ; * F11 (full-screen) works in AC ; check-in: be6f10a489 user: user tags: trunk
2023-11-03
16:20
(release: 23.3) * Jamrules: #define __HAIKU__ so as to get proper builds of (e.g.) src/bin/ utilities ; * Jamrules: implement rule UseHeaders properly, as used in e.g. src/bin/ utilities ; * mime_db: adapt todo comment, now that the __HAIKU__ define compiles it in full ; * InitPilot: fix memory leak ; * InitPilot: tweak to generate shorter app name/path, to keep logs more compact & readable ; * broker_server: make logging a tad less verbose ; check-in: 56da641d59 user: user tags: release, trunk
2023-11-02
15:28
-- Enable FTP client/server, Implement keyboard modifiers -- Fix/enable build of FtpPositive client and dependancies: * fix non-portable Be-isms in FtpPositive that prevented it from compiling in HoG ; * work-around HoG's GetAppInfo() shortcomings that led to NULL ptr crash ; * work-around lack of file manager in HoG : direct downloads directly to the right directory ; * fix our fcntl.h which was clobbering the F_SETFL #define and broke it -- now let the underlying FreeBSD fcntl.h alone, only add those symbols that are strictly Be specific and defined nowhere else ; * tweak ColumnListView to not use GetClippingRegion() since we don't implement it ; I.Kit: implement Shift/Alt modifiers: * add an app-wide keyboard-modifiers state ; * maintain it in window thread, Tx it in BMessages ; * qwerty keymap: add most of the missing non-shift table, and much of the shift table ; Jam-build: * bump ROM module slot count some more, to make way for FTP+ and ftpd ; * enable socket/networking also in Be apps (not just Genode native apps) ; * usb_hid_drv: bump from 140 to 180 caps, following suit from Genode ca. 20.10 ; * NAT: forward connections to port 21 (FTP) ; * embedded DHCP: transmit DNS setting from (external) DHCP so that e.g. FTP+ may look-up domains ; -- TESTS -- * FTP+ client can list and download files ; * the distro's ftpd server can Rx files and manage dirs (tested with FileZilla) ; * shift-scrolling works (in Lightning) ; * shift kbd table works (FTP+, AK, etc) ; * simple keyboard shortcuts work (though subject to the pesky window focus problem yet) ; check-in: ddbf542c20 user: user tags: trunk