Win Compiled kodi problem at start (black screen / spash screen)
#1
Hello, I'm pretty new here at forum but I use KODI for long time started from Raspberry PI, RP 2 and now on RP 3.
Software is great, I really appreciate your work!
Some time ago I started thinking to improve how library works.
Of course I will make it by myself and if succeesd I'll send feedback & code Smile.

Problem:
I compiled KODI, first from master and now from 16.0-Jarvis on Windows 10, Visual Studio Express 2015.
All compile fine and KODI starts, but:
- at master: I can see only spash screen and then black screen + big cursor (when I use keyboard I can hear menu clicks - but can't see it)
- at 16.0-Jarvis: I can see only splash screen and then this blue bubble background (screen attached) + normal cursor (same: when I use keyboard I can hear menu clicks - but can't see it)
I can't see anything special in logs.

Maybe some1 had similar problems?

Hardware & software:
GFX 560 TI - newest drivers, DX 11, WDDM 1.3
Win 10 Pro x64 - up to date
(1680x1050 & 1980x1080 - two monitors - tried both, and also windowed mode)

Normal downloaded and installed 16 Jarvis works fine.

Attached log & screen from 16.0-Jarvis:
- http://rexo.pl/files/kodi/screen.jpg
- http://rexo.pl/files/kodi/kodi_log.txt

This is fun because I'm also linux developer but @ home I use Win10 Wink.
Reply
#2
After one day and posting here I found the problem:
It seems in my VS 2015, CBuiltins::CommandMap works wrong.

I found log: and started investigation:
Code:
CApplication::ExecuteXBMCAction: Tried translating, but failed to understand ReplaceWindow($INFO[System.StartupWindow])

This:
Code:
{
           {"action",                         {"Executes an action for the active window (same as in keymap)", 1, Action}},
           {"cancelalarm",                    {"Cancels an alarm", 1, CancelAlarm}},
           {"alarmclock",                     {"Prompt for a length of time and start an alarm clock", 2, AlarmClock}},
           {"activatewindow",                 {"Activate the specified window", 1, ActivateWindow<false>}},
           {"activatewindowandfocus",         {"Activate the specified window and sets focus to the specified id", 1, ActivateAndFocus<false>}},
           {"clearproperty",                  {"Clears a window property for the current focused window/dialog (key,value)", 1, ClearProperty}},
           {"dialog.close",                   {"Close a dialog", 1, CloseDialog}},
           {"notification",                   {"Shows a notification on screen, specify header, then message, and optionally time in milliseconds and a icon.", 2, Notification}},
           {"refreshrss",                     {"Reload RSS feeds from RSSFeeds.xml", 0, RefreshRSS}},
           {"replacewindow",                  {"Replaces the current window with the new one and sets focus to the specified id", 1, ActivateWindow<true>}},
           {"replacewindowandfocus",          {"Replaces the current window with the new one and sets focus to the specified id", 1, ActivateAndFocus<true>}},
           {"resolution",                     {"Change Kodi's Resolution", 1, SetResolution}},
           {"setguilanguage",                 {"Set GUI Language", 1, SetLanguage}},
           {"setproperty",                    {"Sets a window property for the current focused window/dialog (key,value)", 2, SetProperty}},
           {"setstereomode",                  {"Changes the stereo mode of the GUI. Params can be: toggle, next, previous, select, tomono or any of the supported stereomodes (off, split_vertical, split_horizontal, row_interleaved, hardware_based, anaglyph_cyan_red, anaglyph_green_magenta, anaglyph_yellow_blue, monoscopic)", 1, SetStereoMode}},
           {"takescreenshot",                 {"Takes a Screenshot", 0, Screenshot}},
           {"toggledirtyregionvisualization", {"Enables/disables dirty-region visualization", 0, ToggleDirty}}
         };

Returns only something like <"", last value>, it is threated as <key, value> map with only last element.

Do you think its VS2015 (But projects are set to VS2013) or CPP version problem?
Reply
#3
And LOL again, I'll andwers myself Smile

I found in VS typing this map second item struct helps:
Code:
    return {
        { "action",                         CBuiltins::BUILT_IN { "Executes an action for the active window (same as in keymap)", 1, Action } },
        { "cancelalarm",                    CBuiltins::BUILT_IN { "Cancels an alarm", 1, CancelAlarm } },
        { "alarmclock",                     CBuiltins::BUILT_IN { "Prompt for a length of time and start an alarm clock", 2, AlarmClock } },
        { "activatewindow",                 CBuiltins::BUILT_IN { "Activate the specified window", 1, ActivateWindow<false> } },
        { "activatewindowandfocus",         CBuiltins::BUILT_IN { "Activate the specified window and sets focus to the specified id", 1, ActivateAndFocus<false> } },
        { "clearproperty",                  CBuiltins::BUILT_IN { "Clears a window property for the current focused window/dialog (key,value)", 1, ClearProperty } },
        { "dialog.close",                   CBuiltins::BUILT_IN { "Close a dialog", 1, CloseDialog } },
        { "notification",                   CBuiltins::BUILT_IN { "Shows a notification on screen, specify header, then message, and optionally time in milliseconds and a icon.", 2, Notification } },
        { "refreshrss",                     CBuiltins::BUILT_IN { "Reload RSS feeds from RSSFeeds.xml", 0, RefreshRSS } },
        { "replacewindow",                  CBuiltins::BUILT_IN { "Replaces the current window with the new one and sets focus to the specified id", 1, ActivateWindow<true> } },
        { "replacewindowandfocus",          CBuiltins::BUILT_IN { "Replaces the current window with the new one and sets focus to the specified id", 1, ActivateAndFocus<true> } },
        { "resolution",                     CBuiltins::BUILT_IN { "Change Kodi's Resolution", 1, SetResolution } },
        { "setguilanguage",                 CBuiltins::BUILT_IN { "Set GUI Language", 1, SetLanguage } },
        { "setproperty",                    CBuiltins::BUILT_IN { "Sets a window property for the current focused window/dialog (key,value)", 2, SetProperty } },
        { "setstereomode",                  CBuiltins::BUILT_IN { "Changes the stereo mode of the GUI. Params can be: toggle, next, previous, select, tomono or any of the supported stereomodes (off, split_vertical, split_horizontal, row_interleaved, hardware_based, anaglyph_cyan_red, anaglyph_green_magenta, anaglyph_yellow_blue, monoscopic)", 1, SetStereoMode } },
        { "takescreenshot",                 CBuiltins::BUILT_IN { "Takes a Screenshot", 0, Screenshot } },
        { "toggledirtyregionvisualization",  CBuiltins::BUILT_IN { "Enables/disables dirty-region visualization", 0, ToggleDirty } }
    };

Problem solved. Of course I added this typing for every CBuiltins maps in project.
Reply
#4
If you set vs2015 to 2013 you are using the 2013 compiler chain and corresponding headers/libs.
Reply
#5
I am having the same problem / symptoms. I am attempting to build
- 16.0-Jarvis branch
- Compiled by: VS 2013 [MSVC 180021005 for Windows NT x86 32-bit version 6.0]
- Running on: Windows 7 SP1, kernel: Windows NT x86 64-bit version 6.1

A dowloaded Kodi (same branch), built distribution works fine. It was built by a similar looking setup:
[compiled: Feb 20 2016 by MSVC 180030723 for Windows NT x86 32-bit version 6.0]

In the logs, the very first error* I get is:
- Keymapping error: no such action 'activatewindow(favourites)' defined

*Well, actually something about a remote control.

From there, the same story as OP/Rexo.

I can, of course, apply the "CBuiltins::BUILT_IN" suggested by OP liberally, but I don't see any indication in the repository, past or future, that this has been done by anyone else. Which probably means that VS is doing something silly (i.e. incorrect) with std::map. Does anyone know if I need to dig into VS 2013, into Boost, or all of the above? Beyond getting it working (building), I'd like to get it building "the right way", so that I can remain sync'd with the up stream for development purposes.

Cheers!
Reply
#6
Oops! This is a sign that OP (Rexo) and I didn't read the instructions closely enough. Or I was silly and thought I'd applied it sometime in the past. Or both.. According to the Wiki HowTo for building on Windows, Building w/ VS 2013 requires at least SP2 be applied to it, and better yet SP5.
Reply

Logout Mark Read Team Forum Stats Members Help
Compiled kodi problem at start (black screen / spash screen)0